1. 28 Mar, 2016 2 commits
    • John Keeping's avatar
      drm/rockchip: cancel pending vblanks on close · f135046e
      John Keeping authored
      When closing the DRM device while a vblank is pending, we access
      file_priv after it has been free'd, which gives:
      
        Unable to handle kernel NULL pointer dereference at virtual address 00000000
        ...
        PC is at __list_add+0x5c/0xe8
        LR is at send_vblank_event+0x54/0x1f0
        ...
        [<c02952e8>] (__list_add) from [<c031a7b4>] (send_vblank_event+0x54/0x1f0)
        [<c031a760>] (send_vblank_event) from [<c031a9c0>] (drm_send_vblank_event+0x70/0x78)
        [<c031a950>] (drm_send_vblank_event) from [<c031a9f8>] (drm_crtc_send_vblank_event+0x30/0x34)
        [<c031a9c8>] (drm_crtc_send_vblank_event) from [<c0339ad8>] (vop_isr+0x224/0x28c)
        [<c03398b4>] (vop_isr) from [<c0081780>] (handle_irq_event_percpu+0x12c/0x3e4)
      
      This can be triggered somewhat reliably with:
      
      	modetest -M rockchip -v -s ...
      
      Add a preclose hook to the driver so that we can discard any pending
      vblank events when the device is closed.
      Signed-off-by: default avatarJohn Keeping <john@metanate.com>
      f135046e
    • John Keeping's avatar
      drm/rockchip: vop: fix crtc size in plane check · 92915da6
      John Keeping authored
      If the geometry of a crtc is changing in an atomic update then we must
      validate the plane size against the new state of the crtc and not the
      current size, otherwise if the crtc size is increasing the plane will be
      cropped at the previous size and will not fill the screen.
      Signed-off-by: default avatarJohn Keeping <john@metanate.com>
      92915da6
  2. 25 Mar, 2016 1 commit
  3. 23 Mar, 2016 1 commit
    • Dave Airlie's avatar
      Merge tag 'topic/drm-misc-2016-03-22' of git://anongit.freedesktop.org/drm-intel into drm-next · 17efca93
      Dave Airlie authored
      Bunch of small fixupes all over. Plus a dma-buf patch that Sumit asked me
      to cherry-pick since that's the only one he had in his tree.
      
      There's a sparse issue outstanding in the color mgr stuff, but Lionel is
      still working on something that actually appeases sparse.
      
      * tag 'topic/drm-misc-2016-03-22' of git://anongit.freedesktop.org/drm-intel:
        dma-buf/fence: fix fence_is_later v2
        dma-buf: Update docs for SYNC ioctl
        drm: remove excess description
        dma-buf, drm, ion: Propagate error code from dma_buf_start_cpu_access()
        drm/atmel-hlcdc: use helper to get crtc state
        drm/atomic: use helper to get crtc state
      17efca93
  4. 22 Mar, 2016 2 commits
  5. 21 Mar, 2016 7 commits
  6. 20 Mar, 2016 1 commit
  7. 19 Mar, 2016 1 commit
    • Chris Wilson's avatar
      dma-buf, drm, ion: Propagate error code from dma_buf_start_cpu_access() · 18b862dc
      Chris Wilson authored
      Drivers, especially i915.ko, can fail during the initial migration of a
      dma-buf for CPU access. However, the error code from the driver was not
      being propagated back to ioctl and so userspace was blissfully ignorant
      of the failure. Rendering corruption ensues.
      
      Whilst fixing the ioctl to return the error code from
      dma_buf_start_cpu_access(), also do the same for
      dma_buf_end_cpu_access().  For most drivers, dma_buf_end_cpu_access()
      cannot fail. i915.ko however, as most drivers would, wants to avoid being
      uninterruptible (as would be required to guarrantee no failure when
      flushing the buffer to the device). As userspace already has to handle
      errors from the SYNC_IOCTL, take advantage of this to be able to restart
      the syscall across signals.
      
      This fixes a coherency issue for i915.ko as well as reducing the
      uninterruptible hold upon its BKL, the struct_mutex.
      
      Fixes commit c11e391d
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Thu Feb 11 20:04:51 2016 -0200
      
          dma-buf: Add ioctls to allow userspace to flush
      
      Testcase: igt/gem_concurrent_blit/*dmabuf*interruptible
      Testcase: igt/prime_mmap_coherency/ioctl-errors
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tiago Vignatti <tiago.vignatti@intel.com>
      Cc: Stéphane Marchesin <marcheu@chromium.org>
      Cc: David Herrmann <dh.herrmann@gmail.com>
      Cc: Sumit Semwal <sumit.semwal@linaro.org>
      Cc: Daniel Vetter <daniel.vetter@intel.com>
      CC: linux-media@vger.kernel.org
      Cc: dri-devel@lists.freedesktop.org
      Cc: linaro-mm-sig@lists.linaro.org
      Cc: intel-gfx@lists.freedesktop.org
      Cc: devel@driverdev.osuosl.org
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/1458331359-2634-1-git-send-email-chris@chris-wilson.co.uk
      18b862dc
  8. 17 Mar, 2016 10 commits
  9. 16 Mar, 2016 15 commits