Commit 4f1ac76e authored by Thierry Reding's avatar Thierry Reding Committed by Krzysztof Kozlowski
Browse files

memory: tegra: Consolidate register fields



Subsequent patches will add more register fields to the tegra_mc_client
structure, so consolidate all register field definitions into a common
sub-structure for coherency.

Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
Link: https://lore.kernel.org/r/20210602163302.120041-2-thierry.reding@gmail.com


Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
parent eeafcdea
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -376,9 +376,9 @@ static void tegra_smmu_enable(struct tegra_smmu *smmu, unsigned int swgroup,
		if (client->swgroup != swgroup)
			continue;

		value = smmu_readl(smmu, client->smmu.reg);
		value |= BIT(client->smmu.bit);
		smmu_writel(smmu, value, client->smmu.reg);
		value = smmu_readl(smmu, client->regs.smmu.reg);
		value |= BIT(client->regs.smmu.bit);
		smmu_writel(smmu, value, client->regs.smmu.reg);
	}
}

@@ -404,9 +404,9 @@ static void tegra_smmu_disable(struct tegra_smmu *smmu, unsigned int swgroup,
		if (client->swgroup != swgroup)
			continue;

		value = smmu_readl(smmu, client->smmu.reg);
		value &= ~BIT(client->smmu.bit);
		smmu_writel(smmu, value, client->smmu.reg);
		value = smmu_readl(smmu, client->regs.smmu.reg);
		value &= ~BIT(client->regs.smmu.bit);
		smmu_writel(smmu, value, client->regs.smmu.reg);
	}
}

@@ -1042,9 +1042,9 @@ static int tegra_smmu_clients_show(struct seq_file *s, void *data)
		const struct tegra_mc_client *client = &smmu->soc->clients[i];
		const char *status;

		value = smmu_readl(smmu, client->smmu.reg);
		value = smmu_readl(smmu, client->regs.smmu.reg);

		if (value & BIT(client->smmu.bit))
		if (value & BIT(client->regs.smmu.bit))
			status = "yes";
		else
			status = "no";
+5 −5
Original line number Diff line number Diff line
@@ -316,13 +316,13 @@ static int tegra_mc_setup_latency_allowance(struct tegra_mc *mc)

	/* write latency allowance defaults */
	for (i = 0; i < mc->soc->num_clients; i++) {
		const struct tegra_mc_la *la = &mc->soc->clients[i].la;
		const struct tegra_mc_client *client = &mc->soc->clients[i];
		u32 value;

		value = mc_readl(mc, la->reg);
		value &= ~(la->mask << la->shift);
		value |= (la->def & la->mask) << la->shift;
		mc_writel(mc, value, la->reg);
		value = mc_readl(mc, client->regs.la.reg);
		value &= ~(client->regs.la.mask << client->regs.la.shift);
		value |= (client->regs.la.def & client->regs.la.mask) << client->regs.la.shift;
		mc_writel(mc, value, client->regs.la.reg);
	}

	/* latch new values */
