diff options
author | Miao Zhong <[email protected]> | 2018-07-23 20:56:58 +0800 |
---|---|---|
committer | Will Deacon <[email protected]> | 2018-07-26 11:34:59 +0100 |
commit | 0d535967ac658966c6ade8f82b5799092f7d5441 (patch) | |
tree | 95ca13600ccc14a3e342790ec9b480e4ef5cdee8 | |
parent | d1e20222d5372e951bbb2fd3f6489ec4a6ea9b11 (diff) |
iommu/arm-smmu-v3: sync the OVACKFLG to PRIQ consumer register
When PRI queue occurs overflow, driver should update the OVACKFLG to
the PRIQ consumer register, otherwise subsequent PRI requests will not
be processed.
Cc: Will Deacon <[email protected]>
Cc: Robin Murphy <[email protected]>
Signed-off-by: Miao Zhong <[email protected]>
Signed-off-by: Will Deacon <[email protected]>
-rw-r--r-- | drivers/iommu/arm-smmu-v3.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c index 1d647104bccc..deacc152f09f 100644 --- a/drivers/iommu/arm-smmu-v3.c +++ b/drivers/iommu/arm-smmu-v3.c @@ -1301,6 +1301,7 @@ static irqreturn_t arm_smmu_priq_thread(int irq, void *dev) /* Sync our overflow flag, as we believe we're up to speed */ q->cons = Q_OVF(q, q->prod) | Q_WRP(q, q->cons) | Q_IDX(q, q->cons); + writel(q->cons, q->cons_reg); return IRQ_HANDLED; } |