Re: [alsa-devel] [PATCH] ASoC drivers for the Freescale MPC8610 SoC
From: Lee Revell <hidden>
Date: 2007-12-21 05:28:41
Also in:
alsa-devel
From: Lee Revell <hidden>
Date: 2007-12-21 05:28:41
Also in:
alsa-devel
On Dec 20, 2007 8:54 AM, Takashi Iwai [off-list ref] wrote:
At Thu, 20 Dec 2007 08:24:35 -0600, Timur Tabi wrote:quoted
quoted
quoted
+static int fsl_dma_new(struct snd_card *card, struct snd_soc_codec_dai *dai, + struct snd_pcm *pcm) +{ + static u64 fsl_dma_dmamask = 0xffffffff; + int ret; + + if (!card->dev->dma_mask) + card->dev->dma_mask = &fsl_dma_dmamask;I haven't read how your channel allocation works, but providing a pointer to a local static variable is a bit fishy no matter what.I just copied this code from another module. All the ALSA drivers do this,All? No, only a few... For PCI, usually pci_set_dma_mask() and pci_set_consistent_dma_mask() are used, of course.
Timur, Nicely commented driver! I wish they were all like this ;-) Please use DMA_32BIT_MASK (see include/linux/dma-mapping.h) instead of 0xffffffff. I've personally fixed a heisenbug in an ALSA driver caused by incorrectly typed DMA mask... Lee