iommu/iommu-debug: Allow buffers to use system cache for SDM845

Allow buffers to use system cache using the
DMA_ATTR_IOMMU_USE_UPSTREAM_HINT dma attribute.

Change-Id: I33cc7021886ec51ab7865e490207d910047dfb2c
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
diff --git a/drivers/iommu/iommu-debug.c b/drivers/iommu/iommu-debug.c
index 048ae92..6bb435b 100644
--- a/drivers/iommu/iommu-debug.c
+++ b/drivers/iommu/iommu-debug.c
@@ -1712,6 +1712,7 @@
  *				0: normal mapping
  *				1: force coherent mapping
  *				2: force non-cohernet mapping
+ *				3: use system cache
  */
 static ssize_t iommu_debug_dma_map_write(struct file *file,
 		const char __user *ubuf, size_t count, loff_t *offset)
@@ -1782,6 +1783,8 @@
 		dma_attrs = DMA_ATTR_FORCE_COHERENT;
 	else if (attr == 2)
 		dma_attrs = DMA_ATTR_FORCE_NON_COHERENT;
+	else if (attr == 3)
+		dma_attrs = DMA_ATTR_IOMMU_USE_UPSTREAM_HINT;
 	else
 		goto invalid_format;
 
@@ -1803,7 +1806,7 @@
 	return retval;
 
 invalid_format:
-	pr_err("Invalid format. Expected: addr,len,dma attr where 'dma attr' is\n0: normal mapping\n1: force coherent\n2: force non-cohernet\n");
+	pr_err("Invalid format. Expected: addr,len,dma attr where 'dma attr' is\n0: normal mapping\n1: force coherent\n2: force non-cohernet\n3: use system cache\n");
 	return retval;
 
 invalid_addr:
@@ -1984,6 +1987,8 @@
 		dma_attrs = DMA_ATTR_FORCE_COHERENT;
 	else if (attr == 2)
 		dma_attrs = DMA_ATTR_FORCE_NON_COHERENT;
+	else if (attr == 3)
+		dma_attrs = DMA_ATTR_IOMMU_USE_UPSTREAM_HINT;
 	else
 		goto invalid_format;