RE: parport and irq question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>> what irq am I supposed to hand to the irq= parameter 
>
>does "auto" work any better?
>
Unfortunately no.

This is the default output:
    # modprobe parport_pc
    [42949457.300000] pnp: Device 00:0a activated.
    [42949457.300000] parport: PnPBIOS parport detected.
    [42949457.300000] parport0: PC-style at 0x378 (0x778), irq 7, dma 3
    [PCSPP,TRISTATE,COMPAT,ECP,DMA]
    [42949457.390000] ACPI: PCI Interrupt 0000:00:0c.0[A] -> GSI 16
    (level, low) -> IRQ 217
    [42949457.390000] PCI parallel port detected: 9710:9805, I/O at
    0xc800(0xc400)
    [42949457.390000] parport1: PC-style at 0xc800 (0xc400) [PCSPP,TRISTATE]
    [42949457.470000] PCI parallel port detected: 9710:9805, I/O at
    0xc000(0xbc00)
    [42949457.470000] parport2: PC-style at 0xc000 (0xbc00) [PCSPP,TRISTATE]
Why don't parport1 and p2 get an IRQ and DMA (and therefore ECP/EPP and all the
fun)?

There is one side thing that seems wrong:
    # modprobe parport_pc io=0x378
    [42949610.790000] parport 0x378 (WARNING): CTR: wrote 0x0c, read 0xff
    [42949610.790000] parport 0x378 (WARNING): DATA: wrote 0xaa, read 0xff
    [42949610.790000] parport 0x378: You gave this address, but there is
    probably no parallel port there!
But the parport is there (see above). The kernel does not seem to active the
pnp device.

When specifying irq=auto,auto,auto, I also need to pass in io=. Automatic IRQ
allocation seems to take place (note the delay in the timestamps), but no IRQ
is assigned in the end:
    # modprobe parport_pc irq=auto,auto,auto io=0x378,0xc800,0xc000
    [42949815.890000] parport 0x378 (WARNING): CTR: wrote 0x0c, read 0xff
    [42949815.890000] parport 0x378 (WARNING): DATA: wrote 0xaa, read 0xff
    [42949815.890000] parport 0x378: You gave this address, but there is
    probably no parallel port there!
    [42949815.890000] parport0: PC-style at 0x378 [PCSPP,TRISTATE]
    [42949815.970000] parport1: PC-style at 0xc800 [PCSPP,TRISTATE,EPP]
    [42949816.050000] parport2: PC-style at 0xc000 (0xc400) [PCSPP,TRISTATE]
Plus, the io_hi part has only been detected for parport2. It is wrong too, as
0xc400 belongs to parport1 (see automatic detection above). Strange!

And now for the only command that successfully allocates IRQs (and DMA),
with the exception of 0x378...:
    # modprobe parport_pc irq=3,5,7 io=0x378,0xc800,0xc000
    io_hi=0x778,0xc400,0xbc00
    [42950056.090000] parport 0x378 (WARNING): CTR: wrote 0x0c, read 0xff
    [42950056.090000] parport 0x378 (WARNING): DATA: wrote 0xaa, read 0xff
    [42950056.090000] parport 0x378: You gave this address, but there is
    probably no parallel port there!
    [42950056.090000] parport0: PC-style at 0x378, irq 3 [PCSPP,TRISTATE]
    [42950056.170000] parport1: PC-style at 0xc800 (0xc400), irq 5, dma 5
    [PCSPP,TRISTATE,COMPAT,ECP,DMA]
    [42950056.250000] parport2: PC-style at 0xc000 (0xbc00), irq 7, dma 7
    [PCSPP,TRISTATE,COMPAT,ECP,DMA]

Hopefully, someone can clear this up.


Jan Engelhardt
-- 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux