]> www.infradead.org Git - nvme.git/commitdiff
drivers:soundwire: qcom: cleanup port maask calculations
authorSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Tue, 18 Jun 2024 13:55:15 +0000 (14:55 +0100)
committerVinod Koul <vkoul@kernel.org>
Tue, 2 Jul 2024 11:19:56 +0000 (16:49 +0530)
Cleanup the port map calculations, existing masks of having separate
masks for in and out ports is not really required.
Having a single mask for all the ports in the controller is simple and
cuts of some unnecessary code.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20240618-soundwire-port-map-v1-1-9644e5545b9b@linaro.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/soundwire/qcom.c

index ce5cf3ecceb58769d3e1f71bd574762846df1ac8..aed57002fd0e632a87e09c5c1becf8d9f1ebfb22 100644 (file)
@@ -197,8 +197,7 @@ struct qcom_swrm_ctrl {
        int num_dout_ports;
        int cols_index;
        int rows_index;
-       unsigned long dout_port_mask;
-       unsigned long din_port_mask;
+       unsigned long port_mask;
        u32 intr_mask;
        u8 rcmd_id;
        u8 wcmd_id;
@@ -1146,11 +1145,7 @@ static void qcom_swrm_stream_free_ports(struct qcom_swrm_ctrl *ctrl,
        mutex_lock(&ctrl->port_lock);
 
        list_for_each_entry(m_rt, &stream->master_list, stream_node) {
-               if (m_rt->direction == SDW_DATA_DIR_RX)
-                       port_mask = &ctrl->dout_port_mask;
-               else
-                       port_mask = &ctrl->din_port_mask;
-
+               port_mask = &ctrl->port_mask;
                list_for_each_entry(p_rt, &m_rt->port_list, port_node)
                        clear_bit(p_rt->num, port_mask);
        }
@@ -1195,13 +1190,9 @@ static int qcom_swrm_stream_alloc_ports(struct qcom_swrm_ctrl *ctrl,
                if (ctrl->bus.id != m_rt->bus->id)
                        continue;
 
-               if (m_rt->direction == SDW_DATA_DIR_RX) {
-                       maxport = ctrl->num_dout_ports;
-                       port_mask = &ctrl->dout_port_mask;
-               } else {
-                       maxport = ctrl->num_din_ports;
-                       port_mask = &ctrl->din_port_mask;
-               }
+               port_mask = &ctrl->port_mask;
+               maxport = ctrl->num_dout_ports + ctrl->num_din_ports;
+
 
                list_for_each_entry(s_rt, &m_rt->slave_rt_list, m_rt_node) {
                        slave = s_rt->slave;
@@ -1401,8 +1392,7 @@ static int qcom_swrm_get_port_config(struct qcom_swrm_ctrl *ctrl)
                return -EINVAL;
 
        /* Valid port numbers are from 1-14, so mask out port 0 explicitly */
-       set_bit(0, &ctrl->dout_port_mask);
-       set_bit(0, &ctrl->din_port_mask);
+       set_bit(0, &ctrl->port_mask);
 
        ret = of_property_read_u8_array(np, "qcom,ports-offset1",
                                        off1, nports);