diff options
Diffstat (limited to 'drivers/iommu/arm-smmu-v3.c')
-rw-r--r-- | drivers/iommu/arm-smmu-v3.c | 24 |
1 files changed, 1 insertions, 23 deletions
diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c index 18a0fa7dd72d..aa3bd3968290 100644 --- a/drivers/iommu/arm-smmu-v3.c +++ b/drivers/iommu/arm-smmu-v3.c | |||
@@ -1299,12 +1299,6 @@ static irqreturn_t arm_smmu_priq_thread(int irq, void *dev) | |||
1299 | return IRQ_HANDLED; | 1299 | return IRQ_HANDLED; |
1300 | } | 1300 | } |
1301 | 1301 | ||
1302 | static irqreturn_t arm_smmu_cmdq_sync_handler(int irq, void *dev) | ||
1303 | { | ||
1304 | /* We don't actually use CMD_SYNC interrupts for anything */ | ||
1305 | return IRQ_HANDLED; | ||
1306 | } | ||
1307 | |||
1308 | static int arm_smmu_device_disable(struct arm_smmu_device *smmu); | 1302 | static int arm_smmu_device_disable(struct arm_smmu_device *smmu); |
1309 | 1303 | ||
1310 | static irqreturn_t arm_smmu_gerror_handler(int irq, void *dev) | 1304 | static irqreturn_t arm_smmu_gerror_handler(int irq, void *dev) |
@@ -1337,10 +1331,8 @@ static irqreturn_t arm_smmu_gerror_handler(int irq, void *dev) | |||
1337 | if (active & GERROR_MSI_EVTQ_ABT_ERR) | 1331 | if (active & GERROR_MSI_EVTQ_ABT_ERR) |
1338 | dev_warn(smmu->dev, "EVTQ MSI write aborted\n"); | 1332 | dev_warn(smmu->dev, "EVTQ MSI write aborted\n"); |
1339 | 1333 | ||
1340 | if (active & GERROR_MSI_CMDQ_ABT_ERR) { | 1334 | if (active & GERROR_MSI_CMDQ_ABT_ERR) |
1341 | dev_warn(smmu->dev, "CMDQ MSI write aborted\n"); | 1335 | dev_warn(smmu->dev, "CMDQ MSI write aborted\n"); |
1342 | arm_smmu_cmdq_sync_handler(irq, smmu->dev); | ||
1343 | } | ||
1344 | 1336 | ||
1345 | if (active & GERROR_PRIQ_ABT_ERR) | 1337 | if (active & GERROR_PRIQ_ABT_ERR) |
1346 | dev_err(smmu->dev, "PRIQ write aborted -- events may have been lost\n"); | 1338 | dev_err(smmu->dev, "PRIQ write aborted -- events may have been lost\n"); |
@@ -1369,7 +1361,6 @@ static irqreturn_t arm_smmu_combined_irq_thread(int irq, void *dev) | |||
1369 | static irqreturn_t arm_smmu_combined_irq_handler(int irq, void *dev) | 1361 | static irqreturn_t arm_smmu_combined_irq_handler(int irq, void *dev) |
1370 | { | 1362 | { |
1371 | arm_smmu_gerror_handler(irq, dev); | 1363 | arm_smmu_gerror_handler(irq, dev); |
1372 | arm_smmu_cmdq_sync_handler(irq, dev); | ||
1373 | return IRQ_WAKE_THREAD; | 1364 | return IRQ_WAKE_THREAD; |
1374 | } | 1365 | } |
1375 | 1366 | ||
@@ -2286,15 +2277,6 @@ static void arm_smmu_setup_unique_irqs(struct arm_smmu_device *smmu) | |||
2286 | dev_warn(smmu->dev, "failed to enable evtq irq\n"); | 2277 | dev_warn(smmu->dev, "failed to enable evtq irq\n"); |
2287 | } | 2278 | } |
2288 | 2279 | ||
2289 | irq = smmu->cmdq.q.irq; | ||
2290 | if (irq) { | ||
2291 | ret = devm_request_irq(smmu->dev, irq, | ||
2292 | arm_smmu_cmdq_sync_handler, 0, | ||
2293 | "arm-smmu-v3-cmdq-sync", smmu); | ||
2294 | if (ret < 0) | ||
2295 | dev_warn(smmu->dev, "failed to enable cmdq-sync irq\n"); | ||
2296 | } | ||
2297 | |||
2298 | irq = smmu->gerr_irq; | 2280 | irq = smmu->gerr_irq; |
2299 | if (irq) { | 2281 | if (irq) { |
2300 | ret = devm_request_irq(smmu->dev, irq, arm_smmu_gerror_handler, | 2282 | ret = devm_request_irq(smmu->dev, irq, arm_smmu_gerror_handler, |
@@ -2803,10 +2785,6 @@ static int arm_smmu_device_probe(struct platform_device *pdev) | |||
2803 | if (irq > 0) | 2785 | if (irq > 0) |
2804 | smmu->priq.q.irq = irq; | 2786 | smmu->priq.q.irq = irq; |
2805 | 2787 | ||
2806 | irq = platform_get_irq_byname(pdev, "cmdq-sync"); | ||
2807 | if (irq > 0) | ||
2808 | smmu->cmdq.q.irq = irq; | ||
2809 | |||
2810 | irq = platform_get_irq_byname(pdev, "gerror"); | 2788 | irq = platform_get_irq_byname(pdev, "gerror"); |
2811 | if (irq > 0) | 2789 | if (irq > 0) |
2812 | smmu->gerr_irq = irq; | 2790 | smmu->gerr_irq = irq; |