Re: Driver gets dwIRQ = ffffffff, sysINtr = 00000000



Dean and Remi,

I found the root cause of the problem. In the file
C:\WINCE500\PLATFORM\CM_X255_BSP\SRC\KERNEL\OAL\intr_bsp.c there is code
that assigns IRQ_PCIx to specific device IDs. Adding my device ID to this
code allows the IRQ and SYSINTR to be assigned. I believe this falls under
the "no IRQ support for this device" theory.

However, I do not get interrupts and my IST event never fires.

I suspect that it is because I chose the wrong IRQ_PCIx value (I chose D as
a first try). I think my device (plx9054) or my platform has a restriction
on which PCI interrupt it can use but I can't remember the details. Off to
the data books...

Thanks,
Nick.


"Dean Ramsier" <ramsiernospam@xxxxxxxxxx> wrote in message
news:unXr89MXGHA.3848@xxxxxxxxxxxxxxxxxxxxxxx
The one in the platform will be built. Assuming it's the same name as the
one in the public tree it will override due to order of operations in
buildrel.

If you're getting a dwIRQ of 0xFFFFFFFF, that means your call to the OAL
to get the IRQ for this PCI slot failed. That typically means the OAL
doesn't know anything about this particular PCI location, or it could mean
there is no IRQ support for this device, or it could mean the OAL hasn't
been written to support PCI interrupts in general.

--
Dean Ramsier - eMVP
BSQUARE Corporation


"Nick" <spameater@xxxxxxxxxx> wrote in message
news:ezqtFiLXGHA.3936@xxxxxxxxxxxxxxxxxxxxxxx
Remi,

It's a custom platform based on PXA255. We have the CE 5.0 BSP from the
platform provider and are adding our PCI card to it so there is no BIOS.

The setting is commented out. I assume this means it will config but I
can change it and try again.

; "NoConfig"=dword:0

In addition, I have found PCIBUS in two places.

C:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\PCIBUS
C:\WINCE500\PLATFORM\CM_X255_BSP\SRC\DRIVERS\PCIBUS

The DIRS files in the DRIVERS folder both define PCIBUS as a folder to
compile. How do I know that the one I want (presumably NOT the
public/common/oak/drivers/pcibus) is the one I get?

Thanks,
Nick.


"Remi de Gravelaine" <gravelaine at aton dash sys dot fr> wrote in
message news:%23nnWftuWGHA.3864@xxxxxxxxxxxxxxxxxxxxxxx
Hi Nick,

Did the mechanisms for assigning resorces for either of these change
significantly from 4.2 to 5.0?

I am afraid it did.

What is your platform (do you have a BIOS that configures the PCI bus
for you)?
What is your [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PCI].NoConfig setting?

Finally, you should break at PCICfgDevice() in
Public\Common\Oak\Drivers\Pcibus\PCICFG.C to see what happens when it
comes to assign an IRQ to your device.

Good luck.
Remi







.



Relevant Pages

  • Re: Driver gets dwIRQ = ffffffff, sysINtr = 00000000
    ... get the IRQ for this PCI slot failed. ... It's a custom platform based on PXA255. ... The DIRS files in the DRIVERS folder both define PCIBUS as a folder to ...
    (microsoft.public.windowsce.platbuilder)
  • Re: 2.6.13-rc3-mm3
    ... Normaly the IRQ routed to something about 1xx now they are 1-21?! ... PCI: Transparent bridge - 0000:00:1e.0 ... +PCI BIOS passed nonexistent PCI bus 0! ... raid0: ...
    (Linux-Kernel)
  • Re: [PATCH] cardbus: revert IO window limit
    ... Latency: 64 ... pin B routed to IRQ 5 ... Allocating PCI resources starting at 10000000 ... usbcore: registered new driver usbfs ...
    (Linux-Kernel)
  • Re: Second "CPU" of 1-core HyperThreading CPU not found in 2.6.13
    ... ACPI: bus type pci registered ... PCI Interrupt Link enabled at IRQ 10 ... ehci_hcd 0000:00:1d.7: new USB bus registered, ... registering ipv6 mark target ...
    (Linux-Kernel)
  • Re: USB: irq 11: nobody cared! | 2.6.0test5
    ... Anyway when booting with acpi disabled I get USB mouse working! ... PCI: PCI BIOS revision 2.10 entry at 0xfdb51, ... PCI Interrupt Link enabled at IRQ 11 ... RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize ...
    (Linux-Kernel)