summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a.h
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2017-03-15 19:07:24 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-03-26 12:55:15 -0400
commit4f5996e23d7ea3d576c33f9b0ec5c7b590d6adca (patch)
treeeade673d7b4462bcc45aa9d034efa926b30e7a03 /drivers/gpu/nvgpu/gk20a/gk20a.h
parentf01c36986e22de0f4a049bf6897dd276b17a18ba (diff)
gpu: nvgpu: Remove MC accesses from gk20a.c
Clean up gk20a.c by removing direct accesses to MC and moving the accesses to happen via MC HAL. The chip detection logic has to violate the HAL and call gk20a version directly, because HAL ops cannot be set up before chip has been identified. Change-Id: I4cdd0ef3fcf7d3b561a3fca4247a8356fe8d18e1 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/1321576 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index f4ca5649..4e1c4ff4 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -748,6 +748,10 @@ struct gpu_ops {
748 void (*isr_thread_nonstall)(struct gk20a *g, u32 intr); 748 void (*isr_thread_nonstall)(struct gk20a *g, u32 intr);
749 void (*isr_nonstall_cb)(struct work_struct *work); 749 void (*isr_nonstall_cb)(struct work_struct *work);
750 u32 intr_mask_restore[4]; 750 u32 intr_mask_restore[4];
751 void (*enable)(struct gk20a *g, u32 units);
752 void (*disable)(struct gk20a *g, u32 units);
753 void (*reset)(struct gk20a *g, u32 units);
754 u32 (*boot_0)(struct gk20a *g, u32 *arch, u32 *impl, u32 *rev);
751 } mc; 755 } mc;
752 struct { 756 struct {
753 void (*show_dump)(struct gk20a *g, 757 void (*show_dump)(struct gk20a *g,
@@ -1406,9 +1410,6 @@ void gk20a_busy_noresume(struct device *dev);
1406void gk20a_idle_nosuspend(struct device *dev); 1410void gk20a_idle_nosuspend(struct device *dev);
1407int __must_check gk20a_busy(struct gk20a *g); 1411int __must_check gk20a_busy(struct gk20a *g);
1408void gk20a_idle(struct gk20a *g); 1412void gk20a_idle(struct gk20a *g);
1409void gk20a_disable(struct gk20a *g, u32 units);
1410void gk20a_enable(struct gk20a *g, u32 units);
1411void gk20a_reset(struct gk20a *g, u32 units);
1412int gk20a_do_idle(void); 1413int gk20a_do_idle(void);
1413int gk20a_do_unidle(void); 1414int gk20a_do_unidle(void);
1414int __gk20a_do_idle(struct device *dev, bool force_reset); 1415int __gk20a_do_idle(struct device *dev, bool force_reset);