Hi, On 09/11/17 03:32, Yisheng Xie wrote: > Hi Jean, > > On 2017/10/6 21:31, Jean-Philippe Brucker wrote: >> Hook process operations to support PASID and page table sharing with the >> SMMUv3: >> >> + >> +static void arm_smmu_process_exit(struct iommu_domain *domain, >> + struct iommu_process *process) >> +{ >> + struct arm_smmu_master_data *master; >> + struct arm_smmu_domain *smmu_domain = to_smmu_domain(domain); >> + >> + if (!domain->process_exit) >> + return; > > If domain do not set process_exit handler, just return? smmu do not > need invalid ATC, clear cd entry, etc.? Maybe you should check when > call domain->process_exit? Indeed, that doesn't make sense. I'll move the check below. Thanks, Jean >> + >> + spin_lock(&smmu_domain->devices_lock); >> + list_for_each_entry(master, &smmu_domain->devices, list) { >> + if (!master->processes) >> + continue; >> + >> + master->processes--; > Add > if (domain->process_exit) > here? >> + domain->process_exit(domain, master->dev, process->pasid, >> + domain->process_exit_token); >> + >> + /* TODO: inval ATC */ >> + } >> + spin_unlock(&smmu_domain->devices_lock); >> + >> + arm_smmu_write_ctx_desc(smmu_domain, process->pasid, NULL); >> + >> + /* TODO: Invalidate all mappings if not DVM */ >> +} >> + > Thanks > Yisheng Xie > > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html