Next-in-Thread Next Message

Question PCMCIA ALAS sound driver 

Forum: Unsupported PCMCIA Devices
Date: 2000, Feb 23
From: Steve Feil stevef

I have seen some high quality PCMCIA sound cards advertised
on the web, however I am disappointed that PCMCIA sound cards
are not supported in Linux.

I have one company in mind that may be willing to supply the
specifications for a PCMCIA sound card they produce.

I would be willing to learn how to write a driver, however
right now I'm just gathering background information.

According to what I have read, the reason that PCMCIA sound
cards are not supported in Linux, is because they use DMA. 
Going on this assumption I have four questions, which I'm 
posting to the PCMCIA mailing list as well as the one for ALSA.

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

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

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

4. If a PCMCIA DMA driver module were written, how easy would
   it be for a ALSA module to interface with the DMA module?

Next-in-Thread Next Message

Messages Inline: 0 All Outline: 1 2 All

None It is a difficult issue

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
PCMCIA ALAS sound driver


Add Message to: "PCMCIA ALAS sound driver"

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