#include "priv.h"
 
 #include <core/option.h>
+#include <subdev/top.h>
 
 void
 nvkm_mc_unk260(struct nvkm_mc *mc, u32 data)
 {
        struct nvkm_device *device = mc->subdev.device;
        const struct nvkm_mc_map *map;
-       u64 pmc_enable = 0;
-
-       for (map = mc->func->reset; map && map->stat; map++) {
-               if (map->unit == devidx) {
-                       pmc_enable = map->stat;
-                       break;
+       u64 pmc_enable;
+
+       if (!(pmc_enable = nvkm_top_reset(device->top, devidx))) {
+               for (map = mc->func->reset; map && map->stat; map++) {
+                       if (map->unit == devidx) {
+                               pmc_enable = map->stat;
+                               break;
+                       }
                }
        }