[Intel-gfx] [PATCH] drm/i915: Pass drm_i915_private struct instead of gt for gen11_gu_misc_irq_handler()

Srivatsa, Anusha anusha.srivatsa at intel.com
Wed Jul 20 17:03:42 UTC 2022



> -----Original Message-----
> From: Tvrtko Ursulin <tvrtko.ursulin at linux.intel.com>
> Sent: Wednesday, July 20, 2022 2:38 AM
> To: Roper, Matthew D <matthew.d.roper at intel.com>; Srivatsa, Anusha
> <anusha.srivatsa at intel.com>
> Cc: intel-gfx at lists.freedesktop.org
> Subject: Re: [Intel-gfx] [PATCH] drm/i915: Pass drm_i915_private struct
> instead of gt for gen11_gu_misc_irq_handler()
> 
> 
> On 18/07/2022 19:54, Matt Roper wrote:
> > On Mon, Jul 18, 2022 at 11:34:24AM -0700, Anusha Srivatsa wrote:
> >> gen11_gu_misc_irq_handler() does not do anything tile specific.
> >>
> >> Cc: Matt Roper <matthew.d.roper at intel.com>
> >> Signed-off-by: Anusha Srivatsa <anusha.srivatsa at intel.com>
> >
> > Reviewed-by: Matt Roper <matthew.d.roper at intel.com>
> >
> >> ---
> >>   drivers/gpu/drm/i915/i915_irq.c | 8 ++++----
> >>   1 file changed, 4 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/i915/i915_irq.c
> >> b/drivers/gpu/drm/i915/i915_irq.c index 73cebc6aa650..c304af777d58
> >> 100644
> >> --- a/drivers/gpu/drm/i915/i915_irq.c
> >> +++ b/drivers/gpu/drm/i915/i915_irq.c
> >> @@ -2669,10 +2669,10 @@ gen11_gu_misc_irq_ack(struct intel_gt *gt,
> const u32 master_ctl)
> >>   }
> >>
> >>   static void
> >> -gen11_gu_misc_irq_handler(struct intel_gt *gt, const u32 iir)
> >> +gen11_gu_misc_irq_handler(struct drm_i915_private *i915, const u32
> >> +iir)
> >>   {
> >>   	if (iir & GEN11_GU_MISC_GSE)
> >> -		intel_opregion_asle_intr(gt->i915);
> >> +		intel_opregion_asle_intr(i915);
> >>   }
> >>
> >>   static inline u32 gen11_master_intr_disable(void __iomem * const
> >> regs) @@ -2740,7 +2740,7 @@ static irqreturn_t gen11_irq_handler(int
> >> irq, void *arg)
> >>
> 
> Maybe this is correct but it leaves this, round about here:
> 
> 	gu_misc_iir = gen11_gu_misc_irq_ack(gt, master_ctl);
> 
> So _if_ these registers are truly not per GT, or don't live in the GT block,
> change this one as well?
Tvrtko,
gen11_gu_misc_irq_ack() does not fall in the same category. We do operations where we grab register per gt and do some writes that are not gt agnostic.

Anusha
> Regards,
> 
> Tvrtko
> 
> >>   	gen11_master_intr_enable(regs);
> >>
> >> -	gen11_gu_misc_irq_handler(gt, gu_misc_iir);
> >> +	gen11_gu_misc_irq_handler(i915, gu_misc_iir);
> >>
> >>   	pmu_irq_stats(i915, IRQ_HANDLED);
> >>
> >> @@ -2805,7 +2805,7 @@ static irqreturn_t dg1_irq_handler(int irq,
> >> void *arg)
> >>
> >>   	dg1_master_intr_enable(regs);
> >>
> >> -	gen11_gu_misc_irq_handler(gt, gu_misc_iir);
> >> +	gen11_gu_misc_irq_handler(i915, gu_misc_iir);
> >>
> >>   	pmu_irq_stats(i915, IRQ_HANDLED);
> >>
> >> --
> >> 2.25.1
> >>
> >


More information about the Intel-gfx mailing list