]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/amdgpu: Fix pci state save during mode-1 reset
authorLijo Lazar <lijo.lazar@amd.com>
Tue, 18 Jun 2024 08:34:38 +0000 (14:04 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 25 Jun 2024 18:13:12 +0000 (14:13 -0400)
Cache the PCI state before bus master is disabled. The saved state is
later used for other cases like restoring config space after mode-2
reset.

Fixes: 5c03e5843e6b ("drm/amdgpu:add smu mode1/2 support for aldebaran")
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

index 932dc93b2e631d38b7ccf1e1edf0bbadf00eaf41..33f791d92ddf3dd8a113e88fb3c2c13fda81641b 100644 (file)
@@ -5220,11 +5220,14 @@ int amdgpu_device_mode1_reset(struct amdgpu_device *adev)
 
        dev_info(adev->dev, "GPU mode1 reset\n");
 
+       /* Cache the state before bus master disable. The saved config space
+        * values are used in other cases like restore after mode-2 reset.
+        */
+       amdgpu_device_cache_pci_state(adev->pdev);
+
        /* disable BM */
        pci_clear_master(adev->pdev);
 
-       amdgpu_device_cache_pci_state(adev->pdev);
-
        if (amdgpu_dpm_is_mode1_reset_supported(adev)) {
                dev_info(adev->dev, "GPU smu mode1 reset\n");
                ret = amdgpu_dpm_mode1_reset(adev);