diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2015-02-05 13:05:56 -0500 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-04-04 21:05:22 -0400 |
commit | 24ddf71b9009291b829e6c30eb1b22e8838f7367 (patch) | |
tree | 0a2816a1f813c17c32c51390f1d9311f7e95cc4d /drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |
parent | 5b6e8995b2a3d399a8cc7fd249301122053666e1 (diff) |
gpu: nvgpu: Use busy looping on memory ops
Use busy looping on L2 and TLB maintenance operations. This speeds
them up by an order of magnitude.
Add also trace points to measure performance for memory ops and
interrupt processing.
Change-Id: Ic4a8525d3d946b2b8f57b4b8ddcfc61605619399
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/681640
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gr_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index 9e19fa53..75775d57 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <linux/dma-mapping.h> | 26 | #include <linux/dma-mapping.h> |
27 | #include <linux/firmware.h> | 27 | #include <linux/firmware.h> |
28 | #include <linux/nvhost.h> | 28 | #include <linux/nvhost.h> |
29 | #include <trace/events/gk20a.h> | ||
29 | 30 | ||
30 | #include "gk20a.h" | 31 | #include "gk20a.h" |
31 | #include "kind_gk20a.h" | 32 | #include "kind_gk20a.h" |
@@ -4998,6 +4999,8 @@ static int gr_gk20a_handle_sw_method(struct gk20a *g, u32 addr, | |||
4998 | { | 4999 | { |
4999 | gk20a_dbg_fn(""); | 5000 | gk20a_dbg_fn(""); |
5000 | 5001 | ||
5002 | trace_gr_gk20a_handle_sw_method(g->dev->name); | ||
5003 | |||
5001 | if (class_num == KEPLER_COMPUTE_A) { | 5004 | if (class_num == KEPLER_COMPUTE_A) { |
5002 | switch (offset << 2) { | 5005 | switch (offset << 2) { |
5003 | case NVA0C0_SET_SHADER_EXCEPTIONS: | 5006 | case NVA0C0_SET_SHADER_EXCEPTIONS: |