diff --git a/drivers/net/fsl_mcdmafec.c b/drivers/net/fsl_mcdmafec.c index e34975a..59524a5 100644 --- a/drivers/net/fsl_mcdmafec.c +++ b/drivers/net/fsl_mcdmafec.c @@ -94,7 +94,7 @@ struct fec_info_dma fec_info[] = { 0, /* phy name */ 0, /* phy name init */ #ifdef CFG_DMA_USE_INTSRAM - DBUF_LENGTH, /* RX BD */ + (cbd_t *)DBUF_LENGTH, /* RX BD */ #else 0, /* RX BD */ #endif @@ -540,15 +540,16 @@ int mcdmafec_initialize(bd_t * bis) /* setup Receive and Transmit buffer descriptor */ #ifdef CFG_DMA_USE_INTSRAM - fec_info[i].rxbd = (int)fec_info[i].rxbd + tmp; - tmp = fec_info[i].rxbd; + fec_info[i].rxbd = (cbd_t *)((u32)fec_info[i].rxbd + tmp); + tmp = (u32)fec_info[i].rxbd; fec_info[i].txbd = - (int)fec_info[i].txbd + tmp + (PKTBUFSRX * sizeof(cbd_t)); - tmp = fec_info[i].txbd; + (cbd_t *)((u32)fec_info[i].txbd + tmp + + (PKTBUFSRX * sizeof(cbd_t))); + tmp = (u32)fec_info[i].txbd; fec_info[i].txbuf = - (int)fec_info[i].txbuf + tmp + - (CFG_TX_ETH_BUFFER * sizeof(cbd_t)); - tmp = fec_info[i].txbuf; + (char *)((u32)fec_info[i].txbuf + tmp + + (CFG_TX_ETH_BUFFER * sizeof(cbd_t))); + tmp = (u32)fec_info[i].txbuf; #else fec_info[i].rxbd = (cbd_t *) memalign(CFG_CACHELINE_SIZE, diff --git a/drivers/net/mcffec.c b/drivers/net/mcffec.c index 6e69b46..7f59fa8 100644 --- a/drivers/net/mcffec.c +++ b/drivers/net/mcffec.c @@ -106,6 +106,10 @@ extern int mcffec_miiphy_write(char *devname, unsigned char addr, unsigned char reg, unsigned short value); #endif +#ifdef CFG_UNIFY_CACHE +extern void icache_invalid(void); +#endif + void setFecDuplexSpeed(volatile fec_t * fecp, bd_t * bd, int dup_spd) { if ((dup_spd >> 16) == FULL) {