Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/bridge: ti-sn65dsi86: Add support for the DP AUX bus

We want to provide our panel with access to the DP AUX channel. The
way to do this is to let our panel be a child of ours using the fancy
new DP AUX bus support.

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.8.Ib5fe0638da85800141ce141bb8e441c5f25438d4@changeid

+7
+1
drivers/gpu/drm/bridge/Kconfig
··· 303 303 select DRM_PANEL 304 304 select DRM_MIPI_DSI 305 305 select AUXILIARY_BUS 306 + select DRM_DP_AUX_BUS 306 307 help 307 308 Texas Instruments SN65DSI86 DSI to eDP Bridge driver 308 309
+6
drivers/gpu/drm/bridge/ti-sn65dsi86.c
··· 23 23 #include <drm/drm_atomic.h> 24 24 #include <drm/drm_atomic_helper.h> 25 25 #include <drm/drm_bridge.h> 26 + #include <drm/drm_dp_aux_bus.h> 26 27 #include <drm/drm_dp_helper.h> 27 28 #include <drm/drm_mipi_dsi.h> 28 29 #include <drm/drm_of.h> ··· 1427 1426 const struct auxiliary_device_id *id) 1428 1427 { 1429 1428 struct ti_sn65dsi86 *pdata = dev_get_drvdata(adev->dev.parent); 1429 + int ret; 1430 1430 1431 1431 pdata->aux.name = "ti-sn65dsi86-aux"; 1432 1432 pdata->aux.dev = &adev->dev; 1433 1433 pdata->aux.transfer = ti_sn_aux_transfer; 1434 1434 drm_dp_aux_init(&pdata->aux); 1435 + 1436 + ret = devm_of_dp_aux_populate_ep_devices(&pdata->aux); 1437 + if (ret) 1438 + return ret; 1435 1439 1436 1440 /* 1437 1441 * The eDP to MIPI bridge parts don't work until the AUX channel is