/* REQUIREMENT: The end of a scanline must be padded to the next word.  */
static void mono_src_copy_imm_blit(int dwidth, int dheight, int dpitch, int dsize, int blit_bpp, int rop, int dest, const u32 *src, int bg, int fg, struct fb_info *info)
/* REQUIREMENT: The end of a scanline must be padded to the next word.  */
static void mono_src_copy_imm_blit(int dwidth, int dheight, int dpitch, int dsize, int blit_bpp, int rop, int dest, const u32 *src, int bg, int fg, struct fb_info *info)
{
	struct i810fb_par *par = info->par;
	if (begin_iring(info, 24 + (dsize << 2) + IRING_PAD)) return;
	PUT_RING(BLIT | MONO_SOURCE_COPY_IMMEDIATE | (4 + dsize));
	PUT_RING(DYN_COLOR_EN | blit_bpp | rop << 16 | dpitch);
	PUT_RING(dheight << 16 | dwidth);
	PUT_RING(dest);
	PUT_RING(bg);
	PUT_RING(fg);
	while (dsize--) 
		PUT_RING(*src++);
	end_iring(par);
}