On Tue, 19 Feb 2008, Stephen Berry wrote:

   We have developed our own DM350 product that is loosely based on the
355EVM. We have replaced the decoder, removed the MSP430, redesigned the
 . . .
So, here is my problem - the DMA channel that is "assigned" for the
audio_open() (davinci-audio.c) function is wrong. And I can't figure out
where it is coming from !
 . . .
So what I see is that 'is->dma_dev' is being passed to me as a 9. This
corresponds to the EDMA channel for ASP1 - not zero like I want. I
confirmed that this was indeed the problem by forcing the channel to 3
(ASP0 for record) and I suddenly have tons of dma !

But I need to fix the underlying problem ... Can anyone tell me who or
what determines the DMA channel for the audio?

Did you do a grep for "dma_dev" in the DM355-related files in the direc-
tory containing the kernel source for your ASP/McBSP driver?  I'm using
the DM6446 and they're in sound/oss for me, but it's probably done the
same way for you:

% fgrep dma_dev sound/oss/*davinci*.[ch]
sound/oss/davinci-audio-aic33.c:        .dma_dev = DAVINCI_DMA_MCBSP1_TX,
sound/oss/davinci-audio-aic33.c:        .dma_dev = DAVINCI_DMA_MCBSP1_RX,
sound/oss/davinci-audio-dma-intfc.h:#define DMA_REQUEST(e,s, cb)   
{e=davinci_request_sound_dma(s->dma_dev, s->id, s, &s->master_ch, &s->lch);}
sound/oss/davinci-audio.h:      int dma_dev;            /* device identifier 
for DMA */
%

Then I find DAVINCI_DMA_MCBSP1_TX/RX in include/asm/arch/edma.h .

Tom
--
  /"\  ASCII Ribbon Campaign   |
  \ /                          |   Email to user 'CTZ001'
   X        Against HTML       |             at 'email.mot.com'
  / \     in e-mail & news     |
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to