This source file includes following definitions.
- gf100_pmu_reset
- gf100_pmu_enabled
- gf100_pmu_new
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #include "priv.h"
25 #include "fuc/gf100.fuc3.h"
26
27 #include <subdev/mc.h>
28
29 void
30 gf100_pmu_reset(struct nvkm_pmu *pmu)
31 {
32 struct nvkm_device *device = pmu->subdev.device;
33 nvkm_mc_disable(device, NVKM_SUBDEV_PMU);
34 nvkm_mc_enable(device, NVKM_SUBDEV_PMU);
35 }
36
37 bool
38 gf100_pmu_enabled(struct nvkm_pmu *pmu)
39 {
40 return nvkm_mc_enabled(pmu->subdev.device, NVKM_SUBDEV_PMU);
41 }
42
43 static const struct nvkm_pmu_func
44 gf100_pmu = {
45 .code.data = gf100_pmu_code,
46 .code.size = sizeof(gf100_pmu_code),
47 .data.data = gf100_pmu_data,
48 .data.size = sizeof(gf100_pmu_data),
49 .enabled = gf100_pmu_enabled,
50 .reset = gf100_pmu_reset,
51 .init = gt215_pmu_init,
52 .fini = gt215_pmu_fini,
53 .intr = gt215_pmu_intr,
54 .send = gt215_pmu_send,
55 .recv = gt215_pmu_recv,
56 };
57
58 int
59 gf100_pmu_new(struct nvkm_device *device, int index, struct nvkm_pmu **ppmu)
60 {
61 return nvkm_pmu_new_(&gf100_pmu, device, index, ppmu);
62 }