public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* PNP BIOS and parport_pc - dma found but not used
@ 2001-04-19  6:14 Pavel Roskin
  2001-04-19 11:43 ` Alan Cox
  2001-04-19 17:31 ` Gunther Mayer
  0 siblings, 2 replies; 7+ messages in thread
From: Pavel Roskin @ 2001-04-19  6:14 UTC (permalink / raw)
  To: linux-kernel

Hello!

I've compiled 2.4.3-ac9 with support for PNP BIOS. I understand that this
is a new feature experimental and the feedback is requested.

The setting is BIOS is to use irq 7 and dma 3. I normally use "options
parport_pc io=0x378 irq=7 dma=3" in /etc/modules.conf, but this time I
commented them out hoping that the driver will ask BIOS.

Although the kernel can see those settings, the dma is not used by the
driver. This is the output from dmesg.

PnPBIOS: Parport found PNPBIOS PNP0401 at io=0378,0778 irq=7 dma=-1
0x378: FIFO is 16 bytes
0x378: writeIntrThreshold is 7
0x378: readIntrThreshold is 7
0x378: PWord is 8 bits
0x378: Interrupts are ISA-Pulses
0x378: ECP port cfgA=0x10 cfgB=0x4b
0x378: ECP settings irq=7 dma=3
parport0: PC-style at 0x378 (0x778), irq 7, using FIFO
[PCSPP,TRISTATE,COMPAT,ECP]
parport0: cpp_daisy: aa5500ff(98)
parport0: assign_addrs: aa5500ff(98)
parport0: Printer, Canon BJC-1000
# cat /proc/dma
 4: cascade
# cat /proc/interrupts
           CPU0
  0:    1323677          XT-PIC  timer
  1:      20176          XT-PIC  keyboard
  2:          0          XT-PIC  cascade
  3:          0          XT-PIC  eth1
  4:     288111          XT-PIC
  7:          2          XT-PIC  parport0
  8:          1          XT-PIC  rtc
 12:      41138          XT-PIC  eth0
 14:      22503          XT-PIC  ide0
 15:          0          XT-PIC  ide1
NMI:          0
ERR:          0

The full output is here: http://www.red-bean.com/~proski/linux/dmesg
First time parport_pc was loaded with the explicit options.

-- 
Regards,
Pavel Roskin


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: PNP BIOS and parport_pc - dma found but not used
  2001-04-19  6:14 PNP BIOS and parport_pc - dma found but not used Pavel Roskin
@ 2001-04-19 11:43 ` Alan Cox
  2001-04-19 14:51   ` Pavel Roskin
  2001-04-19 17:31 ` Gunther Mayer
  1 sibling, 1 reply; 7+ messages in thread
From: Alan Cox @ 2001-04-19 11:43 UTC (permalink / raw)
  To: Pavel Roskin; +Cc: linux-kernel

> I've compiled 2.4.3-ac9 with support for PNP BIOS. I understand that this
> is a new feature experimental and the feedback is requested.

Thanks

> The setting is BIOS is to use irq 7 and dma 3. I normally use "options
> parport_pc io=0x378 irq=7 dma=3" in /etc/modules.conf, but this time I
> commented them out hoping that the driver will ask BIOS.
> 
> PnPBIOS: Parport found PNPBIOS PNP0401 at io=0378,0778 irq=7 dma=-1

Do you have it set in the BIOS itself to use DMA mode and to use DMA 3. The
PnPBIOS should be reflecting your BIOS choices if I understand rightly


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: PNP BIOS and parport_pc - dma found but not used
  2001-04-19 11:43 ` Alan Cox
@ 2001-04-19 14:51   ` Pavel Roskin
  2001-04-19 17:40     ` Gunther Mayer
  0 siblings, 1 reply; 7+ messages in thread
From: Pavel Roskin @ 2001-04-19 14:51 UTC (permalink / raw)
  To: Alan Cox; +Cc: linux-kernel

Hello, Alan!

