Add the connected and link_ready states to the debug logs for [un]plug and HPD IRQ handling.
Signed-off-by: Jessica Zhang <jessica.zh...@oss.qualcomm.com> --- drivers/gpu/drm/msm/dp/dp_display.c | 38 ++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c index 32e1ee40c2c3..6cff87e4ad9a 100644 --- a/drivers/gpu/drm/msm/dp/dp_display.c +++ b/drivers/gpu/drm/msm/dp/dp_display.c @@ -543,7 +543,9 @@ static int msm_dp_display_usbpd_attention_cb(struct device *dev) rc = msm_dp_link_process_request(dp->link); if (!rc) { sink_request = dp->link->sink_request; - drm_dbg_dp(dp->drm_dev, "sink_request=%d\n", sink_request); + drm_dbg_dp(dp->drm_dev, "sink_request=%d connected=%d\n", + sink_request, dp->msm_dp_display.connected); + if (sink_request & DS_PORT_STATUS_CHANGED) rc = msm_dp_display_handle_port_status_changed(dp); else @@ -562,8 +564,10 @@ static int msm_dp_hpd_plug_handle(struct msm_dp_display_private *dp, u32 data) mutex_lock(&dp->event_mutex); - drm_dbg_dp(dp->drm_dev, "Before, type=%d\n", - dp->msm_dp_display.connector_type); + drm_dbg_dp(dp->drm_dev, "Before, type=%d connected=%d, link_ready=%d\n", + dp->msm_dp_display.connector_type, + dp->msm_dp_display.connected, + dp->msm_dp_display.link_ready); if (dp->msm_dp_display.link_ready) { mutex_unlock(&dp->event_mutex); @@ -585,8 +589,9 @@ static int msm_dp_hpd_plug_handle(struct msm_dp_display_private *dp, u32 data) pm_runtime_put_sync(&pdev->dev); } - drm_dbg_dp(dp->drm_dev, "After, type=%d\n", - dp->msm_dp_display.connector_type); + drm_dbg_dp(dp->drm_dev, "After, type=%d connected=%d\n", + dp->msm_dp_display.connector_type, + dp->msm_dp_display.connected); mutex_unlock(&dp->event_mutex); /* uevent will complete connection part */ @@ -615,8 +620,11 @@ static int msm_dp_hpd_unplug_handle(struct msm_dp_display_private *dp, u32 data) mutex_lock(&dp->event_mutex); - drm_dbg_dp(dp->drm_dev, "Before, type=%d\n", - dp->msm_dp_display.connector_type); + drm_dbg_dp(dp->drm_dev, "Before, type=%d connected=%d, link_ready=%d, sink_count=%d\n", + dp->msm_dp_display.connector_type, + dp->msm_dp_display.connected, + dp->msm_dp_display.link_ready, + dp->link->sink_count); if (!dp->msm_dp_display.link_ready) { mutex_unlock(&dp->event_mutex); @@ -641,8 +649,9 @@ static int msm_dp_hpd_unplug_handle(struct msm_dp_display_private *dp, u32 data) /* signal the disconnect event early to ensure proper teardown */ msm_dp_display_handle_plugged_change(&dp->msm_dp_display, false); - drm_dbg_dp(dp->drm_dev, "After, type=%d\n", - dp->msm_dp_display.connector_type); + drm_dbg_dp(dp->drm_dev, "After, type=%d connected=%d\n", + dp->msm_dp_display.connector_type, + dp->msm_dp_display.connected); /* uevent will complete disconnection part */ pm_runtime_put_sync(&pdev->dev); @@ -655,8 +664,10 @@ static int msm_dp_irq_hpd_handle(struct msm_dp_display_private *dp, u32 data) mutex_lock(&dp->event_mutex); /* irq_hpd can happen at either connected or disconnected state */ - drm_dbg_dp(dp->drm_dev, "Before, type=%d\n", - dp->msm_dp_display.connector_type); + drm_dbg_dp(dp->drm_dev, "Before, type=%d connected=%d, link_ready=%d\n", + dp->msm_dp_display.connector_type, + dp->msm_dp_display.connected, + dp->msm_dp_display.link_ready); if (dp->msm_dp_display.link_ready != dp->msm_dp_display.connected) { /* wait until connect/disconnect handling is completed */ @@ -667,8 +678,9 @@ static int msm_dp_irq_hpd_handle(struct msm_dp_display_private *dp, u32 data) msm_dp_display_usbpd_attention_cb(&dp->msm_dp_display.pdev->dev); - drm_dbg_dp(dp->drm_dev, "After, type=%d\n", - dp->msm_dp_display.connector_type); + drm_dbg_dp(dp->drm_dev, "After, type=%d connected=%d\n", + dp->msm_dp_display.connector_type, + dp->msm_dp_display.connected); mutex_unlock(&dp->event_mutex); -- 2.50.1