From: Peter Maydell <peter.maydell@linaro.org>
To: qemu-arm@nongnu.org, qemu-devel@nongnu.org
Cc: Gerd Hoffmann <kraxel@redhat.com>
Subject: [PATCH 3/9] hw/display/pl110: Remove use of BITS from pl110_template.h
Date: Thu, 11 Feb 2021 14:15:09 +0000 [thread overview]
Message-ID: <20210211141515.8755-4-peter.maydell@linaro.org> (raw)
In-Reply-To: <20210211141515.8755-1-peter.maydell@linaro.org>
BITS is always 32, so remove all uses of it from the template header,
by dropping the trailing '32' from the draw function names and
not constructing the name of rgb_to_pixel32() via the glue() macro.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
hw/display/pl110_template.h | 20 +++----
hw/display/pl110.c | 113 ++++++++++++++++++------------------
2 files changed, 65 insertions(+), 68 deletions(-)
diff --git a/hw/display/pl110_template.h b/hw/display/pl110_template.h
index 0d8471db636..877419aa817 100644
--- a/hw/display/pl110_template.h
+++ b/hw/display/pl110_template.h
@@ -14,18 +14,18 @@
#endif
#if ORDER == 0
-#define NAME glue(glue(lblp_, BORDER), BITS)
+#define NAME glue(lblp_, BORDER)
#ifdef HOST_WORDS_BIGENDIAN
#define SWAP_WORDS 1
#endif
#elif ORDER == 1
-#define NAME glue(glue(bbbp_, BORDER), BITS)
+#define NAME glue(bbbp_, BORDER)
#ifndef HOST_WORDS_BIGENDIAN
#define SWAP_WORDS 1
#endif
#else
#define SWAP_PIXELS 1
-#define NAME glue(glue(lbbp_, BORDER), BITS)
+#define NAME glue(lbbp_, BORDER)
#ifdef HOST_WORDS_BIGENDIAN
#define SWAP_WORDS 1
#endif
@@ -174,14 +174,14 @@ static void glue(pl110_draw_line16_,NAME)(void *opaque, uint8_t *d, const uint8_
MSB = (data & 0x1f) << 3;
data >>= 5;
#endif
- COPY_PIXEL(d, glue(rgb_to_pixel,BITS)(r, g, b));
+ COPY_PIXEL(d, rgb_to_pixel32(r, g, b));
LSB = (data & 0x1f) << 3;
data >>= 5;
g = (data & 0x3f) << 2;
data >>= 6;
MSB = (data & 0x1f) << 3;
data >>= 5;
- COPY_PIXEL(d, glue(rgb_to_pixel,BITS)(r, g, b));
+ COPY_PIXEL(d, rgb_to_pixel32(r, g, b));
#undef MSB
#undef LSB
width -= 2;
@@ -211,7 +211,7 @@ static void glue(pl110_draw_line32_,NAME)(void *opaque, uint8_t *d, const uint8_
g = (data >> 16) & 0xff;
MSB = (data >> 8) & 0xff;
#endif
- COPY_PIXEL(d, glue(rgb_to_pixel,BITS)(r, g, b));
+ COPY_PIXEL(d, rgb_to_pixel32(r, g, b));
#undef MSB
#undef LSB
width--;
@@ -242,14 +242,14 @@ static void glue(pl110_draw_line16_555_,NAME)(void *opaque, uint8_t *d, const ui
data >>= 5;
MSB = (data & 0x1f) << 3;
data >>= 5;
- COPY_PIXEL(d, glue(rgb_to_pixel,BITS)(r, g, b));
+ COPY_PIXEL(d, rgb_to_pixel32(r, g, b));
LSB = (data & 0x1f) << 3;
data >>= 5;
g = (data & 0x1f) << 3;
data >>= 5;
MSB = (data & 0x1f) << 3;
data >>= 6;
- COPY_PIXEL(d, glue(rgb_to_pixel,BITS)(r, g, b));
+ COPY_PIXEL(d, rgb_to_pixel32(r, g, b));
#undef MSB
#undef LSB
width -= 2;
@@ -280,14 +280,14 @@ static void glue(pl110_draw_line12_,NAME)(void *opaque, uint8_t *d, const uint8_
data >>= 4;
MSB = (data & 0xf) << 4;
data >>= 8;
- COPY_PIXEL(d, glue(rgb_to_pixel,BITS)(r, g, b));
+ COPY_PIXEL(d, rgb_to_pixel32(r, g, b));
LSB = (data & 0xf) << 4;
data >>= 4;
g = (data & 0xf) << 4;
data >>= 4;
MSB = (data & 0xf) << 4;
data >>= 8;
- COPY_PIXEL(d, glue(rgb_to_pixel,BITS)(r, g, b));
+ COPY_PIXEL(d, rgb_to_pixel32(r, g, b));
#undef MSB
#undef LSB
width -= 2;
diff --git a/hw/display/pl110.c b/hw/display/pl110.c
index ce300662e8b..4bf15c1da51 100644
--- a/hw/display/pl110.c
+++ b/hw/display/pl110.c
@@ -123,7 +123,6 @@ static const unsigned char *idregs[] = {
pl111_id
};
-#define BITS 32
#define COPY_PIXEL(to, from) do { *(uint32_t *)to = from; to += 4; } while (0)
#undef RGB
@@ -145,65 +144,63 @@ static const unsigned char *idregs[] = {
#include "pl110_template.h"
#undef BORDER
-static drawfn pl110_draw_fn_32[48] = {
- pl110_draw_line1_lblp_bgr32,
- pl110_draw_line2_lblp_bgr32,
- pl110_draw_line4_lblp_bgr32,
- pl110_draw_line8_lblp_bgr32,
- pl110_draw_line16_555_lblp_bgr32,
- pl110_draw_line32_lblp_bgr32,
- pl110_draw_line16_lblp_bgr32,
- pl110_draw_line12_lblp_bgr32,
-
- pl110_draw_line1_bbbp_bgr32,
- pl110_draw_line2_bbbp_bgr32,
- pl110_draw_line4_bbbp_bgr32,
- pl110_draw_line8_bbbp_bgr32,
- pl110_draw_line16_555_bbbp_bgr32,
- pl110_draw_line32_bbbp_bgr32,
- pl110_draw_line16_bbbp_bgr32,
- pl110_draw_line12_bbbp_bgr32,
-
- pl110_draw_line1_lbbp_bgr32,
- pl110_draw_line2_lbbp_bgr32,
- pl110_draw_line4_lbbp_bgr32,
- pl110_draw_line8_lbbp_bgr32,
- pl110_draw_line16_555_lbbp_bgr32,
- pl110_draw_line32_lbbp_bgr32,
- pl110_draw_line16_lbbp_bgr32,
- pl110_draw_line12_lbbp_bgr32,
-
- pl110_draw_line1_lblp_rgb32,
- pl110_draw_line2_lblp_rgb32,
- pl110_draw_line4_lblp_rgb32,
- pl110_draw_line8_lblp_rgb32,
- pl110_draw_line16_555_lblp_rgb32,
- pl110_draw_line32_lblp_rgb32,
- pl110_draw_line16_lblp_rgb32,
- pl110_draw_line12_lblp_rgb32,
-
- pl110_draw_line1_bbbp_rgb32,
- pl110_draw_line2_bbbp_rgb32,
- pl110_draw_line4_bbbp_rgb32,
- pl110_draw_line8_bbbp_rgb32,
- pl110_draw_line16_555_bbbp_rgb32,
- pl110_draw_line32_bbbp_rgb32,
- pl110_draw_line16_bbbp_rgb32,
- pl110_draw_line12_bbbp_rgb32,
-
- pl110_draw_line1_lbbp_rgb32,
- pl110_draw_line2_lbbp_rgb32,
- pl110_draw_line4_lbbp_rgb32,
- pl110_draw_line8_lbbp_rgb32,
- pl110_draw_line16_555_lbbp_rgb32,
- pl110_draw_line32_lbbp_rgb32,
- pl110_draw_line16_lbbp_rgb32,
- pl110_draw_line12_lbbp_rgb32,
-};
-
-#undef BITS
#undef COPY_PIXEL
+static drawfn pl110_draw_fn_32[48] = {
+ pl110_draw_line1_lblp_bgr,
+ pl110_draw_line2_lblp_bgr,
+ pl110_draw_line4_lblp_bgr,
+ pl110_draw_line8_lblp_bgr,
+ pl110_draw_line16_555_lblp_bgr,
+ pl110_draw_line32_lblp_bgr,
+ pl110_draw_line16_lblp_bgr,
+ pl110_draw_line12_lblp_bgr,
+
+ pl110_draw_line1_bbbp_bgr,
+ pl110_draw_line2_bbbp_bgr,
+ pl110_draw_line4_bbbp_bgr,
+ pl110_draw_line8_bbbp_bgr,
+ pl110_draw_line16_555_bbbp_bgr,
+ pl110_draw_line32_bbbp_bgr,
+ pl110_draw_line16_bbbp_bgr,
+ pl110_draw_line12_bbbp_bgr,
+
+ pl110_draw_line1_lbbp_bgr,
+ pl110_draw_line2_lbbp_bgr,
+ pl110_draw_line4_lbbp_bgr,
+ pl110_draw_line8_lbbp_bgr,
+ pl110_draw_line16_555_lbbp_bgr,
+ pl110_draw_line32_lbbp_bgr,
+ pl110_draw_line16_lbbp_bgr,
+ pl110_draw_line12_lbbp_bgr,
+
+ pl110_draw_line1_lblp_rgb,
+ pl110_draw_line2_lblp_rgb,
+ pl110_draw_line4_lblp_rgb,
+ pl110_draw_line8_lblp_rgb,
+ pl110_draw_line16_555_lblp_rgb,
+ pl110_draw_line32_lblp_rgb,
+ pl110_draw_line16_lblp_rgb,
+ pl110_draw_line12_lblp_rgb,
+
+ pl110_draw_line1_bbbp_rgb,
+ pl110_draw_line2_bbbp_rgb,
+ pl110_draw_line4_bbbp_rgb,
+ pl110_draw_line8_bbbp_rgb,
+ pl110_draw_line16_555_bbbp_rgb,
+ pl110_draw_line32_bbbp_rgb,
+ pl110_draw_line16_bbbp_rgb,
+ pl110_draw_line12_bbbp_rgb,
+
+ pl110_draw_line1_lbbp_rgb,
+ pl110_draw_line2_lbbp_rgb,
+ pl110_draw_line4_lbbp_rgb,
+ pl110_draw_line8_lbbp_rgb,
+ pl110_draw_line16_555_lbbp_rgb,
+ pl110_draw_line32_lbbp_rgb,
+ pl110_draw_line16_lbbp_rgb,
+ pl110_draw_line12_lbbp_rgb,
+};
static int pl110_enabled(PL110State *s)
{
--
2.20.1
next prev parent reply other threads:[~2021-02-11 14:19 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-11 14:15 [PATCH 0/9] hw/display/pl110, pxa2xx_lcd: Tidy up template headers Peter Maydell
2021-02-11 14:15 ` [PATCH 1/9] hw/display/pl110: Remove dead code for non-32-bpp surfaces Peter Maydell
2021-02-11 14:15 ` [PATCH 2/9] hw/display/pl110: Pull included-once parts of template header into pl110.c Peter Maydell
2021-02-11 14:15 ` Peter Maydell [this message]
2021-02-11 14:15 ` [PATCH 4/9] hw/display/pxa2xx_lcd: Remove dead code for non-32-bpp surfaces Peter Maydell
2021-02-11 14:15 ` [PATCH 5/9] hw/display/pxa2xx_lcd: Remove dest_width state field Peter Maydell
2021-02-11 14:15 ` [PATCH 6/9] hw/display/pxa2xx: Remove use of BITS in pxa2xx_template.h Peter Maydell
2021-02-11 14:15 ` [PATCH 7/9] hw/display/pxa2xx: Apply brace-related coding style fixes to template header Peter Maydell
2021-02-11 14:15 ` [PATCH 8/9] hw/display/pxa2xx: Apply whitespace-only " Peter Maydell
2021-02-11 14:15 ` [PATCH 9/9] hw/display/pxa2xx: Inline " Peter Maydell
[not found] ` <14af0670-caaf-caf1-0b90-fb10c7db13b0@trusted-objects.com>
2021-02-15 15:09 ` Malfunctionning qemu-system-arm ? vincent Dupaquis
2021-03-09 14:19 ` Alistair Francis
2021-03-09 16:00 ` vincent Dupaquis
2021-03-09 14:37 ` Liviu Ionescu
2021-03-09 15:58 ` vincent Dupaquis
2021-03-09 16:07 ` Liviu Ionescu
2021-03-05 14:48 ` [PATCH 0/9] hw/display/pl110, pxa2xx_lcd: Tidy up template headers Peter Maydell
2021-03-09 10:34 ` Gerd Hoffmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210211141515.8755-4-peter.maydell@linaro.org \
--to=peter.maydell@linaro.org \
--cc=kraxel@redhat.com \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).