From: Lijo Lazar Date: Wed, 6 Sep 2023 11:18:38 +0000 (+0530) Subject: drm/amdgpu: Use default reset method handler X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=ca7aa3bf31dc7539af950e7c99c330aa3e9b2a0b;p=linux.git drm/amdgpu: Use default reset method handler When reset method is not passed in reset context, look for the handler for default reset method. On Aldebaran, default reset method for SOCs connected to CPU over XGMI is MODE2. Signed-off-by: Lijo Lazar Reviewed-by: Asad Kamal Tested-by: Asad Kamal Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdgpu/aldebaran.c b/drivers/gpu/drm/amd/amdgpu/aldebaran.c index 82e1c83a7ccc3..5d2516210a3ae 100644 --- a/drivers/gpu/drm/amd/amdgpu/aldebaran.c +++ b/drivers/gpu/drm/amd/amdgpu/aldebaran.c @@ -50,6 +50,13 @@ aldebaran_get_reset_handler(struct amdgpu_reset_control *reset_ctl, struct amdgpu_device *adev = (struct amdgpu_device *)reset_ctl->handle; int i; + if (reset_context->method == AMD_RESET_METHOD_NONE) { + if (aldebaran_is_mode2_default(reset_ctl)) + reset_context->method = AMD_RESET_METHOD_MODE2; + else + reset_context->method = amdgpu_asic_reset_method(adev); + } + if (reset_context->method != AMD_RESET_METHOD_NONE) { dev_dbg(adev->dev, "Getting reset handler for method %d\n", reset_context->method); @@ -59,15 +66,6 @@ aldebaran_get_reset_handler(struct amdgpu_reset_control *reset_ctl, } } - if (aldebaran_is_mode2_default(reset_ctl)) { - for_each_handler(i, handler, reset_ctl) { - if (handler->reset_method == AMD_RESET_METHOD_MODE2) { - reset_context->method = AMD_RESET_METHOD_MODE2; - return handler; - } - } - } - dev_dbg(adev->dev, "Reset handler not found!\n"); return NULL;