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

2022-07-27 Thread Matt Roper
On Tue, Jul 26, 2022 at 09:44:38AM -0700, Srivatsa, Anusha wrote:
> Thanks Tvrtko :)
> @Roper, Matthew D Did you have any other feedback on this patch?

Nope, looks fine to me.  Thanks.

Reviewed-by: Matt Roper 

> 
> Anusha
> 
> > -Original Message-
> > From: Tvrtko Ursulin 
> > Sent: Tuesday, July 26, 2022 1:59 AM
> > To: Srivatsa, Anusha ; intel-
> > g...@lists.freedesktop.org; Ursulin, Tvrtko 
> > Subject: Re: [Intel-gfx] [PATCH] drm/i915: Pass drm_i915_private struct
> > instead of gt for gen11_gu_misc_irq_handler/ack()
> > 
> > 
> > On 25/07/2022 19:38, Srivatsa, Anusha wrote:
> > > @Ursulin, Tvrtko Is this wat you had in mind?
> > 
> > Two functions aligned in prototype yes - but I left to you guys which
> > prototype is correct. AFAICT Matt looked and concluded i915 is correct so
> > that's good for me.
> > 
> > Regards,
> > 
> > Tvrtko
> > 
> > >> -Original Message-
> > >> From: Srivatsa, Anusha 
> > >> Sent: Thursday, July 21, 2022 3:51 PM
> > >> To: intel-gfx@lists.freedesktop.org
> > >> Cc: Srivatsa, Anusha ; Ursulin, Tvrtko
> > >> ; Roper, Matthew D
> > >> 
> > >> Subject: [PATCH] drm/i915: Pass drm_i915_private struct instead of gt
> > >> for
> > >> gen11_gu_misc_irq_handler/ack()
> > >>
> > >> gen11_gu_misc_irq_handler() and gen11_gu_misc_ack() do nothing tile
> > >> specific.
> > >>
> > >> v2: gen11_gu_misc_irq_ack() tile agnostic like
> > >> gen11_gu_misc_irq_handler()
> > >> (Tvrtko)
> > >>
> > >> Cc: Tvrtko Ursulin 
> > >> Cc: Matt Roper 
> > >> Signed-off-by: Anusha Srivatsa 
> > >> ---
> > >>   drivers/gpu/drm/i915/i915_irq.c | 16 
> > >>   1 file changed, 8 insertions(+), 8 deletions(-)
> > >>
> > >> diff --git a/drivers/gpu/drm/i915/i915_irq.c
> > >> b/drivers/gpu/drm/i915/i915_irq.c index 73cebc6aa650..eb37b6bacaac
> > >> 100644
> > >> --- a/drivers/gpu/drm/i915/i915_irq.c
> > >> +++ b/drivers/gpu/drm/i915/i915_irq.c
> > >> @@ -2653,9 +2653,9 @@ static irqreturn_t gen8_irq_handler(int irq,
> > >> void
> > >> *arg)  }
> > >>
> > >>   static u32
> > >> -gen11_gu_misc_irq_ack(struct intel_gt *gt, const u32 master_ctl)
> > >> +gen11_gu_misc_irq_ack(struct drm_i915_private *i915, const u32
> > >> +master_ctl)
> > >>   {
> > >> -void __iomem * const regs = gt->uncore->regs;
> > >> +void __iomem * const regs = i915->uncore.regs;
> > >>  u32 iir;
> > >>
> > >>  if (!(master_ctl & GEN11_GU_MISC_IRQ)) @@ -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) @@
> > >> -2736,11 +2736,11 @@ static irqreturn_t gen11_irq_handler(int irq,
> > >> void
> > >> *arg)
> > >>  if (master_ctl & GEN11_DISPLAY_IRQ)
> > >>  gen11_display_irq_handler(i915);
> > >>
> > >> -gu_misc_iir = gen11_gu_misc_irq_ack(gt, master_ctl);
> > >> +gu_misc_iir = gen11_gu_misc_irq_ack(i915, master_ctl);
> > >>
> > >>  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);
> > >>
> > >> @@ -2801,11 +2801,11 @@ static irqreturn_t dg1_irq_handler(int irq,
> > >> void
> > >> *arg)
> > >>  if (master_ctl & GEN11_DISPLAY_IRQ)
> > >>  gen11_display_irq_handler(i915);
> > >>
> > >> -gu_misc_iir = gen11_gu_misc_irq_ack(gt, master_ctl);
> > >> +gu_misc_iir = gen11_gu_misc_irq_ack(i915, master_ctl);
> > >>
> > >>  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
> > >

-- 
Matt Roper
Graphics Software Engineer
VTT-OSGC Platform Enablement
Intel Corporation


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

2022-07-26 Thread Srivatsa, Anusha
Thanks Tvrtko :)
@Roper, Matthew D Did you have any other feedback on this patch?

Anusha

> -Original Message-
> From: Tvrtko Ursulin 
> Sent: Tuesday, July 26, 2022 1:59 AM
> To: Srivatsa, Anusha ; intel-
> g...@lists.freedesktop.org; Ursulin, Tvrtko 
> Subject: Re: [Intel-gfx] [PATCH] drm/i915: Pass drm_i915_private struct
> instead of gt for gen11_gu_misc_irq_handler/ack()
> 
> 
> On 25/07/2022 19:38, Srivatsa, Anusha wrote:
> > @Ursulin, Tvrtko Is this wat you had in mind?
> 
> Two functions aligned in prototype yes - but I left to you guys which
> prototype is correct. AFAICT Matt looked and concluded i915 is correct so
> that's good for me.
> 
> Regards,
> 
> Tvrtko
> 
> >> -Original Message-
> >> From: Srivatsa, Anusha 
> >> Sent: Thursday, July 21, 2022 3:51 PM
> >> To: intel-gfx@lists.freedesktop.org
> >> Cc: Srivatsa, Anusha ; Ursulin, Tvrtko
> >> ; Roper, Matthew D
> >> 
> >> Subject: [PATCH] drm/i915: Pass drm_i915_private struct instead of gt
> >> for
> >> gen11_gu_misc_irq_handler/ack()
> >>
> >> gen11_gu_misc_irq_handler() and gen11_gu_misc_ack() do nothing tile
> >> specific.
> >>
> >> v2: gen11_gu_misc_irq_ack() tile agnostic like
> >> gen11_gu_misc_irq_handler()
> >> (Tvrtko)
> >>
> >> Cc: Tvrtko Ursulin 
> >> Cc: Matt Roper 
> >> Signed-off-by: Anusha Srivatsa 
> >> ---
> >>   drivers/gpu/drm/i915/i915_irq.c | 16 
> >>   1 file changed, 8 insertions(+), 8 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/i915/i915_irq.c
> >> b/drivers/gpu/drm/i915/i915_irq.c index 73cebc6aa650..eb37b6bacaac
> >> 100644
> >> --- a/drivers/gpu/drm/i915/i915_irq.c
> >> +++ b/drivers/gpu/drm/i915/i915_irq.c
> >> @@ -2653,9 +2653,9 @@ static irqreturn_t gen8_irq_handler(int irq,
> >> void
> >> *arg)  }
> >>
> >>   static u32
> >> -gen11_gu_misc_irq_ack(struct intel_gt *gt, const u32 master_ctl)
> >> +gen11_gu_misc_irq_ack(struct drm_i915_private *i915, const u32
> >> +master_ctl)
> >>   {
> >> -  void __iomem * const regs = gt->uncore->regs;
> >> +  void __iomem * const regs = i915->uncore.regs;
> >>u32 iir;
> >>
> >>if (!(master_ctl & GEN11_GU_MISC_IRQ)) @@ -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) @@
> >> -2736,11 +2736,11 @@ static irqreturn_t gen11_irq_handler(int irq,
> >> void
> >> *arg)
> >>if (master_ctl & GEN11_DISPLAY_IRQ)
> >>gen11_display_irq_handler(i915);
> >>
> >> -  gu_misc_iir = gen11_gu_misc_irq_ack(gt, master_ctl);
> >> +  gu_misc_iir = gen11_gu_misc_irq_ack(i915, master_ctl);
> >>
> >>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);
> >>
> >> @@ -2801,11 +2801,11 @@ static irqreturn_t dg1_irq_handler(int irq,
> >> void
> >> *arg)
> >>if (master_ctl & GEN11_DISPLAY_IRQ)
> >>gen11_display_irq_handler(i915);
> >>
> >> -  gu_misc_iir = gen11_gu_misc_irq_ack(gt, master_ctl);
> >> +  gu_misc_iir = gen11_gu_misc_irq_ack(i915, master_ctl);
> >>
> >>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
> >


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

2022-07-26 Thread Tvrtko Ursulin



On 25/07/2022 19:38, Srivatsa, Anusha wrote:

@Ursulin, Tvrtko Is this wat you had in mind?


Two functions aligned in prototype yes - but I left to you guys which 
prototype is correct. AFAICT Matt looked and concluded i915 is correct 
so that's good for me.


Regards,

Tvrtko


-Original Message-
From: Srivatsa, Anusha 
Sent: Thursday, July 21, 2022 3:51 PM
To: intel-gfx@lists.freedesktop.org
Cc: Srivatsa, Anusha ; Ursulin, Tvrtko
; Roper, Matthew D

Subject: [PATCH] drm/i915: Pass drm_i915_private struct instead of gt for
gen11_gu_misc_irq_handler/ack()

gen11_gu_misc_irq_handler() and gen11_gu_misc_ack() do nothing tile
specific.

v2: gen11_gu_misc_irq_ack() tile agnostic like gen11_gu_misc_irq_handler()
(Tvrtko)

Cc: Tvrtko Ursulin 
Cc: Matt Roper 
Signed-off-by: Anusha Srivatsa 
---
  drivers/gpu/drm/i915/i915_irq.c | 16 
  1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_irq.c
b/drivers/gpu/drm/i915/i915_irq.c index 73cebc6aa650..eb37b6bacaac
100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -2653,9 +2653,9 @@ static irqreturn_t gen8_irq_handler(int irq, void
*arg)  }

  static u32
-gen11_gu_misc_irq_ack(struct intel_gt *gt, const u32 master_ctl)
+gen11_gu_misc_irq_ack(struct drm_i915_private *i915, const u32
+master_ctl)
  {
-   void __iomem * const regs = gt->uncore->regs;
+   void __iomem * const regs = i915->uncore.regs;
u32 iir;

if (!(master_ctl & GEN11_GU_MISC_IRQ)) @@ -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) @@
-2736,11 +2736,11 @@ static irqreturn_t gen11_irq_handler(int irq, void
*arg)
if (master_ctl & GEN11_DISPLAY_IRQ)
gen11_display_irq_handler(i915);

-   gu_misc_iir = gen11_gu_misc_irq_ack(gt, master_ctl);
+   gu_misc_iir = gen11_gu_misc_irq_ack(i915, master_ctl);

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);

@@ -2801,11 +2801,11 @@ static irqreturn_t dg1_irq_handler(int irq, void
*arg)
if (master_ctl & GEN11_DISPLAY_IRQ)
gen11_display_irq_handler(i915);

-   gu_misc_iir = gen11_gu_misc_irq_ack(gt, master_ctl);
+   gu_misc_iir = gen11_gu_misc_irq_ack(i915, master_ctl);

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




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

2022-07-25 Thread Srivatsa, Anusha
@Ursulin, Tvrtko Is this wat you had in mind?

Anusha

> -Original Message-
> From: Srivatsa, Anusha 
> Sent: Thursday, July 21, 2022 3:51 PM
> To: intel-gfx@lists.freedesktop.org
> Cc: Srivatsa, Anusha ; Ursulin, Tvrtko
> ; Roper, Matthew D
> 
> Subject: [PATCH] drm/i915: Pass drm_i915_private struct instead of gt for
> gen11_gu_misc_irq_handler/ack()
> 
> gen11_gu_misc_irq_handler() and gen11_gu_misc_ack() do nothing tile
> specific.
> 
> v2: gen11_gu_misc_irq_ack() tile agnostic like gen11_gu_misc_irq_handler()
> (Tvrtko)
> 
> Cc: Tvrtko Ursulin 
> Cc: Matt Roper 
> Signed-off-by: Anusha Srivatsa 
> ---
>  drivers/gpu/drm/i915/i915_irq.c | 16 
>  1 file changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_irq.c
> b/drivers/gpu/drm/i915/i915_irq.c index 73cebc6aa650..eb37b6bacaac
> 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -2653,9 +2653,9 @@ static irqreturn_t gen8_irq_handler(int irq, void
> *arg)  }
> 
>  static u32
> -gen11_gu_misc_irq_ack(struct intel_gt *gt, const u32 master_ctl)
> +gen11_gu_misc_irq_ack(struct drm_i915_private *i915, const u32
> +master_ctl)
>  {
> - void __iomem * const regs = gt->uncore->regs;
> + void __iomem * const regs = i915->uncore.regs;
>   u32 iir;
> 
>   if (!(master_ctl & GEN11_GU_MISC_IRQ)) @@ -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) @@
> -2736,11 +2736,11 @@ static irqreturn_t gen11_irq_handler(int irq, void
> *arg)
>   if (master_ctl & GEN11_DISPLAY_IRQ)
>   gen11_display_irq_handler(i915);
> 
> - gu_misc_iir = gen11_gu_misc_irq_ack(gt, master_ctl);
> + gu_misc_iir = gen11_gu_misc_irq_ack(i915, master_ctl);
> 
>   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);
> 
> @@ -2801,11 +2801,11 @@ static irqreturn_t dg1_irq_handler(int irq, void
> *arg)
>   if (master_ctl & GEN11_DISPLAY_IRQ)
>   gen11_display_irq_handler(i915);
> 
> - gu_misc_iir = gen11_gu_misc_irq_ack(gt, master_ctl);
> + gu_misc_iir = gen11_gu_misc_irq_ack(i915, master_ctl);
> 
>   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