From: Murugesan on 10 Nov 2009 13:53 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
From: eagersh on 11 Nov 2009 14:35 On Nov 10, 11:53 am, Murugesan <Muruge...(a)discussions.microsoft.com> wrote: > 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 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
From: Doron Holan [MSFT] on 11 Nov 2009 16:00 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" <Murugesan(a)discussions.microsoft.com> wrote in message news:70DE1BF5-1409-408C-B30F-C2E527AD636C(a)microsoft.com... > 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
From: Murugesan on 13 Nov 2009 15:10 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: > 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" <Murugesan(a)discussions.microsoft.com> wrote in message > news:70DE1BF5-1409-408C-B30F-C2E527AD636C(a)microsoft.com... > > 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 > > . >
From: Doron Holan [MSFT] on 16 Nov 2009 16:57 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" <Murugesan(a)discussions.microsoft.com> wrote in message news:7FE38A6D-FFDE-4D59-8537-ECB31B99A319(a)microsoft.com... > 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: > >> 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" <Murugesan(a)discussions.microsoft.com> wrote in message >> news:70DE1BF5-1409-408C-B30F-C2E527AD636C(a)microsoft.com... >> > 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 >> >> . >>
|
Next
|
Last
Pages: 1 2 Prev: WDF Wait Lock Usage Next: Problem attaching WinDbg to target after WDK7600 upgrade |