Lines Matching refs:owner
761 struct exynos_iommu_owner *owner = dev_iommu_priv_get(master); in exynos_sysmmu_suspend() local
763 mutex_lock(&owner->rpm_lock); in exynos_sysmmu_suspend()
768 mutex_unlock(&owner->rpm_lock); in exynos_sysmmu_suspend()
779 struct exynos_iommu_owner *owner = dev_iommu_priv_get(master); in exynos_sysmmu_resume() local
781 mutex_lock(&owner->rpm_lock); in exynos_sysmmu_resume()
786 mutex_unlock(&owner->rpm_lock); in exynos_sysmmu_resume()
919 struct exynos_iommu_owner *owner = dev_iommu_priv_get(dev); in exynos_iommu_detach_device() local
924 if (!has_sysmmu(dev) || owner->domain != iommu_domain) in exynos_iommu_detach_device()
927 mutex_lock(&owner->rpm_lock); in exynos_iommu_detach_device()
929 list_for_each_entry(data, &owner->controllers, owner_node) { in exynos_iommu_detach_device()
944 owner->domain = NULL; in exynos_iommu_detach_device()
947 mutex_unlock(&owner->rpm_lock); in exynos_iommu_detach_device()
957 struct exynos_iommu_owner *owner = dev_iommu_priv_get(dev); in exynos_iommu_attach_device() local
965 if (owner->domain) in exynos_iommu_attach_device()
966 exynos_iommu_detach_device(owner->domain, dev); in exynos_iommu_attach_device()
968 mutex_lock(&owner->rpm_lock); in exynos_iommu_attach_device()
971 list_for_each_entry(data, &owner->controllers, owner_node) { in exynos_iommu_attach_device()
978 owner->domain = iommu_domain; in exynos_iommu_attach_device()
981 list_for_each_entry(data, &owner->controllers, owner_node) { in exynos_iommu_attach_device()
988 mutex_unlock(&owner->rpm_lock); in exynos_iommu_attach_device()
1318 struct exynos_iommu_owner *owner = dev_iommu_priv_get(dev); in exynos_iommu_probe_device() local
1324 list_for_each_entry(data, &owner->controllers, owner_node) { in exynos_iommu_probe_device()
1336 data = list_first_entry(&owner->controllers, in exynos_iommu_probe_device()
1344 struct exynos_iommu_owner *owner = dev_iommu_priv_get(dev); in exynos_iommu_release_device() local
1347 if (owner->domain) { in exynos_iommu_release_device()
1351 WARN_ON(owner->domain != in exynos_iommu_release_device()
1353 exynos_iommu_detach_device(owner->domain, dev); in exynos_iommu_release_device()
1358 list_for_each_entry(data, &owner->controllers, owner_node) in exynos_iommu_release_device()
1366 struct exynos_iommu_owner *owner = dev_iommu_priv_get(dev); in exynos_iommu_of_xlate() local
1378 if (!owner) { in exynos_iommu_of_xlate()
1379 owner = kzalloc(sizeof(*owner), GFP_KERNEL); in exynos_iommu_of_xlate()
1380 if (!owner) { in exynos_iommu_of_xlate()
1385 INIT_LIST_HEAD(&owner->controllers); in exynos_iommu_of_xlate()
1386 mutex_init(&owner->rpm_lock); in exynos_iommu_of_xlate()
1387 dev_iommu_priv_set(dev, owner); in exynos_iommu_of_xlate()
1390 list_for_each_entry(entry, &owner->controllers, owner_node) in exynos_iommu_of_xlate()
1394 list_add_tail(&data->owner_node, &owner->controllers); in exynos_iommu_of_xlate()