Lines Matching refs:msi_desc
601 struct msi_desc *msi_desc, struct msi_msg *msg) in msi_msg_to_remap_entry() argument
608 const struct pi_desc *pi_desc = msi_desc->pi_desc; in msi_msg_to_remap_entry()
610 if ( msi_desc->msi_attrib.type == PCI_CAP_ID_MSI ) in msi_msg_to_remap_entry()
611 nr = msi_desc->msi.nvec; in msi_msg_to_remap_entry()
620 free_remap_entry(iommu, msi_desc->remap_index + i); in msi_msg_to_remap_entry()
621 msi_desc[i].irte_initialized = false; in msi_msg_to_remap_entry()
627 if ( msi_desc->remap_index < 0 ) in msi_msg_to_remap_entry()
631 msi_desc[i].remap_index = index + i; in msi_msg_to_remap_entry()
634 index = msi_desc->remap_index; in msi_msg_to_remap_entry()
642 msi_desc[i].remap_index = -1; in msi_msg_to_remap_entry()
669 new_ire.post.vector = msi_desc->gvec; in msi_msg_to_remap_entry()
678 set_hpet_source_id(msi_desc->hpet_id, &new_ire); in msi_msg_to_remap_entry()
685 i -= msi_desc->msi_attrib.entry_nr; in msi_msg_to_remap_entry()
694 update_irte(iommu, iremap_entry, &new_ire, msi_desc->irte_initialized); in msi_msg_to_remap_entry()
695 msi_desc->irte_initialized = true; in msi_msg_to_remap_entry()
706 struct msi_desc *msi_desc, struct msi_msg *msg) in msi_msg_read_remap_rte() argument
708 struct pci_dev *pdev = msi_desc->dev; in msi_msg_read_remap_rte()
712 : hpet_to_drhd(msi_desc->hpet_id); in msi_msg_read_remap_rte()
715 msi_desc->msi_attrib.type == PCI_CAP_ID_MSI in msi_msg_read_remap_rte()
716 ? msi_desc->msi_attrib.entry_nr : 0); in msi_msg_read_remap_rte()
720 struct msi_desc *msi_desc, struct msi_msg *msg) in msi_msg_write_remap_rte() argument
722 struct pci_dev *pdev = msi_desc->dev; in msi_msg_write_remap_rte()
726 : hpet_to_drhd(msi_desc->hpet_id); in msi_msg_write_remap_rte()
727 return drhd ? msi_msg_to_remap_entry(drhd->iommu, pdev, msi_desc, msg) in msi_msg_write_remap_rte()
731 int __init intel_setup_hpet_msi(struct msi_desc *msi_desc) in intel_setup_hpet_msi() argument
733 struct iommu *iommu = hpet_to_iommu(msi_desc->hpet_id); in intel_setup_hpet_msi()
742 msi_desc->remap_index = alloc_remap_entry(iommu, 1); in intel_setup_hpet_msi()
743 if ( msi_desc->remap_index >= IREMAP_ENTRY_NR ) in intel_setup_hpet_msi()
747 msi_desc->remap_index, IREMAP_ENTRY_NR - 1); in intel_setup_hpet_msi()
748 msi_desc->remap_index = -1; in intel_setup_hpet_msi()
969 struct msi_desc *msi_desc; in pi_update_irte() local
976 msi_desc = desc->msi_desc; in pi_update_irte()
977 if ( !msi_desc ) in pi_update_irte()
982 msi_desc->pi_desc = pi_desc; in pi_update_irte()
983 msi_desc->gvec = gvec; in pi_update_irte()
988 return iommu_update_ire_from_msi(msi_desc, &msi_desc->msg); in pi_update_irte()