[git pull] drm qxl fixes

Dave Airlie airlied at linux.ie
Wed Jul 24 18:02:41 PDT 2013


Okay as I warned, the qxl driver was running a bit free and loose with its
ttm object reservations and the new lockdep enabled reservation tracking 
shone a bright light into it, it also with the new reservations mutexes
hits a possible deadlock during boot.

the first patch is a real fix to render the console correctly as the 
driver used to just drop irq renderering as too hard, this also fixes
a sleeping while atomic warning.

the second two patches are the big ugly ones that redo how the driver 
allocates objects and reserves them and makes things all work properly,
I've tested this in a VM, and compared to the current code which hits
a lockdep warning and the sleep while atomic warning before failing.

So sorry this is coming in late, I should have tested qxl before merging 
the mutex code, but I'd rather just fix qxl with this than revert the 
reservations code at this point.

Dave.

The following changes since commit 3b2f64d00c46e1e4e9bd0bb9bb12619adac27a4b:

  Linux 3.11-rc2 (2013-07-21 12:05:29 -0700)

are available in the git repository at:

  git://people.freedesktop.org/~airlied/linux qxl-fixes

for you to fetch changes up to 8002db6336dd361fc13214e9515fe5d52ff294ee:

  qxl: convert qxl driver to proper use for reservations (2013-07-24 11:58:10 +1000)

----------------------------------------------------------------
Dave Airlie (3):
      drm/qxl: add delayed fb operations
      qxl: allow creation of pre-pinned objects and use for releases.
      qxl: convert qxl driver to proper use for reservations

 drivers/gpu/drm/qxl/qxl_cmd.c     |  42 +++--
 drivers/gpu/drm/qxl/qxl_display.c |  70 ++++++---
 drivers/gpu/drm/qxl/qxl_draw.c    | 263 +++++++++++++++++++++----------
 drivers/gpu/drm/qxl/qxl_drv.h     |  76 ++++-----
 drivers/gpu/drm/qxl/qxl_fb.c      | 184 +++++++++++++++++++---
 drivers/gpu/drm/qxl/qxl_fence.c   |  10 +-
 drivers/gpu/drm/qxl/qxl_gem.c     |   2 +-
 drivers/gpu/drm/qxl/qxl_image.c   | 111 ++++++++++---
 drivers/gpu/drm/qxl/qxl_ioctl.c   | 319 +++++++++++++++++++++-----------------
 drivers/gpu/drm/qxl/qxl_object.c  |  70 ++-------
 drivers/gpu/drm/qxl/qxl_object.h  |   6 +-
 drivers/gpu/drm/qxl/qxl_release.c | 212 +++++++++++++++----------
 drivers/gpu/drm/qxl/qxl_ttm.c     |   2 +-
 13 files changed, 859 insertions(+), 508 deletions(-)


More information about the dri-devel mailing list