drm/i915: Introduce i915_error_regsIntroduce i915_error_regs as the EIR/EMR counterpartto the IIR/IMR/IER i915_irq_regs, and update the irqreset/postingstall to utilize them accordingly.v2: Inc
drm/i915: Introduce i915_error_regsIntroduce i915_error_regs as the EIR/EMR counterpartto the IIR/IMR/IER i915_irq_regs, and update the irqreset/postingstall to utilize them accordingly.v2: Include xe compat versionsReviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com>Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>Link: https://patchwork.freedesktop.org/patch/msgid/20250217070047.953-7-ville.syrjala@linux.intel.comAcked-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
show more ...
drm/xe: Make irq enabled flag atomicThe irq.enabled flag was protected by a spin lock (irq.lock).By making it atomic we no longer need to wait for the spin lock inirq handlers. This will become e
drm/xe: Make irq enabled flag atomicThe irq.enabled flag was protected by a spin lock (irq.lock).By making it atomic we no longer need to wait for the spin lock inirq handlers. This will become especially useful for MSI-X irqhandlers to prevent lock contention between different interrupts.Signed-off-by: Ilia Levi <ilia.levi@intel.com>Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>Link: https://patchwork.freedesktop.org/patch/msgid/20241210173506.202150-1-ilia.levi@intel.comSigned-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drm/i915/irq: s/gen3/gen2/Now that we use the gen3 codepaths also for gen2rename everything to gen2_ to match.Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>Link: https://patchwork
drm/i915/irq: s/gen3/gen2/Now that we use the gen3 codepaths also for gen2rename everything to gen2_ to match.Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>Link: https://patchwork.freedesktop.org/patch/msgid/20241008214349.23331-4-ville.syrjala@linux.intel.comReviewed-by: Jani Nikula <jani.nikula@intel.com>
drm/i915/irq: add struct i915_irq_regs tripletAdd struct i915_irq_regs to hold IMR/IER/IIR register offsets to pass togen3_irq_reset() and gen3_irq_init(). This helps in grouping theregisters and
drm/i915/irq: add struct i915_irq_regs tripletAdd struct i915_irq_regs to hold IMR/IER/IIR register offsets to pass togen3_irq_reset() and gen3_irq_init(). This helps in grouping theregisters and further cleanup.Note: gen3_irq_reset() and gen3_irq_init() really did have theIMR/IER/IIR parameters in different order.Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>Link: https://patchwork.freedesktop.org/patch/msgid/20241002102645.136155-1-jani.nikula@intel.comSigned-off-by: Jani Nikula <jani.nikula@intel.com>
drm/xe/display: drop i915_drv.h include from xe codeDrop i915_drv.h include from xe display code as much as possible, andswitch to xe types where necessary.Reviewed-by: Rodrigo Vivi <rodrigo.viv
drm/xe/display: drop i915_drv.h include from xe codeDrop i915_drv.h include from xe display code as much as possible, andswitch to xe types where necessary.Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com>Signed-off-by: Jani Nikula <jani.nikula@intel.com>Link: https://patchwork.freedesktop.org/patch/msgid/bb490f3e928fd8178277fde2435de80638fc5715.1717004739.git.jani.nikula@intel.com
drm/xe/display: Fix dummy __i915_inject_probe_error()When CONFIG_DRM_I915_DEBUG is not set, a dummy__i915_inject_probe_error() is provided on the xe side. Use the samelogic as in drivers/gpu/drm/
drm/xe/display: Fix dummy __i915_inject_probe_error()When CONFIG_DRM_I915_DEBUG is not set, a dummy__i915_inject_probe_error() is provided on the xe side. Use the samelogic as in drivers/gpu/drm/i915/i915_utils.c to ifdef it out. Thisfixes the build with W=1 and without that config: CC [M] drivers/gpu/drm/xe/display/ext/i915_utils.o ../drivers/gpu/drm/xe/display/ext/i915_utils.c:19:5: error: no previous prototype for ‘__i915_inject_probe_error’ [-Werror=missing-prototypes] 19 | int __i915_inject_probe_error(struct drm_i915_private *i915, int err, | ^~~~~~~~~~~~~~~~~~~~~~~~~Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drm/xe/display: Implement display supportAs for display, the intent is to share the display code with the i915driver so that there is maximum reuse there.We do this by recompiling i915/display c
drm/xe/display: Implement display supportAs for display, the intent is to share the display code with the i915driver so that there is maximum reuse there.We do this by recompiling i915/display code twice.Now that i915 has been adapted to support the Xe build, we can addthe xe/display support.This initial work is a collaboration of many people and unfortunatelythis squashed patch won't fully honor the proper credits.But let's try to add a few from the squashed patches:Co-developed-by: Matthew Brost <matthew.brost@intel.com>Co-developed-by: Jani Nikula <jani.nikula@intel.com>Co-developed-by: Lucas De Marchi <lucas.demarchi@intel.com>Co-developed-by: Matt Roper <matthew.d.roper@intel.com>Co-developed-by: Mauro Carvalho Chehab <mchehab@kernel.org>Co-developed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>Co-developed-by: Dave Airlie <airlied@redhat.com>Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>