| From b074e2ee61692a419b6ca9c76a1963572abb8dbe Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 20 Apr 2022 21:50:07 +0800 |
| Subject: drm/vc4: Use pm_runtime_resume_and_get to fix pm_runtime_get_sync() |
| usage |
| |
| From: Miaoqian Lin <linmq006@gmail.com> |
| |
| [ Upstream commit 3d0b93d92a2790337aa9d18cb332d02356a24126 ] |
| |
| If the device is already in a runtime PM enabled state |
| pm_runtime_get_sync() will return 1. |
| |
| Also, we need to call pm_runtime_put_noidle() when pm_runtime_get_sync() |
| fails, so use pm_runtime_resume_and_get() instead. this function |
| will handle this. |
| |
| Fixes: 4078f5757144 ("drm/vc4: Add DSI driver") |
| Signed-off-by: Miaoqian Lin <linmq006@gmail.com> |
| Signed-off-by: Maxime Ripard <maxime@cerno.tech> |
| Link: https://patchwork.freedesktop.org/patch/msgid/20220420135008.2757-1-linmq006@gmail.com |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/gpu/drm/vc4/vc4_dsi.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/gpu/drm/vc4/vc4_dsi.c b/drivers/gpu/drm/vc4/vc4_dsi.c |
| index c78fa8144776..0983949cc8c9 100644 |
| --- a/drivers/gpu/drm/vc4/vc4_dsi.c |
| +++ b/drivers/gpu/drm/vc4/vc4_dsi.c |
| @@ -831,7 +831,7 @@ static void vc4_dsi_encoder_enable(struct drm_encoder *encoder) |
| unsigned long phy_clock; |
| int ret; |
| |
| - ret = pm_runtime_get_sync(dev); |
| + ret = pm_runtime_resume_and_get(dev); |
| if (ret) { |
| DRM_ERROR("Failed to runtime PM enable on DSI%d\n", dsi->port); |
| return; |
| -- |
| 2.35.1 |
| |