[PATCH 1/3] drm/panel: simple: Add ability to override typical timing

Rob Herring robh+dt at kernel.org
Wed Feb 7 09:41:49 PST 2018


On Tue, Feb 6, 2018 at 3:48 PM, Sean Paul <seanpaul at chromium.org> wrote:
> On Tue, Feb 06, 2018 at 02:19:34PM -0600, Rob Herring wrote:
>> On Tue, Feb 6, 2018 at 10:56 AM, Sean Paul <seanpaul at chromium.org> wrote:
>> > This patch adds the ability to override the typical display timing for a
>> > given panel. This is useful for devices which have timing constraints
>> > that do not apply across the entire display driver (eg: to avoid
>> > crosstalk between panel and digitizer on certain laptops). The rules are
>> > as follows:
>> >
>> > - panel must not specify fixed mode (since the override mode will
>> >   either be the same as the fixed mode, or we'll be unable to
>> >   check the bounds of the overried)
>> > - panel must specify at least one display_timing range which will be
>> >   used to ensure the override mode fits within its bounds
>> >
>> > Cc: Doug Anderson <dianders at chromium.org>
>> > Cc: Heiko Stuebner <heiko at sntech.de>
>> > Cc: Jeffy Chen <jeffy.chen at rock-chips.com>
>> > Cc: Rob Herring <robh+dt at kernel.org>
>> > Cc: Stéphane Marchesin <marcheu at chromium.org>
>> > Cc: Thierry Reding <thierry.reding at gmail.com>
>> > Cc: devicetree at vger.kernel.org
>> > Cc: dri-devel at lists.freedesktop.org
>> > Cc: linux-rockchip at lists.infradead.org
>> > Signed-off-by: Sean Paul <seanpaul at chromium.org>
>> > ---
>> >  .../bindings/display/panel/simple-panel.txt        | 20 +++++++
>>
>> The binding should be a separate patch.
>>
>
> Ack, will split.
>
>
>> >  drivers/gpu/drm/panel/panel-simple.c               | 69 +++++++++++++++++++++-
>> >  2 files changed, 88 insertions(+), 1 deletion(-)
>> >
>> > diff --git a/Documentation/devicetree/bindings/display/panel/simple-panel.txt b/Documentation/devicetree/bindings/display/panel/simple-panel.txt
>> > index 16d8ff088b7d..590bbff6fc90 100644
>> > --- a/Documentation/devicetree/bindings/display/panel/simple-panel.txt
>> > +++ b/Documentation/devicetree/bindings/display/panel/simple-panel.txt
>> > @@ -7,6 +7,14 @@ Optional properties:
>> >  - ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
>> >  - enable-gpios: GPIO pin to enable or disable the panel
>> >  - backlight: phandle of the backlight device attached to the panel
>> > +- override-mode: For devices which require a mode which differs from the
>>
>> This is not a property, but a node so it needs its own section.
>>
>> Also, it's not real clear from display-timing.txt, but the modes
>> should be grouped under a display-timings node. Looks like we haven't
>> been good at enforcing that as "panel-timing" is also common when
>> there's a single mode. I'd rather not have another way. With a
>> standard node name, we can validate the node more easily.
>>
>> We'd lose the fact that this is explicitly an override, but I'd doubt
>> Thierry is going to start letting in panels with no timings.
>>
>
> Yeah, I noticed that the timing subnode was specified as nestled in
> display-timings. I figured since there can only be one override mode, and the
> of_get_display_timing function was exported, it would be Ok to just reuse the
> format of the subnode. I'll respin with the full thing.

TBC, I'm fine if you use panel-timing as that's already established
for cases were only 1 mode exists.

Rob



More information about the Linux-rockchip mailing list