Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

WDF Interrupt Issue

96 views
Skip to first unread message

Murugesan

unread,
Nov 10, 2009, 1:53:01 PM11/10/09
to
Hi all,

I am working with a PCI based WDF function driver. I've created an
interrupt object using wdfinterruptcreate() & initialized the
WDF_INTERRUPT_CONFIG with ISR handler, DPC routine. From the WDF
documentation, i found that the framework takes care of adding interrupt
resource information when the device moves into D0 state. Now the problem is,
after doing all this initialization my interrupt handler doesn't gets invoked
when my hardware raises an interrupt after the device moves into D0 state
eventhough all the interrupts has been enabled. I could notice that the
framework has added the interrupt resource information to the interrupt
object, by using WdfInterruptGetInfo() in the context of SelfManagedIoInit
callback. Am I missing anything related with the interrupt handling?

Thanks,
Murugesan

eagersh

unread,
Nov 11, 2009, 2:35:14 PM11/11/09
to
On Nov 10, 11:53 am, Murugesan <Muruge...@discussions.microsoft.com>
wrote:

Are you sure that your hardware generate interrupt? You should check
it by using PCI Bus analyzer.
You could also check if your device get PCI resources, including
Interrupt, by using WinDbg command !pci.

Igor Sharovar

Doron Holan [MSFT]

unread,
Nov 11, 2009, 4:00:59 PM11/11/09
to
are your programming your hw to generate the interrupt and route it
correctly? are you programming your hw correctly in D0Entry?

d

--

This posting is provided "AS IS" with no warranties, and confers no rights.


"Murugesan" <Muru...@discussions.microsoft.com> wrote in message
news:70DE1BF5-1409-408C...@microsoft.com...

Murugesan

unread,
Nov 13, 2009, 3:10:03 PM11/13/09
to
Thanks for your inputs. I've programmed my h/w correctly. The only variance
is like,
my h/w initialization & enabling interrupts has been done in the context of
SelfManagedIoInit() callback, which is called after D0entry callback. Also i
am sure that the framework retreived the interrupt resource
information(mainly IRQ) by checking with WdfInterruptGetInfo().

Murugesan

"Doron Holan [MSFT]" wrote:

> .
>

Doron Holan [MSFT]

unread,
Nov 16, 2009, 4:57:05 PM11/16/09
to
you should use EvtInterruptEnable and EvtDeviceD0EntryPostInterruptsEnabled
for the work you are doing in self managed io

d

--

This posting is provided "AS IS" with no warranties, and confers no rights.


"Murugesan" <Muru...@discussions.microsoft.com> wrote in message

news:7FE38A6D-FFDE-4D59...@microsoft.com...

Murugesan

unread,
Nov 18, 2009, 12:56:02 AM11/18/09
to
Actually I am interested in performing initialization of h/w first, only
after which interrupt enabling comes into picture. That's why I did
everything in selfmanaged-io, instead of collapsing my sequence of operation
b/w EvtInterruptEnable, EvtDeviceD0EntryPostInterruptsEnabled & Selfmanaged
IO.

Does failing to enable interrupts in EvtInterruptEnable or
EvtDeviceD0EntryPostInterruptsEnabled callbacks makes the interrupt handler
not to be invoked ? Do they really have any relation ?


"Doron Holan [MSFT]" wrote:

> .
>

Doron Holan [MSFT]

unread,
Nov 20, 2009, 6:37:56 PM11/20/09
to
the kmdf callbacks are just an abstraction, you can choose to use the
abstraction or not. if you need to initialize before the interrupt is
enabled, do that in EvtDeviceD0Entry, enable the interrupt in
EvtInterruptEnable

d

--

This posting is provided "AS IS" with no warranties, and confers no rights.


"Murugesan" <Muru...@discussions.microsoft.com> wrote in message

news:D20534EA-16EB-472D...@microsoft.com...

Murugesan

unread,
Nov 23, 2009, 1:19:01 AM11/23/09
to
Thanks for your info Doron. I'll try that.

"Doron Holan [MSFT]" wrote:

> .
>

0 new messages