]> git.baikalelectronics.ru Git - kernel.git/commit
drm: Introduce the DP AUX bus
authorDouglas Anderson <dianders@chromium.org>
Fri, 11 Jun 2021 17:17:40 +0000 (10:17 -0700)
committerDouglas Anderson <dianders@chromium.org>
Fri, 11 Jun 2021 19:30:39 +0000 (12:30 -0700)
commitf914cea52f8f1fc7b7cbd6287849907b03257a18
tree20da9af095cae0f64efb6728308e3c24da4f4127
parent236f3eb5cf63bfe2bd0e2c19e4081a6e9f407902
drm: Introduce the DP AUX bus

Historically "simple" eDP panels have been handled by panel-simple
which is a basic platform_device. In the device tree, the panel node
was at the top level and not connected to anything else.

Let's change it so that, instead, panels can be represented as being
children of the "DP AUX bus". Essentially we're saying that the
hierarchy that we're going to represent is the "control" connections
between devices. The DP AUX bus is a control bus provided by an eDP
controller (the parent) and consumed by a device like a panel (the
child).

The primary incentive here is to cleanly provide the panel driver the
ability to communicate over the AUX bus while handling lifetime issues
properly. The panel driver may want the AUX bus for controlling the
backlight or querying the panel's EDID.

The idea for this bus's design was hashed out over IRC [1].

[1] https://people.freedesktop.org/~cbrill/dri-log/?channel=dri-devel&date=2021-05-11

Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Rajeev Nandan <rajeevny@codeaurora.org>
Suggested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210611101711.v10.4.I787c9ba09ed5ce12500326ded73a4f7c9265b1b3@changeid
drivers/gpu/drm/Kconfig
drivers/gpu/drm/Makefile
drivers/gpu/drm/drm_dp_aux_bus.c [new file with mode: 0644]
include/drm/drm_dp_aux_bus.h [new file with mode: 0644]