[Prism54-devel] No interrupt after isl38xx_w32_flush(ISL38XX_DEV_INT_UPDATE...)?
Andriy Korud
a.korud@vector.com.pl
Fri, 7 May 2004 11:45:12 +0200
Hi.=20
I have a problem starting a PCI card.
Tracing and debugging shows that teh following sequence happens:
- firmware upload: ok
- device reset: ok
- interrupt ISL38XX_INT_IDENT_WAKEUP is raised: ok
- islpci_mgt_transmit() called: ok
- isl38xx_trigger_device() called: ok
- in isl38xx_trigger_device() the following code is executed:
isl38xx_w32_flush(device_base,=20
ISL38XX_DEV_INT_UPDATE,=20
ISL38XX_DEV_INT_REG);
and nothing happens - no interrupt follows.=20
And on user-level effect is:=20
eth2: timeout waiting for mgmt response 100, trigging device
If I change that code (just for testing) to=20
sl38xx_w32_flush(device_base,=20
ISL38XX_DEV_INT_WAKEUP,
ISL38XX_DEV_INT_REG);
interrupt with "wakeup flag" follows immediately.
Any ideas when should I look?
Platform is PowerPC405EP, card is XG-901, lspci -vvv:
00:03.0 Network controller: Harris Semiconductor: Unknown device 3890 =
(rev 01)
Subsystem: PLANEX COMMUNICATIONS Inc: Unknown device 2c04
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- =
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=3Dmedium >TAbort- =
<TAbort- <MAbort- >SERR- <PERR-
Latency: 128 (2500ns min, 7000ns max)
Interrupt: pin A routed to IRQ 30
Region 0: Memory at bfffe000 (32-bit, non-prefetchable) [size=3D8K]
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=3D0mA =
PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=3D0 DScale=3D0 PME-