Tim Waugh wrote:
> On Mon, 20 Mar 2000, Chandan Mishra wrote:
>
> > I have a question which is not parallel port specific but arose during
> > the time while I was playing with parport driver. On PC how is the dma
> > channel autoconfigured if it is. As my understanding goes each
> > peripherical controller is kind of hard wired to a particular dma
> > channel of a dma controller (corect me if I am wrong). Then how does
> > auto configuration works or how odes the driver discover the dma
> > channel to use. Also how does peripheral auto-finds the available
> > irqs.
For plain ISA cards "auto-finding" is not possible and so ISA is prone
to IRQ and DMA conflicts. There are well established conventions for
standard
components which peripheral uses which IO, IRQ and DMA
It is YOUR responsibility to configure everything by jumpers or proprietary
mechanisms to play well together. Your BIOS setup probably sets the DMA for
your parallel port chipset nowadays.
This problem is solved for PnP-ISA and PCI, that have a fixed API for
querying
and setting confuguration data.
>
>
> For parallel ports: ECP chipsets just tell you this information. You ask
> the chipset what DMA channel and IRQ line it's using, and it tells you.
> It's theoretically possible to program it to use a DMA channel and IRQ
> line of your choice, but I've never seen an implementation that allows
> that.
That's not the whole truth for 'auto-detection":
The ISA-ECP specification:
-allows ECP chipsets to indicate "jumpered DMA channel"
This value is even used by some Super-IO chipsets. These don't
feature jumpers of course, so read "jumpered or set by other means or
none"
- requires a value different from "jumpered" (i.e. 0) shallt be the correct
setting
==> In this case only you have auto configuration !
- Allows these bits to be read-only or read-write
Solutions:
- Super IO chips have proprietary configuration registers and some chips
give you the DMA channel number as seen on the ISA bus, some others
don't have a fixed relation between progammed DMA-channel to ISA-DMA
channel.
There is some work in progress in 2.3.99 ff. For some particular reason
the "W73977TF"
was the first chip to be autodetected by Linux :-)
Give it a try and report the autodetected chip and your built-in chip.
As the BIOS Setup programs these chips, the value you give in the Setup
Screen
the definitive value (modulo BIOS or silicon bugs).
- Ask your EPP Bios (this is applicable to ECP, EPP is a misnomer here
because
if conflicts with EPP mode)
For further information consult PDF datasheets for Super IO chipsets,
availabe freely from various vendors (eg. www.winbond.com www.national.com
etc.)
and the ECP Specification and the EPP Bios specification.
-
Gunther
-- 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 2b29 : Tue Mar 21 2000 - 14:32:08 EST