[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 46/52] hw/display/bcm2835_fb: Drop unused size and pi
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PULL 46/52] hw/display/bcm2835_fb: Drop unused size and pitch fields |
Date: |
Fri, 24 Aug 2018 10:33:37 +0100 |
The BCM2835FBState struct has a 'pitch' field which is a
cached copy of xres * (bpp >> 3), and a 'size' field which is
a cached copy of pitch * yres. However we don't actually do
anything with these fields; delete them. We retain the
now-unused slots in the VMState struct for migration
compatibility.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-id: address@hidden
---
include/hw/display/bcm2835_fb.h | 4 ----
hw/display/bcm2835_fb.c | 19 ++++++++-----------
2 files changed, 8 insertions(+), 15 deletions(-)
diff --git a/include/hw/display/bcm2835_fb.h b/include/hw/display/bcm2835_fb.h
index b965698d28a..69cbf2d1fd9 100644
--- a/include/hw/display/bcm2835_fb.h
+++ b/include/hw/display/bcm2835_fb.h
@@ -47,10 +47,6 @@ typedef struct {
bool lock, invalidate, pending;
BCM2835FBConfig config;
-
- /* These are just cached values calculated from the config settings */
- uint32_t size;
- uint32_t pitch;
} BCM2835FBState;
void bcm2835_fb_reconfigure(BCM2835FBState *s, BCM2835FBConfig *newconfig);
diff --git a/hw/display/bcm2835_fb.c b/hw/display/bcm2835_fb.c
index 8155de5d0b1..9faabf0d0b4 100644
--- a/hw/display/bcm2835_fb.c
+++ b/hw/display/bcm2835_fb.c
@@ -184,6 +184,9 @@ static void fb_update_display(void *opaque)
static void bcm2835_fb_mbox_push(BCM2835FBState *s, uint32_t value)
{
+ uint32_t pitch;
+ uint32_t size;
+
value &= ~0xf;
s->lock = true;
@@ -201,12 +204,12 @@ static void bcm2835_fb_mbox_push(BCM2835FBState *s,
uint32_t value)
/* TODO - Manage properly virtual resolution */
- s->pitch = s->config.xres * (s->config.bpp >> 3);
- s->size = s->config.yres * s->pitch;
+ pitch = s->config.xres * (s->config.bpp >> 3);
+ size = s->config.yres * pitch;
- stl_le_phys(&s->dma_as, value + 16, s->pitch);
+ stl_le_phys(&s->dma_as, value + 16, pitch);
stl_le_phys(&s->dma_as, value + 32, s->config.base);
- stl_le_phys(&s->dma_as, value + 36, s->size);
+ stl_le_phys(&s->dma_as, value + 36, size);
s->invalidate = true;
qemu_console_resize(s->con, s->config.xres, s->config.yres);
@@ -223,9 +226,6 @@ void bcm2835_fb_reconfigure(BCM2835FBState *s,
BCM2835FBConfig *newconfig)
/* TODO - Manage properly virtual resolution */
- s->pitch = s->config.xres * (s->config.bpp >> 3);
- s->size = s->config.yres * s->pitch;
-
s->invalidate = true;
qemu_console_resize(s->con, s->config.xres, s->config.yres);
s->lock = false;
@@ -301,8 +301,7 @@ static const VMStateDescription vmstate_bcm2835_fb = {
VMSTATE_UINT32(config.yoffset, BCM2835FBState),
VMSTATE_UINT32(config.bpp, BCM2835FBState),
VMSTATE_UINT32(config.base, BCM2835FBState),
- VMSTATE_UINT32(pitch, BCM2835FBState),
- VMSTATE_UINT32(size, BCM2835FBState),
+ VMSTATE_UNUSED(8), /* Was pitch and size */
VMSTATE_UINT32(config.pixo, BCM2835FBState),
VMSTATE_UINT32(config.alpha, BCM2835FBState),
VMSTATE_END_OF_LIST()
@@ -335,8 +334,6 @@ static void bcm2835_fb_reset(DeviceState *dev)
s->config.xoffset = 0;
s->config.yoffset = 0;
s->config.base = s->vcram_base + BCM2835_FB_OFFSET;
- s->pitch = s->config.xres * (s->config.bpp >> 3);
- s->size = s->config.yres * s->pitch;
s->invalidate = true;
s->lock = false;
--
2.18.0
- [Qemu-devel] [PULL 29/52] hw/misc/tz-msc: Model TrustZone Master Security Controller, (continued)
- [Qemu-devel] [PULL 29/52] hw/misc/tz-msc: Model TrustZone Master Security Controller, Peter Maydell, 2018/08/24
- [Qemu-devel] [PULL 37/52] hw/ssi/pl022: Correct wrong value for PL022_INT_RT, Peter Maydell, 2018/08/24
- [Qemu-devel] [PULL 38/52] hw/ssi/pl022: Correct wrong DMACR and ICR handling, Peter Maydell, 2018/08/24
- [Qemu-devel] [PULL 39/52] hw/arm/mps2-tz: Instantiate SPI controllers, Peter Maydell, 2018/08/24
- [Qemu-devel] [PULL 43/52] target/arm: Remove a handful of stray tabs, Peter Maydell, 2018/08/24
- [Qemu-devel] [PULL 40/52] hw/arm/mps2-tz: Fix MPS2 SCC config register values, Peter Maydell, 2018/08/24
- [Qemu-devel] [PULL 42/52] target/arm: Untabify iwmmxt_helper.c, Peter Maydell, 2018/08/24
- [Qemu-devel] [PULL 36/52] hw/ssi/pl022: Use DeviceState::realize rather than SysBusDevice::init, Peter Maydell, 2018/08/24
- [Qemu-devel] [PULL 34/52] hw/ssi/pl022: Set up reset function in class init, Peter Maydell, 2018/08/24
- [Qemu-devel] [PULL 47/52] hw/display/bcm2835_fb: Reset resolution, etc correctly, Peter Maydell, 2018/08/24
- [Qemu-devel] [PULL 46/52] hw/display/bcm2835_fb: Drop unused size and pitch fields,
Peter Maydell <=
- [Qemu-devel] [PULL 49/52] hw/display/bcm2835_fb: Fix handling of virtual framebuffer, Peter Maydell, 2018/08/24
- [Qemu-devel] [PULL 44/52] hw/misc/bcm2835_fb: Move config fields to their own struct, Peter Maydell, 2018/08/24
- [Qemu-devel] [PULL 51/52] hw/display/bcm2835_fb: Validate bcm2835_fb_mbox_push() config, Peter Maydell, 2018/08/24
- [Qemu-devel] [PULL 35/52] hw/ssi/pl022: Don't directly call vmstate_register(), Peter Maydell, 2018/08/24
- [Qemu-devel] [PULL 41/52] target/arm: Untabify translate.c, Peter Maydell, 2018/08/24
- [Qemu-devel] [PULL 45/52] hw/misc/bcm2835_property: Track fb settings using BCM2835FBConfig, Peter Maydell, 2018/08/24
- [Qemu-devel] [PULL 48/52] hw/display/bcm2835_fb: Abstract out calculation of pitch, size, Peter Maydell, 2018/08/24
- [Qemu-devel] [PULL 52/52] hw/arm/mps2: Fix ID register errors on AN511 and AN385, Peter Maydell, 2018/08/24
- [Qemu-devel] [PULL 50/52] hw/display/bcm2835_fb: Validate config settings, Peter Maydell, 2018/08/24