Merge tag 'topic/drm-misc-2016-06-07' of git://anongit.freedesktop.org/drm-intel...
authorDave Airlie <airlied@redhat.com>
Thu, 9 Jun 2016 01:19:28 +0000 (11:19 +1000)
committerDave Airlie <airlied@redhat.com>
Thu, 9 Jun 2016 01:19:28 +0000 (11:19 +1000)
As promised, piles of prep work all around:
- drm_atomic_state rework, prep for nonblocking commit helpers
- fence patches from Gustavo and Christian to prep for atomic fences and
  some cool work in ttm/amdgpu from Christian
- drm event prep for both nonblocking commit and atomic fences
- Gustavo seems on a crusade against the non-kms-native version of the
  vblank functions.
- prep work from Boris to nuke all the silly ->best_encoder
  implementations we have (we really only need that for truly dynamic
  cases like dvi-i vs dvi-d or dp mst selecting the right transcoder on
  intel)
- prep work from Laurent to rework the format handling functions
- and few small things all over

* tag 'topic/drm-misc-2016-06-07' of git://anongit.freedesktop.org/drm-intel: (47 commits)
  drm/dsi: Implement set tear scanline
  drm/fb_cma_helper: Implement fb_mmap callback
  drm/qxl: Remove useless drm_fb_get_bpp_depth() call
  drm/ast: Remove useless drm_fb_get_bpp_depth() call
  drm/atomic: Fix remaining places where !funcs->best_encoder is valid
  drm/core: Change declaration for gamma_set.
  Documentation: add fence-array to kernel DocBook
  drm/shmobile: use drm_crtc_vblank_{get,put}()
  drm/radeon: use drm_crtc_vblank_{get,put}()
  drm/qxl: use drm_crtc_vblank_{get,put}()
  drm/atmel: use drm_crtc_vblank_{get,put}()
  drm/armada: use drm_crtc_vblank_{get,put}()
  drm/amdgpu: use drm_crtc_vblank_{get,put}()
  drm/virtio: use drm_crtc_send_vblank_event()
  drm/udl: use drm_crtc_send_vblank_event()
  drm/qxl: use drm_crtc_send_vblank_event()
  drm/atmel: use drm_crtc_send_vblank_event()
  drm/armada: use drm_crtc_send_vblank_event()
  drm/doc: Switch to sphinx/rst fixed-width quoting
  drm/doc: Drop kerneldoc for static functions in drm_irq.c
  ...

1  2 
Documentation/DocBook/device-drivers.tmpl
drivers/gpu/drm/arc/arcpgu_drv.c
drivers/gpu/drm/arm/hdlcd_crtc.c
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
drivers/gpu/drm/drm_atomic.c
drivers/gpu/drm/drm_crtc.c
drivers/gpu/drm/drm_fb_cma_helper.c
drivers/gpu/drm/drm_modes.c
drivers/gpu/drm/mgag200/mgag200_mode.c
include/linux/fence.h

@@@ -128,44 -128,18 +128,48 @@@ X!Edrivers/base/interface.
  !Edrivers/base/platform.c
  !Edrivers/base/bus.c
       </sect1>
 -     <sect1><title>Device Drivers DMA Management</title>
 +     <sect1>
 +       <title>Buffer Sharing and Synchronization</title>
 +       <para>
 +         The dma-buf subsystem provides the framework for sharing buffers
 +         for hardware (DMA) access across multiple device drivers and
 +         subsystems, and for synchronizing asynchronous hardware access.
 +       </para>
 +       <para>
 +         This is used, for example, by drm "prime" multi-GPU support, but
 +         is of course not limited to GPU use cases.
 +       </para>
 +       <para>
 +         The three main components of this are: (1) dma-buf, representing
 +         a sg_table and exposed to userspace as a file descriptor to allow
 +         passing between devices, (2) fence, which provides a mechanism
 +         to signal when one device as finished access, and (3) reservation,
 +         which manages the shared or exclusive fence(s) associated with
 +         the buffer.
 +       </para>
 +       <sect2><title>dma-buf</title>
  !Edrivers/dma-buf/dma-buf.c
 +!Iinclude/linux/dma-buf.h
 +       </sect2>
 +       <sect2><title>reservation</title>
 +!Pdrivers/dma-buf/reservation.c Reservation Object Overview
 +!Edrivers/dma-buf/reservation.c
 +!Iinclude/linux/reservation.h
 +       </sect2>
 +       <sect2><title>fence</title>
  !Edrivers/dma-buf/fence.c
 -!Edrivers/dma-buf/seqno-fence.c
 -!Edrivers/dma-buf/fence-array.c
  !Iinclude/linux/fence.h
 +!Edrivers/dma-buf/seqno-fence.c
  !Iinclude/linux/seqno-fence.h
++!Edrivers/dma-buf/fence-array.c
+ !Iinclude/linux/fence-array.h
+ !Edrivers/dma-buf/reservation.c
+ !Iinclude/linux/reservation.h
  !Edrivers/dma-buf/sync_file.c
  !Iinclude/linux/sync_file.h
 +       </sect2>
 +     </sect1>
 +     <sect1><title>Device Drivers DMA Management</title>
  !Edrivers/base/dma-coherent.c
  !Edrivers/base/dma-mapping.c
       </sect1>
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge