Commit 98607558 authored by Bjorn Andersson's avatar Bjorn Andersson Committed by Dmitry Baryshkov

drm/msm/dp: Use function arguments for aux writes

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: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: default avatarBjorn 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.comSigned-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
parent 670574c9
...@@ -88,8 +88,7 @@ static ssize_t dp_aux_write(struct dp_aux_private *aux, ...@@ -88,8 +88,7 @@ static ssize_t dp_aux_write(struct dp_aux_private *aux,
/* index = 0, write */ /* index = 0, write */
if (i == 0) if (i == 0)
reg |= DP_AUX_DATA_INDEX_WRITE; reg |= DP_AUX_DATA_INDEX_WRITE;
aux->catalog->aux_data = reg; dp_catalog_aux_write_data(aux->catalog, reg);
dp_catalog_aux_write_data(aux->catalog);
} }
dp_catalog_aux_clear_trans(aux->catalog, false); dp_catalog_aux_clear_trans(aux->catalog, false);
...@@ -107,8 +106,7 @@ static ssize_t dp_aux_write(struct dp_aux_private *aux, ...@@ -107,8 +106,7 @@ static ssize_t dp_aux_write(struct dp_aux_private *aux,
} }
reg |= DP_AUX_TRANS_CTRL_GO; reg |= DP_AUX_TRANS_CTRL_GO;
aux->catalog->aux_data = reg; dp_catalog_aux_write_trans(aux->catalog, reg);
dp_catalog_aux_write_trans(aux->catalog);
return len; return len;
} }
...@@ -146,8 +144,7 @@ static ssize_t dp_aux_cmd_fifo_rx(struct dp_aux_private *aux, ...@@ -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_INDEX_WRITE; /* INDEX_WRITE */
data |= DP_AUX_DATA_READ; /* read */ data |= DP_AUX_DATA_READ; /* read */
aux->catalog->aux_data = data; dp_catalog_aux_write_data(aux->catalog, data);
dp_catalog_aux_write_data(aux->catalog);
dp = msg->buffer; dp = msg->buffer;
......
...@@ -169,21 +169,21 @@ u32 dp_catalog_aux_read_data(struct dp_catalog *dp_catalog) ...@@ -169,21 +169,21 @@ u32 dp_catalog_aux_read_data(struct dp_catalog *dp_catalog)
return dp_read_aux(catalog, REG_DP_AUX_DATA); 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 *catalog = container_of(dp_catalog,
struct dp_catalog_private, 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; 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 *catalog = container_of(dp_catalog,
struct dp_catalog_private, 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; return 0;
} }
......
...@@ -48,7 +48,6 @@ enum dp_catalog_audio_header_type { ...@@ -48,7 +48,6 @@ enum dp_catalog_audio_header_type {
}; };
struct dp_catalog { struct dp_catalog {
u32 aux_data;
u32 total; u32 total;
u32 sync_start; u32 sync_start;
u32 width_blanking; u32 width_blanking;
...@@ -64,8 +63,8 @@ void dp_catalog_snapshot(struct dp_catalog *dp_catalog, struct msm_disp_state *d ...@@ -64,8 +63,8 @@ void dp_catalog_snapshot(struct dp_catalog *dp_catalog, struct msm_disp_state *d
/* AUX APIs */ /* AUX APIs */
u32 dp_catalog_aux_read_data(struct dp_catalog *dp_catalog); 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_data(struct dp_catalog *dp_catalog, u32 data);
int dp_catalog_aux_write_trans(struct dp_catalog *dp_catalog); 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_trans(struct dp_catalog *dp_catalog, bool read);
int dp_catalog_aux_clear_hw_interrupts(struct dp_catalog *dp_catalog); int dp_catalog_aux_clear_hw_interrupts(struct dp_catalog *dp_catalog);
void dp_catalog_aux_reset(struct dp_catalog *dp_catalog); void dp_catalog_aux_reset(struct dp_catalog *dp_catalog);
......
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