summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2016-11-09 10:39:08 +1000
committerBen Skeggs <bskeggs@redhat.com>2016-11-09 11:24:24 +1000
commit6a5d7b9577cbb16b267ff27d99501a5041450e35 (patch)
tree6308d160de1109943ecd1e749b386b8e46307b33
parent052ba443485c0432691ec4bbac49627a10e51af7 (diff)
downloadnouveau-6a5d7b9577cbb16b267ff27d99501a5041450e35.tar.gz
pmu: execute reset before running devinit
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r--drm/nouveau/nvkm/subdev/pmu/base.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drm/nouveau/nvkm/subdev/pmu/base.c b/drm/nouveau/nvkm/subdev/pmu/base.c
index a843cef24..e611ce80f 100644
--- a/drm/nouveau/nvkm/subdev/pmu/base.c
+++ b/drm/nouveau/nvkm/subdev/pmu/base.c
@@ -97,6 +97,13 @@ nvkm_pmu_reset(struct nvkm_pmu *pmu)
}
static int
+nvkm_pmu_preinit(struct nvkm_subdev *subdev)
+{
+ struct nvkm_pmu *pmu = nvkm_pmu(subdev);
+ return nvkm_pmu_reset(pmu);
+}
+
+static int
nvkm_pmu_init(struct nvkm_subdev *subdev)
{
struct nvkm_pmu *pmu = nvkm_pmu(subdev);
@@ -115,6 +122,7 @@ nvkm_pmu_dtor(struct nvkm_subdev *subdev)
static const struct nvkm_subdev_func
nvkm_pmu = {
.dtor = nvkm_pmu_dtor,
+ .preinit = nvkm_pmu_preinit,
.init = nvkm_pmu_init,
.fini = nvkm_pmu_fini,
.intr = nvkm_pmu_intr,