public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
* Re: Audio L/R Channel Interchanges ( Solved!)
       [not found] <c43be92d0511182105h6bb9f274q62925dcef7b59ca8@mail.gmail.com>
@ 2005-11-24 17:14 ` Dirk Behme
  2005-11-25  6:50   ` Ajaya Babu Anne
  0 siblings, 1 reply; 4+ messages in thread
From: Dirk Behme @ 2005-11-24 17:14 UTC (permalink / raw)
  To: Ajaya Babu Anne; +Cc: Linux-omap-open-source

Ajaya Babu Anne wrote:
> Yes ! Perhaps this is manifested in L/R channel Interchange problem, Audio (
> OSS ) driver omap-audio-dma-intfc.c When Audio stream underflow's it does
> not stop the McBSP interface and it continues to underflow. Once data is
> there audio driver start dma chian gain, however McBSP is still in
> operation.
> 
> I have a quick hack to it
> 
> if (!s->started) {
> 
> s->hw_stop_stream( ); /* stops McBSP Interface */
> omap_start_dma(channel);
> s->started = 1;
> s->hw_start_stream( ); /* start McBSP interface */
> 
> }


Just want to test this because of issues with DMA and ALSA driver. But I 
can't find what is behind

s->hw_stop_stream( );
s->hw_start_stream( );

Any hint or even better a patch?

Many thanks

Dirk

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Audio L/R Channel Interchanges ( Solved!)
  2005-11-24 17:14 ` Audio L/R Channel Interchanges ( Solved!) Dirk Behme
@ 2005-11-25  6:50   ` Ajaya Babu Anne
  2005-11-25 12:32     ` Ajaya Babu Anne
  2005-11-27 17:45     ` Dirk Behme
  0 siblings, 2 replies; 4+ messages in thread
From: Ajaya Babu Anne @ 2005-11-25  6:50 UTC (permalink / raw)
  To: Dirk Behme; +Cc: Linux-omap-open-source

>>Just want to test this because of issues with DMA and ALSA driver. But I
>>can't find what is behind

>>s->hw_stop_stream( );
>>s->hw_start_stream( );changes required for audio_stream_t in
omap-audio.hadd following elements

int (*hw_stop )( void );
int (*hw_start)( void );


changes in audio driver, omap-audio-aic23.c:

static int audio_ifc_start( void ) {  omap_mcbsp_start(AUDIO_MCBSP); return
0; }
static int audio_ifc_stop( void )  {  omap_mcbsp_stop(AUDIO_MCBSP); return
0; }


static audio_stream_t output_stream = {
        .id              = "AIC23 out",
        .dma_dev         = OMAP_DMA_MCBSP1_TX,
        .input_or_output = FMODE_WRITE,
        .hw_start = audio_ifc_start,
        .hw_stop = audio_ifc_stop
};

static audio_stream_t input_stream = {
        .id              = "AIC23 in",
        .dma_dev         = OMAP_DMA_MCBSP1_RX,
        .input_or_output = FMODE_READ,
        .hw_start = audio_ifc_start,
        .hw_stop = audio_ifc_stop
};


>> Any hint or even better a patch?

unfortunately my audio driver is little different as I am using MCBSP2 for
DAC and MCBSP1 for ADC so it will not work for OSK board. So I just written
the changes required in omap-audio-aic23.c for OSK above. Hope this helps.



With Warm Regards,
Ajaya Babu

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Audio L/R Channel Interchanges ( Solved!)
  2005-11-25  6:50   ` Ajaya Babu Anne
@ 2005-11-25 12:32     ` Ajaya Babu Anne
  2005-11-27 17:45     ` Dirk Behme
  1 sibling, 0 replies; 4+ messages in thread
From: Ajaya Babu Anne @ 2005-11-25 12:32 UTC (permalink / raw)
  To: Dirk Behme; +Cc: Linux-omap-open-source

One More thing:

You need to add in omap-audio-dma-intfc.c in audio_start_dma_chain
function.

if (!s->started) {

 s->hw_stop( ); /* stops McBSP Interface */
 omap_start_dma(channel);
 s->started = 1;
 s->hw_start( ); /* start McBSP interface */

 }


On 11/25/05, Ajaya Babu Anne <anneajaya@gmail.com> wrote:
>
> >>Just want to test this because of issues with DMA and ALSA driver. But I
> >>can't find what is behind
>
> >>s->hw_stop_stream( );
> >>s->hw_start_stream( );changes required for audio_stream_t in
> omap-audio.h add following elements
>
> int (*hw_stop )( void );
> int (*hw_start)( void );
>
>
> changes in audio driver, omap-audio-aic23.c:
>
> static int audio_ifc_start( void ) {  omap_mcbsp_start(AUDIO_MCBSP);
> return 0; }
> static int audio_ifc_stop( void )  {  omap_mcbsp_stop(AUDIO_MCBSP); return
> 0; }
>
>
> static audio_stream_t output_stream = {
>         .id              = "AIC23 out",
>         .dma_dev         = OMAP_DMA_MCBSP1_TX,
>         .input_or_output = FMODE_WRITE,
>         .hw_start = audio_ifc_start,
>         .hw_stop = audio_ifc_stop
> };
>
> static audio_stream_t input_stream = {
>         .id              = "AIC23 in",
>         .dma_dev         = OMAP_DMA_MCBSP1_RX,
>         .input_or_output = FMODE_READ,
>         .hw_start = audio_ifc_start,
>         .hw_stop = audio_ifc_stop
> };
>
>
> >> Any hint or even better a patch?
>
> unfortunately my audio driver is little different as I am using MCBSP2 for
> DAC and MCBSP1 for ADC so it will not work for OSK board. So I just written
> the changes required in omap-audio-aic23.c for OSK above. Hope this helps.
>
>
>
> With Warm Regards,
> Ajaya Babu
>
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Audio L/R Channel Interchanges ( Solved!)
  2005-11-25  6:50   ` Ajaya Babu Anne
  2005-11-25 12:32     ` Ajaya Babu Anne
@ 2005-11-27 17:45     ` Dirk Behme
  1 sibling, 0 replies; 4+ messages in thread
From: Dirk Behme @ 2005-11-27 17:45 UTC (permalink / raw)
  To: Ajaya Babu Anne; +Cc: Linux-omap-open-source

Ajaya Babu Anne wrote:
> unfortunately my audio driver is little different as I am using MCBSP2 
> for DAC and MCBSP1 for ADC so it will not work for OSK board. So I just 
> written the changes required in omap-audio-aic23.c for OSK above. Hope 
> this helps.

Yes, thanks. Would be nice if you can have a look if patch I sent in
"Problem with ALSA in 2.6.14-omap2 on OSK" thread is correct?

Thanks

Dirk

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2005-11-27 17:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <c43be92d0511182105h6bb9f274q62925dcef7b59ca8@mail.gmail.com>
2005-11-24 17:14 ` Audio L/R Channel Interchanges ( Solved!) Dirk Behme
2005-11-25  6:50   ` Ajaya Babu Anne
2005-11-25 12:32     ` Ajaya Babu Anne
2005-11-27 17:45     ` Dirk Behme

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox