drm/nouveau/pmu: execute reset before running devinit
authorBen Skeggs <bskeggs@redhat.com>
Wed, 9 Nov 2016 00:39:08 +0000 (10:39 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Wed, 16 Nov 2016 23:50:36 +0000 (09:50 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nvkm/subdev/pmu/base.c

index a843cef2475dfe681c69a8042dc3c9255bb369a4..e611ce80f8efd8cf684a581524bbccbf82d1d9f5 100644 (file)
@@ -96,6 +96,13 @@ nvkm_pmu_reset(struct nvkm_pmu *pmu)
        return 0;
 }
 
+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)
 {
@@ -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,