diff options
author | Paul Burton <[email protected]> | 2017-08-18 14:02:21 -0700 |
---|---|---|
committer | Ralf Baechle <[email protected]> | 2017-09-04 13:53:15 +0200 |
commit | 7778c4b27cbe0e24dc016477ec60d63b272f7ea2 (patch) | |
tree | 6cfeb73936730711aa90b1c371a563a635cbaaf2 /drivers/fpga/fpga-mgr.c | |
parent | aa493737d8e2b7d4393a94479eec63381f842daa (diff) |
irqchip: mips-gic: Use pcpu_masks to avoid reading GIC_SH_MASK*
This patch avoids the need to read the GIC_SH_MASK* registers when
decoding shared interrupts by setting & clearing the interrupt's bit in
the appropriate CPU's pcpu_masks entry when masking or unmasking the
interrupt.
This effectively means that whilst an interrupt is masked we clear its
bit in all pcpu_masks, which causes gic_handle_shared_int() to ignore it
on all CPUs without needing to check GIC_SH_MASK*.
In essence, we add a little overhead to masking or unmasking interrupts
but in return reduce the overhead of the far more common task of
decoding interrupts.
Signed-off-by: Paul Burton <[email protected]>
Acked-by: Marc Zyngier <[email protected]>
Cc: Jason Cooper <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/17109/
Signed-off-by: Ralf Baechle <[email protected]>
Diffstat (limited to 'drivers/fpga/fpga-mgr.c')
0 files changed, 0 insertions, 0 deletions