Closed pdp7 closed 3 years ago
I added mipi->backlight->props.power = FB_BLANK_UNBLANK
to st7735r_probe()
and it appears to solve the issue.
Is this is a good approach?
diff --git a/drivers/gpu/drm/tinydrm/st7735r.c b/drivers/gpu/drm/tinydrm/st7735r.c
index 98ff447f40b4..65e6cd4e801d 100644
--- a/drivers/gpu/drm/tinydrm/st7735r.c
+++ b/drivers/gpu/drm/tinydrm/st7735r.c
@@ -171,6 +171,7 @@ static int st7735r_probe(struct spi_device *spi)
mipi->backlight = tinydrm_of_find_backlight(dev);
if (IS_ERR(mipi->backlight))
return PTR_ERR(mipi->backlight);
+ mipi->backlight->props.power = FB_BLANK_UNBLANK;
device_property_read_u32(dev, "rotation", &rotation);
Related dmesg output with printk()'s for debugging:
[ 25.908483] tinydrm/st7735r: st7735r_probe(): mipi->backlight->props=574c5eb5
[ 25.915658] tinydrm/st7735r: st7735r_probe(): mipi->backlight->props.power=0x4
[ 25.922919] tinydrm/st7735r: st7735r_probe(): mipi->backlight->props.power = FB_BLANK_UNBLANK
[ 25.931492] tinydrm/st7735r: st7735r_probe(): mipi->backlight->props.power=0x0
[ 25.938754] tinydrm/st7735r: st7735r_probe(): device_property_read_u32(dev, "rotation", &rotation)
[ 25.947765] tinydrm/st7735r: st7735r_probe(): call mipi_dbi_spi_init()
[ 25.954338] tinydrm/st7735r: st7735r_probe(): mipi_dbi_spi_init(): ret=0
[ 25.961077] tinydrm/st7735r: st7735r_probe(): call mipi_dbi_init()
Did you try the backlight patchset I mentioned in the other thread? It looks like it should solve your problem. This is how backlight is enabled now (in linux-next):
static inline int backlight_enable(struct backlight_device *bd)
{
if (!bd)
return 0;
bd->props.power = FB_BLANK_UNBLANK;
bd->props.fb_blank = FB_BLANK_UNBLANK;
bd->props.state &= ~BL_CORE_FBBLANK;
return backlight_update_status(bd);
}
One problem with the backlight subsystem is that is has 3 properties to enable/disable backlight...
I am using Adafruit 1.8" TFT LCD with a BeagleBone Black. I created a device tree overlay, BB-LCD-ADAFRUIT-18-SPI1-00A0.dts, which will load the tinydrm st7735r driver by David Lechner (@dlech).
I ran into a problem when trying to enable PWM backlight control. I was able to turn on the backlight on by setting
bl_power
to0
(FB_BLANK_UNBLACK
) per comment by @notro:NOTE:
FB_BLANK_UNBLACK
is specified in sysfs-class-backlight@notro also commented that:
I am creating this issue to discussion a patch to st7735r that would set
bl_power
correctly for PWM backlight.