summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2018-01-29 15:48:52 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2018-02-15 15:30:33 -0500
commitb86a5d16329995497625a6c4013a4293739b9d06 (patch)
treefb4902e34ced20c7ddfafd9c31f88033cc9fd88e
parentec00a6c2db2b6e163c2bb1245584a2d009fa1252 (diff)
gpu: nvgpu: Remove the use of READ_ONLY for DMA API
READ_ONLY flag for dma API is a Tegra specific API. We use it only to prevent accidental writes to non-secure ACR bootloader. Its use is marginal, so remove the flag. JIRA NVGPU-4 Change-Id: I887dc04aee8f7ace40220294851b210375dfde98 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1648174 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
-rw-r--r--drivers/gpu/nvgpu/common/linux/dma.c5
-rw-r--r--drivers/gpu/nvgpu/gm20b/acr_gm20b.c3
2 files changed, 2 insertions, 6 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/dma.c b/drivers/gpu/nvgpu/common/linux/dma.c
index fe4e9bc8..c13dae8b 100644
--- a/drivers/gpu/nvgpu/common/linux/dma.c
+++ b/drivers/gpu/nvgpu/common/linux/dma.c
@@ -50,7 +50,7 @@
50 * added it must be added here as well!! 50 * added it must be added here as well!!
51 */ 51 */
52#define NVGPU_DMA_STR_SIZE \ 52#define NVGPU_DMA_STR_SIZE \
53 sizeof("NO_KERNEL_MAPPING FORCE_CONTIGUOUS READ_ONLY") 53 sizeof("NO_KERNEL_MAPPING FORCE_CONTIGUOUS")
54 54
55/* 55/*
56 * The returned string is kmalloc()ed here but must be freed by the caller. 56 * The returned string is kmalloc()ed here but must be freed by the caller.
@@ -77,7 +77,6 @@ static char *nvgpu_dma_flags_to_str(struct gk20a *g, unsigned long flags)
77 77
78 APPEND_FLAG(NVGPU_DMA_NO_KERNEL_MAPPING, "NO_KERNEL_MAPPING "); 78 APPEND_FLAG(NVGPU_DMA_NO_KERNEL_MAPPING, "NO_KERNEL_MAPPING ");
79 APPEND_FLAG(NVGPU_DMA_FORCE_CONTIGUOUS, "FORCE_CONTIGUOUS "); 79 APPEND_FLAG(NVGPU_DMA_FORCE_CONTIGUOUS, "FORCE_CONTIGUOUS ");
80 APPEND_FLAG(NVGPU_DMA_READ_ONLY, "READ_ONLY");
81#undef APPEND_FLAG 80#undef APPEND_FLAG
82 81
83 return buf; 82 return buf;
@@ -171,8 +170,6 @@ static void nvgpu_dma_flags_to_attrs(struct dma_attrs *attrs,
171 dma_set_attr(DMA_ATTR_NO_KERNEL_MAPPING, ATTR_ARG(attrs)); 170 dma_set_attr(DMA_ATTR_NO_KERNEL_MAPPING, ATTR_ARG(attrs));
172 if (flags & NVGPU_DMA_FORCE_CONTIGUOUS) 171 if (flags & NVGPU_DMA_FORCE_CONTIGUOUS)
173 dma_set_attr(DMA_ATTR_FORCE_CONTIGUOUS, ATTR_ARG(attrs)); 172 dma_set_attr(DMA_ATTR_FORCE_CONTIGUOUS, ATTR_ARG(attrs));
174 if (flags & NVGPU_DMA_READ_ONLY)
175 dma_set_attr(DMA_ATTR_READ_ONLY, ATTR_ARG(attrs));
176#undef ATTR_ARG 173#undef ATTR_ARG
177} 174}
178 175
diff --git a/drivers/gpu/nvgpu/gm20b/acr_gm20b.c b/drivers/gpu/nvgpu/gm20b/acr_gm20b.c
index c57fba45..cffe7199 100644
--- a/drivers/gpu/nvgpu/gm20b/acr_gm20b.c
+++ b/drivers/gpu/nvgpu/gm20b/acr_gm20b.c
@@ -1348,8 +1348,7 @@ int pmu_exec_gen_bl(struct gk20a *g, void *desc, u8 b_wait_for_halt)
1348 /*TODO in code verify that enable PMU is done, 1348 /*TODO in code verify that enable PMU is done,
1349 scrubbing etc is done*/ 1349 scrubbing etc is done*/
1350 /*TODO in code verify that gmmu vm init is done*/ 1350 /*TODO in code verify that gmmu vm init is done*/
1351 err = nvgpu_dma_alloc_flags_sys(g, 1351 err = nvgpu_dma_alloc_sys(g, bl_sz, &acr->hsbl_ucode);
1352 NVGPU_DMA_READ_ONLY, bl_sz, &acr->hsbl_ucode);
1353 if (err) { 1352 if (err) {
1354 nvgpu_err(g, "failed to allocate memory"); 1353 nvgpu_err(g, "failed to allocate memory");
1355 goto err_done; 1354 goto err_done;