+687 −557
Original line number Diff line number Diff line
@@ -15,16 +15,19 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
		.id = 0x00,
		.name = "ptcr",
		.swgroup = TEGRA_SWGROUP_PTC,
		.regs = {
			.la = {
				.reg = 0x34c,
				.shift = 0,
				.mask = 0xff,
				.def = 0x0,
			},
		},
	}, {
		.id = 0x01,
		.name = "display0a",
		.swgroup = TEGRA_SWGROUP_DC,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 1,
@@ -35,10 +38,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x4e,
			},
		},
	}, {
		.id = 0x02,
		.name = "display0ab",
		.swgroup = TEGRA_SWGROUP_DCB,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 2,
@@ -49,10 +54,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x4e,
			},
		},
	}, {
		.id = 0x03,
		.name = "display0b",
		.swgroup = TEGRA_SWGROUP_DC,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 3,
@@ -63,10 +70,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x4e,
			},
		},
	}, {
		.id = 0x04,
		.name = "display0bb",
		.swgroup = TEGRA_SWGROUP_DCB,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 4,
@@ -77,10 +86,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x4e,
			},
		},
	}, {
		.id = 0x05,
		.name = "display0c",
		.swgroup = TEGRA_SWGROUP_DC,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 5,
@@ -91,10 +102,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x4e,
			},
		},
	}, {
		.id = 0x06,
		.name = "display0cb",
		.swgroup = TEGRA_SWGROUP_DCB,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 6,
@@ -105,10 +118,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x4e,
			},
		},
	}, {
		.id = 0x09,
		.name = "eppup",
		.swgroup = TEGRA_SWGROUP_EPP,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 9,
@@ -119,10 +134,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x33,
			},
		},
	}, {
		.id = 0x0a,
		.name = "g2pr",
		.swgroup = TEGRA_SWGROUP_G2,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 10,
@@ -133,10 +150,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x09,
			},
		},
	}, {
		.id = 0x0b,
		.name = "g2sr",
		.swgroup = TEGRA_SWGROUP_G2,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 11,
@@ -147,10 +166,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x09,
			},
		},
	}, {
		.id = 0x0f,
		.name = "avpcarm7r",
		.swgroup = TEGRA_SWGROUP_AVPC,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 15,
@@ -161,10 +182,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x04,
			},
		},
	}, {
		.id = 0x10,
		.name = "displayhc",
		.swgroup = TEGRA_SWGROUP_DC,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 16,
@@ -175,10 +198,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x68,
			},
		},
	}, {
		.id = 0x11,
		.name = "displayhcb",
		.swgroup = TEGRA_SWGROUP_DCB,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 17,
@@ -189,10 +214,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x68,
			},
		},
	}, {
		.id = 0x12,
		.name = "fdcdrd",
		.swgroup = TEGRA_SWGROUP_NV,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 18,
@@ -203,10 +230,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x0c,
			},
		},
	}, {
		.id = 0x13,
		.name = "fdcdrd2",
		.swgroup = TEGRA_SWGROUP_NV,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 19,
@@ -217,10 +246,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x0c,
			},
		},
	}, {
		.id = 0x14,
		.name = "g2dr",
		.swgroup = TEGRA_SWGROUP_G2,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 20,
@@ -231,10 +262,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x0a,
			},
		},
	}, {
		.id = 0x15,
		.name = "hdar",
		.swgroup = TEGRA_SWGROUP_HDA,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 21,
@@ -245,10 +278,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0xff,
			},
		},
	}, {
		.id = 0x16,
		.name = "host1xdmar",
		.swgroup = TEGRA_SWGROUP_HC,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 22,
@@ -259,10 +294,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x10,
			},
		},
	}, {
		.id = 0x17,
		.name = "host1xr",
		.swgroup = TEGRA_SWGROUP_HC,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 23,
@@ -273,10 +310,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0xa5,
			},
		},
	}, {
		.id = 0x18,
		.name = "idxsrd",
		.swgroup = TEGRA_SWGROUP_NV,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 24,
@@ -287,10 +326,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x0b,
			},
		},
	}, {
		.id = 0x1c,
		.name = "msencsrd",
		.swgroup = TEGRA_SWGROUP_MSENC,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 28,
@@ -301,10 +342,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x1d,
		.name = "ppcsahbdmar",
		.swgroup = TEGRA_SWGROUP_PPCS,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 29,
@@ -315,10 +358,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x50,
			},
		},
	}, {
		.id = 0x1e,
		.name = "ppcsahbslvr",
		.swgroup = TEGRA_SWGROUP_PPCS,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 30,
@@ -329,10 +374,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0xe8,
			},
		},
	}, {
		.id = 0x20,
		.name = "texl2srd",
		.swgroup = TEGRA_SWGROUP_NV,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 0,
@@ -343,10 +390,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x0c,
			},
		},
	}, {
		.id = 0x22,
		.name = "vdebsevr",
		.swgroup = TEGRA_SWGROUP_VDE,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 2,
@@ -357,10 +406,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0xff,
			},
		},
	}, {
		.id = 0x23,
		.name = "vdember",
		.swgroup = TEGRA_SWGROUP_VDE,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 3,
@@ -371,10 +422,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0xff,
			},
		},
	}, {
		.id = 0x24,
		.name = "vdemcer",
		.swgroup = TEGRA_SWGROUP_VDE,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 4,
@@ -385,10 +438,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0xb8,
			},
		},
	}, {
		.id = 0x25,
		.name = "vdetper",
		.swgroup = TEGRA_SWGROUP_VDE,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 5,
@@ -399,30 +454,36 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0xee,
			},
		},
	}, {
		.id = 0x26,
		.name = "mpcorelpr",
		.swgroup = TEGRA_SWGROUP_MPCORELP,
		.regs = {
			.la = {
				.reg = 0x324,
				.shift = 0,
				.mask = 0xff,
				.def = 0x04,
			},
		},
	}, {
		.id = 0x27,
		.name = "mpcorer",
		.swgroup = TEGRA_SWGROUP_MPCORE,
		.regs = {
			.la = {
				.reg = 0x320,
				.shift = 0,
				.mask = 0xff,
				.def = 0x04,
			},
		},
	}, {
		.id = 0x28,
		.name = "eppu",
		.swgroup = TEGRA_SWGROUP_EPP,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 8,
@@ -433,10 +494,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x33,
			},
		},
	}, {
		.id = 0x29,
		.name = "eppv",
		.swgroup = TEGRA_SWGROUP_EPP,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 9,
@@ -447,10 +510,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x6c,
			},
		},
	}, {
		.id = 0x2a,
		.name = "eppy",
		.swgroup = TEGRA_SWGROUP_EPP,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 10,
@@ -461,10 +526,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x6c,
			},
		},
	}, {
		.id = 0x2b,
		.name = "msencswr",
		.swgroup = TEGRA_SWGROUP_MSENC,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 11,
@@ -475,10 +542,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x2c,
		.name = "viwsb",
		.swgroup = TEGRA_SWGROUP_VI,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 12,
@@ -489,10 +558,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x47,
			},
		},
	}, {
		.id = 0x2d,
		.name = "viwu",
		.swgroup = TEGRA_SWGROUP_VI,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 13,
@@ -503,10 +574,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0xff,
			},
		},
	}, {
		.id = 0x2e,
		.name = "viwv",
		.swgroup = TEGRA_SWGROUP_VI,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 14,
@@ -517,10 +590,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0xff,
			},
		},
	}, {
		.id = 0x2f,
		.name = "viwy",
		.swgroup = TEGRA_SWGROUP_VI,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 15,
@@ -531,10 +606,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x47,
			},
		},
	}, {
		.id = 0x30,
		.name = "g2dw",
		.swgroup = TEGRA_SWGROUP_G2,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 16,
@@ -545,10 +622,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x9,
			},
		},
	}, {
		.id = 0x32,
		.name = "avpcarm7w",
		.swgroup = TEGRA_SWGROUP_AVPC,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 18,
@@ -559,10 +638,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x0e,
			},
		},
	}, {
		.id = 0x33,
		.name = "fdcdwr",
		.swgroup = TEGRA_SWGROUP_NV,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 19,
@@ -573,10 +654,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x10,
			},
		},
	}, {
		.id = 0x34,
		.name = "fdcdwr2",
		.swgroup = TEGRA_SWGROUP_NV,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 20,
@@ -587,10 +670,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x10,
			},
		},
	}, {
		.id = 0x35,
		.name = "hdaw",
		.swgroup = TEGRA_SWGROUP_HDA,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 21,
@@ -601,10 +686,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0xff,
			},
		},
	}, {
		.id = 0x36,
		.name = "host1xw",
		.swgroup = TEGRA_SWGROUP_HC,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 22,
@@ -615,10 +702,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x25,
			},
		},
	}, {
		.id = 0x37,
		.name = "ispw",
		.swgroup = TEGRA_SWGROUP_ISP,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 23,
@@ -629,30 +718,36 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0xff,
			},
		},
	}, {
		.id = 0x38,
		.name = "mpcorelpw",
		.swgroup = TEGRA_SWGROUP_MPCORELP,
		.regs = {
			.la = {
				.reg = 0x324,
				.shift = 16,
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x39,
		.name = "mpcorew",
		.swgroup = TEGRA_SWGROUP_MPCORE,
		.regs = {
			.la = {
				.reg = 0x320,
				.shift = 16,
				.mask = 0xff,
				.def = 0x0e,
			},
		},
	}, {
		.id = 0x3b,
		.name = "ppcsahbdmaw",
		.swgroup = TEGRA_SWGROUP_PPCS,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 27,
@@ -663,10 +758,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0xa5,
			},
		},
	}, {
		.id = 0x3c,
		.name = "ppcsahbslvw",
		.swgroup = TEGRA_SWGROUP_PPCS,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 28,
@@ -677,10 +774,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0xe8,
			},
		},
	}, {
		.id = 0x3e,
		.name = "vdebsevw",
		.swgroup = TEGRA_SWGROUP_VDE,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 30,
@@ -691,10 +790,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0xff,
			},
		},
	}, {
		.id = 0x3f,
		.name = "vdedbgw",
		.swgroup = TEGRA_SWGROUP_VDE,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 31,
@@ -705,10 +806,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0xff,
			},
		},
	}, {
		.id = 0x40,
		.name = "vdembew",
		.swgroup = TEGRA_SWGROUP_VDE,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 0,
@@ -719,10 +822,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x89,
			},
		},
	}, {
		.id = 0x41,
		.name = "vdetpmw",
		.swgroup = TEGRA_SWGROUP_VDE,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 1,
@@ -733,10 +838,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x59,
			},
		},
	}, {
		.id = 0x4a,
		.name = "xusb_hostr",
		.swgroup = TEGRA_SWGROUP_XUSB_HOST,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 10,
@@ -747,10 +854,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0xa5,
			},
		},
	}, {
		.id = 0x4b,
		.name = "xusb_hostw",
		.swgroup = TEGRA_SWGROUP_XUSB_HOST,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 11,
@@ -761,10 +870,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0xa5,
			},
		},
	}, {
		.id = 0x4c,
		.name = "xusb_devr",
		.swgroup = TEGRA_SWGROUP_XUSB_DEV,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 12,
@@ -775,10 +886,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0xa5,
			},
		},
	}, {
		.id = 0x4d,
		.name = "xusb_devw",
		.swgroup = TEGRA_SWGROUP_XUSB_DEV,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 13,
@@ -789,10 +902,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0xa5,
			},
		},
	}, {
		.id = 0x4e,
		.name = "fdcdwr3",
		.swgroup = TEGRA_SWGROUP_NV,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 14,
@@ -803,10 +918,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x10,
			},
		},
	}, {
		.id = 0x4f,
		.name = "fdcdrd3",
		.swgroup = TEGRA_SWGROUP_NV,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 15,
@@ -817,10 +934,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x0c,
			},
		},
	}, {
		.id = 0x50,
		.name = "fdcwr4",
		.swgroup = TEGRA_SWGROUP_NV,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 16,
@@ -831,10 +950,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x10,
			},
		},
	}, {
		.id = 0x51,
		.name = "fdcrd4",
		.swgroup = TEGRA_SWGROUP_NV,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 17,
@@ -845,30 +966,36 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x0c,
			},
		},
	}, {
		.id = 0x52,
		.name = "emucifr",
		.swgroup = TEGRA_SWGROUP_EMUCIF,
		.regs = {
			.la = {
				.reg = 0x38c,
				.shift = 0,
				.mask = 0xff,
				.def = 0x04,
			},
		},
	}, {
		.id = 0x53,
		.name = "emucifw",
		.swgroup = TEGRA_SWGROUP_EMUCIF,
		.regs = {
			.la = {
				.reg = 0x38c,
				.shift = 16,
				.mask = 0xff,
				.def = 0x0e,
			},
		},
	}, {
		.id = 0x54,
		.name = "tsecsrd",
		.swgroup = TEGRA_SWGROUP_TSEC,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 20,
@@ -879,10 +1006,12 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.mask = 0xff,
				.def = 0x50,
			},
		},
	}, {
		.id = 0x55,
		.name = "tsecswr",
		.swgroup = TEGRA_SWGROUP_TSEC,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 21,
@@ -894,6 +1023,7 @@ static const struct tegra_mc_client tegra114_mc_clients[] = {
				.def = 0x50,
			},
		},
	},
};

