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@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/spice-devel