diff options
Diffstat (limited to 'include/linux/acpi_iort.h')
| -rw-r--r-- | include/linux/acpi_iort.h | 16 | 
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/acpi_iort.h b/include/linux/acpi_iort.h index 0e32dac8fd03..77e08099e554 100644 --- a/include/linux/acpi_iort.h +++ b/include/linux/acpi_iort.h @@ -23,20 +23,36 @@  #include <linux/fwnode.h>  #include <linux/irqdomain.h> +#define IORT_IRQ_MASK(irq)		(irq & 0xffffffffULL) +#define IORT_IRQ_TRIGGER_MASK(irq)	((irq >> 32) & 0xffffffffULL) +  int iort_register_domain_token(int trans_id, struct fwnode_handle *fw_node);  void iort_deregister_domain_token(int trans_id);  struct fwnode_handle *iort_find_domain_token(int trans_id);  #ifdef CONFIG_ACPI_IORT  void acpi_iort_init(void); +bool iort_node_match(u8 type);  u32 iort_msi_map_rid(struct device *dev, u32 req_id);  struct irq_domain *iort_get_device_domain(struct device *dev, u32 req_id); +/* IOMMU interface */ +void iort_set_dma_mask(struct device *dev); +const struct iommu_ops *iort_iommu_configure(struct device *dev);  #else  static inline void acpi_iort_init(void) { } +static inline bool iort_node_match(u8 type) { return false; }  static inline u32 iort_msi_map_rid(struct device *dev, u32 req_id)  { return req_id; }  static inline struct irq_domain *iort_get_device_domain(struct device *dev,  							u32 req_id)  { return NULL; } +/* IOMMU interface */ +static inline void iort_set_dma_mask(struct device *dev) { } +static inline +const struct iommu_ops *iort_iommu_configure(struct device *dev) +{ return NULL; }  #endif +#define IORT_ACPI_DECLARE(name, table_id, fn)		\ +	ACPI_DECLARE_PROBE_ENTRY(iort, name, table_id, 0, NULL, 0, fn) +  #endif /* __ACPI_IORT_H__ */  | 
