From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:34051) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RyTVV-0008JZ-0b for qemu-devel@nongnu.org; Fri, 17 Feb 2012 14:30:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RyTVS-000891-O8 for qemu-devel@nongnu.org; Fri, 17 Feb 2012 14:30:12 -0500 Received: from mx1.redhat.com ([209.132.183.28]:16419) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RyTVS-00088k-HU for qemu-devel@nongnu.org; Fri, 17 Feb 2012 14:30:10 -0500 Date: Fri, 17 Feb 2012 21:29:59 +0200 From: Alon Levy Message-ID: <20120217192959.GG23926@garlic.redhat.com> References: <1329491433-31446-1-git-send-email-kraxel@redhat.com> <1329491433-31446-3-git-send-email-kraxel@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1329491433-31446-3-git-send-email-kraxel@redhat.com> Subject: Re: [Qemu-devel] [Spice-devel] [PATCH 2/4] qxl: move ram size init to new function List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann Cc: spice-devel@lists.freedesktop.org, qemu-devel@nongnu.org On Fri, Feb 17, 2012 at 04:10:31PM +0100, Gerd Hoffmann wrote: > Factor memory bar sizing bits out to a separate function. ACK. > > Signed-off-by: Gerd Hoffmann > --- > hw/qxl.c | 41 ++++++++++++++++++++++------------------- > 1 files changed, 22 insertions(+), 19 deletions(-) > > diff --git a/hw/qxl.c b/hw/qxl.c > index 4de4b8d..38bb90e 100644 > --- a/hw/qxl.c > +++ b/hw/qxl.c > @@ -1554,6 +1554,25 @@ static DisplayChangeListener display_listener = { > .dpy_refresh = display_refresh, > }; > > +static void qxl_init_ramsize(PCIQXLDevice *qxl, uint32_t ram_min_mb) > +{ > + /* vga ram (bar 0) */ > + if (qxl->vga.vram_size < ram_min_mb * 1024 * 1024) { > + qxl->vga.vram_size = ram_min_mb * 1024 * 1024; > + } > + > + /* vram (surfaces, bar 1) */ > + if (qxl->vram_size < 4096) { > + qxl->vram_size = 4096; > + } > + if (qxl->revision == 1) { > + qxl->vram_size = 4096; > + } > + > + qxl->vga.vram_size = msb_mask(qxl->vga.vram_size * 2 - 1); > + qxl->vram_size = msb_mask(qxl->vram_size * 2 - 1); > +} > + > static int qxl_init_common(PCIQXLDevice *qxl) > { > uint8_t* config = qxl->pci.config; > @@ -1592,13 +1611,6 @@ static int qxl_init_common(PCIQXLDevice *qxl) > init_qxl_rom(qxl); > init_qxl_ram(qxl); > > - if (qxl->vram_size < 4096) { > - qxl->vram_size = 4096; > - } > - if (qxl->revision == 1) { > - qxl->vram_size = 4096; > - } > - qxl->vram_size = msb_mask(qxl->vram_size * 2 - 1); > memory_region_init_ram(&qxl->vram_bar, "qxl.vram", qxl->vram_size); > vmstate_register_ram(&qxl->vram_bar, &qxl->pci.qdev); > > @@ -1641,15 +1653,11 @@ static int qxl_init_primary(PCIDevice *dev) > { > PCIQXLDevice *qxl = DO_UPCAST(PCIQXLDevice, pci, dev); > VGACommonState *vga = &qxl->vga; > - ram_addr_t ram_size = msb_mask(qxl->vga.vram_size * 2 - 1); > PortioList *qxl_vga_port_list = g_new(PortioList, 1); > > qxl->id = 0; > - > - if (ram_size < 32 * 1024 * 1024) { > - ram_size = 32 * 1024 * 1024; > - } > - vga_common_init(vga, ram_size); > + qxl_init_ramsize(qxl, 32); > + vga_common_init(vga, qxl->vga.vram_size); > vga_init(vga, pci_address_space(dev), pci_address_space_io(dev), false); > portio_list_init(qxl_vga_port_list, qxl_vga_portio_list, vga, "vga"); > portio_list_add(qxl_vga_port_list, pci_address_space_io(dev), 0x3b0); > @@ -1668,14 +1676,9 @@ static int qxl_init_secondary(PCIDevice *dev) > { > static int device_id = 1; > PCIQXLDevice *qxl = DO_UPCAST(PCIQXLDevice, pci, dev); > - ram_addr_t ram_size = msb_mask(qxl->vga.vram_size * 2 - 1); > > qxl->id = device_id++; > - > - if (ram_size < 16 * 1024 * 1024) { > - ram_size = 16 * 1024 * 1024; > - } > - qxl->vga.vram_size = ram_size; > + qxl_init_ramsize(qxl, 16); > memory_region_init_ram(&qxl->vga.vram, "qxl.vgavram", qxl->vga.vram_size); > vmstate_register_ram(&qxl->vga.vram, &qxl->pci.qdev); > qxl->vga.vram_ptr = memory_region_get_ram_ptr(&qxl->vga.vram); > -- > 1.7.1 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/spice-devel