[Freedreno] [PATCH v3 0/7] drm/bridge_connector: perform HPD enablement automatically
Laurentiu Palcu
laurentiu.palcu at oss.nxp.com
Mon Jan 9 16:21:40 UTC 2023
Hi Dmitry,
It looks like there are some issues with this patchset... :/ I just
fetched the drm-tip and, with these patches included, the "Hot plug
detection already enabled" warning is back for i.MX DCSS.
After a short investigation, it seems that we end up calling
drm_bridge_hpd_enable() from both drm_kms_helper_poll_init() and
drm_fbdev_generic_setup(), hence the warning.
There are drivers using the drm_bridge_connector API that also call
drm_kms_helper_poll_init() followed by drm_fbdev_generic_setup(). So,
they might experience the same behavior, unless I'm missing something...
:/
Also, even if drm_fbdev_generic_setup() is not called in the driver
initialization, the warning will still appear the first time the
GETCONNECTOR ioctl is called, because that'll call
drm_helper_probe_single_connector_modes() helper which will eventually
call drm_bridge_hpd_enable().
Any idea?
Cheers,
Laurentiu
On Wed, Nov 02, 2022 at 09:06:58PM +0300, 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).
>
> Changes since v2:
> - Fixed a typo in the commit message of the second patch.
>
> Changes since v1:
> - Rebased on top of v6.1-rc1
> - Removed the drm_bridge_connector_enable_hpd() from
> drm_bridge_connector_init()
> - Removed extra underscore prefix from
> drm_bridge_connector_en/disable_hpd() helpers
>
> Dmitry Baryshkov (7):
> drm/poll-helper: merge drm_kms_helper_poll_disable() and _fini()
> drm/probe-helper: enable and disable HPD on connectors
> drm/bridge_connector: rely on drm_kms_helper_poll_* for HPD enablement
> drm/imx/dcss: stop using drm_bridge_connector_en/disable_hpd()
> drm/msm/hdmi: stop using drm_bridge_connector_en/disable_hpd()
> drm/omap: stop using drm_bridge_connector_en/disable_hpd()
> drm/bridge_connector: drop drm_bridge_connector_en/disable_hpd()
>
> drivers/gpu/drm/drm_bridge_connector.c | 27 +++-------------
> drivers/gpu/drm/drm_probe_helper.c | 40 ++++++++++++++++++-----
> drivers/gpu/drm/imx/dcss/dcss-dev.c | 4 ---
> drivers/gpu/drm/imx/dcss/dcss-kms.c | 2 --
> drivers/gpu/drm/msm/hdmi/hdmi.c | 2 --
> drivers/gpu/drm/omapdrm/omap_drv.c | 41 ------------------------
> include/drm/drm_bridge_connector.h | 2 --
> include/drm/drm_modeset_helper_vtables.h | 22 +++++++++++++
> 8 files changed, 59 insertions(+), 81 deletions(-)
>
> --
> 2.35.1
>
More information about the Freedreno
mailing list