Lines Matching refs:msi_page
405 struct iommu_dma_msi_page *msi_page;
412 msi_page = kmalloc(sizeof(*msi_page), GFP_KERNEL);
413 if (!msi_page)
416 msi_page->phys = start;
417 msi_page->iova = start;
418 INIT_LIST_HEAD(&msi_page->list);
419 list_add(&msi_page->list, &cookie->msi_page_list);
1661 struct iommu_dma_msi_page *msi_page;
1667 list_for_each_entry(msi_page, &cookie->msi_page_list, list)
1668 if (msi_page->phys == msi_addr)
1669 return msi_page;
1671 msi_page = kzalloc(sizeof(*msi_page), GFP_KERNEL);
1672 if (!msi_page)
1682 INIT_LIST_HEAD(&msi_page->list);
1683 msi_page->phys = msi_addr;
1684 msi_page->iova = iova;
1685 list_add(&msi_page->list, &cookie->msi_page_list);
1686 return msi_page;
1691 kfree(msi_page);
1706 struct iommu_dma_msi_page *msi_page;
1720 msi_page = iommu_dma_get_msi_page(dev, msi_addr, domain);
1723 msi_desc_set_iommu_cookie(desc, msi_page);
1725 if (!msi_page)
1739 const struct iommu_dma_msi_page *msi_page;
1741 msi_page = msi_desc_get_iommu_cookie(desc);
1743 if (!domain || !domain->iova_cookie || WARN_ON(!msi_page))
1746 msg->address_hi = upper_32_bits(msi_page->iova);
1748 msg->address_lo += lower_32_bits(msi_page->iova);