Inserted wait-for-gr-idle in the places it seems that RM does it, seems
to prevent some random mmio timeouts on Quadro GV100.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
                gf100_gr_mmio(gr, gr->fuc_sw_ctx);
        }
 
+       gf100_gr_wait_idle(gr);
+
        idle_timeout = nvkm_mask(device, 0x404154, 0xffffffff, 0x00000000);
 
        grctx->pagepool(info);
 
        gf100_grctx_generate_floorsweep(gr);
 
+       gf100_gr_wait_idle(gr);
+
        if (grctx->r400088) grctx->r400088(gr, false);
        if (gr->fuc_bundle)
                gf100_gr_icmd(gr, gr->fuc_bundle);
 
        else
                gf100_gr_mmio(gr, gr->func->mmio);
 
+       gf100_gr_wait_idle(gr);
+
        if (gr->func->init_r405a14)
                gr->func->init_r405a14(gr);