mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-15 15:04:27 +08:00
drm/amd/display: use the proper fb offset for DM
This fixes DMCU initialization in APU GPU passthrough. The DMCU needs the GPU physical address, not the CPU physical address. This ends up working out on bare metal because we always use the physical address, but doesn't work in passthrough because the addresses are different. Reviewed-by: Huang Rui <ray.huang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
39dd895d05
commit
949933b0f3
@ -1096,7 +1096,7 @@ static int dm_dmub_hw_init(struct amdgpu_device *adev)
|
||||
/* Initialize hardware. */
|
||||
memset(&hw_params, 0, sizeof(hw_params));
|
||||
hw_params.fb_base = adev->gmc.fb_start;
|
||||
hw_params.fb_offset = adev->gmc.aper_base;
|
||||
hw_params.fb_offset = adev->vm_manager.vram_base_offset;
|
||||
|
||||
/* backdoor load firmware and trigger dmub running */
|
||||
if (adev->firmware.load_type != AMDGPU_FW_LOAD_PSP)
|
||||
@ -1218,7 +1218,7 @@ static void mmhub_read_system_context(struct amdgpu_device *adev, struct dc_phy_
|
||||
pa_config->system_aperture.agp_top = (uint64_t)agp_top << 24;
|
||||
|
||||
pa_config->system_aperture.fb_base = adev->gmc.fb_start;
|
||||
pa_config->system_aperture.fb_offset = adev->gmc.aper_base;
|
||||
pa_config->system_aperture.fb_offset = adev->vm_manager.vram_base_offset;
|
||||
pa_config->system_aperture.fb_top = adev->gmc.fb_end;
|
||||
|
||||
pa_config->gart_config.page_table_start_addr = page_table_start.quad_part << 12;
|
||||
|
Loading…
Reference in New Issue
Block a user