Lyude Paul
2022-Feb-04 19:33 UTC
[Nouveau] [PATCH] drm/nouveau/backlight: Just set all backlight types as RAW
Currently we can get a warning on systems with eDP backlights like so: nv_backlight: invalid backlight type WARNING: CPU: 4 PID: 454 at drivers/video/backlight/backlight.c:420 backlight_device_register+0x226/0x250 This happens as a result of us not filling out props.type for the eDP backlight, even though we do it for all other backlight types. Since nothing in our driver uses anything but BACKLIGHT_RAW, let's take the props\.type assignments out of the codepaths for individual backlight types and just set it unconditionally to prevent this from happening again. Signed-off-by: Lyude Paul <lyude at redhat.com> Fixes: 6eca310e8924 ("drm/nouveau/kms/nv50-: Add basic DPCD backlight support for nouveau") Cc: <stable at vger.kernel.org> # v5.15+ --- drivers/gpu/drm/nouveau/nouveau_backlight.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_backlight.c b/drivers/gpu/drm/nouveau/nouveau_backlight.c index 6af12dc99d7f..daf9f87477ba 100644 --- a/drivers/gpu/drm/nouveau/nouveau_backlight.c +++ b/drivers/gpu/drm/nouveau/nouveau_backlight.c @@ -101,7 +101,6 @@ nv40_backlight_init(struct nouveau_encoder *encoder, if (!(nvif_rd32(device, NV40_PMC_BACKLIGHT) & NV40_PMC_BACKLIGHT_MASK)) return -ENODEV; - props->type = BACKLIGHT_RAW; props->max_brightness = 31; *ops = &nv40_bl_ops; return 0; @@ -343,7 +342,6 @@ nv50_backlight_init(struct nouveau_backlight *bl, else *ops = &nva3_bl_ops; - props->type = BACKLIGHT_RAW; props->max_brightness = 100; return 0; @@ -411,6 +409,7 @@ nouveau_backlight_init(struct drm_connector *connector) goto fail_alloc; } + props.type = BACKLIGHT_RAW; bl->dev = backlight_device_register(backlight_name, connector->kdev, nv_encoder, ops, &props); if (IS_ERR(bl->dev)) { -- 2.34.1
Karol Herbst
2022-Feb-08 12:21 UTC
[Nouveau] [PATCH] drm/nouveau/backlight: Just set all backlight types as RAW
Reviewed-by: Karol Herbst <kherbst at redhat.com> On Fri, Feb 4, 2022 at 8:33 PM Lyude Paul <lyude at redhat.com> wrote:> > Currently we can get a warning on systems with eDP backlights like so: > > nv_backlight: invalid backlight type > WARNING: CPU: 4 PID: 454 at drivers/video/backlight/backlight.c:420 > backlight_device_register+0x226/0x250 > > This happens as a result of us not filling out props.type for the eDP > backlight, even though we do it for all other backlight types. > > Since nothing in our driver uses anything but BACKLIGHT_RAW, let's take the > props\.type assignments out of the codepaths for individual backlight types > and just set it unconditionally to prevent this from happening again. > > Signed-off-by: Lyude Paul <lyude at redhat.com> > Fixes: 6eca310e8924 ("drm/nouveau/kms/nv50-: Add basic DPCD backlight support for nouveau") > Cc: <stable at vger.kernel.org> # v5.15+ > --- > drivers/gpu/drm/nouveau/nouveau_backlight.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_backlight.c b/drivers/gpu/drm/nouveau/nouveau_backlight.c > index 6af12dc99d7f..daf9f87477ba 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_backlight.c > +++ b/drivers/gpu/drm/nouveau/nouveau_backlight.c > @@ -101,7 +101,6 @@ nv40_backlight_init(struct nouveau_encoder *encoder, > if (!(nvif_rd32(device, NV40_PMC_BACKLIGHT) & NV40_PMC_BACKLIGHT_MASK)) > return -ENODEV; > > - props->type = BACKLIGHT_RAW; > props->max_brightness = 31; > *ops = &nv40_bl_ops; > return 0; > @@ -343,7 +342,6 @@ nv50_backlight_init(struct nouveau_backlight *bl, > else > *ops = &nva3_bl_ops; > > - props->type = BACKLIGHT_RAW; > props->max_brightness = 100; > > return 0; > @@ -411,6 +409,7 @@ nouveau_backlight_init(struct drm_connector *connector) > goto fail_alloc; > } > > + props.type = BACKLIGHT_RAW; > bl->dev = backlight_device_register(backlight_name, connector->kdev, > nv_encoder, ops, &props); > if (IS_ERR(bl->dev)) { > -- > 2.34.1 >