Message ID | 20211006024018.320394-3-lyude@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/dp, drm/i915: Finish basic PWM support for VESA backlight helpers | expand |
On Wed, Oct 6, 2021 at 4:41 AM Lyude Paul <lyude@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@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 >
On Wed, 2021-10-06 at 18:30 +0200, Karol Herbst wrote: > On Wed, Oct 6, 2021 at 4:41 AM Lyude Paul <lyude@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@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 This is intentional - drm_edp_backlight_supported() does check for these, but in the patch after this we remove the BRIGHTNESS_AUX_SET_CAP from drm_edp_backlight_supported() in order to implement support for panels lacking BRIGHTNESS_AUX_SET_CAP in i915. Since we don't have support for this in nouveau yet but such backlights are likely to mostly work without the use of DPCD if we avoid trying to set it up, this patch is just here to make sure that the changes to drm_edp_backlight_supported() don't result in nouveau suddenly trying (and failing) to enable DPCD backlight controls on those backlights. > > > + (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 > > >
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);
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@redhat.com> --- drivers/gpu/drm/nouveau/nouveau_backlight.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)