if (!area->width || !area->height)
                return;
        if (!par->accel_flags) {
-               if (par->blitter_may_be_busy)
-                       wait_for_idle(par);
                cfb_copyarea(info, area);
                return;
        }
        if (!rect->width || !rect->height)
                return;
        if (!par->accel_flags) {
-               if (par->blitter_may_be_busy)
-                       wait_for_idle(par);
                cfb_fillrect(info, rect);
                return;
        }
                return;
        if (!par->accel_flags ||
            (image->depth != 1 && info->var.bits_per_pixel != image->depth)) {
-               if (par->blitter_may_be_busy)
-                       wait_for_idle(par);
-
                cfb_imageblit(info, image);
                return;
        }
 
-       wait_for_idle(par);
        pix_width = pix_width_save = aty_ld_le32(DP_PIX_WIDTH, par);
        host_cntl = aty_ld_le32(HOST_CNTL, par) | HOST_BYTE_ALIGN;
 
                }
        }
 
-       wait_for_idle(par);
-
        /* restore pix_width */
        wait_for_fifo(1, par);
        aty_st_le32(DP_PIX_WIDTH, pix_width_save, par);