summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/include
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2018-06-15 12:25:01 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-07-02 13:19:19 -0400
commit6ea52c59b0262556edb01835eaf91b3bfcdcdd71 (patch)
tree15fcd2bf17b28cea51384a7f8b0b2044f449ecae /drivers/gpu/nvgpu/include
parentcf2ac655fdaeba5779ce9d73cbe567218a7c5a58 (diff)
gpu: nvgpu: Implement common nvgpu_mem_rd* functions
nvgpu_mem_rd*() functions were implemented per OS. They also used nvgpu_pramin_access_batched() and implemented a big portion of logic for using PRAMIN in OS specific code. Make the implementation for the functions generic. Move all PRAMIN logic to PRAMIN and simplify the interface provided by PRAMIN. Change-Id: I1acb9e8d7d424325dc73314d5738cb2c9ebf7692 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1753708 Reviewed-by: Konsta Holtta <kholtta@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/include')
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/io.h1
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/pramin.h12
2 files changed, 4 insertions, 9 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/io.h b/drivers/gpu/nvgpu/include/nvgpu/io.h
index 28011e04..8504829c 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/io.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/io.h
@@ -36,6 +36,7 @@
36struct gk20a; 36struct gk20a;
37 37
38void nvgpu_writel(struct gk20a *g, u32 r, u32 v); 38void nvgpu_writel(struct gk20a *g, u32 r, u32 v);
39void nvgpu_writel_relaxed(struct gk20a *g, u32 r, u32 v);
39u32 nvgpu_readl(struct gk20a *g, u32 r); 40u32 nvgpu_readl(struct gk20a *g, u32 r);
40u32 __nvgpu_readl(struct gk20a *g, u32 r); 41u32 __nvgpu_readl(struct gk20a *g, u32 r);
41void nvgpu_writel_check(struct gk20a *g, u32 r, u32 v); 42void nvgpu_writel_check(struct gk20a *g, u32 r, u32 v);
diff --git a/drivers/gpu/nvgpu/include/nvgpu/pramin.h b/drivers/gpu/nvgpu/include/nvgpu/pramin.h
index 33702bc8..c9f54a6f 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/pramin.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/pramin.h
@@ -29,16 +29,10 @@ struct gk20a;
29struct mm_gk20a; 29struct mm_gk20a;
30struct nvgpu_mem; 30struct nvgpu_mem;
31 31
32/*
33 * This typedef is for functions that get called during the access_batched()
34 * operation.
35 */
36typedef void (*pramin_access_batch_fn)(struct gk20a *g, u32 start, u32 words,
37 u32 **arg);
38 32
39void nvgpu_pramin_access_batched(struct gk20a *g, struct nvgpu_mem *mem, 33void nvgpu_pramin_rd_n(struct gk20a *g, struct nvgpu_mem *mem, u32 start, u32 words, void *dest);
40 u32 offset, u32 size, 34void nvgpu_pramin_wr_n(struct gk20a *g, struct nvgpu_mem *mem, u32 start, u32 words, void *src);
41 pramin_access_batch_fn loop, u32 **arg); 35void nvgpu_pramin_memset(struct gk20a *g, struct nvgpu_mem *mem, u32 start, u32 words, u32 w);
42 36
43void nvgpu_init_pramin(struct mm_gk20a *mm); 37void nvgpu_init_pramin(struct mm_gk20a *mm);
44 38