]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
iommu/tegra241-cmdqv: Use request_threaded_irq
authorNicolin Chen <nicolinc@nvidia.com>
Thu, 10 Jul 2025 05:59:17 +0000 (22:59 -0700)
committerJason Gunthorpe <jgg@nvidia.com>
Fri, 11 Jul 2025 17:34:35 +0000 (14:34 -0300)
A vEVENT can be reported only from a threaded IRQ context. Change to using
request_threaded_irq to support that.

Link: https://patch.msgid.link/r/f160193980e3b273afbd1d9cfc3e360084c05ba6.1752126748.git.nicolinc@nvidia.com
Acked-by: Pranjal Shrivastava <praan@google.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c

index dd7d030d2e89096514e3d369d277446c897392ba..ba029f7d24ce69fc7795c0564995741447b22aff 100644 (file)
@@ -824,8 +824,9 @@ __tegra241_cmdqv_probe(struct arm_smmu_device *smmu, struct resource *res,
        cmdqv->dev = smmu->impl_dev;
 
        if (cmdqv->irq > 0) {
-               ret = request_irq(irq, tegra241_cmdqv_isr, 0, "tegra241-cmdqv",
-                                 cmdqv);
+               ret = request_threaded_irq(irq, NULL, tegra241_cmdqv_isr,
+                                          IRQF_ONESHOT, "tegra241-cmdqv",
+                                          cmdqv);
                if (ret) {
                        dev_err(cmdqv->dev, "failed to request irq (%d): %d\n",
                                cmdqv->irq, ret);