spi: cadence_qspi: Use #define for bits instead of bit shifts
[oweals/u-boot.git] / drivers / net / davinci_emac.c
index 187137c8b477692dec2970047d2585e93885fb78..5e7ebc8a99f3cb7b458b6e973947759cf47a4a61 100644 (file)
@@ -223,10 +223,10 @@ int davinci_eth_phy_read(u_int8_t phy_addr, u_int8_t reg_num, u_int16_t *data)
 
        if (tmp & MDIO_USERACCESS0_ACK) {
                *data = tmp & 0xffff;
-               return 0;
+               return 1;
        }
 
-       return -EIO;
+       return 0;
 }
 
 /* Write to a PHY register via MDIO inteface. Blocks until operation is complete. */
@@ -247,7 +247,7 @@ int davinci_eth_phy_write(u_int8_t phy_addr, u_int8_t reg_num, u_int16_t data)
        while (readl(&adap_mdio->USERACCESS0) & MDIO_USERACCESS0_GO)
                ;
 
-       return 0;
+       return 1;
 }
 
 /* PHY functions for a generic PHY */
@@ -374,15 +374,14 @@ static int davinci_mii_phy_read(struct mii_dev *bus, int addr, int devad,
 {
        unsigned short value = 0;
        int retval = davinci_eth_phy_read(addr, reg, &value);
-       if (retval < 0)
-               return retval;
-       return value;
+
+       return retval ? value : -EIO;
 }
 
 static int davinci_mii_phy_write(struct mii_dev *bus, int addr, int devad,
                                 int reg, u16 value)
 {
-       return davinci_eth_phy_write(addr, reg, value);
+       return davinci_eth_phy_write(addr, reg, value) ? 0 : 1;
 }
 #endif
 
@@ -681,12 +680,12 @@ static int davinci_eth_rcv_packet (struct eth_device *dev)
                        printf ("WARN: emac_rcv_pkt: Error in packet\n");
                } else {
                        unsigned long tmp = (unsigned long)rx_curr_desc->buffer;
+                       unsigned short len =
+                               rx_curr_desc->buff_off_len & 0xffff;
 
-                       invalidate_dcache_range(tmp, tmp + EMAC_RXBUF_SIZE);
-                       net_process_received_packet(
-                               rx_curr_desc->buffer,
-                               rx_curr_desc->buff_off_len & 0xffff);
-                       ret = rx_curr_desc->buff_off_len & 0xffff;
+                       invalidate_dcache_range(tmp, tmp + ALIGN(len, PKTALIGN));
+                       net_process_received_packet(rx_curr_desc->buffer, len);
+                       ret = len;
                }
 
                /* Ack received packet descriptor */