> > The setting is BIOS is to use irq 7 and dma 3. I normally use "options
> > parport_pc io=0x378 irq=7 dma=3" in /etc/modules.conf, but this time I
> > commented them out hoping that the driver will ask BIOS.
> >
> > PnPBIOS: Parport found PNPBIOS PNP0401 at io=0378,0778 irq=7 dma=-1
>
> Do you have it set in the BIOS itself to use DMA mode and to use DMA 3. The
> PnPBIOS should be reflecting your BIOS choices if I understand rightly

Yes, it is set in BIOS to use ECP, EPP, IRQ 7 and DMA 3.

There is another interesting line in the log that you didn't quote. The
driver actually knows about DMA 3:

0x378: ECP settings irq=7 dma=3

Just in case, that board is Asus P5A-B with the latest BIOS:
P5A-B BIOS ver. 1010, 05/31/2000

For comparison, I took a board with VIA chipset and PhoenixBIOS 4.0
Release 6.0, and it works properly with another 2.4.3-ac9 kernel:

Winbond Super-IO detection, now testing ports 3F0,370,250,4E,2E ...
SMSC Super-IO detection, now testing Ports 2F0, 370 ...
PnPBIOS: Parport found PNPBIOS PNP0401 at io=0378,0778 irq=7 dma=3
0x378: FIFO is 16 bytes
0x378: writeIntrThreshold is 8
0x378: readIntrThreshold is 8
0x378: PWord is 8 bits
0x378: Interrupts are ISA-Pulses
0x378: ECP port cfgA=0x10 cfgB=0x4b
0x378: ECP settings irq=7 dma=3
parport0: PC-style at 0x378 (0x778), irq 7, dma 3
[PCSPP,TRISTATE,COMPAT,ECP,DMA]
parport0: cpp_daisy: aa5500ff(38)
parport0: assign_addrs: aa5500ff(38)
parport0: cpp_daisy: aa5500ff(38)
parport0: assign_addrs: aa5500ff(38)

-- 
Regards,
Pavel Roskin


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: PNP BIOS and parport_pc - dma found but not used
  2001-04-19  6:14 PNP BIOS and parport_pc - dma found but not used Pavel Roskin
  2001-04-19 11:43 ` Alan Cox
@ 2001-04-19 17:31 ` Gunther Mayer
  2001-04-20  4:11   ` Pavel Roskin
  1 sibling, 1 reply; 7+ messages in thread
From: Gunther Mayer @ 2001-04-19 17:31 UTC (permalink / raw)
  To: Pavel Roskin; +Cc: linux-kernel

Pavel Roskin wrote:
> 
> Hello!
> 
> I've compiled 2.4.3-ac9 with support for PNP BIOS. I understand that this
> is a new feature experimental and the feedback is requested.
> 
> The setting is BIOS is to use irq 7 and dma 3. I normally use "options
> parport_pc io=0x378 irq=7 dma=3" in /etc/modules.conf, but this time I
> commented them out hoping that the driver will ask BIOS.
> 
> Although the kernel can see those settings, the dma is not used by the
> driver. This is the output from dmesg.
> 
> PnPBIOS: Parport found PNPBIOS PNP0401 at io=0378,0778 irq=7 dma=-1
                                                               ^^^^^^ culprit !

Send me the raw PNP resource data so I can look into this:

1) Search for the right two-digit PNP handle for device "0104d041":
   cat /proc/bus/pnb/devices
   01      0104d041        07:01:00        0080
   02      0105d041        07:00:02        0180
   03      1005d041        07:00:02        0180
   04      0007d041        01:02:00        0003
   ...

   The number in the first column (here: 01) is the handle
   to be used in step 2.

2) Send cat /proc/bus/pnp/01 | od -tx1

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: PNP BIOS and parport_pc - dma found but not used
  2001-04-19 14:51   ` Pavel Roskin
