Commit 8d80c990 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'soundwire-6.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire

Pull soundwire fix from Vinod Koul:

 - Single fix for non-continous port map programming

* tag 'soundwire-6.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire:
  soundwire: stream: fix programming slave ports for non-continous port maps
parents 13c6bba6 ab8d66d1
...@@ -1291,18 +1291,18 @@ struct sdw_dpn_prop *sdw_get_slave_dpn_prop(struct sdw_slave *slave, ...@@ -1291,18 +1291,18 @@ struct sdw_dpn_prop *sdw_get_slave_dpn_prop(struct sdw_slave *slave,
unsigned int port_num) unsigned int port_num)
{ {
struct sdw_dpn_prop *dpn_prop; struct sdw_dpn_prop *dpn_prop;
u8 num_ports; unsigned long mask;
int i; int i;
if (direction == SDW_DATA_DIR_TX) { if (direction == SDW_DATA_DIR_TX) {
num_ports = hweight32(slave->prop.source_ports); mask = slave->prop.source_ports;
dpn_prop = slave->prop.src_dpn_prop; dpn_prop = slave->prop.src_dpn_prop;
} else { } else {
num_ports = hweight32(slave->prop.sink_ports); mask = slave->prop.sink_ports;
dpn_prop = slave->prop.sink_dpn_prop; dpn_prop = slave->prop.sink_dpn_prop;
} }
for (i = 0; i < num_ports; i++) { for_each_set_bit(i, &mask, 32) {
if (dpn_prop[i].num == port_num) if (dpn_prop[i].num == port_num)
return &dpn_prop[i]; return &dpn_prop[i];
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment