diff options
author | Álvaro Fernández Rojas <noltari@gmail.com> | 2022-05-16 23:40:32 +0200 |
---|---|---|
committer | Álvaro Fernández Rojas <noltari@gmail.com> | 2022-05-17 15:11:22 +0200 |
commit | 20ea6adbf199097c4f5f591ffee088340630dae4 (patch) | |
tree | d6719d95e136611a1c25bbf7789652d6d402779d /target/linux/bcm27xx/patches-5.15/950-0587-regulator-rpi-panel-attiny-Don-t-read-the-LCD-power-.patch | |
parent | bca05bd072180dc38ef740b37ded9572a6db1981 (diff) | |
download | upstream-20ea6adbf199097c4f5f591ffee088340630dae4.tar.gz upstream-20ea6adbf199097c4f5f591ffee088340630dae4.tar.bz2 upstream-20ea6adbf199097c4f5f591ffee088340630dae4.zip |
bcm27xx: add support for linux v5.15
Build system: x86_64
Build-tested: bcm2708, bcm2709, bcm2710, bcm2711
Run-tested: bcm2708/RPiB+, bcm2709/RPi3B, bcm2710/RPi3B, bcm2711/RPi4B
Signed-off-by: Marty Jones <mj8263788@gmail.com>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/bcm27xx/patches-5.15/950-0587-regulator-rpi-panel-attiny-Don-t-read-the-LCD-power-.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.15/950-0587-regulator-rpi-panel-attiny-Don-t-read-the-LCD-power-.patch | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.15/950-0587-regulator-rpi-panel-attiny-Don-t-read-the-LCD-power-.patch b/target/linux/bcm27xx/patches-5.15/950-0587-regulator-rpi-panel-attiny-Don-t-read-the-LCD-power-.patch new file mode 100644 index 0000000000..95bbfe15b8 --- /dev/null +++ b/target/linux/bcm27xx/patches-5.15/950-0587-regulator-rpi-panel-attiny-Don-t-read-the-LCD-power-.patch @@ -0,0 +1,46 @@ +From 76035ed0bd7fcc2c0af5a038139b50231b95fa37 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson <dave.stevenson@raspberrypi.com> +Date: Mon, 29 Nov 2021 18:31:37 +0000 +Subject: [PATCH] regulator/rpi-panel-attiny: Don't read the LCD power + status + +The I2C to the Atmel is very fussy, and locks up easily on +Pi0-3 particularly on reads. + +The LCD power status is controlled solely by this driver, so +rather than reading it back from the Atmel, use the cached +status last set. + +Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> +--- + drivers/regulator/rpi-panel-attiny-regulator.c | 18 +----------------- + 1 file changed, 1 insertion(+), 17 deletions(-) + +--- a/drivers/regulator/rpi-panel-attiny-regulator.c ++++ b/drivers/regulator/rpi-panel-attiny-regulator.c +@@ -144,24 +144,8 @@ static int attiny_lcd_power_disable(stru + static int attiny_lcd_power_is_enabled(struct regulator_dev *rdev) + { + struct attiny_lcd *state = rdev_get_drvdata(rdev); +- unsigned int data; +- int ret, i; + +- mutex_lock(&state->lock); +- +- for (i = 0; i < 10; i++) { +- ret = regmap_read(rdev->regmap, REG_PORTC, &data); +- if (!ret) +- break; +- usleep_range(10000, 12000); +- } +- +- mutex_unlock(&state->lock); +- +- if (ret < 0) +- return ret; +- +- return data & PC_RST_BRIDGE_N; ++ return state->port_states[REG_PORTC - REG_PORTA] & PC_RST_BRIDGE_N; + } + + static const struct regulator_init_data attiny_regulator_default = { |