Lines Matching refs:owner
673 struct exynos_iommu_owner *owner = dev_iommu_priv_get(master); in exynos_sysmmu_suspend() local
675 mutex_lock(&owner->rpm_lock); in exynos_sysmmu_suspend()
680 mutex_unlock(&owner->rpm_lock); in exynos_sysmmu_suspend()
691 struct exynos_iommu_owner *owner = dev_iommu_priv_get(master); in exynos_sysmmu_resume() local
693 mutex_lock(&owner->rpm_lock); in exynos_sysmmu_resume()
698 mutex_unlock(&owner->rpm_lock); in exynos_sysmmu_resume()
841 struct exynos_iommu_owner *owner = dev_iommu_priv_get(dev); in exynos_iommu_detach_device() local
846 if (!has_sysmmu(dev) || owner->domain != iommu_domain) in exynos_iommu_detach_device()
849 mutex_lock(&owner->rpm_lock); in exynos_iommu_detach_device()
851 list_for_each_entry(data, &owner->controllers, owner_node) { in exynos_iommu_detach_device()
866 owner->domain = NULL; in exynos_iommu_detach_device()
869 mutex_unlock(&owner->rpm_lock); in exynos_iommu_detach_device()
879 struct exynos_iommu_owner *owner = dev_iommu_priv_get(dev); in exynos_iommu_attach_device() local
887 if (owner->domain) in exynos_iommu_attach_device()
888 exynos_iommu_detach_device(owner->domain, dev); in exynos_iommu_attach_device()
890 mutex_lock(&owner->rpm_lock); in exynos_iommu_attach_device()
893 list_for_each_entry(data, &owner->controllers, owner_node) { in exynos_iommu_attach_device()
900 owner->domain = iommu_domain; in exynos_iommu_attach_device()
903 list_for_each_entry(data, &owner->controllers, owner_node) { in exynos_iommu_attach_device()
910 mutex_unlock(&owner->rpm_lock); in exynos_iommu_attach_device()
1240 struct exynos_iommu_owner *owner = dev_iommu_priv_get(dev); in exynos_iommu_probe_device() local
1246 list_for_each_entry(data, &owner->controllers, owner_node) { in exynos_iommu_probe_device()
1258 data = list_first_entry(&owner->controllers, in exynos_iommu_probe_device()
1266 struct exynos_iommu_owner *owner = dev_iommu_priv_get(dev); in exynos_iommu_release_device() local
1272 if (owner->domain) { in exynos_iommu_release_device()
1276 WARN_ON(owner->domain != in exynos_iommu_release_device()
1278 exynos_iommu_detach_device(owner->domain, dev); in exynos_iommu_release_device()
1283 list_for_each_entry(data, &owner->controllers, owner_node) in exynos_iommu_release_device()
1291 struct exynos_iommu_owner *owner = dev_iommu_priv_get(dev); in exynos_iommu_of_xlate() local
1303 if (!owner) { in exynos_iommu_of_xlate()
1304 owner = kzalloc(sizeof(*owner), GFP_KERNEL); in exynos_iommu_of_xlate()
1305 if (!owner) { in exynos_iommu_of_xlate()
1310 INIT_LIST_HEAD(&owner->controllers); in exynos_iommu_of_xlate()
1311 mutex_init(&owner->rpm_lock); in exynos_iommu_of_xlate()
1312 dev_iommu_priv_set(dev, owner); in exynos_iommu_of_xlate()
1315 list_for_each_entry(entry, &owner->controllers, owner_node) in exynos_iommu_of_xlate()
1319 list_add_tail(&data->owner_node, &owner->controllers); in exynos_iommu_of_xlate()