Lines Matching full:master

121 	struct msm_iommu_ctx_dev *master;  in __flush_iotlb()  local
129 list_for_each_entry(master, &iommu->ctx_list, list) in __flush_iotlb()
130 SET_CTX_TLBIALL(iommu->base, master->num, 0); in __flush_iotlb()
143 struct msm_iommu_ctx_dev *master; in __flush_iotlb_range() local
152 list_for_each_entry(master, &iommu->ctx_list, list) { in __flush_iotlb_range()
157 master->num); in __flush_iotlb_range()
158 SET_TLBIVA(iommu->base, master->num, iova); in __flush_iotlb_range()
207 struct msm_iommu_ctx_dev *master) in config_mids() argument
211 for (i = 0; i < master->num_mids; i++) { in config_mids()
212 mid = master->mids[i]; in config_mids()
213 ctx = master->num; in config_mids()
364 struct msm_iommu_ctx_dev *master; in find_iommu_for_dev() local
367 master = list_first_entry(&iommu->ctx_list, in find_iommu_for_dev()
370 if (master->of_node == dev->of_node) { in find_iommu_for_dev()
400 struct msm_iommu_ctx_dev *master; in msm_iommu_attach_dev() local
407 master = list_first_entry(&iommu->ctx_list, in msm_iommu_attach_dev()
410 if (master->of_node == dev->of_node) { in msm_iommu_attach_dev()
415 list_for_each_entry(master, &iommu->ctx_list, list) { in msm_iommu_attach_dev()
416 if (master->num) { in msm_iommu_attach_dev()
421 master->num = in msm_iommu_attach_dev()
424 if (IS_ERR_VALUE(master->num)) { in msm_iommu_attach_dev()
428 config_mids(iommu, master); in msm_iommu_attach_dev()
429 __program_context(iommu->base, master->num, in msm_iommu_attach_dev()
450 struct msm_iommu_ctx_dev *master; in msm_iommu_identity_attach() local
465 list_for_each_entry(master, &iommu->ctx_list, list) { in msm_iommu_identity_attach()
466 msm_iommu_free_ctx(iommu->context_map, master->num); in msm_iommu_identity_attach()
467 __reset_context(iommu->base, master->num); in msm_iommu_identity_attach()
530 struct msm_iommu_ctx_dev *master; in msm_iommu_iova_to_phys() local
544 master = list_first_entry(&iommu->ctx_list, in msm_iommu_iova_to_phys()
546 if (!master) in msm_iommu_iova_to_phys()
554 SET_CTX_TLBIALL(iommu->base, master->num, 0); in msm_iommu_iova_to_phys()
555 SET_V2PPR(iommu->base, master->num, va & V2Pxx_VA); in msm_iommu_iova_to_phys()
557 par = GET_PAR(iommu->base, master->num); in msm_iommu_iova_to_phys()
560 if (GET_NOFAULT_SS(iommu->base, master->num)) in msm_iommu_iova_to_phys()
565 if (GET_FAULT(iommu->base, master->num)) in msm_iommu_iova_to_phys()
603 struct msm_iommu_ctx_dev *master = dev_iommu_priv_get(dev); in insert_iommu_master() local
607 master = kzalloc(sizeof(*master), GFP_ATOMIC); in insert_iommu_master()
608 if (!master) { in insert_iommu_master()
612 master->of_node = dev->of_node; in insert_iommu_master()
613 list_add(&master->list, &(*iommu)->ctx_list); in insert_iommu_master()
614 dev_iommu_priv_set(dev, master); in insert_iommu_master()
617 for (sid = 0; sid < master->num_mids; sid++) in insert_iommu_master()
618 if (master->mids[sid] == spec->args[0]) { in insert_iommu_master()
624 master->mids[master->num_mids++] = spec->args[0]; in insert_iommu_master()
704 * kick starting the other master.