Re: [PARPORT] Re: DMA channel configuration

From: Gunther Mayer (gunther.mayer@braunschweig.netsurf.de)
Date: Tue Mar 21 2000 - 14:30:33 EST

  • Next message: Peter Bates: "[PARPORT] Microtek Parallel-port camera?"

    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