2022-10-29 19:05:24

by Antonio Gomes

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

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 <[email protected]>
---
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



2022-10-30 13:33:49

by Bagas Sanjaya

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

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.

--
An old man doll... just what I always wanted! - Clara


Attachments:
(No filename) (451.00 B)
signature.asc (235.00 B)
Download all attachments

2022-10-30 21:31:06

by Sam Ravnborg

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

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 <[email protected]>
> ---
> 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

2022-10-31 17:25:27

by Antonio Gomes

[permalink] [raw]
Subject: [PATCH] drm/nouveau: Add support to control backlight using bl_power for nva3.

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 <[email protected]>
---
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


2022-11-01 02:30:20

by Bagas Sanjaya

[permalink] [raw]
Subject: Re: [PATCH] drm/nouveau: Add support to control backlight using bl_power for nva3.

On 10/31/22 23:32, antoniospg wrote:
> 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.
>

This is [PATCH v2], right? If so, next time please pass -v <version
number> to git-format-patch(1).

Also, just say the prose without using bullet list. "Summary:" line
is also redundant. And again, please describe why this change be made.

> Test plan:
>
> * Turn off:
> echo 1 > /sys/class/backlight/nv_backlight/bl_power
>
> * Turn on:
> echo 0 > /sys/class/backlight/nv_backlight/bl_power
>

Shouldn't "test plan" above be documented in Documentation/ instead?

Last but not least, is "antoniospg" your real, legal name?

Thanks.

--
An old man doll... just what I always wanted! - Clara


2022-11-01 10:51:24

by Karol Herbst

[permalink] [raw]
Subject: Re: [PATCH] drm/nouveau: Add support to control backlight using bl_power for nva3.

On Tue, Nov 1, 2022 at 3:12 AM Bagas Sanjaya <[email protected]> wrote:
>
> On 10/31/22 23:32, antoniospg wrote:
> > 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.
> >
>
> This is [PATCH v2], right? If so, next time please pass -v <version
> number> to git-format-patch(1).
>
> Also, just say the prose without using bullet list. "Summary:" line
> is also redundant. And again, please describe why this change be made.
>

it's right there in the title....

> > Test plan:
> >
> > * Turn off:
> > echo 1 > /sys/class/backlight/nv_backlight/bl_power
> >
> > * Turn on:
> > echo 0 > /sys/class/backlight/nv_backlight/bl_power
> >
>
> Shouldn't "test plan" above be documented in Documentation/ instead?
>

Given that's already existing infrastructure and is actually
documented already (the existence of `bl_power` I mean), why would
that be needed? I don't think it's needed to point that out in the
commit log, but if the contributor chooses to document how the patch
was tested, then why not?

> Last but not least, is "antoniospg" your real, legal name?
>

Please leave those discussions to subsystem maintainers.

Saying that, if the contributors prefers to go by this name, this is
good enough for me, but having a more explicit or detailed name (like
fore- and surname) is generally prefered.

> Thanks.
>
> --
> An old man doll... just what I always wanted! - Clara
>


2022-11-04 22:17:46

by Antonio Gomes

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

From: antoniospg <[email protected]>

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 <[email protected]>
---
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


2022-11-04 22:18:30

by Antonio Gomes

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

From: antoniospg <[email protected]>

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 <[email protected]>
---
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


2022-11-09 17:48:48

by Karol Herbst

[permalink] [raw]
Subject: Re: [PATCH v3] drm/nouveau: Add support to control backlight using bl_power for nva3.

On Fri, Nov 4, 2022 at 11:04 PM Antonio Gomes <[email protected]> wrote:
>
> From: antoniospg <[email protected]>
>
> 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 <[email protected]>
> ---
> 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 <[email protected]>

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.