]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
net: Kirkwood_egiga.c bugfixes for rx path
authorPrafulla Wadaskar <prafulla@marvell.com>
Tue, 6 Apr 2010 16:03:08 +0000 (21:33 +0530)
committerBen Warren <biggerbadderben@gmail.com>
Mon, 3 May 2010 21:52:49 +0000 (14:52 -0700)
Cosmetic changes: Few comments updated
Functionality: Rx packet frame size is programming should
be done when port is in disabled state. this is corrected

Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
drivers/net/kirkwood_egiga.c

index 25c72df9cb1798e4940c569c95883362dd8dfa45..dd711e4a105f4b75253eacf06fd29b2b2f4d7f5b 100644 (file)
@@ -424,8 +424,6 @@ static int kwgbe_init(struct eth_device *dev)
        KWGBEREG_WR(regs->pxc, PRT_CFG_VAL);
        KWGBEREG_WR(regs->pxcx, PORT_CFG_EXTEND_VALUE);
        KWGBEREG_WR(regs->psc0, PORT_SERIAL_CONTROL_VALUE);
-       /* Disable port initially */
-       KWGBEREG_BITS_SET(regs->psc0, KWGBE_SERIAL_PORT_EN);
 
        /* Assign port SDMA configuration */
        KWGBEREG_WR(regs->sdc, PORT_SDMA_CFG_VALUE);
@@ -438,6 +436,9 @@ static int kwgbe_init(struct eth_device *dev)
        KWGBEREG_WR(regs->psc0, KWGBE_MAX_RX_PACKET_9700BYTE
                        | (KWGBEREG_RD(regs->psc0) & MRU_MASK));
 
+       /* Enable port initially */
+       KWGBEREG_BITS_SET(regs->psc0, KWGBE_SERIAL_PORT_EN);
+
        /*
         * Set ethernet MTU for leaky bucket mechanism to 0 - this will
         * disable the leaky bucket mechanism .
@@ -480,7 +481,7 @@ static int kwgbe_halt(struct eth_device *dev)
        stop_queue(&regs->tqc);
        stop_queue(&regs->rqc);
 
-       /* Enable port */
+       /* Disable port */
        KWGBEREG_BITS_RESET(regs->psc0, KWGBE_SERIAL_PORT_EN);
        /* Set port is not reset */
        KWGBEREG_BITS_RESET(regs->psc1, 1 << 4);
@@ -525,7 +526,7 @@ static int kwgbe_send(struct eth_device *dev, volatile void *dataptr,
        p_txdesc->buf_ptr = (u8 *) p;
        p_txdesc->byte_cnt = datasize;
 
-       /* Apply send command using zeroth RXUQ */
+       /* Apply send command using zeroth TXUQ */
        KWGBEREG_WR(regs->tcqdp[TXUQ], (u32) p_txdesc);
        KWGBEREG_WR(regs->tqc, (1 << TXUQ));