mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-03 12:24:37 -04:00
drm/amd/display: Use region6 size in fw_meta_info
[Why] If driver allocated region6 size is not same as the size in firmware, dmcub won't enable region6. [How] Use region6 size in dmcub_fw_meta instead of a constant value. Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Signed-off-by: JinZe Xu <jinze.xu@amd.com> Signed-off-by: Hamza Mahfooz <hamza.mahfooz@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -497,6 +497,7 @@ enum dmub_status
|
||||
const struct dmub_fw_meta_info *fw_info;
|
||||
uint32_t fw_state_size = DMUB_FW_STATE_SIZE;
|
||||
uint32_t trace_buffer_size = DMUB_TRACE_BUFFER_SIZE;
|
||||
uint32_t shared_state_size = DMUB_FW_HEADER_SHARED_STATE_SIZE;
|
||||
uint32_t window_sizes[DMUB_WINDOW_TOTAL] = { 0 };
|
||||
|
||||
if (!dmub->sw_init)
|
||||
@@ -514,6 +515,7 @@ enum dmub_status
|
||||
|
||||
fw_state_size = fw_info->fw_region_size;
|
||||
trace_buffer_size = fw_info->trace_buffer_size;
|
||||
shared_state_size = fw_info->shared_state_size;
|
||||
|
||||
/**
|
||||
* If DM didn't fill in a version, then fill it in based on
|
||||
@@ -534,7 +536,7 @@ enum dmub_status
|
||||
window_sizes[DMUB_WINDOW_5_TRACEBUFF] = trace_buffer_size;
|
||||
window_sizes[DMUB_WINDOW_6_FW_STATE] = fw_state_size;
|
||||
window_sizes[DMUB_WINDOW_7_SCRATCH_MEM] = DMUB_SCRATCH_MEM_SIZE;
|
||||
window_sizes[DMUB_WINDOW_SHARED_STATE] = DMUB_FW_HEADER_SHARED_STATE_SIZE;
|
||||
window_sizes[DMUB_WINDOW_SHARED_STATE] = max(DMUB_FW_HEADER_SHARED_STATE_SIZE, shared_state_size);
|
||||
|
||||
out->fb_size =
|
||||
dmub_srv_calc_regions_for_memory_type(params, out, window_sizes, DMUB_WINDOW_MEMORY_TYPE_FB);
|
||||
|
||||
Reference in New Issue
Block a user