1. 12 11月, 2016 1 次提交
  2. 26 10月, 2016 1 次提交
  3. 25 10月, 2016 1 次提交
    • C
      dma-buf: Rename struct fence to dma_fence · f54d1867
      Chris Wilson 提交于
      I plan to usurp the short name of struct fence for a core kernel struct,
      and so I need to rename the specialised fence/timeline for DMA
      operations to make room.
      
      A consensus was reached in
      https://lists.freedesktop.org/archives/dri-devel/2016-July/113083.html
      that making clear this fence applies to DMA operations was a good thing.
      Since then the patch has grown a bit as usage increases, so hopefully it
      remains a good thing!
      
      (v2...: rebase, rerun spatch)
      v3: Compile on msm, spotted a manual fixup that I broke.
      v4: Try again for msm, sorry Daniel
      
      coccinelle script:
      @@
      
      @@
      - struct fence
      + struct dma_fence
      @@
      
      @@
      - struct fence_ops
      + struct dma_fence_ops
      @@
      
      @@
      - struct fence_cb
      + struct dma_fence_cb
      @@
      
      @@
      - struct fence_array
      + struct dma_fence_array
      @@
      
      @@
      - enum fence_flag_bits
      + enum dma_fence_flag_bits
      @@
      
      @@
      (
      - fence_init
      + dma_fence_init
      |
      - fence_release
      + dma_fence_release
      |
      - fence_free
      + dma_fence_free
      |
      - fence_get
      + dma_fence_get
      |
      - fence_get_rcu
      + dma_fence_get_rcu
      |
      - fence_put
      + dma_fence_put
      |
      - fence_signal
      + dma_fence_signal
      |
      - fence_signal_locked
      + dma_fence_signal_locked
      |
      - fence_default_wait
      + dma_fence_default_wait
      |
      - fence_add_callback
      + dma_fence_add_callback
      |
      - fence_remove_callback
      + dma_fence_remove_callback
      |
      - fence_enable_sw_signaling
      + dma_fence_enable_sw_signaling
      |
      - fence_is_signaled_locked
      + dma_fence_is_signaled_locked
      |
      - fence_is_signaled
      + dma_fence_is_signaled
      |
      - fence_is_later
      + dma_fence_is_later
      |
      - fence_later
      + dma_fence_later
      |
      - fence_wait_timeout
      + dma_fence_wait_timeout
      |
      - fence_wait_any_timeout
      + dma_fence_wait_any_timeout
      |
      - fence_wait
      + dma_fence_wait
      |
      - fence_context_alloc
      + dma_fence_context_alloc
      |
      - fence_array_create
      + dma_fence_array_create
      |
      - to_fence_array
      + to_dma_fence_array
      |
      - fence_is_array
      + dma_fence_is_array
      |
      - trace_fence_emit
      + trace_dma_fence_emit
      |
      - FENCE_TRACE
      + DMA_FENCE_TRACE
      |
      - FENCE_WARN
      + DMA_FENCE_WARN
      |
      - FENCE_ERR
      + DMA_FENCE_ERR
      )
       (
       ...
       )
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
      Acked-by: NSumit Semwal <sumit.semwal@linaro.org>
      Acked-by: NChristian König <christian.koenig@amd.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/20161025120045.28839-1-chris@chris-wilson.co.uk
      f54d1867
  4. 18 10月, 2016 1 次提交
  5. 12 10月, 2016 1 次提交
  6. 11 10月, 2016 10 次提交
  7. 15 9月, 2016 1 次提交
  8. 16 8月, 2016 1 次提交
  9. 12 8月, 2016 1 次提交
  10. 22 7月, 2016 1 次提交
  11. 12 7月, 2016 1 次提交
  12. 08 7月, 2016 1 次提交
  13. 02 7月, 2016 6 次提交
    • T
      drm/vmwgfx: Fix corner case screen target management · beca4cf5
      Thomas Hellstrom 提交于
      When the surface backing a framebuffer doesn't match the framebuffer's
      dimensions, the screen target code would test the framebuffer dimensions
      rather than the surface dimensions when deciding whether to bind the
      surface as a screen target directly. This causes a screen target -
      surface dimension mismatch and a subsequent device error.
      
      Fix this by testing against the surface dimension.
      
      v2: Fix review comments by Sinclair Yeh.
      Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
      Reviewed-by: NSinclair Yeh <syeh@vmware.com>
      Cc: <stable@vger.kernel.org>
      beca4cf5
    • S
      drm/vmwgfx: Delay pinning fbdev framebuffer until after mode set · d5f1a291
      Sinclair Yeh 提交于
      For the Screen Object display unit, we need to reserve a
      guest-invisible region equal to the size of the framebuffer for
      the host.  This region can only be reserved in VRAM, whereas
      the guest-visible framebuffer can be reserved in either VRAM or
      GMR.
      
      As such priority should be given to the guest-invisible
      region otherwise in a limited VRAM situation, we can fail to
      allocate this region.
      
      This patch makes it so that vmw_sou_backing_alloc() is called
      before the framebuffer is pinned.
      Signed-off-by: NSinclair Yeh <syeh@vmware.com>
      Reviewed-by: NThomas Hellstrom <thellstrom@vmware.com>
      Cc: <stable@vger.kernel.org>
      ---
      This is the last patch of a 3-patch series to fix console black
      screen issue on Ubuntu 16.04 server
      d5f1a291
    • S
      drm/vmwgfx: Check pin count before attempting to move a buffer · 4ed7e224
      Sinclair Yeh 提交于
      In certain scenarios, e.g. when fbdev is enabled, we can get into
      a situation where a vmw_framebuffer_pin() is called on a buffer
      that is already pinned.
      
      When this happens, ttm_bo_validate() will unintentially remove the
      TTM_PL_FLAG_NO_EVICT flag, thus unpinning it, and leaving no way
      to actually pin the buffer again.
      
      To prevent this, if a buffer is already pinned, then instead of
      calling ttm_bo_validate(), just make sure the proposed placement is
      compatible with the existing placement.
      Signed-off-by: NSinclair Yeh <syeh@vmware.com>
      Reviewed-by: NThomas Hellstrom <thellstrom@vmware.com>
      Cc: <stable@vger.kernel.org>
      ---
      This is the 2nd patch in a 3-patch series to fix a console black
      screen issue on Ubuntu 16.04 server.  This fixes a BUG_ON()
      condition where a pinned buffer gets accidentally put onto the
      LRU list.
      4ed7e224
    • S
      drm/vmwgfx: Add an option to change assumed FB bpp · 04319d89
      Sinclair Yeh 提交于
      Offer an option for advanced users who want larger modes at 16bpp.
      
      This becomes necessary after the fix: "Work around mode set
      failure in 2D VMs."  Without this patch, there would be no way
      for existing advanced users to get to a high res mode, and the
      regression is they will likely get a black screen after a software
      update on their current VM.
      Signed-off-by: NSinclair Yeh <syeh@vmware.com>
      Reviewed-by: NThomas Hellstrom <thellstrom@vmware.com>
      Cc: <stable@vger.kernel.org>
      04319d89
    • 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
    • S
      drm/vmwgfx: Add a check to handle host message failure · a9cd9c04
      Sinclair Yeh 提交于
      Discovered by static code analysis tool.  If for some reason communication
      with the host fails more than preset number of retries, return an error
      instead of return garbage.
      Signed-off-by: NSinclair Yeh <syeh@vmware.com>
      Reviewed-by: NCharmaine Lee <charmainel@vmware.com>
      Reported-by: NDan Carpenter <dan.carpenter@oracle.com>
      a9cd9c04
  14. 22 6月, 2016 3 次提交
  15. 15 6月, 2016 1 次提交
  16. 08 6月, 2016 1 次提交
    • J
      objtool, drm/vmwgfx: Fix "duplicate frame pointer save" warning · 0b0d81e3
      Josh Poimboeuf 提交于
      objtool reports the following warnings:
      
        drivers/gpu/drm/vmwgfx/vmwgfx_msg.o: warning: objtool: vmw_send_msg()+0x107: duplicate frame pointer save
        drivers/gpu/drm/vmwgfx/vmwgfx_msg.o: warning: objtool: vmw_host_get_guestinfo()+0x252: duplicate frame pointer save
      
      To quote Linus:
      
       "The reason is that VMW_PORT_HB_OUT() uses a magic instruction sequence
        (a "rep outsb") to communicate with the hypervisor (it's a virtual GPU
        driver for vmware), and %rbp is part of the communication. So the
        inline asm does a save-and-restore of the frame pointer around the
        instruction sequence.
      
        I actually find the objtool warning to be quite reasonable, so it's
        not exactly a false positive, since in this case it actually does
        point out that the frame pointer won't be reliable over that
        instruction sequence.
      
        But in this particular case it just ends up being the wrong thing -
        the code is what it is, and %rbp just can't have the frame information
        due to annoying magic calling conventions."
      
      Silence the warnings by telling objtool to ignore the two functions
      which use the VMW_PORT_HB_{IN,OUT} macros.
      Reported-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NJosh Poimboeuf <jpoimboe@redhat.com>
      Acked-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Cc: DRI <dri-devel@lists.freedesktop.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Link: http://lkml.kernel.org/r/20160526184343.fdtjjjg67smmeekt@trebleSigned-off-by: NIngo Molnar <mingo@kernel.org>
      0b0d81e3
  17. 07 6月, 2016 1 次提交
  18. 02 6月, 2016 1 次提交
  19. 20 5月, 2016 3 次提交
  20. 05 5月, 2016 3 次提交