linux-imx/drivers/soundwire
Krzysztof Kozlowski b47ff45c4a soundwire: stream: fix programming slave ports for non-continous port maps
commit ab8d66d132 upstream.

Two bitmasks in 'struct sdw_slave_prop' - 'source_ports' and
'sink_ports' - define which ports to program in
sdw_program_slave_port_params().  The masks are used to get the
appropriate data port properties ('struct sdw_get_slave_dpn_prop') from
an array.

Bitmasks can be non-continuous or can start from index different than 0,
thus when looking for matching port property for given port, we must
iterate over mask bits, not from 0 up to number of ports.

This fixes allocation and programming slave ports, when a source or sink
masks start from further index.

Fixes: f8101c74aa ("soundwire: Add Master and Slave port programming")
Cc: stable@vger.kernel.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20240729140157.326450-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-09-04 13:28:24 +02:00
..
amd_manager.c
amd_manager.h
bus_type.c
bus.c
bus.h
cadence_master.c soundwire: cadence: fix invalid PDI offset 2024-06-12 11:12:15 +02:00
cadence_master.h
debugfs.c
dmi-quirks.c
generic_bandwidth_allocation.c
intel_ace2x_debugfs.c
intel_ace2x.c
intel_auxdevice.c
intel_auxdevice.h
intel_bus_common.c
intel_init.c
intel.c
intel.h
irq.c
irq.h
Kconfig
Makefile
master.c
mipi_disco.c
qcom.c
slave.c
stream.c soundwire: stream: fix programming slave ports for non-continous port maps 2024-09-04 13:28:24 +02:00
sysfs_local.h
sysfs_slave_dpn.c
sysfs_slave.c