static void pxa2xx_lcdc_dma0_redraw_rot90(PXA2xxLCDState *s,

               hwaddr addr, int *miny, int *maxy)

{

    DisplaySurface *surface = qemu_console_surface(s->con);

    int src_width, dest_width;

    drawfn fn = NULL;

    if (s->dest_width)

        fn = s->line_fn[s->transp][s->bpp];

    if (!fn)

        return;



    src_width = (s->xres + 3) & ~3;     /* Pad to a 4 pixels multiple */

    if (s->bpp == pxa_lcdc_19pbpp || s->bpp == pxa_lcdc_18pbpp)

        src_width *= 3;

    else if (s->bpp > pxa_lcdc_16bpp)

        src_width *= 4;

    else if (s->bpp > pxa_lcdc_8bpp)

        src_width *= 2;



    dest_width = s->yres * s->dest_width;

    *miny = 0;

    framebuffer_update_display(surface, s->sysmem,

                               addr, s->xres, s->yres,

                               src_width, s->dest_width, -dest_width,

                               s->invalidated,

                               fn, s->dma_ch[0].palette,

                               miny, maxy);

}

static void pxa2xx_lcdc_dma0_redraw_rot90(PXA2xxLCDState *s,

               hwaddr addr, int *miny, int *maxy)

{

    DisplaySurface *surface = qemu_console_surface(s->con);

    int src_width, dest_width;

    drawfn fn = NULL;

    if (s->dest_width)

        fn = s->line_fn[s->transp][s->bpp];

    if (!fn)

        return;



    src_width = (s->xres + 3) & ~3;     

    if (s->bpp == pxa_lcdc_19pbpp || s->bpp == pxa_lcdc_18pbpp)

        src_width *= 3;

    else if (s->bpp > pxa_lcdc_16bpp)

        src_width *= 4;

    else if (s->bpp > pxa_lcdc_8bpp)

        src_width *= 2;



    dest_width = s->yres * s->dest_width;

    *miny = 0;

    framebuffer_update_display(surface, s->sysmem,

                               addr, s->xres, s->yres,

                               src_width, s->dest_width, -dest_width,

                               s->invalidated,

                               fn, s->dma_ch[0].palette,

                               miny, maxy);

}

static void FUNC_0(PXA2xxLCDState *VAR_0,

               hwaddr VAR_1, int *VAR_2, int *VAR_3)

{

    DisplaySurface *surface = qemu_console_surface(VAR_0->con);

    int VAR_4, VAR_5;

    drawfn fn = NULL;

    if (VAR_0->VAR_5)

        fn = VAR_0->line_fn[VAR_0->transp][VAR_0->bpp];

    if (!fn)

        return;



    VAR_4 = (VAR_0->xres + 3) & ~3;     

    if (VAR_0->bpp == pxa_lcdc_19pbpp || VAR_0->bpp == pxa_lcdc_18pbpp)

        VAR_4 *= 3;

    else if (VAR_0->bpp > pxa_lcdc_16bpp)

        VAR_4 *= 4;

    else if (VAR_0->bpp > pxa_lcdc_8bpp)

        VAR_4 *= 2;



    VAR_5 = VAR_0->yres * VAR_0->VAR_5;

    *VAR_2 = 0;

    framebuffer_update_display(surface, VAR_0->sysmem,

                               VAR_1, VAR_0->xres, VAR_0->yres,

                               VAR_4, VAR_0->VAR_5, -VAR_5,

                               VAR_0->invalidated,

                               fn, VAR_0->dma_ch[0].palette,

                               VAR_2, VAR_3);

}

static void FUNC_0(PXA2xxLCDState *VAR_0,
hwaddr VAR_1, int *VAR_2, int *VAR_3)
{ DisplaySurface *surface = qemu_console_surface(VAR_0->con); int VAR_4, VAR_5; drawfn fn = NULL; if (VAR_0->VAR_5)
fn = VAR_0->line_fn[VAR_0->transp][VAR_0->bpp]; if (!fn)
return; VAR_4 = (VAR_0->xres + 3) & ~3; if (VAR_0->bpp == pxa_lcdc_19pbpp || VAR_0->bpp == pxa_lcdc_18pbpp)
VAR_4 *= 3; else if (VAR_0->bpp > pxa_lcdc_16bpp)
VAR_4 *= 4; else if (VAR_0->bpp > pxa_lcdc_8bpp)
VAR_4 *= 2; VAR_5 = VAR_0->yres * VAR_0->VAR_5; *VAR_2 = 0; framebuffer_update_display(surface, VAR_0->sysmem,
VAR_1, VAR_0->xres, VAR_0->yres,
VAR_4, VAR_0->VAR_5, -VAR_5,
VAR_0->invalidated,
fn, VAR_0->dma_ch[0].palette,
VAR_2, VAR_3); }