[PATCH 1/4] drm/amdgpu: add param soft_reset_enable
Christian König
ckoenig.leichtzumerken at gmail.com
Thu Mar 10 10:00:47 UTC 2022
Am 10.03.22 um 07:11 schrieb Victor Zhao:
> add parameter soft_reset_enable to control the enablement of
> soft reset
NAK, proper working soft recovery is something mandatory and shouldn't
be controlled by the end user.
Marek and I have also decided to completely disable job re-submission on
bare metal in the near future.
Regards,
Christian.
>
> Signed-off-by: Victor Zhao <Victor.Zhao at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 +
> drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 9 +++++++++
> drivers/gpu/drm/amd/amdgpu/nv.c | 5 ++++-
> 3 files changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> index 1f3c4521d348..22b846c359b4 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> @@ -238,6 +238,7 @@ extern int amdgpu_si_support;
> extern int amdgpu_cik_support;
> #endif
> extern int amdgpu_num_kcq;
> +extern int amdgpu_soft_reset_enable;
>
> #define AMDGPU_VM_MAX_NUM_CTX 4096
> #define AMDGPU_SG_THRESHOLD (256*1024*1024)
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> index b3fc5ae5fe6e..09daff7727b1 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> @@ -201,6 +201,7 @@ struct amdgpu_watchdog_timer amdgpu_watchdog_timer = {
> .timeout_fatal_disable = false,
> .period = 0x0, /* default to 0x0 (timeout disable) */
> };
> +int amdgpu_soft_reset_enable = -1;
>
> /**
> * DOC: vramlimit (int)
> @@ -931,6 +932,14 @@ MODULE_PARM_DESC(smu_pptable_id,
> "specify pptable id to be used (-1 = auto(default) value, 0 = use pptable from vbios, > 0 = soft pptable id)");
> module_param_named(smu_pptable_id, amdgpu_smu_pptable_id, int, 0444);
>
> +/**
> + * DOC: soft_reset (int)
> + * Used to enable grbm soft reset
> + */
> +MODULE_PARM_DESC(soft_reset_enable,
> + "enable soft reset (-1 = auto(default) value, 0 = disable, > 0 = enable)");
> +module_param_named(soft_reset_enable, amdgpu_soft_reset_enable, int, 0444);
> +
> /* These devices are not supported by amdgpu.
> * They are supported by the mach64, r128, radeon drivers
> */
> diff --git a/drivers/gpu/drm/amd/amdgpu/nv.c b/drivers/gpu/drm/amd/amdgpu/nv.c
> index 59eafa31c626..fe9b9d896dc1 100644
> --- a/drivers/gpu/drm/amd/amdgpu/nv.c
> +++ b/drivers/gpu/drm/amd/amdgpu/nv.c
> @@ -620,7 +620,10 @@ static uint32_t nv_get_rev_id(struct amdgpu_device *adev)
>
> static bool nv_need_full_reset(struct amdgpu_device *adev)
> {
> - return true;
> + if (amdgpu_soft_reset_enable <= 0)
> + return true;
> + else
> + return false;
> }
>
> static bool nv_need_reset_on_init(struct amdgpu_device *adev)
More information about the amd-gfx
mailing list