diff options
author | Alex Waterman <alexw@nvidia.com> | 2014-05-23 16:29:53 -0400 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-03-18 15:10:22 -0400 |
commit | 0f9bf924b2be88502c9920ace258c27e0172e3d5 (patch) | |
tree | 0bf75c22af5d5e5f8e4fe0396b8c48529352e63a /drivers/gpu/nvgpu/gk20a/gk20a.h | |
parent | e2638d73fd56f9a93c44839ebd61d6ba58c40dd8 (diff) |
gpu: nvgpu: Remove GPU MMIO access on power/rail gate
This is to weed out accesses to the GPU while it is gated. Otherwise
the accesses are silently dropped or cause a HW hang (on older chips).
Bug 1514949
Change-Id: Ice4cdb9f1f736978ebb3db847f39c7439bf98134
Signed-off-by: Alex Waterman <alexw@nvidia.com>
Reviewed-on: http://git-master/r/416339
Reviewed-by: Mitch Luban <mluban@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index 991891c5..3871eb17 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -232,9 +232,11 @@ struct gk20a { | |||
232 | 232 | ||
233 | struct resource *reg_mem; | 233 | struct resource *reg_mem; |
234 | void __iomem *regs; | 234 | void __iomem *regs; |
235 | void __iomem *regs_saved; | ||
235 | 236 | ||
236 | struct resource *bar1_mem; | 237 | struct resource *bar1_mem; |
237 | void __iomem *bar1; | 238 | void __iomem *bar1; |
239 | void __iomem *bar1_saved; | ||
238 | 240 | ||
239 | bool power_on; | 241 | bool power_on; |
240 | 242 | ||
@@ -487,6 +489,9 @@ static inline void gk20a_mem_wr32(void *ptr, int w, u32 data) | |||
487 | } | 489 | } |
488 | 490 | ||
489 | /* register accessors */ | 491 | /* register accessors */ |
492 | int gk20a_lockout_registers(struct gk20a *g); | ||
493 | int gk20a_restore_registers(struct gk20a *g); | ||
494 | |||
490 | static inline void gk20a_writel(struct gk20a *g, u32 r, u32 v) | 495 | static inline void gk20a_writel(struct gk20a *g, u32 r, u32 v) |
491 | { | 496 | { |
492 | gk20a_dbg(gpu_dbg_reg, " r=0x%x v=0x%x", r, v); | 497 | gk20a_dbg(gpu_dbg_reg, " r=0x%x v=0x%x", r, v); |