root/include/linux/irqchip/arm-gic-common.h

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

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * include/linux/irqchip/arm-gic-common.h
   4  *
   5  * Copyright (C) 2016 ARM Limited, All Rights Reserved.
   6  */
   7 #ifndef __LINUX_IRQCHIP_ARM_GIC_COMMON_H
   8 #define __LINUX_IRQCHIP_ARM_GIC_COMMON_H
   9 
  10 #include <linux/types.h>
  11 #include <linux/ioport.h>
  12 
  13 #define GICD_INT_DEF_PRI                0xa0
  14 #define GICD_INT_DEF_PRI_X4             ((GICD_INT_DEF_PRI << 24) |\
  15                                         (GICD_INT_DEF_PRI << 16) |\
  16                                         (GICD_INT_DEF_PRI << 8) |\
  17                                         GICD_INT_DEF_PRI)
  18 
  19 enum gic_type {
  20         GIC_V2,
  21         GIC_V3,
  22 };
  23 
  24 struct gic_kvm_info {
  25         /* GIC type */
  26         enum gic_type   type;
  27         /* Virtual CPU interface */
  28         struct resource vcpu;
  29         /* Interrupt number */
  30         unsigned int    maint_irq;
  31         /* Virtual control interface */
  32         struct resource vctrl;
  33         /* vlpi support */
  34         bool            has_v4;
  35 };
  36 
  37 const struct gic_kvm_info *gic_get_kvm_info(void);
  38 
  39 struct irq_domain;
  40 struct fwnode_handle;
  41 int gicv2m_init(struct fwnode_handle *parent_handle,
  42                 struct irq_domain *parent);
  43 
  44 #endif /* __LINUX_IRQCHIP_ARM_GIC_COMMON_H */

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