@ 2001-04-19 17:40     ` Gunther Mayer
  0 siblings, 0 replies; 7+ messages in thread
From: Gunther Mayer @ 2001-04-19 17:40 UTC (permalink / raw)
  To: Pavel Roskin; +Cc: linux-kernel

Pavel Roskin wrote:
...
> 
> There is another interesting line in the log that you didn't quote. The
> driver actually knows about DMA 3:
> 
> 0x378: ECP settings irq=7 dma=3

The parport code only uses DMA when told by the user, so 
	insmod parport_pc dma=auto
should to the trick. Parport DMA transfers are considered experimental still,
so this is not the default.

> 
> Just in case, that board is Asus P5A-B with the latest BIOS:
> P5A-B BIOS ver. 1010, 05/31/2000
> 
> For comparison, I took a board with VIA chipset and PhoenixBIOS 4.0
> Release 6.0, and it works properly with another 2.4.3-ac9 kernel:

Fine. With PNPBIOS or ACPI you don't currently need dma=auto.
This is subject to change probably (see above).

> 
> Winbond Super-IO detection, now testing ports 3F0,370,250,4E,2E ...
> SMSC Super-IO detection, now testing Ports 2F0, 370 ...
> PnPBIOS: Parport found PNPBIOS PNP0401 at io=0378,0778 irq=7 dma=3
> 0x378: FIFO is 16 bytes
> 0x378: writeIntrThreshold is 8
> 0x378: readIntrThreshold is 8
> 0x378: PWord is 8 bits
> 0x378: Interrupts are ISA-Pulses
> 0x378: ECP port cfgA=0x10 cfgB=0x4b
> 0x378: ECP settings irq=7 dma=3
> parport0: PC-style at 0x378 (0x778), irq 7, dma 3
> [PCSPP,TRISTATE,COMPAT,ECP,DMA]
> parport0: cpp_daisy: aa5500ff(38)
> parport0: assign_addrs: aa5500ff(38)
> parport0: cpp_daisy: aa5500ff(38)
> parport0: assign_addrs: aa5500ff(38)

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: PNP BIOS and parport_pc - dma found but not used
  2001-04-19 17:31 ` Gunther Mayer
@ 2001-04-20  4:11   ` Pavel Roskin
  2001-04-20 17:33     ` Gunther Mayer
  0 siblings, 1 reply; 7+ messages in thread
From: Pavel Roskin @ 2001-04-20  4:11 UTC (permalink / raw)
  To: Gunther Mayer; +Cc: linux-kernel

Hello, Gunther!

On Thu, 19 Apr 2001, Gunther Mayer wrote:

> > PnPBIOS: Parport found PNPBIOS PNP0401 at io=0378,0778 irq=7 dma=-1
>                                                                ^^^^^^ culprit !

For some reason I'm not getting that message anymore. PnPBIOS is in the
kernel, parport_pc is a module. This time I rebooted with the parport_pc
module already installed, as opposed to the first time when I compiled and
inserted it without a reboot.

I'm puzzled. Just in case, it's my .config:
http://www.red-bean.com/~proski/linux/config

Anyway, the result is still the same, just without this message.

> 1) Search for the right two-digit PNP handle for device "0104d041":

this is 01.

>    cat /proc/bus/pnb/devices

01      0104d041        07:01:00        0080
02      0105d041        07:00:02        0180
06      0007d041        01:02:00        0003
08      010cd041        05:00:00        0003
09      0000d041        08:00:01        0003
0a      0001d041        08:02:01        0003
0b      000bd041        08:03:01        0003
0c      0303d041        09:00:00        000b
0d      040cd041        0b:01:00        0003
0e      0002d041        08:01:01        0003
0f      0008d041        08:80:00        0003
10      030ad041        06:04:00        0003
11      020cd041        08:80:ff        0003

> 2) Send cat /proc/bus/pnp/01 | od -tx1

