gm200_i2c_aux_fini(struct gm200_i2c_aux *aux)
 {
        struct nvkm_device *device = aux->base.pad->i2c->subdev.device;
-       nvkm_mask(device, 0x00d954 + (aux->ch * 0x50), 0x00310000, 0x00000000);
+       nvkm_mask(device, 0x00d954 + (aux->ch * 0x50), 0x00710000, 0x00000000);
 }
 
 static int
                        AUX_ERR(&aux->base, "begin idle timeout %08x", ctrl);
                        return -EBUSY;
                }
-       } while (ctrl & 0x03010000);
+       } while (ctrl & 0x07010000);
 
        /* set some magic, and wait up to 1ms for it to appear */
-       nvkm_mask(device, 0x00d954 + (aux->ch * 0x50), 0x00300000, ureq);
+       nvkm_mask(device, 0x00d954 + (aux->ch * 0x50), 0x00700000, ureq);
        timeout = 1000;
        do {
                ctrl = nvkm_rd32(device, 0x00d954 + (aux->ch * 0x50));
                        gm200_i2c_aux_fini(aux);
                        return -EBUSY;
                }
-       } while ((ctrl & 0x03000000) != urep);
+       } while ((ctrl & 0x07000000) != urep);
 
        return 0;
 }