diff options
Diffstat (limited to 'drivers/gpu/nvgpu/os/linux/io.c')
-rw-r--r-- | drivers/gpu/nvgpu/os/linux/io.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/os/linux/io.c b/drivers/gpu/nvgpu/os/linux/io.c index c06512a5..9a0e29d7 100644 --- a/drivers/gpu/nvgpu/os/linux/io.c +++ b/drivers/gpu/nvgpu/os/linux/io.c | |||
@@ -31,6 +31,18 @@ void nvgpu_writel(struct gk20a *g, u32 r, u32 v) | |||
31 | } | 31 | } |
32 | } | 32 | } |
33 | 33 | ||
34 | void nvgpu_writel_relaxed(struct gk20a *g, u32 r, u32 v) | ||
35 | { | ||
36 | struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g); | ||
37 | |||
38 | if (unlikely(!l->regs)) { | ||
39 | __gk20a_warn_on_no_regs(); | ||
40 | nvgpu_log(g, gpu_dbg_reg, "r=0x%x v=0x%x (failed)", r, v); | ||
41 | } else { | ||
42 | writel_relaxed(v, l->regs + r); | ||
43 | } | ||
44 | } | ||
45 | |||
34 | u32 nvgpu_readl(struct gk20a *g, u32 r) | 46 | u32 nvgpu_readl(struct gk20a *g, u32 r) |
35 | { | 47 | { |
36 | u32 v = __nvgpu_readl(g, r); | 48 | u32 v = __nvgpu_readl(g, r); |