static const struct tegra_smmu_swgroup tegra114_swgroups[] = {
+719 −585

File changed.

Preview size limit exceeded, changes collapsed.

+788 −644
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
		.id = 0x01,
		.name = "display0a",
		.swgroup = TEGRA_SWGROUP_DC,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 1,
@@ -26,10 +27,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x1e,
			},
		},
	}, {
		.id = 0x02,
		.name = "display0ab",
		.swgroup = TEGRA_SWGROUP_DCB,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 2,
@@ -40,10 +43,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x1e,
			},
		},
	}, {
		.id = 0x03,
		.name = "display0b",
		.swgroup = TEGRA_SWGROUP_DC,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 3,
@@ -54,10 +59,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x1e,
			},
		},
	}, {
		.id = 0x04,
		.name = "display0bb",
		.swgroup = TEGRA_SWGROUP_DCB,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 4,
@@ -68,10 +75,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x1e,
			},
		},
	}, {
		.id = 0x05,
		.name = "display0c",
		.swgroup = TEGRA_SWGROUP_DC,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 5,
@@ -82,10 +91,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x1e,
			},
		},
	}, {
		.id = 0x06,
		.name = "display0cb",
		.swgroup = TEGRA_SWGROUP_DCB,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 6,
@@ -96,10 +107,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x1e,
			},
		},
	}, {
		.id = 0x0e,
		.name = "afir",
		.swgroup = TEGRA_SWGROUP_AFI,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 14,
@@ -110,10 +123,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x2e,
			},
		},
	}, {
		.id = 0x0f,
		.name = "avpcarm7r",
		.swgroup = TEGRA_SWGROUP_AVPC,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 15,
@@ -124,10 +139,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x04,
			},
		},
	}, {
		.id = 0x10,
		.name = "displayhc",
		.swgroup = TEGRA_SWGROUP_DC,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 16,
@@ -138,10 +155,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x1e,
			},
		},
	}, {
		.id = 0x11,
		.name = "displayhcb",
		.swgroup = TEGRA_SWGROUP_DCB,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 17,
@@ -152,10 +171,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x1e,
			},
		},
	}, {
		.id = 0x15,
		.name = "hdar",
		.swgroup = TEGRA_SWGROUP_HDA,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 21,
@@ -166,10 +187,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x24,
			},
		},
	}, {
		.id = 0x16,
		.name = "host1xdmar",
		.swgroup = TEGRA_SWGROUP_HC,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 22,
@@ -180,10 +203,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x1e,
			},
		},
	}, {
		.id = 0x17,
		.name = "host1xr",
		.swgroup = TEGRA_SWGROUP_HC,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 23,
@@ -194,10 +219,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x50,
			},
		},
	}, {
		.id = 0x1c,
		.name = "nvencsrd",
		.swgroup = TEGRA_SWGROUP_NVENC,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 28,
@@ -208,10 +235,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x23,
			},
		},
	}, {
		.id = 0x1d,
		.name = "ppcsahbdmar",
		.swgroup = TEGRA_SWGROUP_PPCS,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 29,
@@ -222,10 +251,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x49,
			},
		},
	}, {
		.id = 0x1e,
		.name = "ppcsahbslvr",
		.swgroup = TEGRA_SWGROUP_PPCS,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 30,
@@ -236,10 +267,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x1a,
			},
		},
	}, {
		.id = 0x1f,
		.name = "satar",
		.swgroup = TEGRA_SWGROUP_SATA,
		.regs = {
			.smmu = {
				.reg = 0x228,
				.bit = 31,
@@ -250,20 +283,24 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x65,
			},
		},
	}, {
		.id = 0x27,
		.name = "mpcorer",
		.swgroup = TEGRA_SWGROUP_MPCORE,
		.regs = {
			.la = {
				.reg = 0x320,
				.shift = 0,
				.mask = 0xff,
				.def = 0x04,
			},
		},
	}, {
		.id = 0x2b,
		.name = "nvencswr",
		.swgroup = TEGRA_SWGROUP_NVENC,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 11,
@@ -274,10 +311,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x31,
		.name = "afiw",
		.swgroup = TEGRA_SWGROUP_AFI,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 17,
@@ -288,10 +327,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x32,
		.name = "avpcarm7w",
		.swgroup = TEGRA_SWGROUP_AVPC,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 18,
@@ -302,10 +343,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x35,
		.name = "hdaw",
		.swgroup = TEGRA_SWGROUP_HDA,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 21,
@@ -316,10 +359,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x36,
		.name = "host1xw",
		.swgroup = TEGRA_SWGROUP_HC,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 22,
@@ -330,20 +375,24 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x39,
		.name = "mpcorew",
		.swgroup = TEGRA_SWGROUP_MPCORE,
		.regs = {
			.la = {
				.reg = 0x320,
				.shift = 16,
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x3b,
		.name = "ppcsahbdmaw",
		.swgroup = TEGRA_SWGROUP_PPCS,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 27,
@@ -354,10 +403,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x3c,
		.name = "ppcsahbslvw",
		.swgroup = TEGRA_SWGROUP_PPCS,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 28,
@@ -368,10 +419,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x3d,
		.name = "sataw",
		.swgroup = TEGRA_SWGROUP_SATA,
		.regs = {
			.smmu = {
				.reg = 0x22c,
				.bit = 29,
@@ -382,10 +435,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x44,
		.name = "ispra",
		.swgroup = TEGRA_SWGROUP_ISP2,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 4,
@@ -396,10 +451,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x18,
			},
		},
	}, {
		.id = 0x46,
		.name = "ispwa",
		.swgroup = TEGRA_SWGROUP_ISP2,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 6,
@@ -410,10 +467,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x47,
		.name = "ispwb",
		.swgroup = TEGRA_SWGROUP_ISP2,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 7,
@@ -424,10 +483,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x4a,
		.name = "xusb_hostr",
		.swgroup = TEGRA_SWGROUP_XUSB_HOST,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 10,
@@ -438,10 +499,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x7a,
			},
		},
	}, {
		.id = 0x4b,
		.name = "xusb_hostw",
		.swgroup = TEGRA_SWGROUP_XUSB_HOST,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 11,
@@ -452,10 +515,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x4c,
		.name = "xusb_devr",
		.swgroup = TEGRA_SWGROUP_XUSB_DEV,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 12,
@@ -466,10 +531,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x39,
			},
		},
	}, {
		.id = 0x4d,
		.name = "xusb_devw",
		.swgroup = TEGRA_SWGROUP_XUSB_DEV,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 13,
@@ -480,10 +547,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x4e,
		.name = "isprab",
		.swgroup = TEGRA_SWGROUP_ISP2B,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 14,
@@ -494,10 +563,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x18,
			},
		},
	}, {
		.id = 0x50,
		.name = "ispwab",
		.swgroup = TEGRA_SWGROUP_ISP2B,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 16,
@@ -508,10 +579,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x51,
		.name = "ispwbb",
		.swgroup = TEGRA_SWGROUP_ISP2B,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 17,
@@ -522,10 +595,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x54,
		.name = "tsecsrd",
		.swgroup = TEGRA_SWGROUP_TSEC,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 20,
@@ -536,10 +611,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x9b,
			},
		},
	}, {
		.id = 0x55,
		.name = "tsecswr",
		.swgroup = TEGRA_SWGROUP_TSEC,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 21,
@@ -550,10 +627,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x56,
		.name = "a9avpscr",
		.swgroup = TEGRA_SWGROUP_A9AVP,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 22,
@@ -564,10 +643,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x04,
			},
		},
	}, {
		.id = 0x57,
		.name = "a9avpscw",
		.swgroup = TEGRA_SWGROUP_A9AVP,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 23,
@@ -578,10 +659,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x58,
		.name = "gpusrd",
		.swgroup = TEGRA_SWGROUP_GPU,
		.regs = {
			.smmu = {
				/* read-only */
				.reg = 0x230,
@@ -593,10 +676,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x1a,
			},
		},
	}, {
		.id = 0x59,
		.name = "gpuswr",
		.swgroup = TEGRA_SWGROUP_GPU,
		.regs = {
			.smmu = {
				/* read-only */
				.reg = 0x230,
@@ -608,10 +693,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x5a,
		.name = "displayt",
		.swgroup = TEGRA_SWGROUP_DC,
		.regs = {
			.smmu = {
				.reg = 0x230,
				.bit = 26,
@@ -622,10 +709,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x1e,
			},
		},
	}, {
		.id = 0x60,
		.name = "sdmmcra",
		.swgroup = TEGRA_SWGROUP_SDMMC1A,
		.regs = {
			.smmu = {
				.reg = 0x234,
				.bit = 0,
@@ -636,10 +725,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x49,
			},
		},
	}, {
		.id = 0x61,
		.name = "sdmmcraa",
		.swgroup = TEGRA_SWGROUP_SDMMC2A,
		.regs = {
			.smmu = {
				.reg = 0x234,
				.bit = 1,
@@ -650,10 +741,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x5a,
			},
		},
	}, {
		.id = 0x62,
		.name = "sdmmcr",
		.swgroup = TEGRA_SWGROUP_SDMMC3A,
		.regs = {
			.smmu = {
				.reg = 0x234,
				.bit = 2,
@@ -664,10 +757,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x49,
			},
		},
	}, {
		.id = 0x63,
		.swgroup = TEGRA_SWGROUP_SDMMC4A,
		.name = "sdmmcrab",
		.regs = {
			.smmu = {
				.reg = 0x234,
				.bit = 3,
@@ -678,10 +773,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x5a,
			},
		},
	}, {
		.id = 0x64,
		.name = "sdmmcwa",
		.swgroup = TEGRA_SWGROUP_SDMMC1A,
		.regs = {
			.smmu = {
				.reg = 0x234,
				.bit = 4,
@@ -692,10 +789,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x65,
		.name = "sdmmcwaa",
		.swgroup = TEGRA_SWGROUP_SDMMC2A,
		.regs = {
			.smmu = {
				.reg = 0x234,
				.bit = 5,
@@ -706,10 +805,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x66,
		.name = "sdmmcw",
		.swgroup = TEGRA_SWGROUP_SDMMC3A,
		.regs = {
			.smmu = {
				.reg = 0x234,
				.bit = 6,
@@ -720,10 +821,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x67,
		.name = "sdmmcwab",
		.swgroup = TEGRA_SWGROUP_SDMMC4A,
		.regs = {
			.smmu = {
				.reg = 0x234,
				.bit = 7,
@@ -734,10 +837,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x6c,
		.name = "vicsrd",
		.swgroup = TEGRA_SWGROUP_VIC,
		.regs = {
			.smmu = {
				.reg = 0x234,
				.bit = 12,
@@ -748,10 +853,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x1a,
			},
		},
	}, {
		.id = 0x6d,
		.name = "vicswr",
		.swgroup = TEGRA_SWGROUP_VIC,
		.regs = {
			.smmu = {
				.reg = 0x234,
				.bit = 13,
@@ -762,10 +869,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x72,
		.name = "viw",
		.swgroup = TEGRA_SWGROUP_VI,
		.regs = {
			.smmu = {
				.reg = 0x234,
				.bit = 18,
@@ -776,10 +885,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x73,
		.name = "displayd",
		.swgroup = TEGRA_SWGROUP_DC,
		.regs = {
			.smmu = {
				.reg = 0x234,
				.bit = 19,
@@ -790,10 +901,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x50,
			},
		},
	}, {
		.id = 0x78,
		.name = "nvdecsrd",
		.swgroup = TEGRA_SWGROUP_NVDEC,
		.regs = {
			.smmu = {
				.reg = 0x234,
				.bit = 24,
@@ -804,10 +917,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x23,
			},
		},
	}, {
		.id = 0x79,
		.name = "nvdecswr",
		.swgroup = TEGRA_SWGROUP_NVDEC,
		.regs = {
			.smmu = {
				.reg = 0x234,
				.bit = 25,
@@ -818,10 +933,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x7a,
		.name = "aper",
		.swgroup = TEGRA_SWGROUP_APE,
		.regs = {
			.smmu = {
				.reg = 0x234,
				.bit = 26,
@@ -832,10 +949,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0xff,
			},
		},
	}, {
		.id = 0x7b,
		.name = "apew",
		.swgroup = TEGRA_SWGROUP_APE,
		.regs = {
			.smmu = {
				.reg = 0x234,
				.bit = 27,
@@ -846,10 +965,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x7e,
		.name = "nvjpgsrd",
		.swgroup = TEGRA_SWGROUP_NVJPG,
		.regs = {
			.smmu = {
				.reg = 0x234,
				.bit = 30,
@@ -860,10 +981,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x23,
			},
		},
	}, {
		.id = 0x7f,
		.name = "nvjpgswr",
		.swgroup = TEGRA_SWGROUP_NVJPG,
		.regs = {
			.smmu = {
				.reg = 0x234,
				.bit = 31,
@@ -874,10 +997,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x80,
		.name = "sesrd",
		.swgroup = TEGRA_SWGROUP_SE,
		.regs = {
			.smmu = {
				.reg = 0xb98,
				.bit = 0,
@@ -888,10 +1013,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x2e,
			},
		},
	}, {
		.id = 0x81,
		.name = "seswr",
		.swgroup = TEGRA_SWGROUP_SE,
		.regs = {
			.smmu = {
				.reg = 0xb98,
				.bit = 1,
@@ -902,10 +1029,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x82,
		.name = "axiapr",
		.swgroup = TEGRA_SWGROUP_AXIAP,
		.regs = {
			.smmu = {
				.reg = 0xb98,
				.bit = 2,
@@ -916,10 +1045,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0xff,
			},
		},
	}, {
		.id = 0x83,
		.name = "axiapw",
		.swgroup = TEGRA_SWGROUP_AXIAP,
		.regs = {
			.smmu = {
				.reg = 0xb98,
				.bit = 3,
@@ -930,10 +1061,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x84,
		.name = "etrr",
		.swgroup = TEGRA_SWGROUP_ETR,
		.regs = {
			.smmu = {
				.reg = 0xb98,
				.bit = 4,
@@ -944,10 +1077,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0xff,
			},
		},
	}, {
		.id = 0x85,
		.name = "etrw",
		.swgroup = TEGRA_SWGROUP_ETR,
		.regs = {
			.smmu = {
				.reg = 0xb98,
				.bit = 5,
@@ -958,10 +1093,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x86,
		.name = "tsecsrdb",
		.swgroup = TEGRA_SWGROUP_TSECB,
		.regs = {
			.smmu = {
				.reg = 0xb98,
				.bit = 6,
@@ -972,10 +1109,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x9b,
			},
		},
	}, {
		.id = 0x87,
		.name = "tsecswrb",
		.swgroup = TEGRA_SWGROUP_TSECB,
		.regs = {
			.smmu = {
				.reg = 0xb98,
				.bit = 7,
@@ -986,10 +1125,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x80,
			},
		},
	}, {
		.id = 0x88,
		.name = "gpusrd2",
		.swgroup = TEGRA_SWGROUP_GPU,
		.regs = {
			.smmu = {
				/* read-only */
				.reg = 0xb98,
@@ -1001,10 +1142,12 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.mask = 0xff,
				.def = 0x1a,
			},
		},
	}, {
		.id = 0x89,
		.name = "gpuswr2",
		.swgroup = TEGRA_SWGROUP_GPU,
		.regs = {
			.smmu = {
				/* read-only */
				.reg = 0xb98,
@@ -1017,6 +1160,7 @@ static const struct tegra_mc_client tegra210_mc_clients[] = {
				.def = 0x80,
			},
		},
	},
};

static const struct tegra_smmu_swgroup tegra210_swgroups[] = {
Loading