This follows the gic and ti/aintc code by adding additional barriers to the
Amlogic pic driver. Differential Revision: https://reviews.freebsd.org/D2472 Submitted by: John Wehle
This commit is contained in:
parent
2a77d72739
commit
bd14d14fcd
@ -121,6 +121,8 @@ aml8726_pic_eoi(void *arg)
|
|||||||
if (nb >= AML_PIC_NIRQS)
|
if (nb >= AML_PIC_NIRQS)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
arm_irq_memory_barrier(nb);
|
||||||
|
|
||||||
CSR_WRITE_4(aml8726_pic_sc, AML_PIC_STAT_CLR_REG(nb), AML_PIC_BIT(nb));
|
CSR_WRITE_4(aml8726_pic_sc, AML_PIC_STAT_CLR_REG(nb), AML_PIC_BIT(nb));
|
||||||
|
|
||||||
CSR_BARRIER(aml8726_pic_sc, AML_PIC_STAT_CLR_REG(nb));
|
CSR_BARRIER(aml8726_pic_sc, AML_PIC_STAT_CLR_REG(nb));
|
||||||
@ -265,8 +267,12 @@ arm_unmask_irq(uintptr_t nb)
|
|||||||
if (nb >= AML_PIC_NIRQS)
|
if (nb >= AML_PIC_NIRQS)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
arm_irq_memory_barrier(nb);
|
||||||
|
|
||||||
mask = CSR_READ_4(aml8726_pic_sc, AML_PIC_MASK_REG(nb));
|
mask = CSR_READ_4(aml8726_pic_sc, AML_PIC_MASK_REG(nb));
|
||||||
mask |= AML_PIC_BIT(nb);
|
mask |= AML_PIC_BIT(nb);
|
||||||
CSR_WRITE_4(aml8726_pic_sc, AML_PIC_MASK_REG(nb), mask);
|
CSR_WRITE_4(aml8726_pic_sc, AML_PIC_MASK_REG(nb), mask);
|
||||||
|
|
||||||
|
CSR_BARRIER(aml8726_pic_sc, AML_PIC_MASK_REG(nb));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user