On 8/2/19 6:57 AM, Vinod Koul wrote:
On 25-07-19, 18:39, Pierre-Louis Bossart wrote:
PDI2 reports an invalid count, force the correct hardware-supported value
Signed-off-by: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com
drivers/soundwire/intel.c | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/drivers/soundwire/intel.c b/drivers/soundwire/intel.c index 497879dd9c0d..51990b192dc0 100644 --- a/drivers/soundwire/intel.c +++ b/drivers/soundwire/intel.c @@ -401,6 +401,15 @@ intel_pdi_get_ch_cap(struct sdw_intel *sdw, unsigned int pdi_num, bool pcm)
if (pcm) { count = intel_readw(shim, SDW_SHIM_PCMSYCHC(link_id, pdi_num));
/*
* TODO: pdi number 2 reports channel count as 1 even though
* it supports 8 channel. Performing hardcoding for pdi
* number 2.
*/
if (pdi_num == 2)
count = 7;
Is that true for all Intel controllers or some generations. Would it not be better to put this under some flag which is set on platform basis?
This is true of all controllers released so far. We will change this if the hardware changes.
- } else { count = intel_readw(shim, SDW_SHIM_PDMSCAP(link_id)); count = ((count & SDW_SHIM_PDMSCAP_CPSS) >>
-- 2.20.1