diff options
author | Mahantesh Kumbar <mkumbar@nvidia.com> | 2016-11-09 09:03:41 -0500 |
---|---|---|
committer | Deepak Nibade <dnibade@nvidia.com> | 2016-12-27 04:56:53 -0500 |
commit | 76a18f5e762c79e8e6902ec93b7d6ea741475365 (patch) | |
tree | 7acf7f7e25ab1a02719691195f14277e9ac9b256 /drivers/gpu/nvgpu | |
parent | e5824d8014c321fbe2c1e04e12307125dd50a472 (diff) |
gpu: nvgpu: PG statistics update
- PG statistics read support for multiple engines
JIRA DNVGPU-71
Change-Id: I2dc3aad243300d21dc3d20a54a5e4736977e071b
Signed-off-by: Mahantesh Kumbar <mkumbar@nvidia.com>
Reviewed-on: http://git-master/r/1250507
(cherry picked from commit 985cb3be1d6d990bc6651e417d9e6ba9bfe306e0)
Reviewed-on: http://git-master/r/1270991
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/pmu_gp10b.c | 5 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/pmu_gp10b.h | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/pmu_gp10b.c b/drivers/gpu/nvgpu/gp10b/pmu_gp10b.c index 9274990a..12337934 100644 --- a/drivers/gpu/nvgpu/gp10b/pmu_gp10b.c +++ b/drivers/gpu/nvgpu/gp10b/pmu_gp10b.c | |||
@@ -250,13 +250,14 @@ int gp10b_pg_gr_init(struct gk20a *g, u32 pg_engine_id) | |||
250 | return 0; | 250 | return 0; |
251 | } | 251 | } |
252 | 252 | ||
253 | void gp10b_pmu_elpg_statistics(struct gk20a *g, | 253 | void gp10b_pmu_elpg_statistics(struct gk20a *g, u32 pg_engine_id, |
254 | u32 *ingating_time, u32 *ungating_time, u32 *gating_cnt) | 254 | u32 *ingating_time, u32 *ungating_time, u32 *gating_cnt) |
255 | { | 255 | { |
256 | struct pmu_gk20a *pmu = &g->pmu; | 256 | struct pmu_gk20a *pmu = &g->pmu; |
257 | struct pmu_pg_stats_v1 stats; | 257 | struct pmu_pg_stats_v1 stats; |
258 | 258 | ||
259 | pmu_copy_from_dmem(pmu, pmu->stat_dmem_offset, | 259 | pmu_copy_from_dmem(pmu, |
260 | pmu->stat_dmem_offset[pg_engine_id], | ||
260 | (u8 *)&stats, sizeof(struct pmu_pg_stats_v1), 0); | 261 | (u8 *)&stats, sizeof(struct pmu_pg_stats_v1), 0); |
261 | 262 | ||
262 | *ingating_time = stats.total_sleep_timeus; | 263 | *ingating_time = stats.total_sleep_timeus; |
diff --git a/drivers/gpu/nvgpu/gp10b/pmu_gp10b.h b/drivers/gpu/nvgpu/gp10b/pmu_gp10b.h index ee0158ec..c9ac9d41 100644 --- a/drivers/gpu/nvgpu/gp10b/pmu_gp10b.h +++ b/drivers/gpu/nvgpu/gp10b/pmu_gp10b.h | |||
@@ -20,7 +20,7 @@ void gp10b_init_pmu_ops(struct gpu_ops *gops); | |||
20 | int gp10b_load_falcon_ucode(struct gk20a *g, u32 falconidmask); | 20 | int gp10b_load_falcon_ucode(struct gk20a *g, u32 falconidmask); |
21 | int gp10b_pg_gr_init(struct gk20a *g, u32 pg_engine_id); | 21 | int gp10b_pg_gr_init(struct gk20a *g, u32 pg_engine_id); |
22 | void gp10b_write_dmatrfbase(struct gk20a *g, u32 addr); | 22 | void gp10b_write_dmatrfbase(struct gk20a *g, u32 addr); |
23 | void gp10b_pmu_elpg_statistics(struct gk20a *g, | 23 | void gp10b_pmu_elpg_statistics(struct gk20a *g, u32 pg_engine_id, |
24 | u32 *ingating_time, u32 *ungating_time, u32 *gating_cnt); | 24 | u32 *ingating_time, u32 *ungating_time, u32 *gating_cnt); |
25 | 25 | ||
26 | #endif /*__PMU_GP10B_H_*/ | 26 | #endif /*__PMU_GP10B_H_*/ |