Re: [PATCH 1/2] drm/msm/dp: fix runtime PM leak on disconnect

2024-03-13 Thread Abhinav Kumar




On 3/13/2024 9:43 AM, Johan Hovold wrote:

Make sure to put the runtime PM usage count (and suspend) also when
receiving a disconnect event while in the ST_MAINLINK_READY state.

This specifically avoids leaking a runtime PM usage count on every
disconnect with display servers that do not automatically enable
external displays when receiving a hotplug notification.



Thanks for the fixes. Both look right to me.

I will pick up both of them for -fixes

Reviewed-by: Abhinav Kumar 




Fixes: 5814b8bf086a ("drm/msm/dp: incorporate pm_runtime framework into DP 
driver")
Cc: sta...@vger.kernel.org  # 6.8
Cc: Kuogee Hsieh 
Signed-off-by: Johan Hovold 
---
  drivers/gpu/drm/msm/dp/dp_display.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c 
b/drivers/gpu/drm/msm/dp/dp_display.c
index 4c72124ffb5d..8e8cf531da45 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -655,6 +655,7 @@ static int dp_hpd_unplug_handle(struct dp_display_private 
*dp, u32 data)
dp_display_host_phy_exit(dp);
dp->hpd_state = ST_DISCONNECTED;
dp_display_notify_disconnect(>dp_display.pdev->dev);
+   pm_runtime_put_sync(>dev);
mutex_unlock(>event_mutex);
return 0;
}


[PATCH 1/2] drm/msm/dp: fix runtime PM leak on disconnect

2024-03-13 Thread Johan Hovold
Make sure to put the runtime PM usage count (and suspend) also when
receiving a disconnect event while in the ST_MAINLINK_READY state.

This specifically avoids leaking a runtime PM usage count on every
disconnect with display servers that do not automatically enable
external displays when receiving a hotplug notification.

Fixes: 5814b8bf086a ("drm/msm/dp: incorporate pm_runtime framework into DP 
driver")
Cc: sta...@vger.kernel.org  # 6.8
Cc: Kuogee Hsieh 
Signed-off-by: Johan Hovold 
---
 drivers/gpu/drm/msm/dp/dp_display.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c 
b/drivers/gpu/drm/msm/dp/dp_display.c
index 4c72124ffb5d..8e8cf531da45 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -655,6 +655,7 @@ static int dp_hpd_unplug_handle(struct dp_display_private 
*dp, u32 data)
dp_display_host_phy_exit(dp);
dp->hpd_state = ST_DISCONNECTED;
dp_display_notify_disconnect(>dp_display.pdev->dev);
+   pm_runtime_put_sync(>dev);
mutex_unlock(>event_mutex);
return 0;
}
-- 
2.43.2