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

Commit 26f76d65 authored by Rajesh Sastrula's avatar Rajesh Sastrula Committed by Sumukh Hallymysore Ravindra
Browse files

msm: cam: smmu: continue default arm mmu fault handler



After handling the local fault handler continue with default
arm mmu fault handler, this will dump more information about
smmu registers that helps debugging faults.

Change-Id: I79215f412868ec0016bd4a4afaba608cfa2fd248
Signed-off-by: default avatarRajesh Sastrula <vrajesh@codeaurora.org>
Signed-off-by: default avatarSumukh Hallymysore Ravindra <shallymy@codeaurora.org>
parent 0bd1cde6
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -434,7 +434,7 @@ static int cam_smmu_iommu_fault_handler(struct iommu_domain *domain,
		CAM_ERR(CAM_SMMU, "Error: domain = %pK, device = %pK",
			domain, dev);
		CAM_ERR(CAM_SMMU, "iova = %lX, flags = %d", iova, flags);
		return 0;
		return -EINVAL;
	}

	cb_name = (char *)token;
@@ -448,12 +448,12 @@ static int cam_smmu_iommu_fault_handler(struct iommu_domain *domain,
		CAM_ERR(CAM_SMMU,
			"Error: index is not valid, index = %d, token = %s",
			idx, cb_name);
		return 0;
		return -EINVAL;
	}

	payload = kzalloc(sizeof(struct cam_smmu_work_payload), GFP_ATOMIC);
	if (!payload)
		return 0;
		return -EINVAL;

	payload->domain = domain;
	payload->dev = dev;
@@ -468,7 +468,7 @@ static int cam_smmu_iommu_fault_handler(struct iommu_domain *domain,

	schedule_work(&iommu_cb_set.smmu_work);

	return 0;
	return -EINVAL;
}

static int cam_smmu_translate_dir_to_iommu_dir(
@@ -3140,12 +3140,10 @@ static int cam_populate_smmu_context_banks(struct device *dev,
		CAM_ERR(CAM_SMMU, "Error: failed to setup cb : %s", cb->name);
		goto cb_init_fail;
	}

	if (cb->io_support && cb->mapping)
		iommu_set_fault_handler(cb->mapping->domain,
			cam_smmu_iommu_fault_handler,
			(void *)cb->name);

	/* increment count to next bank */
	iommu_cb_set.cb_init_count++;