Lyude Paul
2021-Oct-06 02:40 UTC
[Nouveau] [PATCH v3 2/5] drm/nouveau/kms/nv50-: Explicitly check DPCD backlights for aux enable/brightness
Since we don't support hybrid AUX/PWM backlights in nouveau right now, let's add some explicit checks so that we don't break nouveau once we enable support for these backlights in other drivers. Signed-off-by: Lyude Paul <lyude at redhat.com> --- drivers/gpu/drm/nouveau/nouveau_backlight.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_backlight.c b/drivers/gpu/drm/nouveau/nouveau_backlight.c index 1cbd71abc80a..ae2f2abc8f5a 100644 --- a/drivers/gpu/drm/nouveau/nouveau_backlight.c +++ b/drivers/gpu/drm/nouveau/nouveau_backlight.c @@ -308,7 +308,10 @@ nv50_backlight_init(struct nouveau_backlight *bl, if (ret < 0) return ret; - if (drm_edp_backlight_supported(edp_dpcd)) { + /* TODO: Add support for hybrid PWM/DPCD panels */ + if (drm_edp_backlight_supported(edp_dpcd) && + (edp_dpcd[1] & DP_EDP_BACKLIGHT_AUX_ENABLE_CAP) && + (edp_dpcd[2] & DP_EDP_BACKLIGHT_BRIGHTNESS_AUX_SET_CAP)) { NV_DEBUG(drm, "DPCD backlight controls supported on %s\n", nv_conn->base.name); -- 2.31.1
Karol Herbst
2021-Oct-06 16:30 UTC
[Nouveau] [PATCH v3 2/5] drm/nouveau/kms/nv50-: Explicitly check DPCD backlights for aux enable/brightness
On Wed, Oct 6, 2021 at 4:41 AM Lyude Paul <lyude at redhat.com> wrote:> > Since we don't support hybrid AUX/PWM backlights in nouveau right now, > let's add some explicit checks so that we don't break nouveau once we > enable support for these backlights in other drivers. > > Signed-off-by: Lyude Paul <lyude at redhat.com> > --- > drivers/gpu/drm/nouveau/nouveau_backlight.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_backlight.c b/drivers/gpu/drm/nouveau/nouveau_backlight.c > index 1cbd71abc80a..ae2f2abc8f5a 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_backlight.c > +++ b/drivers/gpu/drm/nouveau/nouveau_backlight.c > @@ -308,7 +308,10 @@ nv50_backlight_init(struct nouveau_backlight *bl, > if (ret < 0) > return ret; > > - if (drm_edp_backlight_supported(edp_dpcd)) { > + /* TODO: Add support for hybrid PWM/DPCD panels */ > + if (drm_edp_backlight_supported(edp_dpcd) && > + (edp_dpcd[1] & DP_EDP_BACKLIGHT_AUX_ENABLE_CAP) &&where does the DP_EDP_BACKLIGHT_AUX_ENABLE_CAP come from? afaik drm_edp_backlight_supported checks for DP_EDP_BACKLIGHT_BRIGHTNESS_AUX_SET_CAP and DP_EDP_TCON_BACKLIGHT_ADJUSTMENT_CAP so wondering if this was intentional or a typo> + (edp_dpcd[2] & DP_EDP_BACKLIGHT_BRIGHTNESS_AUX_SET_CAP)) { > NV_DEBUG(drm, "DPCD backlight controls supported on %s\n", > nv_conn->base.name); > > -- > 2.31.1 >