[Spice-devel] [spice-protocol PATCH 00/46] refactor for later drm addition

Alon Levy alevy at redhat.com
Tue Apr 10 05:01:56 PDT 2012


On Tue, Apr 10, 2012 at 02:49:56PM +0300, Alon Levy wrote:

Eek, this isn't spice-protocol of course, it's xf86-video-qxl. Other
then that, review away!

> This patchset has been tested with latest Xorg and qxl, and with Xspice. It
> doesn't introduce any new functionality. It adds a callback holder struct
> called qxlhw that will abstract the differences between the user space driver
> and the drm driver. This will allow continued development in the same
> repository.
> 
> I'll appreciate any comments. To see just the callbacks added to comment on the
> interface itself and not on the lengthy and mechanical patchset see:
> 
>  http://cgit.freedesktop.org/~alon/xf86-video-qxl/tree/src/qxlhw.h?h=qxlhw.v1
> 
> Any feedback appreciated.
> 
> Alon Levy (46):
>   io_port_write: rename xspice implementation
>   qxl_ring.h: introduce
>   qxl_mem.h: split from qxl.h
>   qxlhw: introducing hardware access callbacks.
>   qxl: add qxlhw reference to qxl_screen_t, initialized in qxl_pre_init
>   qxlhw: move ram, rom, ram_header to qxlhw_pci.h
>   qxlhw: add qxlhw_update_area
>   qxl->qxlhw: move save/restore_state
>   qxl_driver: remove another outb
>   qxlhw: move handle_oom, data_alloc, data_free from qxl_driver
>   qxlhw: add and use qxlhw_create_primary_surface
>   remove qxl_handle_oom and qxl->io_base
>   qxlhw: add qxlhw_push_cursor
>   qxlhw change: qxl_surface: use qxlhw_push_surface_cmd
>   qxl_surface: remove whitespace at ends of lines
>   qxlhw: qxl_surface: use qxlhw_surface_alloc, qxlhw_surface_free
>   qxlhw: qxl_surface: use qxlhw_push_drawable
>   qxl_image: cleanup
>   qxlhw: qxl_surface: use init_drawable
>   qxlhw: qxl_surface: split qxlhw_image_alloc inside qxl_surface
>   qxlhw: add qxlhw_pci_image_alloc (moved from qxl_image)
>   remove last user of qxl_allocnf
>   remove qxl_allocnf (garbage collect still used)
>   qxlhw: add qxlhw_pci_image_free
>   qxlhw: qxl_screen_t: remove command_ring
>   qxlhw: qxl_surface: remove last user of qxl_garbage_collect
>   qxlhw: qxl_driver.c: remove qxl_garbage_collect (moved to
>     qxlhw_pci.c)
>   qxlhw: qxl_driver: remove qxl_driver_t.release_ring
>   qxlhw: qxl.h: remove virtual_address
>   qxlhw: qxl_surface: move src_bitmap address storage to
>     qxlhw_pci:qxlhw_make_drawable
>   qxlhw: qxl.h: remove physical_address
>   qxlhw: qxl.h: remove all mem_slot references from qxl_screen_t
>   qxlhw: qxl.h: remove qxl_notify_oom
>   qxl_driver: add and use qxlhw_clear_memory
>   qxlhw: qxl_surface: add and use qxlhw_get_n_surfaces
>   qxlhw: qxl.h: remove qxl_mem users
>   qxlhw: qxl_surface: use qxlhw_ref_primary_surface
>   qxlhw: qxl.h: remove io_pages* from qxl_screen_t
>   qxlhw: move and use qxlhw_screen_init
>   qxlhw: qxl_driver: use qxlhw_check_device
>   spiceqxl: remove implementation of qxl_set_mode, not needed for
>     Xspice
>   qxl_surface: remove push_surface_cmd, use qxlhw_push_surface_cmd
>     directly
>   qxlhw: qxl_driver: qxl_pre_init: don't access rom directly
>   qxlhw: qxl_surface: use qxlhw_get_mm_time
>   qxlhw: qxlhw_pci_get_{ram,rom,ram_header} are now xspice only
>   qxlhw: add and use qxlhw_pci_get_shadow_rom, remove
>     qxl_screen_t.shadow_rom
> 
>  src/Makefile.am        |    4 +
>  src/qxl.h              |  148 +------
>  src/qxl_cursor.c       |   59 ++-
>  src/qxl_driver.c       |  558 ++------------------------
>  src/qxl_image.c        |  109 +-----
>  src/qxl_mem.c          |    1 +
>  src/qxl_mem.h          |   20 +
>  src/qxl_ring.c         |   10 +-
>  src/qxl_ring.h         |   36 ++
>  src/qxl_surface.c      |  411 ++++++++-----------
>  src/qxlhw.c            |  146 +++++++
>  src/qxlhw.h            |  113 ++++++
>  src/qxlhw_pci.c        | 1023 ++++++++++++++++++++++++++++++++++++++++++++++++
>  src/qxlhw_pci.h        |   24 ++
>  src/spiceqxl_display.c |   28 +-
>  src/spiceqxl_driver.c  |    6 +-
>  src/spiceqxl_io_port.c |   52 +--
>  17 files changed, 1652 insertions(+), 1096 deletions(-)
>  create mode 100644 src/qxl_mem.h
>  create mode 100644 src/qxl_ring.h
>  create mode 100644 src/qxlhw.c
>  create mode 100644 src/qxlhw.h
>  create mode 100644 src/qxlhw_pci.c
>  create mode 100644 src/qxlhw_pci.h
> 
> -- 
> 1.7.9.3
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel


More information about the Spice-devel mailing list