diff options
author | Deepak Goyal <dgoyal@nvidia.com> | 2018-01-18 01:14:47 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-01-19 02:40:02 -0500 |
commit | e0dbf3a784f6cb1a6e1c41a23123b19ec73b8708 (patch) | |
tree | d089cf84f16980034b82c53f2913bcdda452151d /drivers/gpu/nvgpu/gk20a/gk20a.h | |
parent | a57258e9b18f2f336457165391572bc477371e94 (diff) |
gpu: nvgpu: gv11b: Enable perfmon.
t19x PMU ucode uses RPC mechanism for
PERFMON commands.
- Declared "pmu_init_perfmon",
"pmu_perfmon_start_sampling",
"pmu_perfmon_stop_sampling" and
"pmu_perfmon_get_samples" in pmu ops
to differenciate for chips using RPC & legacy
cmd/msg mechanism.
- Defined and used PERFMON RPC commands for t19x
- INIT
- START
- STOP
- QUERY
- Adds RPC handler for PERFMON RPC commands.
- For guerying GPU utilization/load, we need to send PERFMON_QUERY
RPC command for gv11b.
- Enables perfmon for gv11b.
Bug 2039013
Change-Id: Ic32326f81d48f11bc772afb8fee2dee6e427a699
Signed-off-by: Deepak Goyal <dgoyal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1614114
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Seshendra Gadagottu <sgadagottu@nvidia.com>
Tested-by: Seshendra Gadagottu <sgadagottu@nvidia.com>
Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com>
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 | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index 685976b1..0ce3b50d 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -836,6 +836,10 @@ struct gpu_ops { | |||
836 | int (*prepare_ucode)(struct gk20a *g); | 836 | int (*prepare_ucode)(struct gk20a *g); |
837 | int (*pmu_setup_hw_and_bootstrap)(struct gk20a *g); | 837 | int (*pmu_setup_hw_and_bootstrap)(struct gk20a *g); |
838 | int (*pmu_nsbootstrap)(struct nvgpu_pmu *pmu); | 838 | int (*pmu_nsbootstrap)(struct nvgpu_pmu *pmu); |
839 | int (*pmu_init_perfmon)(struct nvgpu_pmu *pmu); | ||
840 | int (*pmu_perfmon_start_sampling)(struct nvgpu_pmu *pmu); | ||
841 | int (*pmu_perfmon_stop_sampling)(struct nvgpu_pmu *pmu); | ||
842 | int (*pmu_perfmon_get_samples_rpc)(struct nvgpu_pmu *pmu); | ||
839 | int (*pmu_setup_elpg)(struct gk20a *g); | 843 | int (*pmu_setup_elpg)(struct gk20a *g); |
840 | u32 (*pmu_get_queue_head)(u32 i); | 844 | u32 (*pmu_get_queue_head)(u32 i); |
841 | u32 (*pmu_get_queue_head_size)(void); | 845 | u32 (*pmu_get_queue_head_size)(void); |