Hi, On 29/04/2022 21:51, Dmitry Baryshkov wrote:
From all the drivers using drm_bridge_connector only iMX/dcss and OMAP DRM driver do a proper work of calling drm_bridge_connector_en/disable_hpd() in right places. Rather than teaching each and every driver how to properly handle drm_bridge_connector's HPD, make that automatic. Add two additional drm_connector helper funcs: enable_hpd() and disable_hpd(). Make drm_kms_helper_poll_* functions call them (as this is the time where the drm_bridge_connector's functions are called by the drivers too).
09077bc3116581f4d1cb961ec359ad56586e370b ("drm/bridge_connector: enable HPD by default if supported") was merged in March, but I think that one is bit broken (https://lore.kernel.org/all/a28a4858-c66a-6737-a9fc-502f591ba2d5@xxxxxxxxxxxxxxxx/). To get omapdrm work without WARNs we could just revert that commit, but I think this series makes things cleaner.
There's one small problem with this series: in drm_bridge_connector.c the drm_bridge_hpd_disable() function is called from _drm_bridge_connector_disable_hpd() and from drm_bridge_connector_destroy(). This causes two hpd_disable calls when removing the driver modules. I think the call from drm_bridge_connector_destroy() could be removed, as _drm_bridge_connector_disable_hpd() should always get called when removing the drivers.
Dmitry, are you still interested in this series? Can you rebase on top of current upstream, and revert 09077bc3116581f4d1cb961ec359ad56586e370b first?
Tomi