[PATCH 4/8] drm/xe/guc: move guc_fini over to devm
Andrzej Hajda
andrzej.hajda at intel.com
Mon May 6 09:03:50 UTC 2024
On 29.04.2024 14:14, Matthew Auld wrote:
> Make sure to actually call this when the device is removed. Currently we
> only trigger it when the driver instance goes away, but that doesn't
> work too well with hotunplug, since device can be removed and re-probed
> with a new driver instance, where the guc_fini() is called too late.
> Move the fini over to devm to ensure this is called when device is
> removed.
>
> References: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/1717
> Signed-off-by: Matthew Auld <matthew.auld at intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
Reviewed-by: Andrzej Hajda <andrzej.hajda at intel.com>
Regards
Andrzej
> ---
> drivers/gpu/drm/xe/xe_guc.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
> index 0c9938e0ab8c..97e2b62df486 100644
> --- a/drivers/gpu/drm/xe/xe_guc.c
> +++ b/drivers/gpu/drm/xe/xe_guc.c
> @@ -239,7 +239,7 @@ static void guc_write_params(struct xe_guc *guc)
> xe_mmio_write32(gt, SOFT_SCRATCH(1 + i), guc->params[i]);
> }
>
> -static void guc_fini(struct drm_device *drm, void *arg)
> +static void guc_fini(void *arg)
> {
> struct xe_guc *guc = arg;
> struct xe_gt *gt = guc_to_gt(guc);
> @@ -323,7 +323,7 @@ int xe_guc_init(struct xe_guc *guc)
> if (ret)
> goto out;
>
> - ret = drmm_add_action_or_reset(&xe->drm, guc_fini, guc);
> + ret = devm_add_action_or_reset(xe->drm.dev, guc_fini, guc);
> if (ret)
> goto out;
>
More information about the Intel-xe
mailing list