mbox series

[v3,00/23] drm/qxl: ttm fixes, cleanups, allocation tweaks, multihead, fbdev

Message ID 20190118122020.27596-1-kraxel@redhat.com (mailing list archive)
Headers show
Series drm/qxl: ttm fixes, cleanups, allocation tweaks, multihead, fbdev | expand

Message

Gerd Hoffmann Jan. 18, 2019, 12:19 p.m. UTC
So, here is the all-in-one package of all my qxl changes.  Some of these
changes have been on the list before, some not.  Summary:

 (1) A collection of misc ttm bugfixes and cleanups.

 (2) Move some allocations from VRAM to PRIV domain, to reduce VRAM
     memory pressure.  Should help especially with wayland, which uses
     dumb gem buffers.

 (3) Extend the shadow bo logic to handle multihead setups with dumb
     buffers.  Helps wayland too.

 (4) Switch qxl over to the generic fbdev emulation.

v3 changes:

 - rebased.
 - added mode list patches, qxl uses kernel mode database now.

cheers,
  Gerd

Frediano Ziglio (1):
  drm/qxl: change the way slot is detected

Gerd Hoffmann (22):
  drm/qxl: drop ttm_mem_reg arg from qxl_hw_surface_alloc()
  drm/qxl: drop unused qxl_fb_virtual_address
  drm/qxl: simplify slot management
  drm/qxl: drop unused fields from struct qxl_device
  drm/qxl: use separate offset spaces for the two slots / ttm memory
    types.
  drm/qxl: allow both PRIV and VRAM placement for QXL_GEM_DOMAIN_SURFACE
  drm/qxl: use QXL_GEM_DOMAIN_SURFACE for shadow bo.
  drm/qxl: use QXL_GEM_DOMAIN_SURFACE for dumb gem objects
  drm/qxl: move qxl_primary_apply_cursor to correct place
  drm/qxl: drop unused offset parameter from qxl_io_create_primary()
  drm/qxl: track primary bo
  drm/qxl: use shadow bo directly
  drm/qxl: cover all crtcs in shadow bo.
  drm/qxl: use qxl_num_crtc directly
  drm/qxl: implement prime kmap/kunmap
  drm/qxl: use generic fbdev emulation
  drm/qxl: remove dead qxl fbdev emulation code
  drm/qxl: implement qxl_gem_prime_(un)pin
  drm/qxl: add mode/framebuffer check functions
  drm/qxl: add qxl_add_mode helper function
  drm/qxl: use kernel mode db
  drm/qxl: add overflow checks to qxl_mode_dumb_create()

 drivers/gpu/drm/qxl/qxl_drv.h     |  64 +++-----
 drivers/gpu/drm/qxl/qxl_cmd.c     |  34 ++--
 drivers/gpu/drm/qxl/qxl_display.c | 325 ++++++++++++++++++++++----------------
 drivers/gpu/drm/qxl/qxl_draw.c    | 241 +---------------------------
 drivers/gpu/drm/qxl/qxl_drv.c     |   2 +
 drivers/gpu/drm/qxl/qxl_dumb.c    |  12 +-
 drivers/gpu/drm/qxl/qxl_fb.c      | 300 -----------------------------------
 drivers/gpu/drm/qxl/qxl_kms.c     |  81 ++++------
 drivers/gpu/drm/qxl/qxl_object.c  |  12 +-
 drivers/gpu/drm/qxl/qxl_prime.c   |  25 ++-
 drivers/gpu/drm/qxl/qxl_ttm.c     |  10 +-
 drivers/gpu/drm/qxl/Makefile      |   2 +-
 12 files changed, 306 insertions(+), 802 deletions(-)
 delete mode 100644 drivers/gpu/drm/qxl/qxl_fb.c