lkml.org 
[lkml]   [2006]   [Jun]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRE: parport and irq question
>> 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 majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-06-05 12:13    [W:0.043 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site