Sean McGranaghan wrote:
> Hello Jan,
> 
> Comments are inline below...
> 
> FYI - I now have two Pentium II machines exhibiting the same behavior. Both 
> are 
> configured with a vanilla 2.6.16.5 kernel with Xenomai trunk snapshot. (Rev 
> 941). One machine has the local APIC enabled in the kernel, one does not. 
> Xenomai user space is configured with --enable-x86-tsc and --enable-x86-sep.
> 
> Thanks,
> Sean
> 
> Jan Kiszka wrote:
>> Sean McGranaghan wrote:
>>   
>>> Hello all,
>>>
>>> I have been writing an RTDM driver for an ISA (PC/104) based DAQ board. I 
>>> had 
>>> the initial driver working under a very old trunk snapshot (Rev 464). This 
>>> morning I upgraded to the latest trunk. I put a few small fixes into my 
>>> driver 
>>> and test application to take care of some deprecated functions and 
>>> constants. 
>>> (rt_queue_recv() and RT_IRQ_ENABLED). It appears that my driver is no 
>>> longer 
>>> receiving interrupts. I can see the irq line go active on the oscilloscope 
>>> but 
>>> it is never cleared and it appears my interrupt handler is never called.
>>>
>>> I ran the test suite including xeno-test with no problems. Attached are 
>>> output 
>>> files from dmesg, xeno-config and xeno-test outputs. My kernel config file 
>>> is 
>>> also attached.
>>>
>>> At this point I think I need to turn on some debugging in the kernel. Which 
>>> debug options would be appropriate here?.
>>>
>>>     
>>
>> First of all, what does /proc/xenomai/irq tell you about your DAQ IRQ?
>> Is it registered correctly? Are there any arrivals noted?
>>
>>   
> The counters in /proc/xenomai/irq do not appear to be incrementing. I can see 
> my 
> irq number allocated while the device is open, and removed when the device is 
> closed. The interrupt number does not increment.
> 
> Also, the oscilloscope shows the interrupt going active (hi) but never 
> in-active 
> (lo). Is it never acknowledged via IPIPE or Linux?

Then you should at least see a single event in the stats under /proc, do
you?

What about rtdm_irq_enable, do you call it after requesting the line?

>> Then double-check if you pass the correct code on return from the IRQ
>> handler: either RTDM_IRQ_HANDLED (if that IRQ was for you - standard),
>> or RTDM_IRQ_NONE. Nothing else (RT_IRQ_ENABLE is "native stuff", i.e.
>> violates the rule to keep your driver clean from non-RTDM APIs).
>>
>>   
> I verified that I am returning RTDM_IRQ_HANDLED.
>> Regarding debugging options: CONFIG_XENO_OPT_DEBUG_RTDM is highly
>> recommended for drivers under development.
>>
>>   
> Now enabled.
>> Jan
>>
>>   

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to