diff options
author | Alexander Shishkin <alexander.shishkin@linux.intel.com> | 2019-05-03 11:44:42 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-05-03 18:14:30 +0200 |
commit | 4c5bb6eb4055adcefaeb5da56dfbecf7df3695d7 (patch) | |
tree | 752254169a10e3973a68f1bbfbf306b81fa95050 /drivers/hwtracing/intel_th/core.c | |
parent | aac8da65174a35749fcf21dbca4c1be314b562b5 (diff) | |
download | linux-stable-4c5bb6eb4055adcefaeb5da56dfbecf7df3695d7.tar.gz linux-stable-4c5bb6eb4055adcefaeb5da56dfbecf7df3695d7.tar.bz2 linux-stable-4c5bb6eb4055adcefaeb5da56dfbecf7df3695d7.zip |
intel_th: Only report useful IRQs to subdevices
The only type of IRQ triggering event that is useful to us at the moment
is the "last block" interrupt of the MSU. This interrupt can only be
enabled via "MINTCTL" register that doesn't exist in earlier version of
the Intel TH.
Enumerate the presence of MINTCTL via per-device driver data structure
and only instantiate the IRQ resource for subdevices if this capability
is present.
Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/hwtracing/intel_th/core.c')
-rw-r--r-- | drivers/hwtracing/intel_th/core.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/hwtracing/intel_th/core.c b/drivers/hwtracing/intel_th/core.c index 750aa9d6f849..390031df3edf 100644 --- a/drivers/hwtracing/intel_th/core.c +++ b/drivers/hwtracing/intel_th/core.c @@ -639,7 +639,12 @@ intel_th_subdevice_alloc(struct intel_th *th, dev_dbg(th->dev, "%s:%d @ %pR\n", subdev->name, r, &res[r]); } else if (res[r].flags & IORESOURCE_IRQ) { - res[r].start = th->irq; + /* + * Only pass on the IRQ if we have useful interrupts: + * the ones that can be configured via MINTCTL. + */ + if (INTEL_TH_CAP(th, has_mintctl) && th->irq != -1) + res[r].start = th->irq; } } |