* [PATCH 0/3] drm/panel: Use backlight helpers @ 2022-06-07 18:20 Stephen Kitt 2022-06-07 18:20 ` [PATCH 1/3] drm/panel: Use backlight helper Stephen Kitt ` (2 more replies) 0 siblings, 3 replies; 11+ messages in thread From: Stephen Kitt @ 2022-06-07 18:20 UTC (permalink / raw) To: Thierry Reding, Sam Ravnborg, David Airlie, Daniel Vetter Cc: dri-devel, linux-kernel, Stephen Kitt backlight_properties.fb_blank is deprecated. The states it represents are handled by other properties; but instead of accessing those properties directly, drivers should use the helpers provided by backlight.h. This will ultimately allow fb_blank to be removed. Stephen Kitt (3): drm/panel: Use backlight helper drm/panel: panel-dsi-cm: Use backlight helpers drm/panel: sony-acx565akm: Use backlight helpers .../drm/panel/panel-asus-z00t-tm5p5-n35596.c | 7 +----- drivers/gpu/drm/panel/panel-dsi-cm.c | 24 ++++--------------- drivers/gpu/drm/panel/panel-sony-acx565akm.c | 11 ++------- 3 files changed, 7 insertions(+), 35 deletions(-) base-commit: f2906aa863381afb0015a9eb7fefad885d4e5a56 -- 2.30.2 ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 1/3] drm/panel: Use backlight helper 2022-06-07 18:20 [PATCH 0/3] drm/panel: Use backlight helpers Stephen Kitt @ 2022-06-07 18:20 ` Stephen Kitt 2022-06-07 18:20 ` [PATCH 2/3] drm/panel: panel-dsi-cm: Use backlight helpers Stephen Kitt 2022-06-07 18:20 ` [PATCH 3/3] drm/panel: sony-acx565akm: " Stephen Kitt 2 siblings, 0 replies; 11+ messages in thread From: Stephen Kitt @ 2022-06-07 18:20 UTC (permalink / raw) To: Thierry Reding, Sam Ravnborg, David Airlie, Daniel Vetter Cc: dri-devel, linux-kernel, Stephen Kitt Instead of retrieving the backlight brightness in struct backlight_properties manually, and then checking whether the backlight should be on at all, use backlight_get_brightness() which does all this and insulates this from future changes. Signed-off-by: Stephen Kitt <steve@sk2.org> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: David Airlie <airlied@linux.ie> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: dri-devel@lists.freedesktop.org --- drivers/gpu/drm/panel/panel-asus-z00t-tm5p5-n35596.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-asus-z00t-tm5p5-n35596.c b/drivers/gpu/drm/panel/panel-asus-z00t-tm5p5-n35596.c index 44674ebedf59..174ff434bd71 100644 --- a/drivers/gpu/drm/panel/panel-asus-z00t-tm5p5-n35596.c +++ b/drivers/gpu/drm/panel/panel-asus-z00t-tm5p5-n35596.c @@ -215,14 +215,9 @@ static const struct drm_panel_funcs tm5p5_nt35596_panel_funcs = { static int tm5p5_nt35596_bl_update_status(struct backlight_device *bl) { struct mipi_dsi_device *dsi = bl_get_data(bl); - u16 brightness = bl->props.brightness; + u16 brightness = backlight_get_brightness(bl); int ret; - if (bl->props.power != FB_BLANK_UNBLANK || - bl->props.fb_blank != FB_BLANK_UNBLANK || - bl->props.state & (BL_CORE_SUSPENDED | BL_CORE_FBBLANK)) - brightness = 0; - dsi->mode_flags &= ~MIPI_DSI_MODE_LPM; ret = mipi_dsi_dcs_set_display_brightness(dsi, brightness); -- 2.30.2 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 2/3] drm/panel: panel-dsi-cm: Use backlight helpers 2022-06-07 18:20 [PATCH 0/3] drm/panel: Use backlight helpers Stephen Kitt 2022-06-07 18:20 ` [PATCH 1/3] drm/panel: Use backlight helper Stephen Kitt @ 2022-06-07 18:20 ` Stephen Kitt 2022-06-09 21:52 ` Sebastian Reichel 2022-06-07 18:20 ` [PATCH 3/3] drm/panel: sony-acx565akm: " Stephen Kitt 2 siblings, 1 reply; 11+ messages in thread From: Stephen Kitt @ 2022-06-07 18:20 UTC (permalink / raw) To: Thierry Reding, Sam Ravnborg, David Airlie, Daniel Vetter Cc: dri-devel, linux-kernel, Stephen Kitt Instead of retrieving the backlight brightness in struct backlight_properties manually, and then checking whether the backlight should be on at all, use backlight_get_brightness() which does all this and insulates this from future changes. Instead of setting the power state by manually updating fields in struct backlight_properties, use backlight_enable() and backlight_disable(). These also call backlight_update_status() so the separate call is no longer needed. Signed-off-by: Stephen Kitt <steve@sk2.org> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: David Airlie <airlied@linux.ie> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: dri-devel@lists.freedesktop.org --- drivers/gpu/drm/panel/panel-dsi-cm.c | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-dsi-cm.c b/drivers/gpu/drm/panel/panel-dsi-cm.c index b58cb064975f..aa36dc6cedd3 100644 --- a/drivers/gpu/drm/panel/panel-dsi-cm.c +++ b/drivers/gpu/drm/panel/panel-dsi-cm.c @@ -86,16 +86,10 @@ static void dsicm_bl_power(struct panel_drv_data *ddata, bool enable) return; if (enable) { - backlight->props.fb_blank = FB_BLANK_UNBLANK; - backlight->props.state = ~(BL_CORE_FBBLANK | BL_CORE_SUSPENDED); - backlight->props.power = FB_BLANK_UNBLANK; + backlight_enable(backlight); } else { - backlight->props.fb_blank = FB_BLANK_NORMAL; - backlight->props.power = FB_BLANK_POWERDOWN; - backlight->props.state |= BL_CORE_FBBLANK | BL_CORE_SUSPENDED; + backlight_disable(backlight); } - - backlight_update_status(backlight); } static void hw_guard_start(struct panel_drv_data *ddata, int guard_msec) @@ -196,13 +190,7 @@ static int dsicm_bl_update_status(struct backlight_device *dev) { struct panel_drv_data *ddata = dev_get_drvdata(&dev->dev); int r = 0; - int level; - - if (dev->props.fb_blank == FB_BLANK_UNBLANK && - dev->props.power == FB_BLANK_UNBLANK) - level = dev->props.brightness; - else - level = 0; + int level = backlight_get_brightness(dev); dev_dbg(&ddata->dsi->dev, "update brightness to %d\n", level); @@ -219,11 +207,7 @@ static int dsicm_bl_update_status(struct backlight_device *dev) static int dsicm_bl_get_intensity(struct backlight_device *dev) { - if (dev->props.fb_blank == FB_BLANK_UNBLANK && - dev->props.power == FB_BLANK_UNBLANK) - return dev->props.brightness; - - return 0; + return backlight_get_brightness(dev); } static const struct backlight_ops dsicm_bl_ops = { -- 2.30.2 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 2/3] drm/panel: panel-dsi-cm: Use backlight helpers 2022-06-07 18:20 ` [PATCH 2/3] drm/panel: panel-dsi-cm: Use backlight helpers Stephen Kitt @ 2022-06-09 21:52 ` Sebastian Reichel 2022-06-10 17:47 ` Stephen Kitt 0 siblings, 1 reply; 11+ messages in thread From: Sebastian Reichel @ 2022-06-09 21:52 UTC (permalink / raw) To: Stephen Kitt Cc: Thierry Reding, Sam Ravnborg, David Airlie, Daniel Vetter, linux-kernel, dri-devel [-- Attachment #1: Type: text/plain, Size: 2951 bytes --] Hi, On Tue, Jun 07, 2022 at 08:20:25PM +0200, Stephen Kitt wrote: > Instead of retrieving the backlight brightness in struct > backlight_properties manually, and then checking whether the backlight > should be on at all, use backlight_get_brightness() which does all > this and insulates this from future changes. > > Instead of setting the power state by manually updating fields in > struct backlight_properties, use backlight_enable() and > backlight_disable(). These also call backlight_update_status() so the > separate call is no longer needed. > > Signed-off-by: Stephen Kitt <steve@sk2.org> > Cc: Thierry Reding <thierry.reding@gmail.com> > Cc: Sam Ravnborg <sam@ravnborg.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Daniel Vetter <daniel@ffwll.ch> > Cc: dri-devel@lists.freedesktop.org > --- > > drivers/gpu/drm/panel/panel-dsi-cm.c | 24 ++++-------------------- > 1 file changed, 4 insertions(+), 20 deletions(-) > > diff --git a/drivers/gpu/drm/panel/panel-dsi-cm.c b/drivers/gpu/drm/panel/panel-dsi-cm.c > index b58cb064975f..aa36dc6cedd3 100644 > --- a/drivers/gpu/drm/panel/panel-dsi-cm.c > +++ b/drivers/gpu/drm/panel/panel-dsi-cm.c > @@ -86,16 +86,10 @@ static void dsicm_bl_power(struct panel_drv_data *ddata, bool enable) > return; > > if (enable) { > - backlight->props.fb_blank = FB_BLANK_UNBLANK; > - backlight->props.state = ~(BL_CORE_FBBLANK | BL_CORE_SUSPENDED); > - backlight->props.power = FB_BLANK_UNBLANK; > + backlight_enable(backlight); > } else { > - backlight->props.fb_blank = FB_BLANK_NORMAL; > - backlight->props.power = FB_BLANK_POWERDOWN; > - backlight->props.state |= BL_CORE_FBBLANK | BL_CORE_SUSPENDED; > + backlight_disable(backlight); > } The brackets can be removed now. Otherwise: Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com> -- Sebastian > - > - backlight_update_status(backlight); > } > > static void hw_guard_start(struct panel_drv_data *ddata, int guard_msec) > @@ -196,13 +190,7 @@ static int dsicm_bl_update_status(struct backlight_device *dev) > { > struct panel_drv_data *ddata = dev_get_drvdata(&dev->dev); > int r = 0; > - int level; > - > - if (dev->props.fb_blank == FB_BLANK_UNBLANK && > - dev->props.power == FB_BLANK_UNBLANK) > - level = dev->props.brightness; > - else > - level = 0; > + int level = backlight_get_brightness(dev); > > dev_dbg(&ddata->dsi->dev, "update brightness to %d\n", level); > > @@ -219,11 +207,7 @@ static int dsicm_bl_update_status(struct backlight_device *dev) > > static int dsicm_bl_get_intensity(struct backlight_device *dev) > { > - if (dev->props.fb_blank == FB_BLANK_UNBLANK && > - dev->props.power == FB_BLANK_UNBLANK) > - return dev->props.brightness; > - > - return 0; > + return backlight_get_brightness(dev); > } > > static const struct backlight_ops dsicm_bl_ops = { > -- > 2.30.2 > [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/3] drm/panel: panel-dsi-cm: Use backlight helpers 2022-06-09 21:52 ` Sebastian Reichel @ 2022-06-10 17:47 ` Stephen Kitt 2022-06-10 19:28 ` Sam Ravnborg 0 siblings, 1 reply; 11+ messages in thread From: Stephen Kitt @ 2022-06-10 17:47 UTC (permalink / raw) To: Sebastian Reichel Cc: Thierry Reding, Sam Ravnborg, David Airlie, Daniel Vetter, linux-kernel, dri-devel [-- Attachment #1: Type: text/plain, Size: 1289 bytes --] Hi Sebastian, On Thu, 9 Jun 2022 23:52:36 +0200, Sebastian Reichel <sebastian.reichel@collabora.com> wrote: > On Tue, Jun 07, 2022 at 08:20:25PM +0200, Stephen Kitt wrote: > > diff --git a/drivers/gpu/drm/panel/panel-dsi-cm.c > > b/drivers/gpu/drm/panel/panel-dsi-cm.c index b58cb064975f..aa36dc6cedd3 > > 100644 --- a/drivers/gpu/drm/panel/panel-dsi-cm.c > > +++ b/drivers/gpu/drm/panel/panel-dsi-cm.c > > @@ -86,16 +86,10 @@ static void dsicm_bl_power(struct panel_drv_data > > *ddata, bool enable) return; > > > > if (enable) { > > - backlight->props.fb_blank = FB_BLANK_UNBLANK; > > - backlight->props.state = ~(BL_CORE_FBBLANK | > > BL_CORE_SUSPENDED); > > - backlight->props.power = FB_BLANK_UNBLANK; > > + backlight_enable(backlight); > > } else { > > - backlight->props.fb_blank = FB_BLANK_NORMAL; > > - backlight->props.power = FB_BLANK_POWERDOWN; > > - backlight->props.state |= BL_CORE_FBBLANK | > > BL_CORE_SUSPENDED; > > + backlight_disable(backlight); > > } > > The brackets can be removed now. Otherwise: > > Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com> Thanks, I’ll wait a little more to see if there are any other reviews of the patches and then push a v2 with that fix. Regards, Stephen [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/3] drm/panel: panel-dsi-cm: Use backlight helpers 2022-06-10 17:47 ` Stephen Kitt @ 2022-06-10 19:28 ` Sam Ravnborg 2022-06-10 19:52 ` Stephen Kitt 0 siblings, 1 reply; 11+ messages in thread From: Sam Ravnborg @ 2022-06-10 19:28 UTC (permalink / raw) To: Stephen Kitt Cc: Sebastian Reichel, David Airlie, linux-kernel, dri-devel, Thierry Reding Hi Stephen. On Fri, Jun 10, 2022 at 07:47:20PM +0200, Stephen Kitt wrote: > Hi Sebastian, > > On Thu, 9 Jun 2022 23:52:36 +0200, Sebastian Reichel > <sebastian.reichel@collabora.com> wrote: > > On Tue, Jun 07, 2022 at 08:20:25PM +0200, Stephen Kitt wrote: > > > diff --git a/drivers/gpu/drm/panel/panel-dsi-cm.c > > > b/drivers/gpu/drm/panel/panel-dsi-cm.c index b58cb064975f..aa36dc6cedd3 > > > 100644 --- a/drivers/gpu/drm/panel/panel-dsi-cm.c > > > +++ b/drivers/gpu/drm/panel/panel-dsi-cm.c > > > @@ -86,16 +86,10 @@ static void dsicm_bl_power(struct panel_drv_data > > > *ddata, bool enable) return; > > > > > > if (enable) { > > > - backlight->props.fb_blank = FB_BLANK_UNBLANK; > > > - backlight->props.state = ~(BL_CORE_FBBLANK | > > > BL_CORE_SUSPENDED); > > > - backlight->props.power = FB_BLANK_UNBLANK; > > > + backlight_enable(backlight); > > > } else { > > > - backlight->props.fb_blank = FB_BLANK_NORMAL; > > > - backlight->props.power = FB_BLANK_POWERDOWN; > > > - backlight->props.state |= BL_CORE_FBBLANK | > > > BL_CORE_SUSPENDED; > > > + backlight_disable(backlight); > > > } > > > > The brackets can be removed now. Otherwise: > > > > > Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com> > > Thanks, I’ll wait a little more to see if there are any other reviews of the > patches and then push a v2 with that fix. It would be very nice if you could kill all uses of FB_BLANK in the drivers/gpu/drm/panel/* drivers, and post them as one series. This is long overdue to introduce the backlight helpers. The three you posted is already a nice step forward, and there may be more panel drivers I have missed. Sam ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/3] drm/panel: panel-dsi-cm: Use backlight helpers 2022-06-10 19:28 ` Sam Ravnborg @ 2022-06-10 19:52 ` Stephen Kitt 2022-06-10 19:56 ` Stephen Kitt 0 siblings, 1 reply; 11+ messages in thread From: Stephen Kitt @ 2022-06-10 19:52 UTC (permalink / raw) To: Sam Ravnborg Cc: Sebastian Reichel, David Airlie, linux-kernel, dri-devel, Thierry Reding [-- Attachment #1: Type: text/plain, Size: 2414 bytes --] On Fri, 10 Jun 2022 21:28:32 +0200, Sam Ravnborg <sam@ravnborg.org> wrote: > Hi Stephen. > On Fri, Jun 10, 2022 at 07:47:20PM +0200, Stephen Kitt wrote: > > Hi Sebastian, > > > > On Thu, 9 Jun 2022 23:52:36 +0200, Sebastian Reichel > > <sebastian.reichel@collabora.com> wrote: > > > On Tue, Jun 07, 2022 at 08:20:25PM +0200, Stephen Kitt wrote: > > > > diff --git a/drivers/gpu/drm/panel/panel-dsi-cm.c > > > > b/drivers/gpu/drm/panel/panel-dsi-cm.c index > > > > b58cb064975f..aa36dc6cedd3 100644 --- > > > > a/drivers/gpu/drm/panel/panel-dsi-cm.c +++ > > > > b/drivers/gpu/drm/panel/panel-dsi-cm.c @@ -86,16 +86,10 @@ static > > > > void dsicm_bl_power(struct panel_drv_data *ddata, bool enable) return; > > > > > > > > if (enable) { > > > > - backlight->props.fb_blank = FB_BLANK_UNBLANK; > > > > - backlight->props.state = ~(BL_CORE_FBBLANK | > > > > BL_CORE_SUSPENDED); > > > > - backlight->props.power = FB_BLANK_UNBLANK; > > > > + backlight_enable(backlight); > > > > } else { > > > > - backlight->props.fb_blank = FB_BLANK_NORMAL; > > > > - backlight->props.power = FB_BLANK_POWERDOWN; > > > > - backlight->props.state |= BL_CORE_FBBLANK | > > > > BL_CORE_SUSPENDED; > > > > + backlight_disable(backlight); > > > > } > > > > > > The brackets can be removed now. Otherwise: > > > > > > > > Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com> > > > > Thanks, I’ll wait a little more to see if there are any other reviews of > > the patches and then push a v2 with that fix. > It would be very nice if you could kill all uses of FB_BLANK in the > drivers/gpu/drm/panel/* drivers, and post them as one series. > This is long overdue to introduce the backlight helpers. > > The three you posted is already a nice step forward, and there may be > more panel drivers I have missed. With this series on top of 5.19-rc1, the only remaining .fb_blank reference is in acx565akm_backlight_init() in panel-sony-acx565akm.c; I was planning on nuking that along with the other .fb_blank initialisers in a series removing .fb_blank entirely from backlight_properties. I’ll add it as a fourth patch for drm/panel if that makes things easier! There will still be references to FB_BLANK constants since they’re used for backlight_properties.power values. Would it make sense to rename those? Regards, Stephen [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/3] drm/panel: panel-dsi-cm: Use backlight helpers 2022-06-10 19:52 ` Stephen Kitt @ 2022-06-10 19:56 ` Stephen Kitt 2022-06-10 20:15 ` Sam Ravnborg 0 siblings, 1 reply; 11+ messages in thread From: Stephen Kitt @ 2022-06-10 19:56 UTC (permalink / raw) To: Sam Ravnborg Cc: Sebastian Reichel, David Airlie, linux-kernel, dri-devel, Thierry Reding [-- Attachment #1: Type: text/plain, Size: 2922 bytes --] On Fri, 10 Jun 2022 21:52:36 +0200, Stephen Kitt <steve@sk2.org> wrote: > On Fri, 10 Jun 2022 21:28:32 +0200, Sam Ravnborg <sam@ravnborg.org> wrote: > > Hi Stephen. > > On Fri, Jun 10, 2022 at 07:47:20PM +0200, Stephen Kitt wrote: > > > Hi Sebastian, > > > > > > On Thu, 9 Jun 2022 23:52:36 +0200, Sebastian Reichel > > > <sebastian.reichel@collabora.com> wrote: > > > > On Tue, Jun 07, 2022 at 08:20:25PM +0200, Stephen Kitt wrote: > > > > > diff --git a/drivers/gpu/drm/panel/panel-dsi-cm.c > > > > > b/drivers/gpu/drm/panel/panel-dsi-cm.c index > > > > > b58cb064975f..aa36dc6cedd3 100644 --- > > > > > a/drivers/gpu/drm/panel/panel-dsi-cm.c +++ > > > > > b/drivers/gpu/drm/panel/panel-dsi-cm.c @@ -86,16 +86,10 @@ static > > > > > void dsicm_bl_power(struct panel_drv_data *ddata, bool enable) > > > > > return; > > > > > if (enable) { > > > > > - backlight->props.fb_blank = FB_BLANK_UNBLANK; > > > > > - backlight->props.state = ~(BL_CORE_FBBLANK | > > > > > BL_CORE_SUSPENDED); > > > > > - backlight->props.power = FB_BLANK_UNBLANK; > > > > > + backlight_enable(backlight); > > > > > } else { > > > > > - backlight->props.fb_blank = FB_BLANK_NORMAL; > > > > > - backlight->props.power = FB_BLANK_POWERDOWN; > > > > > - backlight->props.state |= BL_CORE_FBBLANK | > > > > > BL_CORE_SUSPENDED; > > > > > + backlight_disable(backlight); > > > > > } > > > > > > > > The brackets can be removed now. Otherwise: > > > > > > > > > > > Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com> > > > > > > Thanks, I’ll wait a little more to see if there are any other reviews of > > > the patches and then push a v2 with that fix. > > It would be very nice if you could kill all uses of FB_BLANK in the > > drivers/gpu/drm/panel/* drivers, and post them as one series. > > This is long overdue to introduce the backlight helpers. > > > > The three you posted is already a nice step forward, and there may be > > more panel drivers I have missed. > > With this series on top of 5.19-rc1, the only remaining .fb_blank reference > is in acx565akm_backlight_init() in panel-sony-acx565akm.c; I was planning > on nuking that along with the other .fb_blank initialisers in a series > removing .fb_blank entirely from backlight_properties. I’ll add it as a > fourth patch for drm/panel if that makes things easier! That’s in drivers/gpu/drm/panel of course, there are a few others elsewhere (I’ve got patches in flight for most of them, I’ve got the rest ready for submission). > There will still be references to FB_BLANK constants since they’re used for > backlight_properties.power values. Would it make sense to rename those? Just to make sure — I’m cleaning up backlight_properties.fb_blank, not fb_ops.fb_blank. I wasn’t planning on touching the latter... Regards, Stephen [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/3] drm/panel: panel-dsi-cm: Use backlight helpers 2022-06-10 19:56 ` Stephen Kitt @ 2022-06-10 20:15 ` Sam Ravnborg 0 siblings, 0 replies; 11+ messages in thread From: Sam Ravnborg @ 2022-06-10 20:15 UTC (permalink / raw) To: Stephen Kitt Cc: Sebastian Reichel, David Airlie, linux-kernel, dri-devel, Thierry Reding Hi Stephen, > > > > > > > > Thanks, I’ll wait a little more to see if there are any other reviews of > > > > the patches and then push a v2 with that fix. > > > It would be very nice if you could kill all uses of FB_BLANK in the > > > drivers/gpu/drm/panel/* drivers, and post them as one series. > > > This is long overdue to introduce the backlight helpers. > > > > > > The three you posted is already a nice step forward, and there may be > > > more panel drivers I have missed. > > > > With this series on top of 5.19-rc1, the only remaining .fb_blank reference > > is in acx565akm_backlight_init() in panel-sony-acx565akm.c; I was planning > > on nuking that along with the other .fb_blank initialisers in a series > > removing .fb_blank entirely from backlight_properties. I’ll add it as a > > fourth patch for drm/panel if that makes things easier! > > That’s in drivers/gpu/drm/panel of course, there are a few others elsewhere > (I’ve got patches in flight for most of them, I’ve got the rest ready for > submission). > > > There will still be references to FB_BLANK constants since they’re used for > > backlight_properties.power values. Would it make sense to rename those? > > Just to make sure — I’m cleaning up backlight_properties.fb_blank, not > fb_ops.fb_blank. I wasn’t planning on touching the latter... Nuking props.fb_blank - that a fine goal - so keep focus there. We can then later revisit the other clean-up possibilities. Since you do this tree-wide do not do the mistake and try to cover too much at the same time, because then you never finish. So forget my comment for now and keep up the good work on removing props.fb_blank. Sam ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 3/3] drm/panel: sony-acx565akm: Use backlight helpers 2022-06-07 18:20 [PATCH 0/3] drm/panel: Use backlight helpers Stephen Kitt 2022-06-07 18:20 ` [PATCH 1/3] drm/panel: Use backlight helper Stephen Kitt 2022-06-07 18:20 ` [PATCH 2/3] drm/panel: panel-dsi-cm: Use backlight helpers Stephen Kitt @ 2022-06-07 18:20 ` Stephen Kitt 2022-06-09 21:54 ` Sebastian Reichel 2 siblings, 1 reply; 11+ messages in thread From: Stephen Kitt @ 2022-06-07 18:20 UTC (permalink / raw) To: Thierry Reding, Sam Ravnborg, David Airlie, Daniel Vetter Cc: dri-devel, linux-kernel, Stephen Kitt Instead of retrieving the backlight brightness in struct backlight_properties manually, and then checking whether the backlight should be on at all, use backlight_get_brightness() which does all this and insulates this from future changes. Instead of manually checking the power state in struct backlight_properties, use backlight_is_blank(). Signed-off-by: Stephen Kitt <steve@sk2.org> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: David Airlie <airlied@linux.ie> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: dri-devel@lists.freedesktop.org --- drivers/gpu/drm/panel/panel-sony-acx565akm.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-sony-acx565akm.c b/drivers/gpu/drm/panel/panel-sony-acx565akm.c index 0d7541a33f87..a6bc8c8cf6c8 100644 --- a/drivers/gpu/drm/panel/panel-sony-acx565akm.c +++ b/drivers/gpu/drm/panel/panel-sony-acx565akm.c @@ -298,13 +298,7 @@ static void acx565akm_set_brightness(struct acx565akm_panel *lcd, int level) static int acx565akm_bl_update_status_locked(struct backlight_device *dev) { struct acx565akm_panel *lcd = dev_get_drvdata(&dev->dev); - int level; - - if (dev->props.fb_blank == FB_BLANK_UNBLANK && - dev->props.power == FB_BLANK_UNBLANK) - level = dev->props.brightness; - else - level = 0; + int level = backlight_get_brightness(dev); acx565akm_set_brightness(lcd, level); @@ -330,8 +324,7 @@ static int acx565akm_bl_get_intensity(struct backlight_device *dev) mutex_lock(&lcd->mutex); - if (dev->props.fb_blank == FB_BLANK_UNBLANK && - dev->props.power == FB_BLANK_UNBLANK) + if (!backlight_is_blank(dev)) intensity = acx565akm_get_actual_brightness(lcd); else intensity = 0; -- 2.30.2 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 3/3] drm/panel: sony-acx565akm: Use backlight helpers 2022-06-07 18:20 ` [PATCH 3/3] drm/panel: sony-acx565akm: " Stephen Kitt @ 2022-06-09 21:54 ` Sebastian Reichel 0 siblings, 0 replies; 11+ messages in thread From: Sebastian Reichel @ 2022-06-09 21:54 UTC (permalink / raw) To: Stephen Kitt Cc: Thierry Reding, Sam Ravnborg, David Airlie, Daniel Vetter, linux-kernel, dri-devel [-- Attachment #1: Type: text/plain, Size: 2072 bytes --] Hi, On Tue, Jun 07, 2022 at 08:20:26PM +0200, Stephen Kitt wrote: > Instead of retrieving the backlight brightness in struct > backlight_properties manually, and then checking whether the backlight > should be on at all, use backlight_get_brightness() which does all > this and insulates this from future changes. > > Instead of manually checking the power state in struct > backlight_properties, use backlight_is_blank(). > > Signed-off-by: Stephen Kitt <steve@sk2.org> > Cc: Thierry Reding <thierry.reding@gmail.com> > Cc: Sam Ravnborg <sam@ravnborg.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Daniel Vetter <daniel@ffwll.ch> > Cc: dri-devel@lists.freedesktop.org > --- Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com> -- Sebastian > drivers/gpu/drm/panel/panel-sony-acx565akm.c | 11 ++--------- > 1 file changed, 2 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/panel/panel-sony-acx565akm.c b/drivers/gpu/drm/panel/panel-sony-acx565akm.c > index 0d7541a33f87..a6bc8c8cf6c8 100644 > --- a/drivers/gpu/drm/panel/panel-sony-acx565akm.c > +++ b/drivers/gpu/drm/panel/panel-sony-acx565akm.c > @@ -298,13 +298,7 @@ static void acx565akm_set_brightness(struct acx565akm_panel *lcd, int level) > static int acx565akm_bl_update_status_locked(struct backlight_device *dev) > { > struct acx565akm_panel *lcd = dev_get_drvdata(&dev->dev); > - int level; > - > - if (dev->props.fb_blank == FB_BLANK_UNBLANK && > - dev->props.power == FB_BLANK_UNBLANK) > - level = dev->props.brightness; > - else > - level = 0; > + int level = backlight_get_brightness(dev); > > acx565akm_set_brightness(lcd, level); > > @@ -330,8 +324,7 @@ static int acx565akm_bl_get_intensity(struct backlight_device *dev) > > mutex_lock(&lcd->mutex); > > - if (dev->props.fb_blank == FB_BLANK_UNBLANK && > - dev->props.power == FB_BLANK_UNBLANK) > + if (!backlight_is_blank(dev)) > intensity = acx565akm_get_actual_brightness(lcd); > else > intensity = 0; > -- > 2.30.2 > [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2022-06-10 20:33 UTC | newest] Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-06-07 18:20 [PATCH 0/3] drm/panel: Use backlight helpers Stephen Kitt 2022-06-07 18:20 ` [PATCH 1/3] drm/panel: Use backlight helper Stephen Kitt 2022-06-07 18:20 ` [PATCH 2/3] drm/panel: panel-dsi-cm: Use backlight helpers Stephen Kitt 2022-06-09 21:52 ` Sebastian Reichel 2022-06-10 17:47 ` Stephen Kitt 2022-06-10 19:28 ` Sam Ravnborg 2022-06-10 19:52 ` Stephen Kitt 2022-06-10 19:56 ` Stephen Kitt 2022-06-10 20:15 ` Sam Ravnborg 2022-06-07 18:20 ` [PATCH 3/3] drm/panel: sony-acx565akm: " Stephen Kitt 2022-06-09 21:54 ` Sebastian Reichel
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).