Lines Matching refs:desc

12 void pci_msi_update_mask(struct msi_desc *desc, u32 clear, u32 set);
14 static inline void pci_msi_mask(struct msi_desc *desc, u32 mask)
16 pci_msi_update_mask(desc, 0, mask);
19 static inline void pci_msi_unmask(struct msi_desc *desc, u32 mask)
21 pci_msi_update_mask(desc, mask, 0);
24 static inline void __iomem *pci_msix_desc_addr(struct msi_desc *desc)
26 return desc->pci.mask_base + desc->msi_index * PCI_MSIX_ENTRY_SIZE;
35 static inline void pci_msix_write_vector_ctrl(struct msi_desc *desc, u32 ctrl)
37 void __iomem *desc_addr = pci_msix_desc_addr(desc);
39 if (desc->pci.msi_attrib.can_mask)
43 static inline void pci_msix_mask(struct msi_desc *desc)
45 desc->pci.msix_ctrl |= PCI_MSIX_ENTRY_CTRL_MASKBIT;
46 pci_msix_write_vector_ctrl(desc, desc->pci.msix_ctrl);
48 readl(desc->pci.mask_base);
51 static inline void pci_msix_unmask(struct msi_desc *desc)
53 desc->pci.msix_ctrl &= ~PCI_MSIX_ENTRY_CTRL_MASKBIT;
54 pci_msix_write_vector_ctrl(desc, desc->pci.msix_ctrl);
57 static inline void __pci_msi_mask_desc(struct msi_desc *desc, u32 mask)
59 if (desc->pci.msi_attrib.is_msix)
60 pci_msix_mask(desc);
62 pci_msi_mask(desc, mask);
65 static inline void __pci_msi_unmask_desc(struct msi_desc *desc, u32 mask)
67 if (desc->pci.msi_attrib.is_msix)
68 pci_msix_unmask(desc);
70 pci_msi_unmask(desc, mask);
79 static inline __attribute_const__ u32 msi_multi_mask(struct msi_desc *desc)
82 if (desc->pci.msi_attrib.multi_cap >= 5)
84 return (1 << (1 << desc->pci.msi_attrib.multi_cap)) - 1;
87 void msix_prepare_msi_desc(struct pci_dev *dev, struct msi_desc *desc);