6#ifndef ZEPHYR_INCLUDE_DRIVERS_INTEL_VTD_H_ 
    7#define ZEPHYR_INCLUDE_DRIVERS_INTEL_VTD_H_ 
   96        return api->
remap_msi(dev, vector, n_vector);
 
  119        return api->
remap(dev, irte_idx, vector, 
flags, src_id);
 
void(* vtd_set_irte_msi_f)(const struct device *dev, uint8_t irte_idx, bool msi)
Definition: intel_vtd.h:41
 
int(* vtd_set_irte_vector_f)(const struct device *dev, uint8_t irte_idx, uint16_t vector)
Definition: intel_vtd.h:24
 
int(* vtd_get_irte_by_irq_f)(const struct device *dev, unsigned int irq)
Definition: intel_vtd.h:38
 
static int vtd_get_irte_by_irq(const struct device *dev, unsigned int irq)
Get the irte allocated for the given irq.
Definition: intel_vtd.h:202
 
static int vtd_set_irte_vector(const struct device *dev, uint8_t irte_idx, uint16_t vector)
Set the vector on the allocated irte.
Definition: intel_vtd.h:131
 
int(* vtd_alloc_entries_f)(const struct device *dev, uint8_t n_entries)
Definition: intel_vtd.h:11
 
static int vtd_remap(const struct device *dev, uint8_t irte_idx, uint16_t vector, uint32_t flags, uint16_t src_id)
Remap the given vector.
Definition: intel_vtd.h:110
 
static int vtd_get_irte_by_vector(const struct device *dev, uint16_t vector)
Get the irte allocated for the given vector.
Definition: intel_vtd.h:149
 
bool(* vtd_irte_is_msi_f)(const struct device *dev, uint8_t irte_idx)
Definition: intel_vtd.h:45
 
int(* vtd_set_irte_irq_f)(const struct device *dev, uint8_t irte_idx, unsigned int irq)
Definition: intel_vtd.h:34
 
static uint16_t vtd_get_irte_vector(const struct device *dev, uint8_t irte_idx)
Get the vector given to the IRTE.
Definition: intel_vtd.h:166
 
static bool vtd_irte_is_msi(const struct device *dev, uint8_t irte_idx)
Definition: intel_vtd.h:221
 
static int vtd_allocate_entries(const struct device *dev, uint8_t n_entries)
Allocate contiguous IRTEs.
Definition: intel_vtd.h:71
 
int(* vtd_get_irte_by_vector_f)(const struct device *dev, uint16_t vector)
Definition: intel_vtd.h:28
 
uint32_t(* vtd_remap_msi_f)(const struct device *dev, msi_vector_t *vector, uint8_t n_vector)
Definition: intel_vtd.h:14
 
static int vtd_set_irte_irq(const struct device *dev, uint8_t irte_idx, unsigned int irq)
Set the irq on the allocated irte.
Definition: intel_vtd.h:184
 
static uint32_t vtd_remap_msi(const struct device *dev, msi_vector_t *vector, uint8_t n_vector)
Generate the MSI Message Address data for the given vector.
Definition: intel_vtd.h:89
 
static void vtd_set_irte_msi(const struct device *dev, uint8_t irte_idx, bool msi)
Definition: intel_vtd.h:211
 
uint16_t(* vtd_get_irte_vector_f)(const struct device *dev, uint8_t irte_idx)
Definition: intel_vtd.h:31
 
int(* vtd_remap_f)(const struct device *dev, uint8_t irte_idx, uint16_t vector, uint32_t flags, uint16_t src_id)
Definition: intel_vtd.h:18
 
flags
Definition: parser.h:96
 
#define bool
Definition: stdbool.h:13
 
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
 
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
 
__UINT16_TYPE__ uint16_t
Definition: stdint.h:89
 
Runtime device structure (in ROM) per driver instance.
Definition: device.h:378
 
const void * api
Definition: device.h:384
 
Definition: intel_vtd.h:48
 
vtd_set_irte_vector_f set_irte_vector
Definition: intel_vtd.h:52
 
vtd_alloc_entries_f allocate_entries
Definition: intel_vtd.h:49
 
vtd_get_irte_by_vector_f get_irte_by_vector
Definition: intel_vtd.h:53
 
vtd_remap_msi_f remap_msi
Definition: intel_vtd.h:50
 
vtd_irte_is_msi_f irte_is_msi
Definition: intel_vtd.h:58
 
vtd_remap_f remap
Definition: intel_vtd.h:51
 
vtd_set_irte_msi_f set_irte_msi
Definition: intel_vtd.h:57
 
vtd_get_irte_vector_f get_irte_vector
Definition: intel_vtd.h:54
 
vtd_set_irte_irq_f set_irte_irq
Definition: intel_vtd.h:55
 
vtd_get_irte_by_irq_f get_irte_by_irq
Definition: intel_vtd.h:56