On Monday 01 June 2009 21:04:13 ext Jarkko Nikula wrote:
On Mon, 01 Jun 2009 14:41:59 +0200
Janusz Krzysztofik jkrzyszt@tis.icnet.pl wrote:
The original patch ported to linux-omap-2.6.27, the last omap release with omap-alsa support, gives me a working sound driver on ams-delta.
Ok, good to know.
To make the original driver work stable, I had to patch the omap-alsa framework to restore the original way that lack of dma chaining problem had been solved in the original patch (see below), so maybe there is a similiar issue in the currect ASoC McBSP framework?
Is the older implementation working at commit d8376cc482b241701f7606c81ad578b90853e175 in linux-omap, i.e. last commit before their removal?
What I see at quick look from the older implementation that it is doing somewhat similar way the DMA transfer and workaround for 1510 than current ASoC except that now the DMA parameters are not reprogrammed between the restarted transfers. I don't know if 1510 requires it?
Good question, but at least on DMA round should have been completed anyways if this is the case...
My asoc based patch is also very generic and contains no more that the same two ams_delta_latch2_write() hardware related operations, called from inside snd_soc_dai_link.ops.startup() and snd_soc_dai_link.ops.shutdown() callback functions:
One thing worth to try would be try to use exactly same McBSP registers for omap_mcbsp_config in omap_mcbsp_dai_hw_params than used before for ams delta.
Good idea, I was about to suggest to print the McBSP config in the working old alsa implementation, than print the non working from the ASoC version and see the difference, but copying the working one to ASoC (hardwire for now) should get it working.
Sorry, have to cut my answer now here. I'll get back tomorrow.