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 >