From f7d98ba8c30bbc5b29bf740f28bf2daeeec09d2b Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 4 Nov 2021 14:04:37 +0100 Subject: [PATCH] drm/vc4: kms: Move clock request to our HVS state Our current clock request has been stored so far on the main HVS structure, but even though we shouldn't have two commits in parallel and it shouldn't cause any functional change, the request itself is linked to a given HVS state. Move the request there to make a bit more sense. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/vc4/vc4_drv.h | 1 - drivers/gpu/drm/vc4/vc4_kms.c | 8 +++++--- 2 files changed, 5 insertions(+), 4 deletions(-) --- a/drivers/gpu/drm/vc4/vc4_drv.h +++ b/drivers/gpu/drm/vc4/vc4_drv.h @@ -326,7 +326,6 @@ struct vc4_hvs { u32 __iomem *dlist; struct clk *core_clk; - struct clk_request *core_req; /* Memory manager for CRTCs to allocate space in the display * list. Units are dwords. --- a/drivers/gpu/drm/vc4/vc4_kms.c +++ b/drivers/gpu/drm/vc4/vc4_kms.c @@ -40,6 +40,7 @@ static struct vc4_ctm_state *to_vc4_ctm_ struct vc4_hvs_state { struct drm_private_state base; unsigned long core_clock_rate; + struct clk_request *core_req; struct { unsigned in_use: 1; @@ -398,7 +399,8 @@ static void vc4_atomic_commit_tail(struc * And remove the previous one based on the HVS * requirements if any. */ - clk_request_done(hvs->core_req); + clk_request_done(old_hvs_state->core_req); + old_hvs_state->core_req = NULL; } drm_atomic_helper_commit_modeset_disables(dev, state); @@ -432,8 +434,8 @@ static void vc4_atomic_commit_tail(struc * Request a clock rate based on the current HVS * requirements. */ - hvs->core_req = clk_request_start(hvs->core_clk, - new_hvs_state->core_clock_rate); + new_hvs_state->core_req = clk_request_start(hvs->core_clk, + new_hvs_state->core_clock_rate); /* And drop the temporary request */ clk_request_done(core_req);