From 4f5996e23d7ea3d576c33f9b0ec5c7b590d6adca Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Wed, 15 Mar 2017 16:07:24 -0700 Subject: 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 Reviewed-on: http://git-master/r/1321576 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/gk20a/gk20a.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h') 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 { void (*isr_thread_nonstall)(struct gk20a *g, u32 intr); void (*isr_nonstall_cb)(struct work_struct *work); u32 intr_mask_restore[4]; + void (*enable)(struct gk20a *g, u32 units); + void (*disable)(struct gk20a *g, u32 units); + void (*reset)(struct gk20a *g, u32 units); + u32 (*boot_0)(struct gk20a *g, u32 *arch, u32 *impl, u32 *rev); } mc; struct { void (*show_dump)(struct gk20a *g, @@ -1406,9 +1410,6 @@ void gk20a_busy_noresume(struct device *dev); void gk20a_idle_nosuspend(struct device *dev); int __must_check gk20a_busy(struct gk20a *g); void gk20a_idle(struct gk20a *g); -void gk20a_disable(struct gk20a *g, u32 units); -void gk20a_enable(struct gk20a *g, u32 units); -void gk20a_reset(struct gk20a *g, u32 units); int gk20a_do_idle(void); int gk20a_do_unidle(void); int __gk20a_do_idle(struct device *dev, bool force_reset); -- cgit v1.2.2