[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