[RFC 0/2] backlight: pwm_bl: support linear brightness to human eye

From: Enric Balletbo i Serra
Date: Mon Sep 04 2017 - 11:36:00 EST


Dear all,

This patch series is a first RFC to know your opinion about implement
support to create brightness levels tables dinamically. I tried to argue
in every patch the specific reasons we think this can be interesting, to
sumup, the idea behind these patches is be able to pass via device tree
two parameters to the driver so it can calculate the brightness levels
based on the CIE 1931 lightness formula, which is what actually describes
how we perceive light.

I think that at least the maths involved can be improved, and I've still
some doubts. With current code if you create a table with a max PWM
value of 255 and 127 steps, the first numbers are repeated so I'm thinking
that maybe we should skip/remove the repeated values. i.e. have a table
like this,

[0, 1, 2, 3 ... 235, 240, 245, 250, 255]

instead of

[0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3 ... 235, 240, 245, 250, 255]

Well, I know there are things to improve but lets see your feedback first
before dedicate more time on it. The patches were tested on a couple of
devices but I'll test on more devices meanwhile we discuss about it.

Best regards,

Enric Balletbo i Serra (2):
dt-bindings: pwm-backlight: add brightness-levels-scale property
backlight: pwm_bl: compute brightness of LED linearly to human eye.

.../bindings/leds/backlight/pwm-backlight.txt | 21 ++++
drivers/video/backlight/pwm_bl.c | 111 +++++++++++++++++++--
2 files changed, 123 insertions(+), 9 deletions(-)

--
2.9.3