[PATCH v2 02/19] drm/msm/dp: add an API to indicate if sink supports VSC SDP
Dmitry Baryshkov
dmitry.baryshkov at linaro.org
Sat Feb 10 09:52:14 UTC 2024
On Sat, 10 Feb 2024 at 11:37, Dmitry Baryshkov
<dmitry.baryshkov at linaro.org> wrote:
>
> On Sat, 10 Feb 2024 at 03:53, Paloma Arellano <quic_parellan at quicinc.com> wrote:
> >
> > YUV420 format is supported only in the VSC SDP packet and not through
> > MSA. Hence add an API which indicates the sink support which can be used
> > by the rest of the DP programming.
> >
> > Changes in v2:
> > - Move VSC SDP support check API from dp_panel.c to
> > drm_dp_helper.c
> >
> > Signed-off-by: Paloma Arellano <quic_parellan at quicinc.com>
> > ---
> > drivers/gpu/drm/display/drm_dp_helper.c | 21 +++++++++++++++++++++
> > include/drm/display/drm_dp_helper.h | 1 +
> > 2 files changed, 22 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/display/drm_dp_helper.c b/drivers/gpu/drm/display/drm_dp_helper.c
> > index d72b6f9a352c1..c6ee0f9ab5f8f 100644
> > --- a/drivers/gpu/drm/display/drm_dp_helper.c
> > +++ b/drivers/gpu/drm/display/drm_dp_helper.c
> > @@ -2917,6 +2917,27 @@ void drm_dp_vsc_sdp_log(const char *level, struct device *dev,
> > }
> > EXPORT_SYMBOL(drm_dp_vsc_sdp_log);
> >
> > +/**
> > + * drm_dp_vsc_sdp_supported() - check if vsc sdp is supported
> > + * @aux: DisplayPort AUX channel
> > + * @dpcd: DisplayPort configuration data
> > + *
> > + * Returns true if vsc sdp is supported, else returns false
> > + */
> > +bool drm_dp_vsc_sdp_supported(struct drm_dp_aux *aux, const u8 dpcd[DP_RECEIVER_CAP_SIZE])
> > +{
> > + u8 rx_feature;
> > +
> > + if (drm_dp_dpcd_readb(aux, DP_DPRX_FEATURE_ENUMERATION_LIST, &rx_feature) != 1) {
> > + drm_dbg_dp(aux->drm_dev, "failed to read DP_DPRX_FEATURE_ENUMERATION_LIST\n");
> > + return false;
> > + }
> > +
> > + return (dpcd[DP_DPCD_REV] >= DP_DPCD_REV_13) &&
> > + !!(rx_feature & DP_VSC_SDP_EXT_FOR_COLORIMETRY_SUPPORTED);
>
> Nit: we don't even need the `!!` here. I'll probably drop it while applying.
>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
Also the prefix should be drm/display/dp, not drm/msm/dp.
Could you please send this patch separately to dri-devel, fixing the
prefix, dropping double inversion and adding Intel people to cc? We'd
need an ack from the drm core team to get this applied.
>
>
> > +}
> > +EXPORT_SYMBOL(drm_dp_vsc_sdp_supported);
> > +
> > /**
> > * drm_dp_get_pcon_max_frl_bw() - maximum frl supported by PCON
> > * @dpcd: DisplayPort configuration data
> > diff --git a/include/drm/display/drm_dp_helper.h b/include/drm/display/drm_dp_helper.h
> > index 863b2e7add29e..948381b2b0b1b 100644
> > --- a/include/drm/display/drm_dp_helper.h
> > +++ b/include/drm/display/drm_dp_helper.h
> > @@ -100,6 +100,7 @@ struct drm_dp_vsc_sdp {
> >
> > void drm_dp_vsc_sdp_log(const char *level, struct device *dev,
> > const struct drm_dp_vsc_sdp *vsc);
> > +bool drm_dp_vsc_sdp_supported(struct drm_dp_aux *aux, const u8 dpcd[DP_RECEIVER_CAP_SIZE]);
> >
> > int drm_dp_psr_setup_time(const u8 psr_cap[EDP_PSR_RECEIVER_CAP_SIZE]);
> >
> > --
> > 2.39.2
> >
>
>
> --
> With best wishes
> Dmitry
--
With best wishes
Dmitry
More information about the dri-devel
mailing list