Message ID | 20221029184851.25340-1-antoniospg100@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/nouveau: Adding support to control backlight using bl_power for nva3. | expand |
On Sat, Oct 29, 2022 at 03:48:50PM -0300, antoniospg wrote: > Test plan: > > * Turn off: > echo 1 > /sys/class/backlight/nv_backlight/bl_power > > * Turn on: > echo 0 > /sys/class/backlight/nv_backlight/bl_power > You sent this patch twice, so I reply to the latest one. What is it doing? Please describe the patch. Remember to write the description in imperative mood.
On Sat, Oct 29, 2022 at 03:48:50PM -0300, antoniospg wrote: > Test plan: > > * Turn off: > echo 1 > /sys/class/backlight/nv_backlight/bl_power > > * Turn on: > echo 0 > /sys/class/backlight/nv_backlight/bl_power > > Signed-off-by: antoniospg <antoniospg100@gmail.com> > --- > drivers/gpu/drm/nouveau/nouveau_backlight.c | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_backlight.c b/drivers/gpu/drm/nouveau/nouveau_backlight.c > index a2141d3d9b1d..855d0ce9f7fa 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_backlight.c > +++ b/drivers/gpu/drm/nouveau/nouveau_backlight.c > @@ -263,7 +263,16 @@ nva3_set_intensity(struct backlight_device *bd) > u32 div, val; > > div = nvif_rd32(device, NV50_PDISP_SOR_PWM_DIV(or)); > - val = (bd->props.brightness * div) / 100; > + > + switch (bd->props.power) { > + case FB_BLANK_UNBLANK: > + val = (bd->props.brightness * div) / 100; > + break; > + default: > + val = 0; > + break; > + } > + Consider the following change: val = backlight_get_brightness(bd); if (val) val = (val * dev) / 100; Then you avoid hard coding the use of FB_BLANK_UNBLANK. Sam
diff --git a/drivers/gpu/drm/nouveau/nouveau_backlight.c b/drivers/gpu/drm/nouveau/nouveau_backlight.c index a2141d3d9b1d..855d0ce9f7fa 100644 --- a/drivers/gpu/drm/nouveau/nouveau_backlight.c +++ b/drivers/gpu/drm/nouveau/nouveau_backlight.c @@ -263,7 +263,16 @@ nva3_set_intensity(struct backlight_device *bd) u32 div, val; div = nvif_rd32(device, NV50_PDISP_SOR_PWM_DIV(or)); - val = (bd->props.brightness * div) / 100; + + switch (bd->props.power) { + case FB_BLANK_UNBLANK: + val = (bd->props.brightness * div) / 100; + break; + default: + val = 0; + break; + } + if (div) { nvif_wr32(device, NV50_PDISP_SOR_PWM_CTL(or), val |
Test plan: * Turn off: echo 1 > /sys/class/backlight/nv_backlight/bl_power * Turn on: echo 0 > /sys/class/backlight/nv_backlight/bl_power Signed-off-by: antoniospg <antoniospg100@gmail.com> --- drivers/gpu/drm/nouveau/nouveau_backlight.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)