Commit 8e758225 authored by Matt Roper's avatar Matt Roper Committed by Rodrigo Vivi

drm/xe/irq: Move ASLE backlight interrupt logic

Our only use of GUnit interrupts is to handle ASLE backlight operations
that are reported as GUnit GSE interrupts.  Move the enable/disable of
these interrupts to a more sensible place, in the same area where we
expect display interrupt code to be added by future patches.
Reviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
Link: https://lore.kernel.org/r/20230601215244.678611-23-matthew.d.roper@intel.comSigned-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
parent 7e485d98
......@@ -186,8 +186,6 @@ static void xelp_irq_postinstall(struct xe_device *xe, struct xe_tile *tile)
gt_irq_postinstall(tile);
unmask_and_enable(tile, GU_MISC_IRQ_OFFSET, GU_MISC_GSE);
xelp_intr_enable(xe, true);
}
......@@ -367,8 +365,6 @@ static void dg1_irq_postinstall(struct xe_device *xe, struct xe_tile *tile)
{
gt_irq_postinstall(tile);
unmask_and_enable(tile, GU_MISC_IRQ_OFFSET, GU_MISC_GSE);
if (tile->id == 0)
dg1_intr_enable(xe, true);
}
......@@ -478,7 +474,6 @@ static void xelp_irq_reset(struct xe_tile *tile)
gt_irq_reset(tile);
mask_and_disable(tile, GU_MISC_IRQ_OFFSET);
mask_and_disable(tile, PCU_IRQ_OFFSET);
}
......@@ -489,7 +484,6 @@ static void dg1_irq_reset(struct xe_tile *tile)
gt_irq_reset(tile);
mask_and_disable(tile, GU_MISC_IRQ_OFFSET);
mask_and_disable(tile, PCU_IRQ_OFFSET);
}
......@@ -504,6 +498,9 @@ static void xe_irq_reset(struct xe_device *xe)
else
xelp_irq_reset(tile);
}
tile = xe_device_get_root_tile(xe);
mask_and_disable(tile, GU_MISC_IRQ_OFFSET);
}
void xe_gt_irq_postinstall(struct xe_tile *tile)
......@@ -523,6 +520,13 @@ static void xe_irq_postinstall(struct xe_device *xe)
for_each_tile(tile, xe, id)
xe_gt_irq_postinstall(tile);
/*
* ASLE backlight operations are reported via GUnit GSE interrupts
* on the root tile.
*/
unmask_and_enable(xe_device_get_root_tile(xe),
GU_MISC_IRQ_OFFSET, GU_MISC_GSE);
}
static irq_handler_t xe_irq_handler(struct xe_device *xe)
......
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