Next-in-Thread Next Message

None It is a difficult issue 

Forum: Unsupported PCMCIA Devices
Re: Question PCMCIA ALAS sound driver (Steve Feil)
Date: 2000, Feb 23
From: David Hinds <dhinds@pcmcia.sourceforge.org>

> 1. Is DMA used on PCMCIA cards other than sound cards?

Generally no; I am not aware of any.  Some floppy disk interface cards
can optionally use DMA, but Linux doesn't support that mode.

> 2. Have any PCMCIA DMA drivers been written for Linux?

No.

> 3. Can a DMA driver written for a PCMCIA card (other 
>    than sound) be easily adapted for a sound card?

I should give some background about DMA and PCMCIA.  Early PCMCIA
bridges, and the original PCMCIA specification, did not support DMA,
period.  Some vendors later started adding DMA support, but because
there was no standard, each made up their own proprietary scheme for
doing it.  This was all pre-PCI.  Then with PCI and CardBus bridges, a
new issue came up: the host ISA DMA controller doesn't have anything
to do with PCI, and can't talk to an ISA device like a PCMCIA sound
card sitting behind a CardBus bridge on the PCI bus.  So vendors came
up with yet more DMA kludges.  One relatively common scheme is for the
CardBus bridge to have a set of extra registers that look like an ISA
DMA controller, and the bridge emulates the DMA engine using PCI bus
master operations.  Unfortunately, if you look at the Linux ISA DMA
driver, there is no simple way to support an extra DMA controller.

So, to support PCMCIA DMA devices, you need to:

(1) provide support in the CardBus bridge driver for configuring the
    DMA controller, for bridges that have one.
(2) rewrite Linux DMA support to support additional DMA controllers
    that are "bound" to particular devices.

In short, it is messy and non-trivial.

-- Dave

Next-in-Thread Next Message

Add Message to: "It is a difficult issue"

Members Subscribe Admin Mode Show Frames Help for HyperNews at pcmcia-cs.sourceforge.net 1.10