int _nouveau_mc_fini(struct nouveau_object *object, bool suspend) { struct nouveau_mc *pmc = (void *)object; nv_wr32(pmc, 0x000140, 0x00000000); return nouveau_subdev_fini(&pmc->base, suspend); }
int nouveau_therm_fini(struct nouveau_object *object, bool suspend) { struct nouveau_therm *therm = (void *)object; struct nouveau_therm_priv *priv = (void *)therm; priv->fan.percent = therm->fan_get(therm); return nouveau_subdev_fini(&therm->base, suspend); }
int _nouveau_fb_fini(struct nouveau_object *object, bool suspend) { struct nouveau_fb *pfb = (void *)object; int ret; ret = nv_ofuncs(pfb->ram)->fini(nv_object(pfb->ram), suspend); if (ret && suspend) return ret; return nouveau_subdev_fini(&pfb->base, suspend); }
int _nouveau_devinit_fini(struct nouveau_object *object, bool suspend) { struct nouveau_devinit *devinit = (void *)object; /* force full reinit on resume */ if (suspend) devinit->post = true; /* unlock the extended vga crtc regs */ nv_lockvgac(devinit, false); return nouveau_subdev_fini(&devinit->base, suspend); }
int _nouveau_therm_fini(struct nouveau_object *object, bool suspend) { struct nouveau_therm *therm = (void *)object; struct nouveau_therm_priv *priv = (void *)therm; nouveau_therm_fan_fini(therm, suspend); nouveau_therm_sensor_fini(therm, suspend); if (suspend) { priv->suspend = priv->mode; priv->mode = NOUVEAU_THERM_CTRL_NONE; } return nouveau_subdev_fini(&therm->base, suspend); }
int _nouveau_subdev_fini(struct nouveau_object *object, bool suspend) { return nouveau_subdev_fini(nv_subdev(object), suspend); }