Pull soundwire fix from Vinod Koul: - Revert of earlier fix sent for non-continuous port map programming which caused regression on Intel platforms * tag 'soundwire-6.11-fixes_2' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire: soundwire: stream: Revert "soundwire: stream: fix programming slave ports for non-continous port maps"
Unified · Split
| @@ -1291,18 +1291,18 @@ struct sdw_dpn_prop *sdw_get_slave_dpn_prop(struct sdw_slave *slave, · 1290 unmodified lines | |||
| 1291 | unsigned int port_num) | 1291 | unsigned int port_num) |
| 1292 | { | 1292 | { |
| 1293 | struct sdw_dpn_prop *dpn_prop; | 1293 | struct sdw_dpn_prop *dpn_prop; |
| 1294 | unsigned long mask; | 1294 | u8 num_ports; |
| 1295 | int i; | 1295 | int i; |
| 1296 | 1296 | ||
| 1297 | if (direction == SDW_DATA_DIR_TX) { | 1297 | if (direction == SDW_DATA_DIR_TX) { |
| 1298 | mask = slave->prop.source_ports; | 1298 | num_ports = hweight32(slave->prop.source_ports); |
| 1299 | dpn_prop = slave->prop.src_dpn_prop; | 1299 | dpn_prop = slave->prop.src_dpn_prop; |
| 1300 | } else { | 1300 | } else { |
| 1301 | mask = slave->prop.sink_ports; | 1301 | num_ports = hweight32(slave->prop.sink_ports); |
| 1302 | dpn_prop = slave->prop.sink_dpn_prop; | 1302 | dpn_prop = slave->prop.sink_dpn_prop; |
| 1303 | } | 1303 | } |
| 1304 | 1304 | ||
| 1305 | for_each_set_bit(i, &mask, 32) { | 1305 | for (i = 0; i < num_ports; i++) { |
| 1306 | if (dpn_prop[i].num == port_num) | 1306 | if (dpn_prop[i].num == port_num) |
| 1307 | return &dpn_prop[i]; | 1307 | return &dpn_prop[i]; |
| 1308 | } | 1308 | } |