From: JinZe Xu <jinze...@amd.com>

[Why&How]
PMFW needs to flush page cache in IPSExit.

Reviewed-by: Nicholas Kazlauskas <nicholas.kazlaus...@amd.com>
Signed-off-by: JinZe Xu <jinze...@amd.com>
Signed-off-by: Ray Wu <ray...@amd.com>
---
 drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c 
b/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c
index ca6da53f45ad..a3fbb9f5b4a6 100644
--- a/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c
+++ b/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c
@@ -1365,14 +1365,15 @@ static void dc_dmub_srv_exit_low_power_state(const 
struct dc *dc)
                        if (!dc->debug.optimize_ips_handshake || 
!ips_fw->signals.bits.ips2_commit)
                                udelay(dc->debug.ips2_eval_delay_us);
 
-                       if (ips_fw->signals.bits.ips2_commit) {
-                               DC_LOG_IPS(
-                                       "exit IPS2 #1 (ips1_commit=%u 
ips2_commit=%u)",
-                                       ips_fw->signals.bits.ips1_commit,
-                                       ips_fw->signals.bits.ips2_commit);
+                       DC_LOG_IPS(
+                               "exit IPS2 #1 (ips1_commit=%u ips2_commit=%u)",
+                               ips_fw->signals.bits.ips1_commit,
+                               ips_fw->signals.bits.ips2_commit);
 
-                               // Tell PMFW to exit low power state
-                               
dc->clk_mgr->funcs->exit_low_power_state(dc->clk_mgr);
+                       // Tell PMFW to exit low power state
+                       dc->clk_mgr->funcs->exit_low_power_state(dc->clk_mgr);
+
+                       if (ips_fw->signals.bits.ips2_commit) {
 
                                DC_LOG_IPS(
                                        "wait IPS2 entry delay (ips1_commit=%u 
ips2_commit=%u)",
-- 
2.43.0

Reply via email to