Skip to content

Commit 599760d

Browse files
Roman Lialexdeucher
authored andcommitted
drm/amd/display: Fix Vega10 lightup on S3 resume
[Why] There have been a few reports of Vega10 display remaining blank after S3 resume. The regression is caused by workaround for mode change on Vega10 - skip set_bandwidth if stream count is 0. As a result we skipped dispclk reset on suspend, thus on resume we may skip the clock update assuming it hasn't been changed. On some systems it causes display blank or 'out of range'. [How] Revert "drm/amd/display: Fix Vega10 black screen after mode change" Verified that it hadn't cause mode change regression. Signed-off-by: Roman Li <Roman.Li@amd.com> Reviewed-by: Sun peng Li <Sunpeng.Li@amd.com> Acked-by: Leo Li <sunpeng.li@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent 61ea6f5 commit 599760d

File tree

3 files changed

+1
-18
lines changed

3 files changed

+1
-18
lines changed

drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2560,7 +2560,7 @@ static void pplib_apply_display_requirements(
25602560
dc->prev_display_config = *pp_display_cfg;
25612561
}
25622562

2563-
void dce110_set_bandwidth(
2563+
static void dce110_set_bandwidth(
25642564
struct dc *dc,
25652565
struct dc_state *context,
25662566
bool decrease_allowed)

drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,6 @@ void dce110_fill_display_configs(
6868
const struct dc_state *context,
6969
struct dm_pp_display_configuration *pp_display_cfg);
7070

71-
void dce110_set_bandwidth(
72-
struct dc *dc,
73-
struct dc_state *context,
74-
bool decrease_allowed);
75-
7671
uint32_t dce110_get_min_vblank_time_us(const struct dc_state *context);
7772

7873
void dp_receiver_power_ctrl(struct dc_link *link, bool on);

drivers/gpu/drm/amd/display/dc/dce120/dce120_hw_sequencer.c

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -244,17 +244,6 @@ static void dce120_update_dchub(
244244
dh_data->dchub_info_valid = false;
245245
}
246246

247-
static void dce120_set_bandwidth(
248-
struct dc *dc,
249-
struct dc_state *context,
250-
bool decrease_allowed)
251-
{
252-
if (context->stream_count <= 0)
253-
return;
254-
255-
dce110_set_bandwidth(dc, context, decrease_allowed);
256-
}
257-
258247
void dce120_hw_sequencer_construct(struct dc *dc)
259248
{
260249
/* All registers used by dce11.2 match those in dce11 in offset and
@@ -263,6 +252,5 @@ void dce120_hw_sequencer_construct(struct dc *dc)
263252
dce110_hw_sequencer_construct(dc);
264253
dc->hwss.enable_display_power_gating = dce120_enable_display_power_gating;
265254
dc->hwss.update_dchub = dce120_update_dchub;
266-
dc->hwss.set_bandwidth = dce120_set_bandwidth;
267255
}
268256

0 commit comments

Comments
 (0)