File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -45,6 +45,7 @@ static inline int arch_interrupt_register(int irq,
4545static inline void arch_interrupt_unregister (int irq ) {}
4646static inline uint32_t arch_interrupt_enable_mask (uint32_t mask ) {return 0 ; }
4747static inline uint32_t arch_interrupt_disable_mask (uint32_t mask ) {return 0 ; }
48+ static inline uint32_t arch_interrupt_get_level (void ) { return 0 ; }
4849static inline void arch_interrupt_set (int irq ) {}
4950static inline void arch_interrupt_clear (int irq ) {}
5051static inline uint32_t arch_interrupt_get_enabled (void ) {return 0 ; }
Original file line number Diff line number Diff line change @@ -61,6 +61,18 @@ static inline void arch_interrupt_unregister(int irq)
6161#define arch_interrupt_disable_mask (mask ) \
6262 _xtos_ints_off(mask)
6363
64+ static inline uint32_t arch_interrupt_get_level (void )
65+ {
66+ uint32_t level ;
67+
68+ __asm__ __volatile__(
69+ " rsr.ps %0\n"
70+ " extui %0, %0, 0, 4\n"
71+ : "=&a" (level ) :: "memory" );
72+
73+ return level ;
74+ }
75+
6476static inline void arch_interrupt_set (int irq )
6577{
6678 irq = SOF_IRQ_NUMBER (irq );
You can’t perform that action at this time.
0 commit comments