p += ((srcAddr/8-1)/4);
static void R128SubsequentScanlineScreenToScreenColorExpand(int srcAddr){    R128InfoPtr     info           = R128PTR();    unsigned char   *R128MMIO      = info->MMIO;    CARD32          *p             = (CARD32 *)info->scratch_buffer;    int             i;#if R128_FAST_COLOR_EXPAND    int             left           = info->scanline_words;    volatile CARD32 *d;#endif    R128WaitForFifo(2);    OUTREG(R128_DST_Y_X,            ((info->scanline_y++ << 16)				     | info->scanline_x));    OUTREG(R128_DST_HEIGHT_WIDTH,   info->scanline_h_w);#if R128_FAST_COLOR_EXPAND    while (left) {	if (left <= 9) {	    R128WaitForFifo(left);				/* Unrolling doesn't improve performance */	    for (d = ADDRREG(R128_HOST_DATA_LAST) - (left - 1); left; --left)		*d++ = *p++;	} else {	    R128WaitForFifo(8);				/* Unrolling doesn't improve performance */	    for (d = ADDRREG(R128_HOST_DATA0), i = 0; i < 8; i++)		*d++ = *p++;	    left -= 8;	}    }#else    for (i = 1; i < info->scanline_words; i++) {	R128WaitForFifo(1);	OUTREG(R128_HOST_DATA0, *p++);    }    R128WaitForFifo(1);    OUTREG(R128_HOST_DATA_LAST, *p);#endif}