Re: [PATCH] drm/amdgpu: Exclude PCI reset method for now.

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

 




On 2022-02-24 13:11, Alex Deucher wrote:
On Thu, Feb 24, 2022 at 1:05 PM Andrey Grodzovsky
<andrey.grodzovsky@xxxxxxx> wrote:
According to my investigation of the state of PCI
reset recently it's not working. The reason is
due to the fact the kernel PCI code rejects SBR
when there are more then one PF under same bridge
which we always have (at least AUDIO PF but usually
more) and that because SBR will reset all the PFS
and devices under the same bridge as you and you
cannot assume they support SBR.
Once we anble FLR support we can reenable this option as
FLR is doable on single PF and doens't have this
restriction.

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@xxxxxxx>
---
  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 5 +++++
  drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c    | 4 ++--
  2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index ecf8c307baf6..78cdbe3c4a9c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -1539,6 +1539,11 @@ static int amdgpu_device_check_arguments(struct amdgpu_device *adev)
                 amdgpu_sched_hw_submission = roundup_pow_of_two(amdgpu_sched_hw_submission);
         }

+       if (amdgpu_reset_method > 4) {
Validate the other side as well?

if (amdgpu_reset_method < -1 || amdgpu_reset_method > 4) {

With that fixed:
Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx>


Done

Andrey



+               dev_warn(adev->dev, "invalid option for reset method, reverting to default\n");
+               amdgpu_reset_method = -1;
+       }
+
         amdgpu_device_check_smu_prv_buffer_size(adev);

         amdgpu_device_check_vm_size(adev);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index e18356fff710..5a2ecc65951d 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -829,9 +829,9 @@ module_param_named(tmz, amdgpu_tmz, int, 0444);

  /**
   * DOC: reset_method (int)
- * GPU reset method (-1 = auto (default), 0 = legacy, 1 = mode0, 2 = mode1, 3 = mode2, 4 = baco, 5 = pci)
+ * GPU reset method (-1 = auto (default), 0 = legacy, 1 = mode0, 2 = mode1, 3 = mode2, 4 = baco)
   */
-MODULE_PARM_DESC(reset_method, "GPU reset method (-1 = auto (default), 0 = legacy, 1 = mode0, 2 = mode1, 3 = mode2, 4 = baco/bamaco, 5 = pci)");
+MODULE_PARM_DESC(reset_method, "GPU reset method (-1 = auto (default), 0 = legacy, 1 = mode0, 2 = mode1, 3 = mode2, 4 = baco/bamaco)");
  module_param_named(reset_method, amdgpu_reset_method, int, 0444);

  /**
--
2.25.1




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux