]> www.infradead.org Git - nvme.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>
Thu, 27 Jun 2024 21:09:46 +0000 (17:09 -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 2de36883fc9f8035606763286afd56156e013629..183e219b6a851feb80c5096cda1f54c76db77592 100644 (file)
@@ -5224,11 +5224,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);