forked from Mirrors/opensbi
lib: utils/irqchip: plic: Move delegation to base PLIC driver
This needs to be in the base PLIC driver as part of the power management save/restore flow. This is also in preparation for moving the PLIC information in the scratch area to the base PLIC driver. After that change, the FDT PLIC layer will be unable to look up the `struct plic_data` after cold boot. Signed-off-by: Samuel Holland <samuel.holland@sifive.com> Reviewed-by: Anup Patel <anup@brainfault.org>
This commit is contained in:

committed by
Anup Patel

parent
a786aed08d
commit
c26e3fd2ed
@@ -21,6 +21,8 @@ struct plic_data {
|
||||
|
||||
/** Work around a bug on Ariane that requires enabling interrupts at boot */
|
||||
#define PLIC_FLAG_ARIANE_BUG BIT(0)
|
||||
/** PLIC must be delegated to S-mode like T-HEAD C906 and C910 */
|
||||
#define PLIC_FLAG_THEAD_DELEGATION BIT(1)
|
||||
|
||||
/* So far, priorities on all consumers of these functions fit in 8 bits. */
|
||||
void plic_priority_save(const struct plic_data *plic, u8 *priority, u32 num);
|
||||
@@ -28,6 +30,8 @@ void plic_priority_save(const struct plic_data *plic, u8 *priority, u32 num);
|
||||
void plic_priority_restore(const struct plic_data *plic, const u8 *priority,
|
||||
u32 num);
|
||||
|
||||
void plic_delegate(const struct plic_data *plic);
|
||||
|
||||
void plic_context_save(const struct plic_data *plic, int context_id,
|
||||
u32 *enable, u32 *threshold, u32 num);
|
||||
|
||||
|
Reference in New Issue
Block a user