Hi Doug
On Wed, Oct 27, 2021 at 3:13 PM Doug Anderson dianders@chromium.org wrote:
Hi,
On Tue, Oct 26, 2021 at 2:56 PM Philip Chen philipchen@chromium.org wrote:
Conventionally, panel is listed under the root of the device tree. When userland asks for display mode, ps8640 bridge is responsible for returning EDID when ps8640_bridge_get_edid() is called.
Now enable a new option of listing panel under "aux-bus" of ps8640 bridge node in the device tree. In this case, panel driver can retrieve EDID by triggering AUX transactions, without ps8640_bridge_get_edid() calls at all.
To prevent the "old" and "new" options from interfering with each other's logic flow, disable DRM_BRIDGE_OP_EDID when the new option is taken.
Signed-off-by: Philip Chen philipchen@chromium.org Reviewed-by: Stephen Boyd swboyd@chromium.org
(no changes since v3)
Changes in v3:
- Fix when to call of_node_put() in ps8640_of_panel_on_aux_bus()
Changes in v2:
- Add of_node_put() calls in ps8640_of_panel_on_aux_bus()
- Select DRM_DP_AUX_BUS for PS8640 driver in Kconfig
- Replace _put_sync() with _put_sync_suspend() in ps8640_post_disable()
Not that it terribly matters, but I don't think the "put_sync" vs. "put_sync_suspend" was in patch #2/2. It was in #1/2.
Oops, sorry, I did a terrible job separating the changes between patch #1/2 and #2/2. Will retroactively fix v2 change log when I post v5.
drivers/gpu/drm/bridge/Kconfig | 1 + drivers/gpu/drm/bridge/parade-ps8640.c | 51 ++++++++++++++++++++------ 2 files changed, 40 insertions(+), 12 deletions(-)
Reviewed-by: Douglas Anderson dianders@chromium.org