diff mbox series

[v3] drm/nouveau: Add support to control backlight using bl_power for nva3.

Message ID 20221104220424.41164-1-antoniospg100@gmail.com (mailing list archive)
State New, archived
Headers show
Series [v3] drm/nouveau: Add support to control backlight using bl_power for nva3. | expand

Commit Message

Antonio Gomes Nov. 4, 2022, 10:04 p.m. UTC
From: antoniospg <antoniospg100@gmail.com>

Summary:

* Add support to turn on/off backlight when changing values in bl_power
  file. This is achieved by using function backlight_get_brightness()
  in nva3_set_intensity to get current brightness.

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 | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Karol Herbst Nov. 9, 2022, 5:08 p.m. UTC | #1
On Fri, Nov 4, 2022 at 11:04 PM Antonio Gomes <antoniospg100@gmail.com> wrote:
>
> From: antoniospg <antoniospg100@gmail.com>
>
> Summary:
>
> * Add support to turn on/off backlight when changing values in bl_power
>   file. This is achieved by using function backlight_get_brightness()
>   in nva3_set_intensity to get current brightness.
>
> 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 | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/nouveau/nouveau_backlight.c b/drivers/gpu/drm/nouveau/nouveau_backlight.c
> index a2141d3d9b1d..5c82f5189b79 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_backlight.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_backlight.c
> @@ -263,7 +263,11 @@ 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;
> +
> +       val = backlight_get_brightness(bd);
> +       if (val)
> +               val = (val * div) / 100;
> +
>         if (div) {
>                 nvif_wr32(device, NV50_PDISP_SOR_PWM_CTL(or),
>                           val |
> --
> 2.25.1
>

Reviewed-by: Karol Herbst <kherbst@redhat.com>

btw, i'll fix up the name with the one from the Email From field, so
you won't have to send it out again.
diff mbox series

Patch

diff --git a/drivers/gpu/drm/nouveau/nouveau_backlight.c b/drivers/gpu/drm/nouveau/nouveau_backlight.c
index a2141d3d9b1d..5c82f5189b79 100644
--- a/drivers/gpu/drm/nouveau/nouveau_backlight.c
+++ b/drivers/gpu/drm/nouveau/nouveau_backlight.c
@@ -263,7 +263,11 @@  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;
+
+	val = backlight_get_brightness(bd);
+	if (val)
+		val = (val * div) / 100;
+
 	if (div) {
 		nvif_wr32(device, NV50_PDISP_SOR_PWM_CTL(or),
 			  val |