View | Details | Raw Unified | Return to bug 215436 | Differences between
and this patch

Collapse All | Expand All

(-)a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c (-2 / +4 lines)
Lines 23-28 Link Here
23
 *
23
 *
24
 */
24
 */
25
25
26
#include "amdgpu.h"
27
26
#include "dccg.h"
28
#include "dccg.h"
27
#include "clk_mgr_internal.h"
29
#include "clk_mgr_internal.h"
28
30
Lines 126-131 static void rn_update_clocks(struct clk_mgr *clk_mgr_base, Link Here
126
			bool safe_to_lower)
128
			bool safe_to_lower)
127
{
129
{
128
	struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
130
	struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
131
	struct amdgpu_device *adev = clk_mgr_base->ctx->driver_context;
129
	struct dc_clocks *new_clocks = &context->bw_ctx.bw.dcn.clk;
132
	struct dc_clocks *new_clocks = &context->bw_ctx.bw.dcn.clk;
130
	struct dc *dc = clk_mgr_base->ctx->dc;
133
	struct dc *dc = clk_mgr_base->ctx->dc;
131
	int display_count;
134
	int display_count;
Lines 157-163 static void rn_update_clocks(struct clk_mgr *clk_mgr_base, Link Here
157
			}
160
			}
158
161
159
			/* if we can go lower, go lower */
162
			/* if we can go lower, go lower */
160
			if (display_count == 0 && !hpd_state) {
163
			if (display_count == 0 && (adev->in_s0ix || !hpd_state)) {
161
				rn_vbios_smu_set_dcn_low_power_state(clk_mgr, DCN_PWR_STATE_LOW_POWER);
164
				rn_vbios_smu_set_dcn_low_power_state(clk_mgr, DCN_PWR_STATE_LOW_POWER);
162
				/* update power state */
165
				/* update power state */
163
				clk_mgr_base->clks.pwr_state = DCN_PWR_STATE_LOW_POWER;
166
				clk_mgr_base->clks.pwr_state = DCN_PWR_STATE_LOW_POWER;
164
- 

Return to bug 215436