diff options
| author | Nicholas Kazlauskas <[email protected]> | 2019-11-28 15:21:26 -0500 |
|---|---|---|
| committer | Alex Deucher <[email protected]> | 2019-12-18 16:09:09 -0500 |
| commit | 1f0674fd5c536be4462cad2bfdfc8f1648039ab5 (patch) | |
| tree | 28f9c7e72da86fe9e23f265dcf56a7f17cfc080e /drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | |
| parent | 1380c1bf5b9c31baf820ab545bbabf6b39bfdc0d (diff) | |
drm/amd/display: Get cache window sizes from DMCUB firmware
[Why]
Firmware state and tracebuffer shouldn't be considered stable API
between firmware versions.
Driver shouldn't be querying anything from firmware state or tracebuffer
outside of debugging.
Commands are the stable API for this once we have the outbox.
[How]
Add metadata struct to the end of the data firmware that describes
fw_state_size and some reserved area for future use.
Drop the tracebuffer and firmware state headers since they can differ
per version.
Signed-off-by: Nicholas Kazlauskas <[email protected]>
Reviewed-by: Tony Cheng <[email protected]>
Acked-by: Rodrigo Siqueira <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c')
| -rw-r--r-- | drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index 8786b5a9e43c..4e6bad165c74 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -1234,6 +1234,10 @@ static int dm_dmub_sw_init(struct amdgpu_device *adev) PSP_HEADER_BYTES - PSP_FOOTER_BYTES; region_params.bss_data_size = le32_to_cpu(hdr->bss_data_bytes); region_params.vbios_size = adev->bios_size; + region_params.fw_bss_data = + adev->dm.dmub_fw->data + + le32_to_cpu(hdr->header.ucode_array_offset_bytes) + + le32_to_cpu(hdr->inst_const_bytes); status = dmub_srv_calc_region_info(dmub_srv, ®ion_params, ®ion_info); |