Repository navigation
byt: fix sporadic channel swap - #3777
Conversation
Commit 05e1c26 ("byt-ssp: fixes for DSP modes") removed a work-around for known hardware bugs, causing channel swapping in I2S mode. Restore the work-around but make sure it's only enabled in I2S and LEFT_J modes. Fixes: thesofproject#3699, thesofproject#3520 Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
|
SOFCI TEST |
|
Interesting @lyakh, those bits seemed 'harmless' but are required. Wow. May I ask how this was tested? Have @singalsu and @jwrdegoede looked into this? |
|
Nice, this will hopefully also fix the playback channel swap problem (#3699) which I reported. Is this source file also used on CHT? Because I've seen this problem on CHT too. If someone can provide me with a test build with this patch included for BYT + CHT, then I can confirm if this indeed resolves #3699. |
@plbossart tested with speaker-test, @singalsu has seen it, but not sure how much effort he put into studying this solution :-) |
@jwrdegoede should fix it, yes. Yes, that driver is also used on CHT. I don't know what signing you need for your firmware, if the SOF key signing is ok for you, I guess I could send you an image |
|
I use standard BYT/CHT retail hw for testing. The official sof images from sof-bin work for me, but I don't think I can run unsigned fw. You can reach my by email at hdegoede@redhat.com |
there's no firmware signature on BYT/CHT and authentication, it was only added in Skylake. @lyakh can you attach your sof-byt.ri and sof-cht.ri? |
|
Thanks, I've tested this on a "HP x2 Detachable 10-p0XX" which is CHT based and uses a rt5640 codec. I used this device because in previous testing this one seemed to be the most likely to have the channel-swap problem / the device on which this problem reproduces the easiest for me. I have confirmed that the problem still happened on this device with the latest kernel and the 1.6 SOF release. I'm happy to report that with the SOF firmware from this attachment the problem is gone (no output channel swapping in 10 tries, with closing the device in between each try). So I can confirm that this pull-req fixes #3699. |
@jwrdegoede thanks for testing! |
keyonjie
left a comment
There was a problem hiding this comment.
Thanks for the nice finding and fixes. Looks good to me!
Commit 05e1c26 ("byt-ssp: fixes for DSP modes") removed a work-around for known hardware bugs, causing channel swapping in I2S mode. Restore the work-around but make sure it's only enabled in I2S and LEFT_J modes.
Fixes: #3699, #3520