[led-backlight] default-brightness-level issue

Daniel Thompson daniel.thompson at linaro.org
Thu Apr 29 12:07:27 UTC 2021


On Thu, Apr 29, 2021 at 11:31:20AM +0000, pgeiem wrote:
> On Thursday, April 29, 2021 1:00 PM, Daniel Thompson <daniel.thompson at linaro.org> wrote:
> 
> > On Fri, Apr 23, 2021 at 01:04:23PM +0000, pgeiem wrote:
> >
> > > Dear all,
> > > On a custom board I have a simple DPI panel. Panel's backlight is
> > > drive with an I2C led driver (PCA9632). led-backlight driver is sued
> > > to manage this as a backlight.
> > > When using brightness-levels and default-brightness-level the
> > > backlight stay turned-off even if manually trying to set a different
> > > index value to brightness through sysfs.
> > > I traced this issue as follow: When led_bl_update_status() is called
> > > the brightness value is returned from backlight_get_brightness() which
> > > call backlight_is_blank(). In my case backlight_is_blank() return true
> > > due to props.power = FB_BLANK_POWERDOWN which is != FB_BLANK_UNBLANK.
> > > I traced why at startup props.power is FB_BLANK_POWERDOWN and found
> > > that in led_bl_probe() when a default brightness is set (>0)
> > > props.power is set to FB_BLANK_POWERDOWN which seems incorrect to me.
> > > I made the small change below and default brightness is correctly used
> > > at startup. I am not really sure this is an issue and if my change is
> > > correct or if I am doing something incorrect somewhere else. So I
> > > first would like to get your opinion on this and if correct will send
> > > a patch.
> >
> > Makes sense. Please send this as a patch.
> >
> > Daniel.
> 
> I finally believe this was correct.
> 
> A link between the panel and the backlight was missing in dts. With this link the backlight is turned on (props.power = FB_BLANK_UNBLANK) from drm_panel_enable function after enabling the panel.
> 
> Let me know if you disagree and still believe I should send the patch.

The original logic is definitely wrong.

However that doesn't mean the driver will be fully correct after fixing
since it does look like is missing the logic found in other similar
drivers (pwm-bl.c and gpio_backlight.c) to handle the various different
cases w.r.t. handover from active backlight by the bootloader.


Daniel.


More information about the dri-devel mailing list