2020-09-21 16:59:33

by Guido Günther

[permalink] [raw]
Subject: [RFC PATCH v1 0/3] drm/panel: mantix panel reset fixes


Posting as RFC since I'm not sure how to handle the bindings, please see below.

The first patch in this series fixes dereferencing a NULL mode in the error
path. The second one extends the resets to not only reset RESX but also TP_RSTN
since otherwise the display will stay completely blank. I didn't spot that
before initial submission since the reset line was bound to the touch
controller and although that failed to probe it came far enough to deassert the
reset line (at an arbitrary point in time during boot) and hence we got a
picture. Since touch and panel are on the same IC they're not completely
independent and i might have to turn the whole thing into an MFD at some point
but this series gets the panel to a reliably working state on boot and on fb
blank/unblank.

Since the reset-gpios are active low we can deassert in prepare and assert in
unprepare simplifying the code making sure lines are kept low when the
panel is off.

As for the bindings it seems I can't override the maxItems of reset-gpios since
that is already set in bindings/display/panel/panel-common.yaml to maxItems:
1`. Is there a way to do that instead of side stepping the issue and using
a different name or using enable-gpios for one of them or forcing everyone else
to set `maxItems: 1`?

The binding were not part of a stable kernel so I hope it's okay to not worry
about backward compatibility.

Guido Günther (3):
drm/panel: mantix: Don't dereference NULL mode
drm/panel: mantix: Fix panel reset
dt-binding: display: Require two rests on mantix panel

.../display/panel/mantix,mlaf057we51-x.yaml | 7 +++-
.../gpu/drm/panel/panel-mantix-mlaf057we51.c | 39 ++++++++++++-------
2 files changed, 30 insertions(+), 16 deletions(-)

--
2.26.2