Message ID | 20241031-drm-dp-msm-add-lttpr-transparent-mode-set-v1-2-cafbb9855f40@linaro.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | drm/dp: Rework LTTPR transparent mode handling and add support to msm driver | expand |
On Thu, Oct 31, 2024 at 05:12:46PM +0200, Abel Vesa wrote: > LTTPRs operating modes are defined by the DisplayPort standard and the > generic framework now provides a helper to switch between them. > So use the drm generic helper instead as it makes the code a bit cleaner. > > Signed-off-by: Abel Vesa <abel.vesa@linaro.org> > --- > drivers/gpu/drm/nouveau/nouveau_dp.c | 9 +++------ > 1 file changed, 3 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_dp.c b/drivers/gpu/drm/nouveau/nouveau_dp.c > index bcda0105160f1450df855281e0d932606a5095dd..80264e6186246903fa037861fe37493646de0c6e 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_dp.c > +++ b/drivers/gpu/drm/nouveau/nouveau_dp.c > @@ -80,15 +80,12 @@ nouveau_dp_probe_dpcd(struct nouveau_connector *nv_connector, > int nr = drm_dp_lttpr_count(outp->dp.lttpr.caps); > > if (nr) { > - drm_dp_dpcd_writeb(aux, DP_PHY_REPEATER_MODE, > - DP_PHY_REPEATER_MODE_TRANSPARENT); > + drm_dp_lttpr_set_transparent_mode(aux, true); > > if (nr > 0) { > - ret = drm_dp_dpcd_writeb(aux, DP_PHY_REPEATER_MODE, > - DP_PHY_REPEATER_MODE_NON_TRANSPARENT); > + ret = drm_dp_lttpr_set_transparent_mode(aux, false); > if (ret != 1) { > - drm_dp_dpcd_writeb(aux, DP_PHY_REPEATER_MODE, > - DP_PHY_REPEATER_MODE_TRANSPARENT); > + drm_dp_lttpr_set_transparent_mode(aux, true); > } else { > outp->dp.lttpr.nr = nr; > } Could you please extract this true-false-true dance to a new helper too? This way Intel driver can use the simple helper, the rest of the drivers can benefit having the common code. > > -- > 2.34.1 >
diff --git a/drivers/gpu/drm/nouveau/nouveau_dp.c b/drivers/gpu/drm/nouveau/nouveau_dp.c index bcda0105160f1450df855281e0d932606a5095dd..80264e6186246903fa037861fe37493646de0c6e 100644 --- a/drivers/gpu/drm/nouveau/nouveau_dp.c +++ b/drivers/gpu/drm/nouveau/nouveau_dp.c @@ -80,15 +80,12 @@ nouveau_dp_probe_dpcd(struct nouveau_connector *nv_connector, int nr = drm_dp_lttpr_count(outp->dp.lttpr.caps); if (nr) { - drm_dp_dpcd_writeb(aux, DP_PHY_REPEATER_MODE, - DP_PHY_REPEATER_MODE_TRANSPARENT); + drm_dp_lttpr_set_transparent_mode(aux, true); if (nr > 0) { - ret = drm_dp_dpcd_writeb(aux, DP_PHY_REPEATER_MODE, - DP_PHY_REPEATER_MODE_NON_TRANSPARENT); + ret = drm_dp_lttpr_set_transparent_mode(aux, false); if (ret != 1) { - drm_dp_dpcd_writeb(aux, DP_PHY_REPEATER_MODE, - DP_PHY_REPEATER_MODE_TRANSPARENT); + drm_dp_lttpr_set_transparent_mode(aux, true); } else { outp->dp.lttpr.nr = nr; }
LTTPRs operating modes are defined by the DisplayPort standard and the generic framework now provides a helper to switch between them. So use the drm generic helper instead as it makes the code a bit cleaner. Signed-off-by: Abel Vesa <abel.vesa@linaro.org> --- drivers/gpu/drm/nouveau/nouveau_dp.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-)