Hi, On Wed, Apr 14, 2021 at 9:41 AM Rajeev Nandan <rajeevny@xxxxxxxxxxxxxx> wrote: > > The backlight level of an eDP panel can be controlled through the AUX > channel using DPCD registers of the panel. > > The capability for the Source device to adjust backlight characteristics > within the panel, using the Sink device DPCD registers is indicated by > the TCON_BACKLIGHT_ADJUSTMENT_CAPABLE bit in the EDP_GENERAL_CAPABILITY_1 > register (DPCD Address 701h, bit0). In this configuration, the eDP TCON > receives the backlight level information from the host, through the AUX > channel. > > The changes in this patch series do the following: > - Add drm_dp_aux_backlight_ APIs to support backlight control using DPCD > registers on the DisplayPort AUX channel. > The current version only supports backlight brightness control by the > EDP_BACKLIGHT_BRIGHTNESS_MSB/LSB registers (DPCD Addresses 722h-723h). > - Add support for backlight control of the eDP panel connected to the > ti-sn65dsi86 bridge. > > Rajeev Nandan (3): > drm/dp: Add DisplayPort aux backlight control support > dt-bindings: drm/bridge: ti-sn65dsi86: Document use-aux-backlight > drm/bridge: ti-sn65dsi86: Add DisplayPort aux backlight support > > .../bindings/display/bridge/ti,sn65dsi86.yaml | 8 + > drivers/gpu/drm/Kconfig | 8 + > drivers/gpu/drm/Makefile | 1 + > drivers/gpu/drm/bridge/Kconfig | 1 + > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 26 +++ > drivers/gpu/drm/drm_dp_aux_backlight.c | 191 +++++++++++++++++++++ > include/drm/drm_dp_aux_backlight.h | 29 ++++ > 7 files changed, 264 insertions(+) > create mode 100644 drivers/gpu/drm/drm_dp_aux_backlight.c > create mode 100644 include/drm/drm_dp_aux_backlight.h So I haven't looked in massive detail at this patch series, but the fact that it's touching "ti-sn65dsi86.c" is a red flag. I know in out-of-band communications you said you weren't sure how to do better. ...but, perhaps, if folks don't hate my recent series [1] there may be a way forward. I wonder if perhaps now that the AUX channel can be registered early if it gets around the circular dependency problems and now you can put your code in some combination of the panel code and (maybe?) a new backlight driver if it's generic enough. It's possible that you might need to add some code to be able to look up a "struct drm_dp_aux *" from a device tree node and you might need to add a new device tree property like "ddc-aux-bus" in order to do this, but I don't _think_ that would be controversial? [1] https://lore.kernel.org/r/20210416223950.3586967-1-dianders@xxxxxxxxxxxx -Doug _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel