drm/bridge_connector: stop filtering events in drm_bridge_connector_hpd_cb()
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Mon, 9 Oct 2023 17:40:47 +0000 (20:40 +0300)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Wed, 11 Oct 2023 10:20:22 +0000 (13:20 +0300)
In some cases the bridge drivers would like to receive hotplug events
even in the case new status is equal to the old status. In the DP case
this is used to deliver "attention" messages to the DP host. Stop
filtering the events in the drm_bridge_connector_hpd_cb() and let
drivers decide whether they would like to receive the event or not.

Reviewed-by: Janne Grunau <j@jannau.net>
Link: https://lore.kernel.org/r/20231009174048.2695981-3-dmitry.baryshkov@linaro.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20231009174048.2695981-3-dmitry.baryshkov@linaro.org
drivers/gpu/drm/drm_bridge_connector.c

index 31baf1f5ff8162ddded682258b2017c4bdb2294e..70582491d9557c780031bcceb58749fe9b4e4c41 100644 (file)
@@ -113,16 +113,11 @@ static void drm_bridge_connector_hpd_cb(void *cb_data,
        struct drm_bridge_connector *drm_bridge_connector = cb_data;
        struct drm_connector *connector = &drm_bridge_connector->base;
        struct drm_device *dev = connector->dev;
-       enum drm_connector_status old_status;
 
        mutex_lock(&dev->mode_config.mutex);
-       old_status = connector->status;
        connector->status = status;
        mutex_unlock(&dev->mode_config.mutex);
 
-       if (old_status == status)
-               return;
-
        drm_bridge_connector_hpd_notify(connector, status);
 
        drm_kms_helper_connector_hotplug_event(connector);