Lines Matching refs:group
26 struct iommu_group *group; member
334 const struct tegra_smmu_swgroup *group = NULL; in tegra_smmu_find_swgroup() local
339 group = &smmu->soc->swgroups[i]; in tegra_smmu_find_swgroup()
344 return group; in tegra_smmu_find_swgroup()
350 const struct tegra_smmu_swgroup *group; in tegra_smmu_enable() local
354 group = tegra_smmu_find_swgroup(smmu, swgroup); in tegra_smmu_enable()
355 if (group) { in tegra_smmu_enable()
356 value = smmu_readl(smmu, group->reg); in tegra_smmu_enable()
360 smmu_writel(smmu, value, group->reg); in tegra_smmu_enable()
383 const struct tegra_smmu_swgroup *group; in tegra_smmu_disable() local
387 group = tegra_smmu_find_swgroup(smmu, swgroup); in tegra_smmu_disable()
388 if (group) { in tegra_smmu_disable()
389 value = smmu_readl(smmu, group->reg); in tegra_smmu_disable()
393 smmu_writel(smmu, value, group->reg); in tegra_smmu_disable()
883 struct tegra_smmu_group *group = iommu_data; in tegra_smmu_group_release() local
884 struct tegra_smmu *smmu = group->smmu; in tegra_smmu_group_release()
887 list_del(&group->list); in tegra_smmu_group_release()
897 struct tegra_smmu_group *group; in tegra_smmu_device_group() local
906 list_for_each_entry(group, &smmu->groups, list) in tegra_smmu_device_group()
907 if ((group->swgroup == swgroup) || (soc && group->soc == soc)) { in tegra_smmu_device_group()
908 grp = iommu_group_ref_get(group->group); in tegra_smmu_device_group()
913 group = devm_kzalloc(smmu->dev, sizeof(*group), GFP_KERNEL); in tegra_smmu_device_group()
914 if (!group) { in tegra_smmu_device_group()
919 INIT_LIST_HEAD(&group->list); in tegra_smmu_device_group()
920 group->swgroup = swgroup; in tegra_smmu_device_group()
921 group->smmu = smmu; in tegra_smmu_device_group()
922 group->soc = soc; in tegra_smmu_device_group()
925 group->group = pci_device_group(dev); in tegra_smmu_device_group()
927 group->group = generic_device_group(dev); in tegra_smmu_device_group()
929 if (IS_ERR(group->group)) { in tegra_smmu_device_group()
930 devm_kfree(smmu->dev, group); in tegra_smmu_device_group()
935 iommu_group_set_iommudata(group->group, group, tegra_smmu_group_release); in tegra_smmu_device_group()
937 iommu_group_set_name(group->group, soc->name); in tegra_smmu_device_group()
938 list_add_tail(&group->list, &smmu->groups); in tegra_smmu_device_group()
941 return group->group; in tegra_smmu_device_group()
1006 const struct tegra_smmu_swgroup *group = &smmu->soc->swgroups[i]; in tegra_smmu_swgroups_show() local
1010 value = smmu_readl(smmu, group->reg); in tegra_smmu_swgroups_show()
1019 seq_printf(s, "%-9s %-7s %#04x\n", group->name, status, in tegra_smmu_swgroups_show()