diff options
author | Radim Krčmář <rkrcmar@redhat.com> | 2015-02-17 17:30:52 +0100 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2015-03-03 08:33:08 +0100 |
commit | bb7443f6d6f09411ea10f06e6cb0d416bd1ccebd (patch) | |
tree | 3d01f66f23e0bc87df16713247ee40fc075d9586 /hw/display/qxl.c | |
parent | 876d516311c1538a7d29f2abec48b7cda0645eea (diff) |
qxl: refactor rounding up to a nearest power of 2
We already have pow2floor, mirror it and use instead of a function with
similar results (same in used domain), to clarify our intent.
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/display/qxl.c')
-rw-r--r-- | hw/display/qxl.c | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/hw/display/qxl.c b/hw/display/qxl.c index 92f2d5025d..94ff52a959 100644 --- a/hw/display/qxl.c +++ b/hw/display/qxl.c @@ -300,19 +300,6 @@ void qxl_spice_reset_cursor(PCIQXLDevice *qxl) qxl->ssd.cursor = cursor_builtin_hidden(); } - -static inline uint32_t msb_mask(uint32_t val) -{ - uint32_t mask; - - do { - mask = ~(val - 1) & val; - val &= ~mask; - } while (mask < val); - - return mask; -} - static ram_addr_t qxl_rom_size(void) { uint32_t required_rom_size = sizeof(QXLRom) + sizeof(QXLModes) + @@ -1921,10 +1908,10 @@ static void qxl_init_ramsize(PCIQXLDevice *qxl) qxl->vram32_size = 4096; qxl->vram_size = 4096; } - qxl->vgamem_size = msb_mask(qxl->vgamem_size * 2 - 1); - qxl->vga.vram_size = msb_mask(qxl->vga.vram_size * 2 - 1); - qxl->vram32_size = msb_mask(qxl->vram32_size * 2 - 1); - qxl->vram_size = msb_mask(qxl->vram_size * 2 - 1); + qxl->vgamem_size = pow2ceil(qxl->vgamem_size); + qxl->vga.vram_size = pow2ceil(qxl->vga.vram_size); + qxl->vram32_size = pow2ceil(qxl->vram32_size); + qxl->vram_size = pow2ceil(qxl->vram_size); } static int qxl_init_common(PCIQXLDevice *qxl) @@ -1956,7 +1943,7 @@ static int qxl_init_common(PCIQXLDevice *qxl) break; case 4: /* qxl-4 */ pci_device_rev = QXL_REVISION_STABLE_V12; - io_size = msb_mask(QXL_IO_RANGE_SIZE * 2 - 1); + io_size = pow2ceil(QXL_IO_RANGE_SIZE); break; default: error_report("Invalid revision %d for qxl device (max %d)", |