Lines Matching refs:msi_page

180 	struct iommu_dma_msi_page *msi_page;  in cookie_init_hw_msi_region()  local
187 msi_page = kmalloc(sizeof(*msi_page), GFP_KERNEL); in cookie_init_hw_msi_region()
188 if (!msi_page) in cookie_init_hw_msi_region()
191 msi_page->phys = start; in cookie_init_hw_msi_region()
192 msi_page->iova = start; in cookie_init_hw_msi_region()
193 INIT_LIST_HEAD(&msi_page->list); in cookie_init_hw_msi_region()
194 list_add(&msi_page->list, &cookie->msi_page_list); in cookie_init_hw_msi_region()
1280 struct iommu_dma_msi_page *msi_page; in iommu_dma_get_msi_page() local
1286 list_for_each_entry(msi_page, &cookie->msi_page_list, list) in iommu_dma_get_msi_page()
1287 if (msi_page->phys == msi_addr) in iommu_dma_get_msi_page()
1288 return msi_page; in iommu_dma_get_msi_page()
1290 msi_page = kzalloc(sizeof(*msi_page), GFP_KERNEL); in iommu_dma_get_msi_page()
1291 if (!msi_page) in iommu_dma_get_msi_page()
1301 INIT_LIST_HEAD(&msi_page->list); in iommu_dma_get_msi_page()
1302 msi_page->phys = msi_addr; in iommu_dma_get_msi_page()
1303 msi_page->iova = iova; in iommu_dma_get_msi_page()
1304 list_add(&msi_page->list, &cookie->msi_page_list); in iommu_dma_get_msi_page()
1305 return msi_page; in iommu_dma_get_msi_page()
1310 kfree(msi_page); in iommu_dma_get_msi_page()
1318 struct iommu_dma_msi_page *msi_page; in iommu_dma_prepare_msi() local
1332 msi_page = iommu_dma_get_msi_page(dev, msi_addr, domain); in iommu_dma_prepare_msi()
1335 msi_desc_set_iommu_cookie(desc, msi_page); in iommu_dma_prepare_msi()
1337 if (!msi_page) in iommu_dma_prepare_msi()
1347 const struct iommu_dma_msi_page *msi_page; in iommu_dma_compose_msi_msg() local
1349 msi_page = msi_desc_get_iommu_cookie(desc); in iommu_dma_compose_msi_msg()
1351 if (!domain || !domain->iova_cookie || WARN_ON(!msi_page)) in iommu_dma_compose_msi_msg()
1354 msg->address_hi = upper_32_bits(msi_page->iova); in iommu_dma_compose_msi_msg()
1356 msg->address_lo += lower_32_bits(msi_page->iova); in iommu_dma_compose_msi_msg()