Lines Matching +full:bit +full:- +full:mask

1 // SPDX-License-Identifier: GPL-2.0-only
10 #include <dt-bindings/memory/tegra30-mc.h>
44 .mask = 0xff,
56 .bit = 1,
61 .mask = 0xff,
73 .bit = 2,
78 .mask = 0xff,
90 .bit = 3,
95 .mask = 0xff,
107 .bit = 4,
112 .mask = 0xff,
124 .bit = 5,
129 .mask = 0xff,
141 .bit = 6,
146 .mask = 0xff,
158 .bit = 7,
163 .mask = 0xff,
175 .bit = 8,
180 .mask = 0xff,
192 .bit = 9,
197 .mask = 0xff,
209 .bit = 10,
214 .mask = 0xff,
226 .bit = 11,
231 .mask = 0xff,
243 .bit = 12,
248 .mask = 0xff,
260 .bit = 13,
265 .mask = 0xff,
277 .bit = 14,
282 .mask = 0xff,
294 .bit = 15,
299 .mask = 0xff,
311 .bit = 16,
316 .mask = 0xff,
328 .bit = 17,
333 .mask = 0xff,
345 .bit = 18,
350 .mask = 0xff,
362 .bit = 19,
367 .mask = 0xff,
379 .bit = 20,
384 .mask = 0xff,
396 .bit = 21,
401 .mask = 0xff,
413 .bit = 22,
418 .mask = 0xff,
430 .bit = 23,
435 .mask = 0xff,
447 .bit = 24,
452 .mask = 0xff,
464 .bit = 25,
469 .mask = 0xff,
481 .bit = 26,
486 .mask = 0xff,
498 .bit = 27,
503 .mask = 0xff,
515 .bit = 28,
520 .mask = 0xff,
532 .bit = 29,
537 .mask = 0xff,
549 .bit = 30,
554 .mask = 0xff,
566 .bit = 31,
571 .mask = 0xff,
583 .bit = 0,
588 .mask = 0xff,
600 .bit = 1,
605 .mask = 0xff,
617 .bit = 2,
622 .mask = 0xff,
634 .bit = 3,
639 .mask = 0xff,
651 .bit = 4,
656 .mask = 0xff,
668 .bit = 5,
673 .mask = 0xff,
686 .mask = 0xff,
699 .mask = 0xff,
711 .bit = 8,
716 .mask = 0xff,
728 .bit = 9,
733 .mask = 0xff,
745 .bit = 10,
750 .mask = 0xff,
762 .bit = 11,
767 .mask = 0xff,
779 .bit = 12,
784 .mask = 0xff,
796 .bit = 13,
801 .mask = 0xff,
813 .bit = 14,
818 .mask = 0xff,
830 .bit = 15,
835 .mask = 0xff,
847 .bit = 16,
852 .mask = 0xff,
864 .bit = 17,
869 .mask = 0xff,
881 .bit = 18,
886 .mask = 0xff,
898 .bit = 19,
903 .mask = 0xff,
915 .bit = 20,
920 .mask = 0xff,
932 .bit = 21,
937 .mask = 0xff,
949 .bit = 22,
954 .mask = 0xff,
966 .bit = 23,
971 .mask = 0xff,
984 .mask = 0xff,
997 .mask = 0xff,
1009 .bit = 26,
1014 .mask = 0xff,
1026 .bit = 27,
1031 .mask = 0xff,
1043 .bit = 28,
1048 .mask = 0xff,
1060 .bit = 29,
1065 .mask = 0xff,
1077 .bit = 30,
1082 .mask = 0xff,
1094 .bit = 31,
1099 .mask = 0xff,
1111 .bit = 0,
1116 .mask = 0xff,
1128 .bit = 1,
1133 .mask = 0xff,
1195 .bit = _bit, \
1224 unsigned int fifo_size = client->fifo_size; in tegra30_mc_tune_client_latency()
1244 switch (client->swgroup) { in tegra30_mc_tune_client_latency()
1271 arb_nsec -= arb_tolerance_compensation_nsec; in tegra30_mc_tune_client_latency()
1279 * client may wait in the EMEM arbiter before it becomes a high-priority in tegra30_mc_tune_client_latency()
1282 la_ticks = arb_nsec / mc->tick; in tegra30_mc_tune_client_latency()
1283 la_ticks = min(la_ticks, client->regs.la.mask); in tegra30_mc_tune_client_latency()
1285 value = mc_readl(mc, client->regs.la.reg); in tegra30_mc_tune_client_latency()
1286 value &= ~(client->regs.la.mask << client->regs.la.shift); in tegra30_mc_tune_client_latency()
1287 value |= la_ticks << client->regs.la.shift; in tegra30_mc_tune_client_latency()
1288 mc_writel(mc, value, client->regs.la.reg); in tegra30_mc_tune_client_latency()
1293 struct tegra_mc *mc = icc_provider_to_tegra_mc(src->provider); in tegra30_mc_icc_set()
1294 const struct tegra_mc_client *client = &mc->soc->clients[src->id]; in tegra30_mc_icc_set()
1295 u64 peak_bandwidth = icc_units_to_bps(src->peak_bw); in tegra30_mc_icc_set()
1298 * Skip pre-initialization that is done by icc_node_add(), which sets in tegra30_mc_icc_set()
1320 * ISO clients need to reserve extra bandwidth up-front because in tegra30_mc_icc_aggreate()
1339 unsigned int i, idx = spec->args[0]; in tegra30_mc_of_icc_xlate_extended()
1343 list_for_each_entry(node, &mc->provider.nodes, node_list) { in tegra30_mc_of_icc_xlate_extended()
1344 if (node->id != idx) in tegra30_mc_of_icc_xlate_extended()
1349 return ERR_PTR(-ENOMEM); in tegra30_mc_of_icc_xlate_extended()
1351 client = &mc->soc->clients[idx]; in tegra30_mc_of_icc_xlate_extended()
1352 ndata->node = node; in tegra30_mc_of_icc_xlate_extended()
1354 switch (client->swgroup) { in tegra30_mc_of_icc_xlate_extended()
1360 ndata->tag = TEGRA_MC_ICC_TAG_ISO; in tegra30_mc_of_icc_xlate_extended()
1364 ndata->tag = TEGRA_MC_ICC_TAG_DEFAULT; in tegra30_mc_of_icc_xlate_extended()
1371 for (i = 0; i < mc->soc->num_clients; i++) { in tegra30_mc_of_icc_xlate_extended()
1372 if (mc->soc->clients[i].id == idx) in tegra30_mc_of_icc_xlate_extended()
1373 return ERR_PTR(-EPROBE_DEFER); in tegra30_mc_of_icc_xlate_extended()
1376 dev_err(mc->dev, "invalid ICC client ID %u\n", idx); in tegra30_mc_of_icc_xlate_extended()
1378 return ERR_PTR(-EINVAL); in tegra30_mc_of_icc_xlate_extended()