On Wed, Sep 09, 2009 at 17:38:42, Nori, Sekhar wrote:
On Fri, Sep 04, 2009 at 00:25:57, Troy Kisky wrote:
Nori, Sekhar wrote:
On Thu, Sep 03, 2009 at 05:45:08, Troy Kisky wrote:
Mark Brown wrote:
On Mon, Aug 31, 2009 at 04:31:44PM -0700, Troy Kisky wrote:
[...]
I'll probably also apply the first patch since nobody else seems to care one way or another, but I would urge you to look at changing the default for the platform data to at most select the workaround only on CPUs that have problems with channel swapping - it's going to cause confusion for people to have it on by default.
I think the ones without a problem use davinci-mcasp instead of davinci-i2s but share davinci-pcm. So, I don't know of any machines to exclude in davinci-i2s. But if someone else knows, speak up.
[...]
Using EDMA acount=4 instead of 2 (32-bit transfers) did fix that issue on the OSS drivers but I don't recall the problem morphing into an "always channel swapped" case.
Have you tested your patch (1/3) with DM644x EVM? If not, we can do that and see if it leads to channels being always swapped on that hardware as well.
Yes, I have tested with dm644x, not evm. I haven't tried to hear the channel swap, but I have no doubt that it is.
I finally got around to testing your patch 1/3 on DM6446 EVM.
Without your patch, channel swap is quite easy to reproduce using audio loopback:
arecord -fcd | aplay -fcd
The audio source is a PC which speaker balance set to an extreme. By starting and stopping this command repeatedly, you can see the audio moving from one channel to the other.
Applying your patch fixes this issue.
Also, I did not notice any permanent channel swap. Used aplay to play data which was first left-only and then right-only. Plays the same way on a Linux PC.
I will test on couple of other platform using davinci-i2s (DM355 etc) before acking the patch.
Even on the DM355 EVM this patch fixes the random channel swap on audio loopback 'arecord -fcd | aplay -fcd'.
However, on playback, the channels do seem to be permanently swapped. This cannot surely be blamed on this patch because, without it, the channels get randomly swapped.
Since this was not observed on DM6446 EVM, I have to see if the DM355 EVM hardware swaps the channels. I briefly compared the schematics of the two EVMs, but nothing seems to be wrong there.
Troy, do you have any theory yet on why your patch should permanently swap channels?
Anyway, the patch surely improves the situation on the EVMs, so, for patch 1/3 of this series:
Tested-by: Sekhar Nori nsekhar@ti.com [tested on DM6446 and DM355 EVMs]
Thanks, Sekhar