Patch "drm/amdgpu: Use the default reset when loading or reloading the driver" has been added to the 5.15-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    drm/amdgpu: Use the default reset when loading or reloading the driver

to the 5.15-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     drm-amdgpu-use-the-default-reset-when-loading-or-rel.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit cfd0de6689daf9223a7f31905dbbfb664b1bbdc0
Author: lyndonli <Lyndon.Li@xxxxxxx>
Date:   Sun Apr 23 17:05:15 2023 +0800

    drm/amdgpu: Use the default reset when loading or reloading the driver
    
    [ Upstream commit 4eea7fb980dc44545a32eec92e2662053b34cd9d ]
    
    Below call trace and errors are observed when reloading
    amdgpu driver with the module parameter reset_method=3.
    
    It should do a default reset when loading or reloading the
    driver, regardless of the module parameter reset_method.
    
    v2: add comments inside and modify commit messages.
    
    [  +2.180243] [drm] psp gfx command ID_LOAD_TOC(0x20) failed
    and response status is (0x0)
    [  +0.000011] [drm:psp_hw_start [amdgpu]] *ERROR* Failed to load toc
    [  +0.000890] [drm:psp_hw_start [amdgpu]] *ERROR* PSP tmr init failed!
    [  +0.020683] [drm:amdgpu_fill_buffer [amdgpu]] *ERROR* Trying to
    clear memory with ring turned off.
    [  +0.000003] RIP: 0010:amdgpu_bo_release_notify+0x1ef/0x210 [amdgpu]
    [  +0.000004] Call Trace:
    [  +0.000003]  <TASK>
    [  +0.000008]  ttm_bo_release+0x2c4/0x330 [amdttm]
    [  +0.000026]  amdttm_bo_put+0x3c/0x70 [amdttm]
    [  +0.000020]  amdgpu_bo_free_kernel+0xe6/0x140 [amdgpu]
    [  +0.000728]  psp_v11_0_ring_destroy+0x34/0x60 [amdgpu]
    [  +0.000826]  psp_hw_init+0xe7/0x2f0 [amdgpu]
    [  +0.000813]  amdgpu_device_fw_loading+0x1ad/0x2d0 [amdgpu]
    [  +0.000731]  amdgpu_device_init.cold+0x108e/0x2002 [amdgpu]
    [  +0.001071]  ? do_pci_enable_device+0xe1/0x110
    [  +0.000011]  amdgpu_driver_load_kms+0x1a/0x160 [amdgpu]
    [  +0.000729]  amdgpu_pci_probe+0x179/0x3a0 [amdgpu]
    
    Signed-off-by: lyndonli <Lyndon.Li@xxxxxxx>
    Signed-off-by: Yunxiang Li <Yunxiang.Li@xxxxxxx>
    Reviewed-by: Feifei Xu <Feifei.Xu@xxxxxxx>
    Reviewed-by: Kenneth Feng <kenneth.feng@xxxxxxx>
    Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 9da85ef711e88..642acfc9f0b1f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -3494,6 +3494,7 @@ int amdgpu_device_init(struct amdgpu_device *adev,
 	int r, i;
 	bool px = false;
 	u32 max_MBps;
+	int tmp;
 
 	adev->shutdown = false;
 	adev->flags = flags;
@@ -3693,7 +3694,13 @@ int amdgpu_device_init(struct amdgpu_device *adev,
 				}
 			}
 		} else {
+			tmp = amdgpu_reset_method;
+			/* It should do a default reset when loading or reloading the driver,
+			 * regardless of the module parameter reset_method.
+			 */
+			amdgpu_reset_method = AMD_RESET_METHOD_NONE;
 			r = amdgpu_asic_reset(adev);
+			amdgpu_reset_method = tmp;
 			if (r) {
 				dev_err(adev->dev, "asic reset on init failed\n");
 				goto failed;



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux