diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/pmu_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/pmu_gk20a.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c index 1e9f291f..1d580dae 100644 --- a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c | |||
@@ -3976,14 +3976,22 @@ static int pmu_handle_perfmon_event(struct pmu_gk20a *pmu, | |||
3976 | static int pmu_handle_event(struct pmu_gk20a *pmu, struct pmu_msg *msg) | 3976 | static int pmu_handle_event(struct pmu_gk20a *pmu, struct pmu_msg *msg) |
3977 | { | 3977 | { |
3978 | int err = 0; | 3978 | int err = 0; |
3979 | struct gk20a *g = gk20a_from_pmu(pmu); | ||
3979 | 3980 | ||
3980 | gk20a_dbg_fn(""); | 3981 | gk20a_dbg_fn(""); |
3981 | |||
3982 | switch (msg->hdr.unit_id) { | 3982 | switch (msg->hdr.unit_id) { |
3983 | case PMU_UNIT_PERFMON: | 3983 | case PMU_UNIT_PERFMON: |
3984 | case PMU_UNIT_PERFMON_T18X: | 3984 | case PMU_UNIT_PERFMON_T18X: |
3985 | err = pmu_handle_perfmon_event(pmu, &msg->msg.perfmon); | 3985 | err = pmu_handle_perfmon_event(pmu, &msg->msg.perfmon); |
3986 | break; | 3986 | break; |
3987 | case PMU_UNIT_PERF: | ||
3988 | if (g->ops.perf.handle_pmu_perf_event != NULL) { | ||
3989 | err = g->ops.perf.handle_pmu_perf_event(g, | ||
3990 | (void *)&msg->msg.perf); | ||
3991 | } else { | ||
3992 | WARN_ON(1); | ||
3993 | } | ||
3994 | break; | ||
3987 | default: | 3995 | default: |
3988 | break; | 3996 | break; |
3989 | } | 3997 | } |