1. 02 7月, 2016 1 次提交
    • S
      drm/vmwgfx: Work around mode set failure in 2D VMs · 7c20d213
      Sinclair Yeh 提交于
      In a low-memory 2D VM, fbdev can take up a large percentage of
      available memory, making them unavailable for other DRM clients.
      
      Since we do not take fbdev into account when filtering modes,
      we end up claiming to support more modes than we actually do.
      
      As a result, users get a black screen when setting a mode too
      large for current available memory.  In a low-memory VM
      configuration, users can get a black screen for a mode as low
      as 1024x768.
      
      The current mode filtering mechanism keys off of
      SVGA_REG_SUGGESTED_GBOBJECT_MEM_SIZE_KB, i.e. the maximum amount
      of surface memory we have.  Since this value is a performance
      suggestion, not a hard limit, and since there should not be much
      of a performance impact for a 2D VM, rather than filtering out
      more modes, we will just allow ourselves to exceed the SVGA's
      performance suggestion.
      
      Also changed assumed bpp to 32 from 16 to make sure we can
      actually support all the modes listed.
      Signed-off-by: NSinclair Yeh <syeh@vmware.com>
      Reviewed-by: NThomas Hellstrom <thellstrom@vmware.com>
      Cc: <stable@vger.kernel.org>
      7c20d213
  2. 20 5月, 2016 1 次提交
  3. 05 5月, 2016 1 次提交
  4. 14 3月, 2016 5 次提交
  5. 14 1月, 2016 1 次提交
  6. 15 12月, 2015 1 次提交
  7. 11 12月, 2015 1 次提交
    • V
      drm: Drop drm_helper_probe_single_connector_modes_nomerge() · 6af3e656
      Ville Syrjälä 提交于
      Now that the mode type bit merge logic is fixed to only merge
      between new probed modes, hopefully we can eliminat the special
      case for qxl and virtio. That is make the merge the mode type
      bits from all matching new probed modes, just like every other
      driver.
      
      qxl and virtio got excluded from the merging in
      commit 3fbd6439 ("drm: copy mode type in drm_mode_connector_list_update()")
      commit abce1ec9 ("Revert "drm: copy mode type in drm_mode_connector_list_update()"")
      commit b87577b7 ("drm: try harder to avoid regression when merging mode bits")
      
      Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
      Cc: Dave Airlie <airlied@redhat.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Adam Jackson <ajax@redhat.com>
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      [danvet: Resolve conflicts with doc updates.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      6af3e656
  8. 08 12月, 2015 2 次提交
  9. 24 11月, 2015 1 次提交
  10. 06 11月, 2015 1 次提交
  11. 02 11月, 2015 1 次提交
  12. 06 10月, 2015 1 次提交
    • T
      drm/irq: Use unsigned int pipe in public API · 88e72717
      Thierry Reding 提交于
      This continues the pattern started in commit cc1ef118 ("drm/irq:
      Make pipe unsigned and name consistent"). This is applied to the public
      APIs and driver callbacks, so pretty much all drivers need to be updated
      to match the new prototypes.
      
      Cc: Christian König <christian.koenig@amd.com>
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Cc: Inki Dae <inki.dae@samsung.com>
      Cc: Jianwei Wang <jianwei.wang.chn@gmail.com>
      Cc: Alison Wang <alison.wang@freescale.com>
      Cc: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
      Cc: Daniel Vetter <daniel.vetter@intel.com>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: Philipp Zabel <p.zabel@pengutronix.de>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Rob Clark <robdclark@gmail.com>
      Cc: Ben Skeggs <bskeggs@redhat.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Mark Yao <mark.yao@rock-chips.com>
      Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org>
      Cc: Vincent Abriou <vincent.abriou@st.com>
      Cc: Thomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      88e72717
  13. 24 9月, 2015 1 次提交
  14. 13 8月, 2015 4 次提交
  15. 05 8月, 2015 14 次提交
  16. 27 7月, 2015 1 次提交
  17. 12 3月, 2015 1 次提交
  18. 19 1月, 2015 1 次提交
    • T
      drm/vmwgfx: Replace the hw mutex with a hw spinlock · 496eb6fd
      Thomas Hellstrom 提交于
      Fixes a case where we call vmw_fifo_idle() from within a wait function with
      task state !TASK_RUNNING, which is illegal.
      
      In addition, make the locking fine-grained, so that it is performed once
      for every read- and write operation. This is of course more costly, but we
      don't perform much register access in the timing critical paths anyway. Instead
      we have the extra benefit of being sure that we don't forget the hw lock around
      register accesses. I think currently the kms code was quite buggy w r t this.
      
      This fixes Red Hat Bugzilla Bug 1180796
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
      Reviewed-by: NJakob Bornecrantz <jakob@vmware.com>
      496eb6fd
  19. 12 11月, 2014 1 次提交
    • D
      drm: Per-plane locking · 4d02e2de
      Daniel Vetter 提交于
      Turned out to be much simpler on top of my latest atomic stuff than
      what I've feared. Some details:
      
      - Drop the modeset_lock_all snakeoil in drm_plane_init. Same
        justification as for the equivalent change in drm_crtc_init done in
      
      	commit d0fa1af4
      	Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      	Date:   Mon Sep 8 09:02:49 2014 +0200
      
      	    drm: Drop modeset locking from crtc init function
      
        Without these the drm_modeset_lock_init would fall over the exact
        same way.
      
      - Since the atomic core code wraps the locking switching it to
        per-plane locks was a one-line change.
      
      - For the legacy ioctls add a plane argument to the locking helper so
        that we can grab the right plane lock (cursor or primary). Since the
        universal cursor plane might not be there, or someone really crazy
        might forgoe the primary plane even accept NULL.
      
      - Add some locking WARN_ON to the atomic helpers for good paranoid
        measure and to check that it all works out.
      
      Tested on my exynos atomic hackfest with full lockdep checks and ww
      backoff injection.
      
      v2: I've forgotten about the load-detect code in i915.
      
      v3: Thierry reported that in latest 3.18-rc vmwgfx doesn't compile any
      more due to
      
      commit 21e88620
      Author: Rob Clark <robdclark@gmail.com>
      Date:   Thu Oct 30 13:39:04 2014 -0400
      
          drm/vmwgfx: fix lock breakage
      
      Rebased and fix this up.
      
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      Reviewed-by: NSean Paul <seanpaul@chromium.org>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      4d02e2de