drm/nouveau: Add support to control backlight using bl_power for nva3.
authorAntonio Gomes <antoniospg100@gmail.com>
Fri, 4 Nov 2022 22:04:23 +0000 (19:04 -0300)
committerKarol Herbst <kherbst@redhat.com>
Fri, 11 Nov 2022 14:56:33 +0000 (15:56 +0100)
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: Antonio Gomes <antoniospg100@gmail.com>
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20221104220424.41164-1-antoniospg100@gmail.com
drivers/gpu/drm/nouveau/nouveau_backlight.c

index a614582..40409a2 100644 (file)
@@ -264,7 +264,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 |