Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1babe09d authored by Liam Mark's avatar Liam Mark
Browse files

iommu/arm-smmu: Use an atomic context when fastmap is set on GKI



By default fastmap uses an atomic context.
On GKI builds fastmap is not supported, but we need to ensure that when
a client requests that fastmap be enabled on a GKI build that they still
use an atomic context.

Change-Id: I145e4679e973b10f666a0bef6ba104223fa5e7a9
Signed-off-by: default avatarLiam Mark <lmark@codeaurora.org>
parent 0326bf0e
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -2645,16 +2645,19 @@ static int arm_smmu_setup_default_domain(struct device *dev,
	if (ret)
		str = "default";

	if (!strcmp(str, "bypass"))
	if (!strcmp(str, "bypass")) {
		__arm_smmu_domain_set_attr(
			domain, DOMAIN_ATTR_S1_BYPASS, &attr);
	else if (!strcmp(str, "fastmap"))
	} else if (!strcmp(str, "fastmap")) {
		/* Ensure DOMAIN_ATTR_ATOMIC is set for GKI */
		__arm_smmu_domain_set_attr(
			domain, DOMAIN_ATTR_ATOMIC, &attr);
		__arm_smmu_domain_set_attr(
			domain, DOMAIN_ATTR_FAST, &attr);
	else if (!strcmp(str, "atomic"))
	} else if (!strcmp(str, "atomic")) {
		__arm_smmu_domain_set_attr(
			domain, DOMAIN_ATTR_ATOMIC, &attr);
	else if (!strcmp(str, "disabled")) {
	} else if (!strcmp(str, "disabled")) {
		/*
		 * Don't touch hw, and don't allocate irqs or other resources.
		 * Ensure the context bank is set to a valid value per dynamic