Commit 80bab5c5 authored by Ilia Levi's avatar Ilia Levi Committed by Rodrigo Vivi

drm/xe/irq: remove xe_irq_shutdown

The cleanup is done by devres in irq_uninstall.

Commit bbc9651f ("drm/xe/irq: move irq_uninstall over to devm")
resolved the ordering issue where irq_uninstall (registered with drmm)
was called after pci_free_irq_vectors (registered with devm upon calling
pci_alloc_irq_vectors). This happened because drmm action list is
registered with devm very early in the init flow - before
pci_alloc_irq_vectors.

Now that irq_uninstall is registered with devm, it will be called before
pci_free_irq_vectors and we can remove xe_irq_shutdown.
Signed-off-by: default avatarIlia Levi <illevi@habana.ai>
Reviewed-by: default avatarMatthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240606124705.822451-1-illevi@habana.aiSigned-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
parent 8511d9da
...@@ -634,16 +634,16 @@ int xe_device_probe(struct xe_device *xe) ...@@ -634,16 +634,16 @@ int xe_device_probe(struct xe_device *xe)
err = xe_device_set_has_flat_ccs(xe); err = xe_device_set_has_flat_ccs(xe);
if (err) if (err)
goto err_irq_shutdown; goto err;
err = xe_vram_probe(xe); err = xe_vram_probe(xe);
if (err) if (err)
goto err_irq_shutdown; goto err;
for_each_tile(tile, xe, id) { for_each_tile(tile, xe, id) {
err = xe_tile_init_noalloc(tile); err = xe_tile_init_noalloc(tile);
if (err) if (err)
goto err_irq_shutdown; goto err;
} }
/* Allocate and map stolen after potential VRAM resize */ /* Allocate and map stolen after potential VRAM resize */
...@@ -657,7 +657,7 @@ int xe_device_probe(struct xe_device *xe) ...@@ -657,7 +657,7 @@ int xe_device_probe(struct xe_device *xe)
*/ */
err = xe_display_init_noaccel(xe); err = xe_display_init_noaccel(xe);
if (err) if (err)
goto err_irq_shutdown; goto err;
for_each_gt(gt, xe, id) { for_each_gt(gt, xe, id) {
last_gt = id; last_gt = id;
...@@ -708,8 +708,6 @@ int xe_device_probe(struct xe_device *xe) ...@@ -708,8 +708,6 @@ int xe_device_probe(struct xe_device *xe)
break; break;
} }
err_irq_shutdown:
xe_irq_shutdown(xe);
err: err:
xe_display_fini(xe); xe_display_fini(xe);
return err; return err;
...@@ -740,8 +738,6 @@ void xe_device_remove(struct xe_device *xe) ...@@ -740,8 +738,6 @@ void xe_device_remove(struct xe_device *xe)
for_each_gt(gt, xe, id) for_each_gt(gt, xe, id)
xe_gt_remove(gt); xe_gt_remove(gt);
xe_irq_shutdown(xe);
} }
void xe_device_shutdown(struct xe_device *xe) void xe_device_shutdown(struct xe_device *xe)
......
...@@ -738,11 +738,6 @@ int xe_irq_install(struct xe_device *xe) ...@@ -738,11 +738,6 @@ int xe_irq_install(struct xe_device *xe)
return err; return err;
} }
void xe_irq_shutdown(struct xe_device *xe)
{
irq_uninstall(xe);
}
void xe_irq_suspend(struct xe_device *xe) void xe_irq_suspend(struct xe_device *xe)
{ {
int irq = to_pci_dev(xe->drm.dev)->irq; int irq = to_pci_dev(xe->drm.dev)->irq;
......
...@@ -11,7 +11,6 @@ struct xe_tile; ...@@ -11,7 +11,6 @@ struct xe_tile;
struct xe_gt; struct xe_gt;
int xe_irq_install(struct xe_device *xe); int xe_irq_install(struct xe_device *xe);
void xe_irq_shutdown(struct xe_device *xe);
void xe_irq_suspend(struct xe_device *xe); void xe_irq_suspend(struct xe_device *xe);
void xe_irq_resume(struct xe_device *xe); void xe_irq_resume(struct xe_device *xe);
void xe_irq_enable_hwe(struct xe_gt *gt); void xe_irq_enable_hwe(struct xe_gt *gt);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment