[PATCH v3 2/4] drm/i915/pmu: Use kstat_irqs to get interrupt count

Jerry Snitselaar jsnitsel at redhat.com
Sat Dec 5 01:43:38 UTC 2020


Now that kstat_irqs is exported, get rid of count_interrupts in
i915_pmu.c

Cc: Thomas Gleixner <tglx at linutronix.de>
Cc: Jani Nikula <jani.nikula at linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
Cc: David Airlie <airlied at linux.ie>
Cc: Daniel Vetter <daniel at ffwll.ch>
Cc: intel-gfx at lists.freedesktop.org 
Cc: dri-devel at lists.freedesktop.org
Cc: Jarkko Sakkinen <jarkko at kernel.org>
Cc: Jason Gunthorpe <jgg at ziepe.ca>
Cc: Peter Huewe <peterhuewe at gmx.de>
Cc: James Bottomley <James.Bottomley at HansenPartnership.com>
Cc: Matthew Garrett <mjg59 at google.com>
Cc: Hans de Goede <hdegoede at redhat.com>
Signed-off-by: Jerry Snitselaar <jsnitsel at redhat.com>
---
 drivers/gpu/drm/i915/i915_pmu.c | 18 +-----------------
 1 file changed, 1 insertion(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_pmu.c b/drivers/gpu/drm/i915/i915_pmu.c
index 69c0fa20eba1..a3e63f03da8c 100644
--- a/drivers/gpu/drm/i915/i915_pmu.c
+++ b/drivers/gpu/drm/i915/i915_pmu.c
@@ -423,22 +423,6 @@ static enum hrtimer_restart i915_sample(struct hrtimer *hrtimer)
 	return HRTIMER_RESTART;
 }
 
-static u64 count_interrupts(struct drm_i915_private *i915)
-{
-	/* open-coded kstat_irqs() */
-	struct irq_desc *desc = irq_to_desc(i915->drm.pdev->irq);
-	u64 sum = 0;
-	int cpu;
-
-	if (!desc || !desc->kstat_irqs)
-		return 0;
-
-	for_each_possible_cpu(cpu)
-		sum += *per_cpu_ptr(desc->kstat_irqs, cpu);
-
-	return sum;
-}
-
 static void i915_pmu_event_destroy(struct perf_event *event)
 {
 	struct drm_i915_private *i915 =
@@ -581,7 +565,7 @@ static u64 __i915_pmu_event_read(struct perf_event *event)
 				   USEC_PER_SEC /* to MHz */);
 			break;
 		case I915_PMU_INTERRUPTS:
-			val = count_interrupts(i915);
+			val = kstat_irqs(i915->drm.pdev->irq);
 			break;
 		case I915_PMU_RC6_RESIDENCY:
 			val = get_rc6(&i915->gt);
-- 
2.27.0



More information about the dri-devel mailing list