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: 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>
This commit is contained in:
parent
670574c970
commit
986075589a
drivers/gpu/drm/msm/dp
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user