mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 09:11:26 +03:00
When the number of channels for an I2S interface is overridden from userspace, if the I2S interface is being used in TDM mode where there are more than 2 channels, the I2S SLOT_CTRL register may not be configured correctly. For example, if using the AMX to the multiplex 4 mono channels into a single 4 channel TDM stream that is then routed to an I2S interface, the number of channels seen by the I2S interface is 4 where as each input stream to the AMX only has a single channel. Therefore, the number of channels for the I2S interface needs to be manually set to 4 from userspace. However, when this is done the I2S SLOT_CTRL register is still configured with the default RX and TX slot mask. To fix this, if the number of channels for the I2S interface is overridden from userspace, then if using TDM modes, also override the RX and TX slot mask. Bug 2382530 Change-Id: I2df564c8e8ad5d7463a767a1e2197e26fe0c57e5 Signed-off-by: Jonathan Hunter <jonathanh@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/2000401 (cherry picked from commit b888cf568c726fed1e97882b9fe8deae4d6df6d9) Reviewed-on: https://git-master.nvidia.com/r/2002199 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>