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

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

 



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>

> +               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