Hi all, A PCI interrupt probelm confused me when porting 2.6.13-rc3 on a custom 8248 board. There was a Gb ethernet RTL8110S on board with IDSEL AD25 and IRQ3. So I made some changes as follows:
--- linux-2.6.13-rc3/arch/ppc/platforms/pq2ads.h +++ linux-2.6.13-rc3-sam/arch/ppc/platforms/pq2ads.h @@ -74,11 +78,11 @@ -#define PCI_INT_TO_SIU SIU_INT_IRQ2 +#define PCI_INT_TO_SIU SIU_INT_IRQ3 --- linux-2.6.13-rc3/arch/ppc/syslib/m82xx_pci.c +++ linux-2.6.13-rc3-sam/arch/ppc/syslib/m82xx_pci.c @@ -60,12 +60,20 @@ * A B C D */ { +#if 0 { PIRQA, PIRQB, PIRQC, PIRQD },/* IDSEL 22 - PCI slot 0 */ { PIRQD, PIRQA, PIRQB, PIRQC }, /* IDSEL 23 - PCI slot 1 */ { PIRQC, PIRQD, PIRQA, PIRQB }, /* IDSEL 24 - PCI slot 2 */ +#else + {22, 22, 22, 22},/* IDSEL 22/IRQ4-PCI slot 0-USB */ + {23, 23, 23, 23},/* IDSEL 23/IRQ5-PCI slot 1-IDE */ + {24, 24, 0, 0},/* IDSEL 24 - PCI slot # - NULL */ + {25, 25, 25, 25},/* IDSEL 25/IRQ3-PCI slot 2- Gb */ + +#endif }; - const long min_idsel = 22, max_idsel = 24, irqs_per_slot = 4; + const long min_idsel = 22, max_idsel = 25, irqs_per_slot = 4; Then got a interrupt map: # cat /proc/interrupts CPU0 21: 0 CPM2 SIU Level PQ2 PCI cascade 25: 0 CPM2 SIU Level eth0 40: 14 CPM2 SIU Level cpm_uart BAD: 2 Gb interrupt remained unchangable in the whole test process. I could ping target itself but not for outside machine. So I suspect this result was due to PCI interrupt setting but don't know where the probelm is. Any idea? Thanks in advance, Sam ___________________________________________________________ ????G??????????????????? http://cn.mail.yahoo.com/?id=77071