[PATCH] drm/nouveau: Adding support to control backlight using bl_power for nva3.

From: antoniospg
Date: Sat Oct 29 2022 - 14:43:47 EST


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@xxxxxxxxx>
---
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;
+ }
+
if (div) {
nvif_wr32(device, NV50_PDISP_SOR_PWM_CTL(or),
val |
--
2.25.1