1. 01 5月, 2014 1 次提交
  2. 02 4月, 2014 1 次提交
    • M
      drm: Replace crtc fb with primary plane fb (v3) · f4510a27
      Matt Roper 提交于
      Now that CRTC's have a primary plane, there's no need to track the
      framebuffer in the CRTC.  Replace all references to the CRTC fb with the
      primary plane's fb.
      
      This patch was generated by the Coccinelle semantic patching tool using
      the following rules:
      
              @@ struct drm_crtc C; @@
              -   (C).fb
              +   C.primary->fb
      
              @@ struct drm_crtc *C; @@
              -   (C)->fb
              +   C->primary->fb
      
      v3: Generate patch via coccinelle.  Actual removal of crtc->fb has been
          moved to a subsequent patch.
      
      v2: Fixup several lingering crtc->fb instances that were missed in the
          first patch iteration.  [Rob Clark]
      Signed-off-by: NMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: NRob Clark <robdclark@gmail.com>
      f4510a27
  3. 14 1月, 2014 1 次提交
  4. 23 12月, 2013 1 次提交
  5. 18 12月, 2013 1 次提交
  6. 06 11月, 2013 1 次提交
    • D
      qxl: add a connector property to denote hotplug should rescan modes. · 4695b039
      Dave Airlie 提交于
      So GNOME userspace has an issue with when it rescans for modes on hotplug
      events, if the monitor has no EDID it assumes that nothing has changed on
      EDID as with real hw we'd never have new modes without a new EDID, and they
      kind off rely on the behaviour now, however with virtual GPUs we would
      like to rescan the modes and get a new preferred mode on hotplug events
      to handle dynamic guest resizing (where you resize the host window and the
      guest resizes with it).
      
      This is a simple property we can make userspace watch for to trigger new
      behaviour based on it, and can be used to replaced EDID hacks in virtual
      drivers.
      
      Acked-by: Marc-André Lureau <marcandre.lureau@gmail.com> (on irc)
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      4695b039
  7. 23 10月, 2013 4 次提交
  8. 24 7月, 2013 1 次提交
    • D
      qxl: convert qxl driver to proper use for reservations · 8002db63
      Dave Airlie 提交于
      The recent addition of lockdep support to reservations and their subsequent
      use by TTM showed up a number of potential problems with the way qxl was using
      TTM objects.
      
      a) it was allocating objects, and reserving them later without validating
      underneath the reservation, which meant in extreme conditions the objects could
      be evicted before the reservation ever used them.
      
      b) it was reserving objects straight after allocating them, but with no
      ability to back off should the reservations fail. It now allocates the necessary
      objects then does a complete reservation pass on them to avoid deadlocks.
      
      c) it had two lists per release tracking objects, unnecessary complicating
      the reservation process.
      
      This patch removes the dual object tracking, adds reservations ticket support
      to the release and fence object handling. It then ports the internal fb
      drawing code and the userspace facing ioctl to use the new interfaces properly,
      along with cleanup up the error path handling in some codepaths.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      8002db63
  9. 05 7月, 2013 4 次提交
  10. 28 6月, 2013 1 次提交
  11. 17 6月, 2013 1 次提交
  12. 17 5月, 2013 2 次提交
  13. 16 4月, 2013 2 次提交
    • D
      drm/qxl: fix smatch warnings · 62c8ba7c
      Dave Airlie 提交于
      drivers/gpu/drm/qxl/qxl_display.c:99 qxl_alloc_client_monitors_config() error: dereferencing freed memory 'qdev->client_monitors_config'
      drivers/gpu/drm/qxl/qxl_object.c:66 qxl_ttm_placement_from_domain() warn: bitwise AND condition is false here
      drivers/gpu/drm/qxl/qxl_ioctl.c:353 qxl_clientcap_ioctl() warn: buffer overflow 'qdev->rom->client_capabilities' 58 <= 58
      Reported-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      62c8ba7c
    • D
      drm/qxl: make lots of things static. · 6d01f1f5
      Dave Airlie 提交于
      /usr/lib/gcc/x86_64-linux-gnu/4.7/include/stddef.h:414:9: sparse: preprocessor token offsetof redefined
      include/linux/stddef.h:17:9: this was the original definition
      >> drivers/gpu/drm/qxl/qxl_drv.c:49:5: sparse: symbol 'qxl_modeset' was not declared. Should it be static?
      
      Reported-by: kbuild test robot.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      6d01f1f5
  14. 12 4月, 2013 1 次提交
    • D
      drm: add new QXL driver. (v1.4) · f64122c1
      Dave Airlie 提交于
      QXL is a paravirtual graphics device used by the Spice virtual desktop
      interface.
      
      The drivers uses GEM and TTM to manage memory, the qxl hw fencing however
      is quite different than normal TTM expects, we have to keep track of a number
      of non-linear fence ids per bo that we need to have released by the hardware.
      
      The releases are freed from a workqueue that wakes up and processes the
      release ring.
      
      releases are suballocated from a BO, there are 3 release categories, drawables,
      surfaces and cursor cmds. The hw also has 3 rings for commands, cursor and release handling.
      
      The hardware also have a surface id tracking mechnaism and the driver encapsulates it completely inside the kernel, userspace never sees the actual hw surface
      ids.
      
      This requires a newer version of the QXL userspace driver, so shouldn't be
      enabled until that has been placed into your distro of choice.
      
      Authors: Dave Airlie, Alon Levy
      
      v1.1: fixup some issues in the ioctl interface with padding
      v1.2: add module device table
      v1.3: fix nomodeset, fbcon leak, dumb bo create, release ring irq,
            don't try flush release ring (broken hw), fix -modesetting.
      v1.4: fbcon cpu usage reduction + suitable accel flags.
      Signed-off-by: NAlon Levy <alevy@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      f64122c1