drm/msm/dp: Use function arguments for aux writes
authorBjorn Andersson <quic_bjorande@quicinc.com>
Thu, 28 Mar 2024 14:40:03 +0000 (07:40 -0700)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Mon, 22 Apr 2024 13:22:49 +0000 (16:22 +0300)
The dp_aux write operations takes the data to be operated on through a
member of struct dp_catalog, rather than as an argument to the function.

No state is maintained other than across the calling of the functions,
so replace this member with a function argument.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Patchwork: https://patchwork.freedesktop.org/patch/585346/
Link: https://lore.kernel.org/r/20240328-msm-dp-cleanup-v2-4-a5aed9798d32@quicinc.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drivers/gpu/drm/msm/dp/dp_aux.c
drivers/gpu/drm/msm/dp/dp_catalog.c
drivers/gpu/drm/msm/dp/dp_catalog.h

index 78ed728fa8ead20a70f632b8b4d2036a9b597b54..da46a433bf747798d970145b10e563b4199a5f5d 100644 (file)
@@ -88,8 +88,7 @@ static ssize_t dp_aux_write(struct dp_aux_private *aux,
                /* index = 0, write */
                if (i == 0)
                        reg |= DP_AUX_DATA_INDEX_WRITE;
-               aux->catalog->aux_data = reg;
-               dp_catalog_aux_write_data(aux->catalog);
+               dp_catalog_aux_write_data(aux->catalog, reg);
        }
 
        dp_catalog_aux_clear_trans(aux->catalog, false);
@@ -107,8 +106,7 @@ static ssize_t dp_aux_write(struct dp_aux_private *aux,
        }
 
        reg |= DP_AUX_TRANS_CTRL_GO;
-       aux->catalog->aux_data = reg;
-       dp_catalog_aux_write_trans(aux->catalog);
+       dp_catalog_aux_write_trans(aux->catalog, reg);
 
        return len;
 }
@@ -146,8 +144,7 @@ static ssize_t dp_aux_cmd_fifo_rx(struct dp_aux_private *aux,
        data = DP_AUX_DATA_INDEX_WRITE; /* INDEX_WRITE */
        data |= DP_AUX_DATA_READ;  /* read */
 
-       aux->catalog->aux_data = data;
-       dp_catalog_aux_write_data(aux->catalog);
+       dp_catalog_aux_write_data(aux->catalog, data);
 
        dp = msg->buffer;
 
index 59549ae80d8132a052715f52ec0a10537c82dc91..8e1e91d7f5164c6f5787e00e6239d9129c5704c1 100644 (file)
@@ -169,21 +169,21 @@ u32 dp_catalog_aux_read_data(struct dp_catalog *dp_catalog)
        return dp_read_aux(catalog, REG_DP_AUX_DATA);
 }
 
-int dp_catalog_aux_write_data(struct dp_catalog *dp_catalog)
+int dp_catalog_aux_write_data(struct dp_catalog *dp_catalog, u32 data)
 {
        struct dp_catalog_private *catalog = container_of(dp_catalog,
                                struct dp_catalog_private, dp_catalog);
 
-       dp_write_aux(catalog, REG_DP_AUX_DATA, dp_catalog->aux_data);
+       dp_write_aux(catalog, REG_DP_AUX_DATA, data);
        return 0;
 }
 
-int dp_catalog_aux_write_trans(struct dp_catalog *dp_catalog)
+int dp_catalog_aux_write_trans(struct dp_catalog *dp_catalog, u32 data)
 {
        struct dp_catalog_private *catalog = container_of(dp_catalog,
                                struct dp_catalog_private, dp_catalog);
 
-       dp_write_aux(catalog, REG_DP_AUX_TRANS_CTRL, dp_catalog->aux_data);
+       dp_write_aux(catalog, REG_DP_AUX_TRANS_CTRL, data);
        return 0;
 }
 
index 10c0d8b26100ac16837b960c2c8c53504c831471..22a13eea3a8d8f895ddf414c78a9ea2ff12534c7 100644 (file)
@@ -48,7 +48,6 @@ enum dp_catalog_audio_header_type {
 };
 
 struct dp_catalog {
-       u32 aux_data;
        u32 total;
        u32 sync_start;
        u32 width_blanking;
@@ -64,8 +63,8 @@ void dp_catalog_snapshot(struct dp_catalog *dp_catalog, struct msm_disp_state *d
 
 /* AUX APIs */
 u32 dp_catalog_aux_read_data(struct dp_catalog *dp_catalog);
-int dp_catalog_aux_write_data(struct dp_catalog *dp_catalog);
-int dp_catalog_aux_write_trans(struct dp_catalog *dp_catalog);
+int dp_catalog_aux_write_data(struct dp_catalog *dp_catalog, u32 data);
+int dp_catalog_aux_write_trans(struct dp_catalog *dp_catalog, u32 data);
 int dp_catalog_aux_clear_trans(struct dp_catalog *dp_catalog, bool read);
 int dp_catalog_aux_clear_hw_interrupts(struct dp_catalog *dp_catalog);
 void dp_catalog_aux_reset(struct dp_catalog *dp_catalog);