Skip to content

Commit

Permalink
hw/display/pl110: Remove dead code for non-32-bpp surfaces
Browse files Browse the repository at this point in the history
For a long time now the UI layer has guaranteed that the console
surface is always 32 bits per pixel. Remove the legacy dead
code from the pl110 display device which was handling the
possibility that the console surface was some other format.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20210211141515.8755-2-peter.maydell@linaro.org
  • Loading branch information
pm215 committed Mar 14, 2021
1 parent 999be4a commit 62bdc8c
Showing 1 changed file with 8 additions and 45 deletions.
53 changes: 8 additions & 45 deletions hw/display/pl110.c
Expand Up @@ -123,14 +123,6 @@ static const unsigned char *idregs[] = {
pl111_id
};

#define BITS 8
#include "pl110_template.h"
#define BITS 15
#include "pl110_template.h"
#define BITS 16
#include "pl110_template.h"
#define BITS 24
#include "pl110_template.h"
#define BITS 32
#include "pl110_template.h"

Expand All @@ -144,9 +136,7 @@ static void pl110_update_display(void *opaque)
PL110State *s = (PL110State *)opaque;
SysBusDevice *sbd;
DisplaySurface *surface = qemu_console_surface(s->con);
drawfn* fntable;
drawfn fn;
int dest_width;
int src_width;
int bpp_offset;
int first;
Expand All @@ -158,33 +148,6 @@ static void pl110_update_display(void *opaque)

sbd = SYS_BUS_DEVICE(s);

switch (surface_bits_per_pixel(surface)) {
case 0:
return;
case 8:
fntable = pl110_draw_fn_8;
dest_width = 1;
break;
case 15:
fntable = pl110_draw_fn_15;
dest_width = 2;
break;
case 16:
fntable = pl110_draw_fn_16;
dest_width = 2;
break;
case 24:
fntable = pl110_draw_fn_24;
dest_width = 3;
break;
case 32:
fntable = pl110_draw_fn_32;
dest_width = 4;
break;
default:
fprintf(stderr, "pl110: Bad color depth\n");
exit(1);
}
if (s->cr & PL110_CR_BGR)
bpp_offset = 0;
else
Expand Down Expand Up @@ -218,12 +181,13 @@ static void pl110_update_display(void *opaque)
}
}

if (s->cr & PL110_CR_BEBO)
fn = fntable[s->bpp + 8 + bpp_offset];
else if (s->cr & PL110_CR_BEPO)
fn = fntable[s->bpp + 16 + bpp_offset];
else
fn = fntable[s->bpp + bpp_offset];
if (s->cr & PL110_CR_BEBO) {
fn = pl110_draw_fn_32[s->bpp + 8 + bpp_offset];
} else if (s->cr & PL110_CR_BEPO) {
fn = pl110_draw_fn_32[s->bpp + 16 + bpp_offset];
} else {
fn = pl110_draw_fn_32[s->bpp + bpp_offset];
}

src_width = s->cols;
switch (s->bpp) {
Expand All @@ -247,7 +211,6 @@ static void pl110_update_display(void *opaque)
src_width <<= 2;
break;
}
dest_width *= s->cols;
first = 0;
if (s->invalidate) {
framebuffer_update_memory_section(&s->fbsection,
Expand All @@ -258,7 +221,7 @@ static void pl110_update_display(void *opaque)

framebuffer_update_display(surface, &s->fbsection,
s->cols, s->rows,
src_width, dest_width, 0,
src_width, s->cols * 4, 0,
s->invalidate,
fn, s->palette,
&first, &last);
Expand Down

0 comments on commit 62bdc8c

Please sign in to comment.