static void mmu_mask_reenable(kbase_device * kbdev, kbase_context *kctx, kbase_as * as) { u32 mask; osk_spinlock_irq_lock(&kbdev->mmu_mask_change); mask = kbase_reg_read(kbdev, MMU_REG(MMU_IRQ_MASK), kctx); mask |= ((1UL << as->number) | (1UL << (MMU_REGS_BUS_ERROR_FLAG(as->number)))); kbase_reg_write(kbdev, MMU_REG(MMU_IRQ_MASK), mask, kctx); osk_spinlock_irq_unlock(&kbdev->mmu_mask_change); }
static void mmu_mask_reenable(kbase_device * kbdev, kbase_context *kctx, kbase_as * as) { unsigned long flags; u32 mask; spin_lock_irqsave(&kbdev->mmu_mask_change, flags); mask = kbase_reg_read(kbdev, MMU_REG(MMU_IRQ_MASK), kctx); mask |= ((1UL << as->number) | (1UL << (MMU_REGS_BUS_ERROR_FLAG(as->number)))); kbase_reg_write(kbdev, MMU_REG(MMU_IRQ_MASK), mask, kctx); spin_unlock_irqrestore(&kbdev->mmu_mask_change, flags); }