浏览代码

ppc4xx: Remove redundant code from 4xx network driver

This patch removes some redundant code and decrements the end
address of cache flush and invalidate by 1.

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
Signed-off-by: Stefan Roese <sr@denx.de>
Matthias Fuchs 17 年之前
父节点
当前提交
fbde2169d2
共有 1 个文件被更改,包括 3 次插入5 次删除
  1. 3 5
      cpu/ppc4xx/4xx_enet.c

+ 3 - 5
cpu/ppc4xx/4xx_enet.c

@@ -849,9 +849,7 @@ static int ppc_4xx_eth_init (struct eth_device *dev, bd_t * bis)
 		}
 		}
 
 
 #ifdef CONFIG_4xx_DCACHE
 #ifdef CONFIG_4xx_DCACHE
-		flush_dcache_range(bd_cached, bd_cached + MAL_ALLOC_SIZE);
-		hw_p->tx_phys = bd_cached;
-		hw_p->rx_phys = bd_cached + MAL_TX_DESC_SIZE;
+		flush_dcache_range(bd_cached, bd_cached + MAL_ALLOC_SIZE - 1);
 		bd_uncached = bis->bi_memsize;
 		bd_uncached = bis->bi_memsize;
 		program_tlb(bd_cached, bd_uncached, MAL_ALLOC_SIZE,
 		program_tlb(bd_cached, bd_uncached, MAL_ALLOC_SIZE,
 			    TLB_WORD2_I_ENABLE);
 			    TLB_WORD2_I_ENABLE);
@@ -1066,7 +1064,7 @@ static int ppc_4xx_eth_send (struct eth_device *dev, volatile void *ptr,
 
 
 	/*   memcpy ((void *) &tx_buff[tx_slot], (const void *) ptr, len); */
 	/*   memcpy ((void *) &tx_buff[tx_slot], (const void *) ptr, len); */
 	memcpy ((void *) hw_p->txbuf_ptr, (const void *) ptr, len);
 	memcpy ((void *) hw_p->txbuf_ptr, (const void *) ptr, len);
-	flush_dcache_range((u32)hw_p->txbuf_ptr, (u32)hw_p->txbuf_ptr + len);
+	flush_dcache_range((u32)hw_p->txbuf_ptr, (u32)hw_p->txbuf_ptr + len - 1);
 
 
 	/*-----------------------------------------------------------------------+
 	/*-----------------------------------------------------------------------+
 	 * set TX Buffer busy, and send it
 	 * set TX Buffer busy, and send it
@@ -1568,7 +1566,7 @@ static int ppc_4xx_eth_rx (struct eth_device *dev)
 		/*	 NetReceive(NetRxPackets[i], length); */
 		/*	 NetReceive(NetRxPackets[i], length); */
 		invalidate_dcache_range((u32)hw_p->rx[user_index].data_ptr,
 		invalidate_dcache_range((u32)hw_p->rx[user_index].data_ptr,
 					(u32)hw_p->rx[user_index].data_ptr +
 					(u32)hw_p->rx[user_index].data_ptr +
-					length - 4);
+					length - 4 - 1);
 		NetReceive (NetRxPackets[user_index], length - 4);
 		NetReceive (NetRxPackets[user_index], length - 4);
 		/* Free Recv Buffer */
 		/* Free Recv Buffer */
 		hw_p->rx[user_index].ctrl |= MAL_RX_CTRL_EMPTY;
 		hw_p->rx[user_index].ctrl |= MAL_RX_CTRL_EMPTY;