[PATCH 1/3] drm/panel: simple: Add ability to override typical timing
seanpaul at chromium.org
Wed Feb 7 11:27:13 PST 2018
On Wed, Feb 07, 2018 at 11:41:49AM -0600, Rob Herring wrote:
> 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.
Ah! So the dt change you were asking for was just s/override-mode/panel-timing/.
I'll respin a v3 with the improved documentation and reinstate the "panel-timing"
Sean Paul, Software Engineer, Google / Chromium OS
More information about the Linux-rockchip