Lines Matching refs:domain

127     struct iommu_domain domain;

147 struct iommu_domain *domain; /* domain to which iommu is attached */
170 return container_of(dom, struct rk_iommu_domain, domain);
768 if (iommu->domain) {
769 report_iommu_fault(iommu->domain, iommu->dev, iova, status);
771 dev_err(iommu->dev, "Page fault while iommu not attached to domain?\n");
805 static phys_addr_t rk_iommu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova)
807 struct rk_iommu_domain *rk_domain = to_rk_domain(domain);
834 static phys_addr_t rk_iommu_iova_to_phys_v2(struct iommu_domain *domain, dma_addr_t iova)
836 struct rk_iommu_domain *rk_domain = to_rk_domain(domain);
868 /* shootdown these iova from all iommus using this domain */
1089 static int rk_iommu_map(struct iommu_domain *domain, unsigned long _iova, phys_addr_t paddr, size_t size, int prot,
1092 struct rk_iommu_domain *rk_domain = to_rk_domain(domain);
1125 static int rk_iommu_map_v2(struct iommu_domain *domain, unsigned long _iova, phys_addr_t paddr, size_t size, int prot,
1128 struct rk_iommu_domain *rk_domain = to_rk_domain(domain);
1161 static size_t rk_iommu_unmap(struct iommu_domain *domain, unsigned long _iova, size_t size,
1164 struct rk_iommu_domain *rk_domain = to_rk_domain(domain);
1201 static size_t rk_iommu_unmap_v2(struct iommu_domain *domain, unsigned long _iova, size_t size,
1204 struct rk_iommu_domain *rk_domain = to_rk_domain(domain);
1244 static void rk_iommu_flush_tlb_all(struct iommu_domain *domain)
1246 struct rk_iommu_domain *rk_domain = to_rk_domain(domain);
1317 struct iommu_domain *domain = iommu->domain;
1318 struct rk_iommu_domain *rk_domain = to_rk_domain(domain);
1376 static void rk_iommu_detach_device(struct iommu_domain *domain, struct device *dev)
1379 struct rk_iommu_domain *rk_domain = to_rk_domain(domain);
1383 /* Allow 'virtual devices' (eg drm) to detach from domain */
1389 dev_dbg(dev, "Detaching from iommu domain\n");
1391 if (!iommu->domain) {
1395 iommu->domain = NULL;
1409 static int rk_iommu_attach_device(struct iommu_domain *domain, struct device *dev)
1412 struct rk_iommu_domain *rk_domain = to_rk_domain(domain);
1417 * Allow 'virtual devices' (e.g., drm) to attach to domain.
1425 dev_dbg(dev, "Attaching to iommu domain\n");
1427 if (iommu->domain) {
1428 rk_iommu_detach_device(iommu->domain, dev);
1431 iommu->domain = domain;
1434 if (!domain) {
1450 rk_iommu_detach_device(iommu->domain, dev);
1475 if (type == IOMMU_DOMAIN_DMA && iommu_get_dma_cookie(&rk_domain->domain)) {
1501 rk_domain->domain.geometry.aperture_start = 0;
1502 rk_domain->domain.geometry.aperture_end = DMA_BIT_MASK(RK_DMA_BIT_MASK);
1503 rk_domain->domain.geometry.force_aperture = true;
1505 return &rk_domain->domain;
1511 iommu_put_dma_cookie(&rk_domain->domain);
1519 static void rk_iommu_domain_free(struct iommu_domain *domain)
1521 struct rk_iommu_domain *rk_domain = to_rk_domain(domain);
1539 if (domain->type == IOMMU_DOMAIN_DMA) {
1540 iommu_put_dma_cookie(&rk_domain->domain);
1545 static void rk_iommu_domain_free_v2(struct iommu_domain *domain)
1547 struct rk_iommu_domain *rk_domain = to_rk_domain(domain);
1567 if (domain->type == IOMMU_DOMAIN_DMA) {
1568 iommu_put_dma_cookie(&rk_domain->domain);
1618 static bool rk_iommu_is_attach_deferred(struct iommu_domain *domain, struct device *dev)
1843 * Use the first registered IOMMU device for domain to use with DMA
1844 * API, since a domain might not physically correspond to a single
1905 if (!iommu->domain) {
1921 if (!iommu->domain) {