NIIBE Yutaka (gniibe@mri.co.jp)
Tue, 10 Feb 1998 13:25:25 +0900
Hello,
mlord@pobox.com writes:
> Philip Blundell wrote:
> >
> > It isn't possible to autoprobe for the irq on spp ports. You must specify it
> > explicitly.
>
> Really?! Why can they not be probed using the kernel probe utilities?
>
> Too many soundcard conflicts?
For SPP port, it isn't possible to autporobe IRQ with kernel probe
utilities.
The utility works as (sited from interrupt.h):
=============
1. clear and/or mask the device's internal interrupt.
2. sti();
3. irqs = probe_irq_on(); // "take over" all unassigned idle IRQs
4. enable the device and cause it to trigger an interrupt.
5. wait for the device to interrupt, using non-intrusive polling or a delay.
6. irq = probe_irq_off(irqs); // get IRQ number, 0=none, negative=multiple
7. service the device to clear its pending interrupt.
8. loop again if paranoia is required.
=============
For SPP port, step 4 (causing it to trigger an interrupt) is
impossible. It can't be done with the port itself. It requires the
signal change of -ACK line. It's output of printer.
If printer could have some command to cause -ACK line change, it would
be possible to probe IRQ...
With "optimized" implementation of Parallel Port, setting IRQ_ENABLE
on and off triggers an interrupt. That's the reason why I can
autoprobe IRQ on my old notbook PC with PLIP in Linux 2.0.x.
Thanks,
-- NIIBE Yutaka-- To unsubscribe, send mail to: linux-parport-request@torque.net -- -- with the single word "unsubscribe" in the body of the message. --
This archive was generated by hypermail 2.0b3 on Wed 30 Dec 1998 - 10:17:27 EST