diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2017-03-15 19:07:24 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-03-26 12:55:15 -0400 |
commit | 4f5996e23d7ea3d576c33f9b0ec5c7b590d6adca (patch) | |
tree | eade673d7b4462bcc45aa9d034efa926b30e7a03 /drivers/gpu/nvgpu/gk20a/gk20a.h | |
parent | f01c36986e22de0f4a049bf6897dd276b17a18ba (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.h | 7 |
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); | |||
1406 | void gk20a_idle_nosuspend(struct device *dev); | 1410 | void gk20a_idle_nosuspend(struct device *dev); |
1407 | int __must_check gk20a_busy(struct gk20a *g); | 1411 | int __must_check gk20a_busy(struct gk20a *g); |
1408 | void gk20a_idle(struct gk20a *g); | 1412 | void gk20a_idle(struct gk20a *g); |
1409 | void gk20a_disable(struct gk20a *g, u32 units); | ||
1410 | void gk20a_enable(struct gk20a *g, u32 units); | ||
1411 | void gk20a_reset(struct gk20a *g, u32 units); | ||
1412 | int gk20a_do_idle(void); | 1413 | int gk20a_do_idle(void); |
1413 | int gk20a_do_unidle(void); | 1414 | int gk20a_do_unidle(void); |
1414 | int __gk20a_do_idle(struct device *dev, bool force_reset); | 1415 | int __gk20a_do_idle(struct device *dev, bool force_reset); |