return display_count;
 }
 
+int clk_mgr_helper_get_active_plane_cnt(
+               struct dc *dc,
+               struct dc_state *context)
+{
+       int i, total_plane_count;
+
+       total_plane_count = 0;
+       for (i = 0; i < context->stream_count; i++) {
+               const struct dc_stream_status stream_status = context->stream_status[i];
+
+               /*
+                * Sum up plane_count for all streams ( active and virtual ).
+                */
+               total_plane_count += stream_status.plane_count;
+       }
+
+       return total_plane_count;
+}
+
 void clk_mgr_exit_optimized_pwr_state(const struct dc *dc, struct clk_mgr *clk_mgr)
 {
        struct dc_link *edp_link = get_edp_link(dc);
 
        bool dpp_clock_lowered = false;
        struct dmcu *dmcu = clk_mgr_base->ctx->dc->res_pool->dmcu;
        bool force_reset = false;
+       bool p_state_change_support;
+       int total_plane_count;
 
        if (dc->work_arounds.skip_clock_update)
                return;
                        pp_smu->set_hard_min_socclk_by_freq(&pp_smu->pp_smu, clk_mgr_base->clks.socclk_khz / 1000);
        }
 
-       if (should_update_pstate_support(safe_to_lower, new_clocks->p_state_change_support, clk_mgr_base->clks.p_state_change_support)) {
+       total_plane_count = clk_mgr_helper_get_active_plane_cnt(dc, context);
+       p_state_change_support = new_clocks->p_state_change_support || (total_plane_count == 0);
+       if (should_update_pstate_support(safe_to_lower, p_state_change_support, clk_mgr_base->clks.p_state_change_support)) {
                clk_mgr_base->clks.prev_p_state_change_support = clk_mgr_base->clks.p_state_change_support;
-               clk_mgr_base->clks.p_state_change_support = new_clocks->p_state_change_support;
+               clk_mgr_base->clks.p_state_change_support = p_state_change_support;
                if (pp_smu && pp_smu->set_pstate_handshake_support)
                        pp_smu->set_pstate_handshake_support(&pp_smu->pp_smu, clk_mgr_base->clks.p_state_change_support);
        }