diff options
Diffstat (limited to 'drivers/gpu/nvgpu/common/pmu')
-rw-r--r-- | drivers/gpu/nvgpu/common/pmu/pmu_ipc.c | 4 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/common/pmu/pmu_perfmon.c | 10 |
2 files changed, 13 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/common/pmu/pmu_ipc.c b/drivers/gpu/nvgpu/common/pmu/pmu_ipc.c index 352e525f..0dbc2df3 100644 --- a/drivers/gpu/nvgpu/common/pmu/pmu_ipc.c +++ b/drivers/gpu/nvgpu/common/pmu/pmu_ipc.c | |||
@@ -11,6 +11,7 @@ | |||
11 | * more details. | 11 | * more details. |
12 | */ | 12 | */ |
13 | 13 | ||
14 | #include <nvgpu/enabled.h> | ||
14 | #include <nvgpu/pmu.h> | 15 | #include <nvgpu/pmu.h> |
15 | #include <nvgpu/log.h> | 16 | #include <nvgpu/log.h> |
16 | #include <nvgpu/pmuif/nvgpu_gpmu_cmdif.h> | 17 | #include <nvgpu/pmuif/nvgpu_gpmu_cmdif.h> |
@@ -844,7 +845,8 @@ int nvgpu_pmu_process_message(struct nvgpu_pmu *pmu) | |||
844 | nvgpu_pmu_process_init_msg(pmu, &msg); | 845 | nvgpu_pmu_process_init_msg(pmu, &msg); |
845 | if (g->ops.pmu.init_wpr_region != NULL) | 846 | if (g->ops.pmu.init_wpr_region != NULL) |
846 | g->ops.pmu.init_wpr_region(g); | 847 | g->ops.pmu.init_wpr_region(g); |
847 | nvgpu_pmu_init_perfmon(pmu); | 848 | if (nvgpu_is_enabled(g, NVGPU_PMU_PERFMON)) |
849 | nvgpu_pmu_init_perfmon(pmu); | ||
848 | 850 | ||
849 | return 0; | 851 | return 0; |
850 | } | 852 | } |
diff --git a/drivers/gpu/nvgpu/common/pmu/pmu_perfmon.c b/drivers/gpu/nvgpu/common/pmu/pmu_perfmon.c index f87bd175..34678e34 100644 --- a/drivers/gpu/nvgpu/common/pmu/pmu_perfmon.c +++ b/drivers/gpu/nvgpu/common/pmu/pmu_perfmon.c | |||
@@ -11,6 +11,7 @@ | |||
11 | * more details. | 11 | * more details. |
12 | */ | 12 | */ |
13 | 13 | ||
14 | #include <nvgpu/enabled.h> | ||
14 | #include <nvgpu/pmu.h> | 15 | #include <nvgpu/pmu.h> |
15 | #include <nvgpu/log.h> | 16 | #include <nvgpu/log.h> |
16 | #include <nvgpu/pmuif/nvgpu_gpmu_cmdif.h> | 17 | #include <nvgpu/pmuif/nvgpu_gpmu_cmdif.h> |
@@ -60,6 +61,9 @@ int nvgpu_pmu_init_perfmon(struct nvgpu_pmu *pmu) | |||
60 | struct pmu_payload payload; | 61 | struct pmu_payload payload; |
61 | u32 seq; | 62 | u32 seq; |
62 | 63 | ||
64 | if (!nvgpu_is_enabled(g, NVGPU_PMU_PERFMON)) | ||
65 | return 0; | ||
66 | |||
63 | nvgpu_log_fn(g, " "); | 67 | nvgpu_log_fn(g, " "); |
64 | 68 | ||
65 | pmu->perfmon_ready = 0; | 69 | pmu->perfmon_ready = 0; |
@@ -126,6 +130,9 @@ int nvgpu_pmu_perfmon_start_sampling(struct nvgpu_pmu *pmu) | |||
126 | struct pmu_payload payload; | 130 | struct pmu_payload payload; |
127 | u32 seq; | 131 | u32 seq; |
128 | 132 | ||
133 | if (!nvgpu_is_enabled(g, NVGPU_PMU_PERFMON)) | ||
134 | return 0; | ||
135 | |||
129 | /* PERFMON Start */ | 136 | /* PERFMON Start */ |
130 | memset(&cmd, 0, sizeof(struct pmu_cmd)); | 137 | memset(&cmd, 0, sizeof(struct pmu_cmd)); |
131 | cmd.hdr.unit_id = get_perfmon_id(pmu); | 138 | cmd.hdr.unit_id = get_perfmon_id(pmu); |
@@ -172,6 +179,9 @@ int nvgpu_pmu_perfmon_stop_sampling(struct nvgpu_pmu *pmu) | |||
172 | struct pmu_cmd cmd; | 179 | struct pmu_cmd cmd; |
173 | u32 seq; | 180 | u32 seq; |
174 | 181 | ||
182 | if (!nvgpu_is_enabled(g, NVGPU_PMU_PERFMON)) | ||
183 | return 0; | ||
184 | |||
175 | /* PERFMON Stop */ | 185 | /* PERFMON Stop */ |
176 | memset(&cmd, 0, sizeof(struct pmu_cmd)); | 186 | memset(&cmd, 0, sizeof(struct pmu_cmd)); |
177 | cmd.hdr.unit_id = get_perfmon_id(pmu); | 187 | cmd.hdr.unit_id = get_perfmon_id(pmu); |