soundwire: intel: set dev_num_ida_min
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Tue, 23 Aug 2022 04:50:04 +0000 (12:50 +0800)
committerVinod Koul <vkoul@kernel.org>
Tue, 30 Aug 2022 04:46:41 +0000 (10:16 +0530)
The allowed values for SoundWire device numbers are between 1 and 11
(inclusive). HDaudio/iDISP codecs typically use SDI values 0..3
(inclusive). To allow for a unique peripheral SDI/dev_number across
HDaudio and SoundWire buses, we set the minimum base to 4. This still
allows for 8 SoundWire peripherals in the system, currently more than
needed in actual products.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20220823045004.2670658-4-yung-chuan.liao@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/soundwire/intel.c

index abb159d..25ec9c2 100644 (file)
@@ -22,6 +22,9 @@
 #include "bus.h"
 #include "intel.h"
 
+/* IDA min selected to avoid conflicts with HDaudio/iDISP SDI values */
+#define INTEL_DEV_NUM_IDA_MIN           4
+
 #define INTEL_MASTER_SUSPEND_DELAY_MS  3000
 #define INTEL_MASTER_RESET_ITERATIONS  10
 
@@ -1307,6 +1310,7 @@ static int intel_link_probe(struct auxiliary_device *auxdev,
        cdns->msg_count = 0;
 
        bus->link_id = auxdev->id;
+       bus->dev_num_ida_min = INTEL_DEV_NUM_IDA_MIN;
 
        sdw_cdns_probe(cdns);