Lines Matching full:source

30 #define PLIC_PRIORITY(base, source) \  argument
32 SHIFT_U32(source, PLIC_PRIORITY_SHIFT_PER_SOURCE) \
34 #define PLIC_PENDING(base, source) \ argument
36 (4 * ((source) / 32)) \
38 #define PLIC_ENABLE(base, source, context) \ argument
41 (4 * ((source) / 32)) \
80 plic_is_pending(struct plic_data *pd, uint32_t source) in plic_is_pending() argument
82 return io_read32(PLIC_PENDING(pd->plic_base, source)) & in plic_is_pending()
83 BIT(source % 32); in plic_is_pending()
86 static void plic_set_pending(struct plic_data *pd, uint32_t source) in plic_set_pending() argument
88 io_setbits32(PLIC_PENDING(pd->plic_base, source), BIT(source % 32)); in plic_set_pending()
91 static void plic_enable_interrupt(struct plic_data *pd, uint32_t source) in plic_enable_interrupt() argument
95 io_setbits32(PLIC_ENABLE(pd->plic_base, source, context), in plic_enable_interrupt()
96 BIT(source & 0x1f)); in plic_enable_interrupt()
100 plic_get_interrupt_enable(struct plic_data *pd, uint32_t source) in plic_get_interrupt_enable() argument
104 return io_read32(PLIC_ENABLE(pd->plic_base, source, context)) & in plic_get_interrupt_enable()
105 BIT(source & 0x1f); in plic_get_interrupt_enable()
108 static void plic_disable_interrupt(struct plic_data *pd, uint32_t source) in plic_disable_interrupt() argument
112 io_clrbits32(PLIC_ENABLE(pd->plic_base, source, context), in plic_disable_interrupt()
113 BIT(source & 0x1f)); in plic_disable_interrupt()
131 plic_get_priority(struct plic_data *pd, uint32_t source) in plic_get_priority() argument
133 return io_read32(PLIC_PRIORITY(pd->plic_base, source)); in plic_get_priority()
136 static void plic_set_priority(struct plic_data *pd, uint32_t source, in plic_set_priority() argument
139 io_write32(PLIC_PRIORITY(pd->plic_base, source), priority); in plic_set_priority()
149 static void plic_complete_interrupt(struct plic_data *pd, uint32_t source) in plic_complete_interrupt() argument
153 io_write32(PLIC_CLAIM(pd->plic_base, context), source); in plic_complete_interrupt()