diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2024-09-25 10:29:31 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2025-03-18 14:03:38 -0400 |
commit | 9deacd6c55f1b31e5ab20db79df2e14ac480203c (patch) | |
tree | 1bca41d4ff98d7296c559bf54fd6243998b554d7 | |
parent | e00e5c223878a60e391e5422d173c3382d378f87 (diff) | |
download | linux-9deacd6c55f1b31e5ab20db79df2e14ac480203c.tar.gz linux-9deacd6c55f1b31e5ab20db79df2e14ac480203c.tar.bz2 linux-9deacd6c55f1b31e5ab20db79df2e14ac480203c.zip |
drm/amdgpu: don't free conflicting apertures for non-display devices
PCI_CLASS_ACCELERATOR_PROCESSING devices won't ever be
the sysfb, so there is no need to free conflicting
apertures.
Reviewed-by: Kent Russell <kent.russell@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 17ce1677378e..cc0b6c70fcb8 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -4399,10 +4399,17 @@ int amdgpu_device_init(struct amdgpu_device *adev, if (r) return r; - /* Get rid of things like offb */ - r = aperture_remove_conflicting_pci_devices(adev->pdev, amdgpu_kms_driver.name); - if (r) - return r; + /* + * No need to remove conflicting FBs for non-display class devices. + * This prevents the sysfb from being freed accidently. + */ + if ((pdev->class >> 8) == PCI_CLASS_DISPLAY_VGA || + (pdev->class >> 8) == PCI_CLASS_DISPLAY_OTHER) { + /* Get rid of things like offb */ + r = aperture_remove_conflicting_pci_devices(adev->pdev, amdgpu_kms_driver.name); + if (r) + return r; + } /* Enable TMZ based on IP_VERSION */ amdgpu_gmc_tmz_set(adev); |