1 /* SPDX-License-Identifier: GPL-2.0-only */ 1 2 /* 3 * Copyright (C) 2012 Regents of the Universit 4 * Copyright (C) 2017 SiFive 5 */ 6 7 #ifndef _ASM_RISCV_IRQ_H 8 #define _ASM_RISCV_IRQ_H 9 10 #include <linux/interrupt.h> 11 #include <linux/linkage.h> 12 13 #include <asm-generic/irq.h> 14 15 #define INVALID_CONTEXT UINT_MAX 16 17 #ifdef CONFIG_SMP 18 void arch_trigger_cpumask_backtrace(const cpum 19 #define arch_trigger_cpumask_backtrace arch_tr 20 #endif 21 22 void riscv_set_intc_hwnode_fn(struct fwnode_ha 23 24 struct fwnode_handle *riscv_get_intc_hwnode(vo 25 26 #ifdef CONFIG_ACPI 27 28 enum riscv_irqchip_type { 29 ACPI_RISCV_IRQCHIP_INTC = 0x00 30 ACPI_RISCV_IRQCHIP_IMSIC = 0x01 31 ACPI_RISCV_IRQCHIP_PLIC = 0x02 32 ACPI_RISCV_IRQCHIP_APLIC = 0x03 33 }; 34 35 int riscv_acpi_get_gsi_info(struct fwnode_hand 36 u32 *id, u32 *nr_i 37 struct fwnode_handle *riscv_acpi_get_gsi_domai 38 unsigned long acpi_rintc_index_to_hartid(u32 i 39 unsigned long acpi_rintc_ext_parent_to_hartid( 40 unsigned int acpi_rintc_get_plic_nr_contexts(u 41 unsigned int acpi_rintc_get_plic_context(unsig 42 int __init acpi_rintc_get_imsic_mmio_info(u32 43 44 #else 45 static inline int riscv_acpi_get_gsi_info(stru 46 u32 47 { 48 return 0; 49 } 50 51 static inline unsigned long acpi_rintc_index_t 52 { 53 return INVALID_HARTID; 54 } 55 56 static inline unsigned long acpi_rintc_ext_par 57 58 { 59 return INVALID_HARTID; 60 } 61 62 static inline unsigned int acpi_rintc_get_plic 63 { 64 return INVALID_CONTEXT; 65 } 66 67 static inline unsigned int acpi_rintc_get_plic 68 { 69 return INVALID_CONTEXT; 70 } 71 72 static inline int __init acpi_rintc_get_imsic_ 73 { 74 return 0; 75 } 76 77 #endif /* CONFIG_ACPI */ 78 79 #endif /* _ASM_RISCV_IRQ_H */ 80
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.