Skip to content

Commit 0b15b1e

Browse files
Duncan Maalexdeucher
authored andcommitted
drm/amd/display: Correct dram channel width for dcn314
[Why] The interpretation of the number of memory channels differ by memory type, and this affects channel width for the DML input. [How] Set dram channel width according to memory type for dcn314. Tested-by: Daniel Wheeler <[email protected]> Reviewed-by: Nicholas Kazlauskas <[email protected]> Reviewed-by: Jun Lei <[email protected]> Acked-by: Pavle Kotarac <[email protected]> Signed-off-by: Duncan Ma <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
1 parent 82c4018 commit 0b15b1e

File tree

3 files changed

+6
-0
lines changed

3 files changed

+6
-0
lines changed

drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -670,6 +670,8 @@ static void dcn314_clk_mgr_helper_populate_bw_params(struct clk_mgr_internal *cl
670670
}
671671
ASSERT(bw_params->clk_table.entries[i-1].dcfclk_mhz);
672672
bw_params->vram_type = bios_info->memory_type;
673+
674+
bw_params->dram_channel_width_bytes = bios_info->memory_type == 0x22 ? 8 : 4;
673675
bw_params->num_channels = bios_info->ma_channel_number ? bios_info->ma_channel_number : 4;
674676

675677
for (i = 0; i < WM_SET_COUNT; i++) {

drivers/gpu/drm/amd/display/dc/dml/dcn314/dcn314_fpu.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,9 @@ void dcn314_update_bw_bounding_box_fpu(struct dc *dc, struct clk_bw_params *bw_p
194194
dcn3_14_ip.max_num_otg = dc->res_pool->res_cap->num_timing_generator;
195195
dcn3_14_ip.max_num_dpp = dc->res_pool->pipe_count;
196196

197+
if (bw_params->dram_channel_width_bytes > 0)
198+
dcn3_14_soc.dram_channel_width_bytes = bw_params->dram_channel_width_bytes;
199+
197200
if (bw_params->num_channels > 0)
198201
dcn3_14_soc.num_chans = bw_params->num_channels;
199202

drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,7 @@ struct dummy_pstate_entry {
214214
struct clk_bw_params {
215215
unsigned int vram_type;
216216
unsigned int num_channels;
217+
unsigned int dram_channel_width_bytes;
217218
unsigned int dispclk_vco_khz;
218219
unsigned int dc_mode_softmax_memclk;
219220
struct clk_limit_table clk_table;

0 commit comments

Comments
 (0)