170#define rt_pci_msi_first_desc(pdev) \
171 (rt_list_isempty(&(pdev)->msi_desc_nodes) ? RT_NULL : \
172 rt_list_first_entry(&(pdev)->msi_desc_nodes, struct rt_pci_msi_desc, list))
174#define rt_pci_msi_for_each_desc(pdev, desc) \
175 rt_list_for_each_entry(desc, &(pdev)->msi_desc_nodes, list)
177#define rt_pci_msix_table_size(flags) ((flags & PCIM_MSIXCTRL_TABLE_SIZE) + 1)
void rt_pci_msi_unmask_irq(struct rt_pic_irq *pirq)
void rt_pci_msi_mask_irq(struct rt_pic_irq *pirq)
void rt_pci_msix_shutdown(struct rt_pci_device *pdev)
void rt_pci_msi_free_irqs(struct rt_pci_device *pdev)
void rt_pci_msi_shutdown(struct rt_pci_device *pdev)
void rt_pci_msi_write_msg(struct rt_pci_msi_desc *desc, struct rt_pci_msi_msg *msg)
rt_err_t rt_pci_msi_setup_irqs(struct rt_pci_device *pdev, int nvec, int type)
struct rt_list_node rt_list_t
struct rt_pci_msi_conf::@274346217203223326207223267232276126172152015172 cap
void(* write_msi_msg)(struct rt_pci_msi_desc *, void *)
struct rt_pci_msi_msg msg
rt_bitmap_t ** affinities
struct rt_pci_device * pdev
void * write_msi_msg_data
struct rt_pci_msix_conf msix
struct rt_pci_msi_conf msi