[alsa-devel] [PATCH] Re: 2.6.26-rc1 regression: ISA DMA broken (bisected)
rene.herman at keyaccess.nl
Sat May 31 00:11:37 CEST 2008
On 30-05-08 23:43, Bjorn Helgaas wrote:
> On Friday 30 May 2008 03:15:57 pm Rene Herman wrote:
>> It gets uglier. ALSA ISA drivers (for cards that exist both as legacy
>> and as ISAPnP at least) keep a merged legacy/isapnp model; PnP is used
>> mostly for initializing global variables that the same old legacy probe
>> routines then reference. This means that beyond that global resource
>> init step the specific struct device is no longer available. Without
>> restructuring too many things really only fixable through other hacks
>> again such as a global dma_dev array or some such.
>> From the viewpoint of PnP itself setting the dma_mask for a pnp_card (a
>> pnp_dev collection) makes isolated sense so if no objections, I'll
>> submit the attached after all. From the ALSA side we'd then pass the
>> card dev (which we'd also do for isa_dev) and keep in mind that we might
>> want to get more specific if over time structure permits it.
>> struct snd_pcm already has its own struct device * which would be the
>> right one here but it's setting that which gets ugly...
> Looks good to me. It does sound like a lot of work and possibly
> more risk than it's worth to fix up some of this stuff.
Fairly invasive at least. The good thing though is that with the recent
pnp_manual_config_dev() removal the PnP drivers have no actual need/use
for this global variable model anymore and now I have a great excuse for
rewriting them. That can happen one at a time though...
> I do still wonder whether any non-x86 architectures need similar
> fixes in dma_alloc_coherent(), i.e., check for dev==NULL and fall
> back to a 24-bit DMA mask.
Hrmmpf. Good question. In sound/isa, we've had a but of alpha spottyness
over time but nothing which would seem to be related.
> Acked-by: Bjorn Helgaas <bjorn.helgaas at hp.com>
Thanks. I'll assume Andrew picks it up from the CC...
More information about the Alsa-devel