1. 14 9月, 2018 1 次提交
  2. 11 9月, 2018 1 次提交
  3. 06 9月, 2018 1 次提交
  4. 22 8月, 2018 1 次提交
  5. 26 7月, 2018 1 次提交
  6. 20 7月, 2018 1 次提交
  7. 17 7月, 2018 1 次提交
  8. 14 7月, 2018 1 次提交
  9. 07 7月, 2018 3 次提交
  10. 04 7月, 2018 1 次提交
    • T
      drm/vmwgfx: Replace vmw_dma_buffer with vmw_buffer_object · f1d34bfd
      Thomas Hellstrom 提交于
      Initially vmware buffer objects were only used as DMA buffers, so the name
      DMA buffer was a natural one. However, currently they are used also as
      dumb buffers and MOBs backing guest backed objects so renaming them to
      buffer objects is logical. Particularly since there is a dmabuf subsystem
      in the kernel where a dma buffer means something completely different.
      
      This also renames user-space api structures and IOCTL names
      correspondingly, but the old names remain defined for now and the ABI
      hasn't changed.
      
      There are a couple of minor style changes to make checkpatch happy.
      Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
      Reviewed-by: NSinclair Yeh <syeh@vmware.com>
      Reviewed-by: NDeepak Rawat <drawat@vmware.com>
      f1d34bfd
  11. 30 6月, 2018 1 次提交
  12. 20 6月, 2018 2 次提交
    • L
      drm: writeback: Add client capability for exposing writeback connectors · d67b6a20
      Liviu Dudau 提交于
      Due to the fact that writeback connectors behave in a special way
      in DRM (they always report being disconnected) we might confuse some
      userspace. Add a client capability for writeback connectors that will
      filter them out for clients that don't understand the capability.
      
      Changelog:
       - only accept the capability if the client has already set the
      DRM_CLIENT_CAP_ATOMIC one.
      
      Cc: Sean Paul <seanpaul@chromium.org>
      Cc: Brian Starkey <brian.starkey@arm.com>
      Signed-off-by: NLiviu Dudau <liviu.dudau@arm.com>
      Reviewed-by: NEric Anholt <eric@anholt.net>
      Reviewed-by: NBrian Starkey <brian.starkey@arm.com>
      Link: https://patchwork.freedesktop.org/patch/229038/
      d67b6a20
    • B
      drm: Add writeback connector type · 935774cd
      Brian Starkey 提交于
      Writeback connectors represent writeback engines which can write the
      CRTC output to a memory framebuffer. Add a writeback connector type and
      related support functions.
      
      Drivers should initialize a writeback connector with
      drm_writeback_connector_init() which takes care of setting up all the
      writeback-specific details on top of the normal functionality of
      drm_connector_init().
      
      Writeback connectors have a WRITEBACK_FB_ID property, used to set the
      output framebuffer, and a WRITEBACK_PIXEL_FORMATS blob used to expose the
      supported writeback formats to userspace.
      
      When a framebuffer is attached to a writeback connector with the
      WRITEBACK_FB_ID property, it is used only once (for the commit in which
      it was included), and userspace can never read back the value of
      WRITEBACK_FB_ID. WRITEBACK_FB_ID can only be set if the connector is
      attached to a CRTC.
      
      Changes since v1:
       - Added drm_writeback.c + documentation
       - Added helper to initialize writeback connector in one go
       - Added core checks
       - Squashed into a single commit
       - Dropped the client cap
       - Writeback framebuffers are no longer persistent
      
      Changes since v2:
       Daniel Vetter:
       - Subclass drm_connector to drm_writeback_connector
       - Relax check to allow CRTC to be set without an FB
       - Add some writeback_ prefixes
       - Drop PIXEL_FORMATS_SIZE property, as it was unnecessary
       Gustavo Padovan:
       - Add drm_writeback_job to handle writeback signalling centrally
      
      Changes since v3:
       - Rebased
       - Rename PIXEL_FORMATS -> WRITEBACK_PIXEL_FORMATS
      
      Chances since v4:
       - Embed a drm_encoder inside the drm_writeback_connector to
         reduce the amount of boilerplate code required from the drivers
         that are using it.
      
      Changes since v5:
       - Added Rob Clark's atomic_commit() vfunc to connector helper
         funcs, so that writeback jobs are committed from atomic helpers
       - Updated create_writeback_properties() signature to return an
         error code rather than a boolean false for failure.
       - Free writeback job with the connector state rather than when
         doing the cleanup_work()
      
      Changes since v7:
       - fix extraneous use of out_fence that is only introduced in a
         subsequent patch.
      
      Changes since v8:
       - whitespace changes pull from subsequent patch
      
      Changes since v9:
       - Revert the v6 changes that free the writeback job in the connector
         state cleanup and return to doing it in the cleanup_work() function
      Signed-off-by: NBrian Starkey <brian.starkey@arm.com>
      [rebased and fixed conflicts]
      Signed-off-by: NMihail Atanassov <mihail.atanassov@arm.com>
      [rebased and added atomic_commit() vfunc for writeback jobs]
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      Signed-off-by: NLiviu Dudau <liviu.dudau@arm.com>
      Reviewed-by: NEric Anholt <eric@anholt.net>
      Link: https://patchwork.freedesktop.org/patch/229037/
      935774cd
  13. 16 6月, 2018 2 次提交
  14. 01 6月, 2018 1 次提交
    • D
      drm/vc4: Add support for SAND modifier. · e065a8dd
      Dave Stevenson 提交于
      This is the format generated by VC4's H.264 engine, and preferred by
      the ISP as well.  By displaying SAND buffers directly, we can avoid
      needing to use the ISP to rewrite the SAND H.264 output to linear
      before display.
      
      This is a joint effort by Dave Stevenson (who wrote the initial patch
      and DRM demo) and Eric Anholt (drm_fourcc.h generalization, safety
      checks, RGBA support).
      
      v2: Make the parameter macro give all of the middle 48 bits (suggested
          by Daniels).  Fix fourcc_mod_broadcom_mod()'s bits/shift being
          swapped.  Mark NV12/21 as supported, not YUV420.
      Signed-off-by: NDave Stevenson <dave.stevenson@raspberrypi.org>
      Signed-off-by: NEric Anholt <eric@anholt.net>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Acked-by: Daniel Stone <daniels@collabora.com> (v1)
      Cc: Boris Brezillon <boris.brezillon@bootlin.com>
      Cc: Maxime Ripard <maxime.ripard@bootlin.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180316220435.31416-3-eric@anholt.net
      e065a8dd
  15. 19 5月, 2018 2 次提交
  16. 17 5月, 2018 1 次提交
    • S
      drm: content-type property for HDMI connector · 50525c33
      Stanislav Lisovskiy 提交于
      Added content_type property to drm_connector_state
      in order to properly handle external HDMI TV content-type setting.
      
      v2:
       * Moved helper function which attaches content type property
         to the drm core, as was suggested.
         Removed redundant connector state initialization.
      
      v3:
       * Removed caps in drm_content_type_enum_list.
         After some discussion it turned out that HDMI Spec 1.4
         was wrongly assuming that IT Content(itc) bit doesn't affect
         Content type states, however itc bit needs to be manupulated
         as well. In order to not expose additional property for itc,
         for sake of simplicity it was decided to bind those together
         in same "content type" property.
      
      v4:
       * Added it_content checking in intel_digital_connector_atomic_check.
         Fixed documentation for new content type enum.
      
      v5:
       * Moved patch revision's description to commit messages.
      
      v6:
       * Minor naming fix for the content type enumeration string.
      
      v7:
       * Fix parameter name for documentation and parameter alignment
         in order not to get warning. Added Content Type description to
         new HDMI connector properties section.
      
      v8:
       * Thrown away unneeded numbers from HDMI content-type property
         description. Switch to strings desription instead of plain
         definitions.
      
      v9:
       * Moved away hdmi specific content-type enum from
         drm_connector_state. Content type property should probably not
         be bound to any specific connector interface in
         drm_connector_state.
         Same probably should be done to hdmi_picture_aspect_ration enum
         which is also contained in drm_connector_state. Added special
         helper function to get derive hdmi specific relevant infoframe
         fields.
      
      v10:
       * Added usage description to HDMI properties kernel doc.
      
      v11:
       * Created centralized function for filling HDMI AVI infoframe, based
         on correspondent DRM property value.
      Acked-by: NHans Verkuil <hans.verkuil@cisco.com>
      Acked-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NStanislav Lisovskiy <stanislav.lisovskiy@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180515135928.31092-2-stanislav.lisovskiy@intel.com
      [vsyrjala: clean up checkpatch multiple blank lines warnings]
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      50525c33
  17. 16 5月, 2018 5 次提交
  18. 11 5月, 2018 2 次提交
  19. 10 5月, 2018 1 次提交
    • M
      drm/exynos: ipp: Add IPP v2 framework · 9913f74f
      Marek Szyprowski 提交于
      This patch adds Exynos IPP v2 subsystem and userspace API.
      
      New userspace API is focused ONLY on memory-to-memory image processing.
      The two remainging operation modes of obsolete IPP v1 API (framebuffer
      writeback and local-path output with image processing) can be implemented
      using standard DRM features: writeback connectors and additional DRM planes
      with scaling features.
      
      V2 IPP userspace API is based on stateless approach, which much better fits
      to memory-to-memory image processing model. It also provides support for
      all image formats, which are both already defined in DRM API and supported
      by the existing IPP hardware modules.
      
      The API consists of the following ioctls:
      - DRM_IOCTL_EXYNOS_IPP_GET_RESOURCES: to enumerate all available image
        processing modules,
      - DRM_IOCTL_EXYNOS_IPP_GET_CAPS: to query capabilities and supported image
        formats of given IPP module,
      - DRM_IOCTL_EXYNOS_IPP_GET_LIMITS: to query hardware limitiations for
        selected image format of given IPP module,
      - DRM_IOCTL_EXYNOS_IPP_COMMIT: to perform operation described by the
        provided structures (source and destination buffers, operation rectangle,
        transformation, etc).
      
      The proposed userspace API is extensible. In the future more advanced image
      processing operations can be defined to support for example blending.
      
      Userspace API is fully functional also on DRM render nodes, so it is not
      limited to the root/privileged client.
      
      Internal driver API also has been completely rewritten. New IPP core
      performs all possible input validation, checks and object life-time
      control. The drivers can focus only on writing configuration to hardware
      registers. Stateless nature of DRM_IOCTL_EXYNOS_IPP_COMMIT ioctl simplifies
      the driver API. Minimal driver needs to provide a single callback for
      starting processing and an array with supported image formats.
      Signed-off-by: NMarek Szyprowski <m.szyprowski@samsung.com>
      Tested-by: NHoegeun Kwon <hoegeun.kwon@samsung.com>
      Merge conflict so merged manually.
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      9913f74f
  20. 04 5月, 2018 2 次提交
    • E
      drm/v3d: Introduce a new DRM driver for Broadcom V3D V3.x+ · 57692c94
      Eric Anholt 提交于
      This driver will be used to support Mesa on the Broadcom 7268 and 7278
      platforms.
      
      V3D 3.3 introduces an MMU, which means we no longer need CMA or vc4's
      complicated CL/shader validation scheme.  This massively changes the
      GEM behavior, so I've forked off to a new driver.
      
      v2: Mark SUBMIT_CL as needing DRM_AUTH.  coccinelle fixes from kbuild
          test robot. Drop personal git link from MAINTAINERS.  Don't
          double-map dma-buf imported BOs.  Add kerneldoc about needing MMU
          eviction.  Drop prime vmap/unmap stubs.  Delay mmap offset setup
          to mmap time.  Use drm_dev_init instead of _alloc.  Use
          ktime_get() for wait_bo timeouts.  Drop drm_can_sleep() usage,
          since we don't modeset.  Switch page tables back to WC (debug
          change to coherent had slipped in).  Switch
          drm_gem_object_unreference_unlocked() to
          drm_gem_object_put_unlocked().  Simplify overflow mem handling by
          not sharing overflow mem between jobs.
      v3: no changes
      v4: align submit_cl to 64 bits (review by airlied), check zero flags in
          other ioctls.
      Signed-off-by: NEric Anholt <eric@anholt.net>
      Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> (v4)
      Acked-by: Dave Airlie <airlied@linux.ie> (v3, requested submit_cl change)
      Link: https://patchwork.freedesktop.org/patch/msgid/20180430181058.30181-3-eric@anholt.net
      57692c94
    • E
      drm/vc4: Add a pad field to align drm_vc4_submit_cl to 64 bits. · 4c70ac76
      Eric Anholt 提交于
      I had originally asked Stefan Schake to drop the pad field from the
      syncobj changes that just landed, because I couldn't come up with a
      reason to align to 64 bits.
      
      Talking with Dave Airlie about the new v3d driver's submit ioctl, we
      came up with a reason: sizeof() on 64-bit platforms may align to 64
      bits, in which case the userspace will be submitting the aligned size
      and the final 32 bits won't be zero-padded by the kernel.  If
      userspace doesn't zero-fill, then a future ABI change adding a 32-bit
      field at the end could potentially cause the kernel to read undefined
      data from old userspace (our userspace happens to use structure
      initialization that zero-fills, but as a general rule we try not to
      rely on that in the kernel).
      Signed-off-by: NEric Anholt <eric@anholt.net>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180430235927.28712-1-eric@anholt.netReviewed-by: NStefan Schake <stschake@gmail.com>
      4c70ac76
  21. 01 5月, 2018 2 次提交
  22. 12 4月, 2018 1 次提交
  23. 21 3月, 2018 1 次提交
  24. 15 3月, 2018 1 次提交
  25. 09 3月, 2018 1 次提交
  26. 08 3月, 2018 3 次提交
    • L
      drm/i915: expose rcs topology through query uAPI · c822e059
      Lionel Landwerlin 提交于
      With the introduction of asymmetric slices in CNL, we cannot rely on
      the previous SUBSLICE_MASK getparam to tell userspace what subslices
      are available. Here we introduce a more detailed way of querying the
      Gen's GPU topology that doesn't aggregate numbers.
      
      This is essential for monitoring parts of the GPU with the OA unit,
      because counters need to be normalized to the number of
      EUs/subslices/slices. The current aggregated numbers like EU_TOTAL do
      not gives us sufficient information.
      
      The Mesa series making use of this API is :
      
          https://patchwork.freedesktop.org/series/38795/
      
      As a bonus we can draw representations of the GPU :
      
          https://imgur.com/a/vuqpa
      
      v2: Rename uapi struct s/_mask/_info/ (Tvrtko)
          Report max_slice/subslice/eus_per_subslice rather than strides (Tvrtko)
          Add uapi macros to read data from *_info structs (Tvrtko)
      
      v3: Use !!(v & DRM_I915_BIT()) for uapi macros instead of custom shifts (Tvrtko)
      
      v4: factorize query item writting (Tvrtko)
          tweak uapi struct/define names (Tvrtko)
      
      v5: Replace ALIGN() macro (Chris)
      
      v6: Updated uapi comments (Tvrtko)
          Moved flags != 0 checks into vfuncs (Tvrtko)
      
      v7: Use access_ok() before copying anything, to avoid overflows (Chris)
          Switch BUG_ON() to GEM_WARN_ON() (Tvrtko)
      
      v8: Tweak uapi comments style to match the coding style (Lionel)
      
      v9: Fix error in comment about computation of enabled subslice (Tvrtko)
      
      v10: Fix/update comments in uAPI (Sagar)
      
      v11: Drop drm_i915_query_(slice|subslice|eu)_info in favor of a single
           drm_i915_query_topology_info (Joonas)
      
      v12: Add subslice_stride/eu_stride in drm_i915_query_topology_info (Joonas)
      
      v13: Fix comment in uAPI (Joonas)
      Signed-off-by: NLionel Landwerlin <lionel.g.landwerlin@intel.com>
      Acked-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180306122857.27317-7-lionel.g.landwerlin@intel.com
      c822e059
    • L
      drm/i915: add query uAPI · a446ae2c
      Lionel Landwerlin 提交于
      There are a number of information that are readable from hardware
      registers and that we would like to make accessible to userspace. One
      particular example is the topology of the execution units (how are
      execution units grouped in subslices and slices and also which ones
      have been fused off for die recovery).
      
      At the moment the GET_PARAM ioctl covers some basic needs, but
      generally is only able to return a single value for each defined
      parameter. This is a bit problematic with topology descriptions which
      are array/maps of available units.
      
      This change introduces a new ioctl that can deal with requests to fill
      structures of potentially variable lengths. The user is expected fill
      a query with length fields set at 0 on the first call, the kernel then
      sets the length fields to the their expected values. A second call to
      the kernel with length fields at their expected values will trigger a
      copy of the data to the pointed memory locations.
      
      The scope of this uAPI is only to provide information to userspace,
      not to allow configuration of the device.
      
      v2: Simplify dispatcher code iteration (Tvrtko)
          Tweak uapi drm_i915_query_item structure (Tvrtko)
      
      v3: Rename pad fields into flags (Chris)
          Return error on flags field != 0 (Chris)
          Only copy length back to userspace in drm_i915_query_item (Chris)
      
      v4: Use array of functions instead of switch (Chris)
      
      v5: More comments in uapi (Tvrtko)
          Return query item errors in length field (All)
      
      v6: Tweak uapi comments style to match the coding style (Lionel)
      
      v7: Add i915_query.h (Joonas)
      
      v8: (Lionel) Change the behavior of the item iterator to report
          invalid queries into the query item rather than stopping the
          iteration. This enables userspace applications to query newer
          items on older kernels and only have failure on the items that are
          not supported.
      
      v9: Edit copyright headers (Joonas)
      
      v10: Typos & comments in uapi (Joonas)
      Signed-off-by: NLionel Landwerlin <lionel.g.landwerlin@intel.com>
      Reviewed-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Acked-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180306122857.27317-6-lionel.g.landwerlin@intel.com
      a446ae2c
    • V
      drm/uapi: Deprecate DRM_MODE_PROP_PENDING · 147ccf93
      Ville Syrjälä 提交于
      DRM_MODE_PROP_PENDING is not used anywhere (except printed out
      by libdrm proptest/modetest).
      
      This seems to be yet another thing blindly copied from xrandr.
      Quoting from the protocol spec:
      "If 'pending' is TRUE, changes made to property values with
       RRChangeOutputProperty will be saved in the pending property value
       and be automatically copied to the current value on the next
       RRSetCrtcConfig request involving the named output. If 'pending' is
       FALSE, changes are copied immediately."
      
      So it was some kind of early idea for atomic property updates.
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180306164849.2862-4-ville.syrjala@linux.intel.comReviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      147ccf93