[PATCH v3 0/3] PWM backlight interpolation adjustments

From: Alexandru Stan
Date: Thu Oct 22 2020 - 01:05:15 EST


I was trying to adjust the brightness-levels for the trogdor boards:
https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/2291209
Like on a lot of panels, trogdor's low end needs to be cropped,
and now that we have the interpolation stuff I wanted to make use of it
and bake in even the curve that's customary to have on chromebooks.

I found the current behavior of the pwm_bl driver a little unintuitive
and non-linear. See patch 1 for a suggested fix for this.

A few veyron dts files were relying on this (perhaps weird) behavior.
Those devices also want a minimum brightness like trogdor, so changed
them to use the new way.

Finally, given that trogdor's dts is part of linux-next now, add the
brightness-levels to it, since that's the original reason I was looking at
this.

Changes in v3:
- Reordered patches, since both dts changes will work just fine
even before the driver change.
- Rewrote a bit of the commit message to describe the new policy,
as Daniel suggested.
- Removed redundant s64 for something that's always positive

Changes in v2:
- Fixed type promotion in the driver
- Removed "backlight: pwm_bl: Artificially add 0% during interpolation",
userspace works just fine without it because it already knows how to use
bl_power for turning off the display.
- Added brightness-levels to trogdor as well, now the dts is upstream.


Alexandru Stan (3):
ARM: dts: rockchip: veyron: Remove 0 point from brightness-levels
arm64: dts: qcom: trogdor: Add brightness-levels
backlight: pwm_bl: Fix interpolation

arch/arm/boot/dts/rk3288-veyron-jaq.dts | 2 +-
arch/arm/boot/dts/rk3288-veyron-minnie.dts | 2 +-
arch/arm/boot/dts/rk3288-veyron-tiger.dts | 2 +-
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 9 +++
drivers/video/backlight/pwm_bl.c | 70 +++++++++-----------
5 files changed, 43 insertions(+), 42 deletions(-)

--
2.28.0