* 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