Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

authored by

Bjorn Andersson and committed by
Dmitry Baryshkov
98607558 670574c9

+9 -13
+3 -6
drivers/gpu/drm/msm/dp/dp_aux.c
··· 88 88 /* index = 0, write */ 89 89 if (i == 0) 90 90 reg |= DP_AUX_DATA_INDEX_WRITE; 91 - aux->catalog->aux_data = reg; 92 - dp_catalog_aux_write_data(aux->catalog); 91 + dp_catalog_aux_write_data(aux->catalog, reg); 93 92 } 94 93 95 94 dp_catalog_aux_clear_trans(aux->catalog, false); ··· 106 107 } 107 108 108 109 reg |= DP_AUX_TRANS_CTRL_GO; 109 - aux->catalog->aux_data = reg; 110 - dp_catalog_aux_write_trans(aux->catalog); 110 + dp_catalog_aux_write_trans(aux->catalog, reg); 111 111 112 112 return len; 113 113 } ··· 144 146 data = DP_AUX_DATA_INDEX_WRITE; /* INDEX_WRITE */ 145 147 data |= DP_AUX_DATA_READ; /* read */ 146 148 147 - aux->catalog->aux_data = data; 148 - dp_catalog_aux_write_data(aux->catalog); 149 + dp_catalog_aux_write_data(aux->catalog, data); 149 150 150 151 dp = msg->buffer; 151 152
+4 -4
drivers/gpu/drm/msm/dp/dp_catalog.c
··· 169 169 return dp_read_aux(catalog, REG_DP_AUX_DATA); 170 170 } 171 171 172 - int dp_catalog_aux_write_data(struct dp_catalog *dp_catalog) 172 + int dp_catalog_aux_write_data(struct dp_catalog *dp_catalog, u32 data) 173 173 { 174 174 struct dp_catalog_private *catalog = container_of(dp_catalog, 175 175 struct dp_catalog_private, dp_catalog); 176 176 177 - dp_write_aux(catalog, REG_DP_AUX_DATA, dp_catalog->aux_data); 177 + dp_write_aux(catalog, REG_DP_AUX_DATA, data); 178 178 return 0; 179 179 } 180 180 181 - int dp_catalog_aux_write_trans(struct dp_catalog *dp_catalog) 181 + int dp_catalog_aux_write_trans(struct dp_catalog *dp_catalog, u32 data) 182 182 { 183 183 struct dp_catalog_private *catalog = container_of(dp_catalog, 184 184 struct dp_catalog_private, dp_catalog); 185 185 186 - dp_write_aux(catalog, REG_DP_AUX_TRANS_CTRL, dp_catalog->aux_data); 186 + dp_write_aux(catalog, REG_DP_AUX_TRANS_CTRL, data); 187 187 return 0; 188 188 } 189 189
+2 -3
drivers/gpu/drm/msm/dp/dp_catalog.h
··· 48 48 }; 49 49 50 50 struct dp_catalog { 51 - u32 aux_data; 52 51 u32 total; 53 52 u32 sync_start; 54 53 u32 width_blanking; ··· 63 64 64 65 /* AUX APIs */ 65 66 u32 dp_catalog_aux_read_data(struct dp_catalog *dp_catalog); 66 - int dp_catalog_aux_write_data(struct dp_catalog *dp_catalog); 67 - int dp_catalog_aux_write_trans(struct dp_catalog *dp_catalog); 67 + int dp_catalog_aux_write_data(struct dp_catalog *dp_catalog, u32 data); 68 + int dp_catalog_aux_write_trans(struct dp_catalog *dp_catalog, u32 data); 68 69 int dp_catalog_aux_clear_trans(struct dp_catalog *dp_catalog, bool read); 69 70 int dp_catalog_aux_clear_hw_interrupts(struct dp_catalog *dp_catalog); 70 71 void dp_catalog_aux_reset(struct dp_catalog *dp_catalog);