Error in fcc_enet driver in 2.6.10 version
Turconi Ennio Angelo
Ennio.Turconi at italtel.it
Mon May 30 23:22:07 EST 2005
Hi everybody.
I think I found out an error in arch/ppc/8260io/fcc_enet.c source (kernel version Vanilla 2.6.10).
When obtaining the pointer to the CPM DPRAM, ioremap() is not used.
In 85xx architecture, it causes a bus error each time the driver attempts to access
a location in the CCSRBAR region.
I used the follwing patch (valid only for 85xx devices)
--- fcc_enet.c 2004-12-24 22:34:44.000000000 +0100
+++ fcc_enet_new.c 2005-05-30 15:00:38.000000000 +0200
@@ -1450,7 +1450,7 @@
volatile cpm2_map_t *immap;
volatile iop_cpm2_t *io;
- immap = (cpm2_map_t *)CPM_MAP_ADDR; /* and to internal registers */
+ immap = (cpm2_map_t *)ioremap(CPM_MAP_ADDR,MPC85xx_CPM_SIZE); /* and to i
nternal registers */
io = &immap->im_ioport;
np = sizeof(fcc_ports) / sizeof(fcc_info_t);
Can anyone tell me why a 1 to 1 logical to physical mapping was assumed?
Ennio Turconi
Senior Fw Designer
Gateway Products
ITALTEL SpA
Settimo Mil., Italy
More information about the Linuxppc-embedded
mailing list