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

Alon Levy alevy at redhat.com
Tue Apr 10 04:49:56 PDT 2012


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



More information about the Spice-devel mailing list