Lines Matching refs:soc
25 const struct tegra_smmu_group_soc *soc; member
35 const struct tegra_smmu_soc *soc; member
88 ((smmu)->soc->num_tlb_lines & (smmu)->tlb_mask)
187 offset &= ~(smmu->mc->soc->atom_size - 1); in smmu_flush_ptc()
189 if (smmu->mc->soc->num_address_bits > 32) { in smmu_flush_ptc()
212 if (smmu->soc->num_asids == 4) in smmu_flush_tlb_asid()
227 if (smmu->soc->num_asids == 4) in smmu_flush_tlb_section()
242 if (smmu->soc->num_asids == 4) in smmu_flush_tlb_group()
260 id = find_first_zero_bit(smmu->asids, smmu->soc->num_asids); in tegra_smmu_alloc_asid()
261 if (id >= smmu->soc->num_asids) in tegra_smmu_alloc_asid()
342 for (i = 0; i < smmu->soc->num_swgroups; i++) { in tegra_smmu_find_swgroup()
343 if (smmu->soc->swgroups[i].swgroup == swgroup) { in tegra_smmu_find_swgroup()
344 group = &smmu->soc->swgroups[i]; in tegra_smmu_find_swgroup()
373 for (i = 0; i < smmu->soc->num_clients; i++) { in tegra_smmu_enable()
374 const struct tegra_mc_client *client = &smmu->soc->clients[i]; in tegra_smmu_enable()
401 for (i = 0; i < smmu->soc->num_clients; i++) { in tegra_smmu_disable()
402 const struct tegra_mc_client *client = &smmu->soc->clients[i]; in tegra_smmu_disable()
879 for (i = 0; i < smmu->soc->num_groups; i++) in tegra_smmu_find_group()
880 for (j = 0; j < smmu->soc->groups[i].num_swgroups; j++) in tegra_smmu_find_group()
881 if (smmu->soc->groups[i].swgroups[j] == swgroup) in tegra_smmu_find_group()
882 return &smmu->soc->groups[i]; in tegra_smmu_find_group()
901 const struct tegra_smmu_group_soc *soc; in tegra_smmu_device_group() local
907 soc = tegra_smmu_find_group(smmu, swgroup); in tegra_smmu_device_group()
913 if ((group->swgroup == swgroup) || (soc && group->soc == soc)) { in tegra_smmu_device_group()
928 group->soc = soc; in tegra_smmu_device_group()
942 if (soc) in tegra_smmu_device_group()
943 iommu_group_set_name(group->group, soc->name); in tegra_smmu_device_group()
1011 for (i = 0; i < smmu->soc->num_swgroups; i++) { in tegra_smmu_swgroups_show()
1012 const struct tegra_smmu_swgroup *group = &smmu->soc->swgroups[i]; in tegra_smmu_swgroups_show()
1043 for (i = 0; i < smmu->soc->num_clients; i++) { in tegra_smmu_clients_show()
1044 const struct tegra_mc_client *client = &smmu->soc->clients[i]; in tegra_smmu_clients_show()
1080 const struct tegra_smmu_soc *soc, in tegra_smmu_probe() argument
1102 size = BITS_TO_LONGS(soc->num_asids) * sizeof(long); in tegra_smmu_probe()
1112 smmu->soc = soc; in tegra_smmu_probe()
1117 BIT_MASK(mc->soc->num_address_bits - SMMU_PTE_SHIFT) - 1; in tegra_smmu_probe()
1119 mc->soc->num_address_bits, smmu->pfn_mask); in tegra_smmu_probe()
1120 smmu->tlb_mask = (1 << fls(smmu->soc->num_tlb_lines)) - 1; in tegra_smmu_probe()
1121 dev_dbg(dev, "TLB lines: %u, mask: %#lx\n", smmu->soc->num_tlb_lines, in tegra_smmu_probe()
1126 if (soc->supports_request_limit) in tegra_smmu_probe()
1134 if (soc->supports_round_robin_arbitration) in tegra_smmu_probe()