0000000 2a 00 00 22 80 00 47 01 78 03 78 03 00 08 47 01
0000020 78 07 78 07 00 08 79 00 30 2a 0a 00 22 80 00 47
0000040 01 bc 03 bc 03 00 03 47 01 bc 07 bc 07 00 03 30
0000060 2a 0a 00 22 80 00 47 01 78 03 78 03 00 08 47 01
0000100 78 07 78 07 00 08 30 2a 0a 00 22 20 00 47 01 78
0000120 02 78 02 00 08 47 01 78 06 78 06 00 08 38 79 00
0000140 79 00

Settings:
Parallel port mode: ECP+EPP
ECP DMA select: 3

-- 
Regards,
Pavel Roskin


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: PNP BIOS and parport_pc - dma found but not used
  2001-04-20  4:11   ` Pavel Roskin
@ 2001-04-20 17:33     ` Gunther Mayer
  0 siblings, 0 replies; 7+ messages in thread
From: Gunther Mayer @ 2001-04-20 17:33 UTC (permalink / raw)
  To: Pavel Roskin; +Cc: linux-kernel

Pavel Roskin wrote:
> 
> Hello, Gunther!
> 
> On Thu, 19 Apr 2001, Gunther Mayer wrote:
> 
> > > PnPBIOS: Parport found PNPBIOS PNP0401 at io=0378,0778 irq=7 dma=-1
> >                                                                ^^^^^^ culprit !
> 
> For some reason I'm not getting that message anymore. PnPBIOS is in the
> kernel, parport_pc is a module. This time I rebooted with the parport_pc
> module already installed, as opposed to the first time when I compiled and
> inserted it without a reboot.

Did you load "insmod pnpbios" the first time (as opposed to built-in)?

> 
> I'm puzzled. Just in case, it's my .config:
> http://www.red-bean.com/~proski/linux/config
> 
> Anyway, the result is still the same, just without this message.
> 
> > 1) Search for the right two-digit PNP handle for device "0104d041":
> 
> this is 01.
> 
> >    cat /proc/bus/pnb/devices
> 
> 01      0104d041        07:01:00        0080
> 02      0105d041        07:00:02        0180
> 06      0007d041        01:02:00        0003
> 08      010cd041        05:00:00        0003
> 09      0000d041        08:00:01        0003
> 0a      0001d041        08:02:01        0003
> 0b      000bd041        08:03:01        0003
> 0c      0303d041        09:00:00        000b
> 0d      040cd041        0b:01:00        0003
> 0e      0002d041        08:01:01        0003
> 0f      0008d041        08:80:00        0003
> 10      030ad041        06:04:00        0003
> 11      020cd041        08:80:ff        0003
> 
> > 2) Send cat /proc/bus/pnp/01 | od -tx1
> 
> 0000000 2a 00 00 22 80 00 47 01 78 03 78 03 00 08 47 01
             ^^
             This is "NO DMA" (we map this in parport to -1, which means Unknown).
Your PNPBIOS is buggy, this should be "08" for dma=3


> 0000020 78 07 78 07 00 08 79 00 30 2a 0a 00 22 80 00 47
                                        ^^
                                        Possible settings are: 08|02 i.e. dma=3|1
> 0000040 01 bc 03 bc 03 00 03 47 01 bc 07 bc 07 00 03 30
> 0000060 2a 0a 00 22 80 00 47 01 78 03 78 03 00 08 47 01
> 0000100 78 07 78 07 00 08 30 2a 0a 00 22 20 00 47 01 78
> 0000120 02 78 02 00 08 47 01 78 06 78 06 00 08 38 79 00
> 0000140 79 00
> 
> Settings:
> Parallel port mode: ECP+EPP
> ECP DMA select: 3

Try to get an update for your BIOS or file a bug report to your
mainboard vendor else.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2001-04-20 17:33 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-04-19  6:14 PNP BIOS and parport_pc - dma found but not used Pavel Roskin
2001-04-19 11:43 ` Alan Cox
2001-04-19 14:51   ` Pavel Roskin
2001-04-19 17:40     ` Gunther Mayer
2001-04-19 17:31 ` Gunther Mayer
2001-04-20  4:11   ` Pavel Roskin
2001-04-20 17:33     ` Gunther Mayer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox