Thread (88 messages) 88 messages, 11 authors, 2008-01-10

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

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help