* 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