[PATCH] drm/amd/display: use the proper fb offset for DM
Christian König
christian.koenig at amd.com
Fri Dec 2 11:46:34 UTC 2022
Am 29.11.22 um 19:17 schrieb Alex Deucher:
> 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.
>
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
Acked-by: Christian König <christian.koenig at amd.com>
Have we also addressed the ACPI/power management problems for that use
case now?
Regards,
Christian.
> ---
> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 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 3792a181253b..850432e220a8 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -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;
More information about the amd-gfx
mailing list