Error in fcc_enet driver in 2.6.10 version
From: Turconi Ennio Angelo <hidden>
Date: 2005-05-30 13:22:16
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 =3D (cpm2_map_t *)CPM_MAP_ADDR; /* and to internal =
registers */
+ immap =3D (cpm2_map_t *)ioremap(CPM_MAP_ADDR,MPC85xx_CPM_SIZE); =
/* and to i
nternal registers */
io =3D &immap->im_ioport;
np =3D 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
=20