root/arch/hexagon/include/asm/irqflags.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. arch_local_save_flags
  2. arch_local_irq_save
  3. arch_irqs_disabled_flags
  4. arch_irqs_disabled
  5. arch_local_irq_enable
  6. arch_local_irq_disable
  7. arch_local_irq_restore

   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * IRQ support for the Hexagon architecture
   4  *
   5  * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved.
   6  */
   7 
   8 #ifndef _ASM_IRQFLAGS_H
   9 #define _ASM_IRQFLAGS_H
  10 
  11 #include <asm/hexagon_vm.h>
  12 #include <linux/types.h>
  13 
  14 static inline unsigned long arch_local_save_flags(void)
  15 {
  16         return __vmgetie();
  17 }
  18 
  19 static inline unsigned long arch_local_irq_save(void)
  20 {
  21         return __vmsetie(VM_INT_DISABLE);
  22 }
  23 
  24 static inline bool arch_irqs_disabled_flags(unsigned long flags)
  25 {
  26         return !flags;
  27 }
  28 
  29 static inline bool arch_irqs_disabled(void)
  30 {
  31         return !__vmgetie();
  32 }
  33 
  34 static inline void arch_local_irq_enable(void)
  35 {
  36         __vmsetie(VM_INT_ENABLE);
  37 }
  38 
  39 static inline void arch_local_irq_disable(void)
  40 {
  41         __vmsetie(VM_INT_DISABLE);
  42 }
  43 
  44 static inline void arch_local_irq_restore(unsigned long flags)
  45 {
  46         __vmsetie(flags);
  47 }
  48 
  49 #endif

/* [<][>][^][v][top][bottom][index][help] */