[Intel-gfx] [PULL] topic/atomic-core

Daniel Vetter daniel.vetter at ffwll.ch
Mon Jan 5 05:03:45 PST 2015


Hi Dave,

Updated pull request for atomic-core because Tvrtko Ursulin reported an
Oopseable fumble for which I've squashed in a fixup patch. Plus one
refinement for the handling of the atomic per-file caps. Below the blabla
from the orignal pull request.

Next batch of atomic work. Most important is the propertification from Rob
and the nth iteration of the actual atomic ioctl originally from Ville.
Big differences compared to earlier revisions:
- Core properties are now fully handled by the core, drivers can only
  handle driver-specific properties.
- Atomic props&ioctl are opt-in per file_priv, userspace needs to
  explicitly ask for it (like universal plane support).
- For now all hidden behind the atomic module option until this has
  settled a bit.
- Atomic modesets are currently not possible since the exact abi for how
  to handle the mode property is still under discussion.

Besides this some cleanup patches from me and the addition of per-object
state to global state backpointers to simplify drivers.

Other oustanding things not yet in here I'm aware of (besides the mode
prop issue mentioned above):
- dpms handling (still working on that)
- Thierry's atomic helper patch to add plane_funcs->atomic_disable as an
  optional hook. Many drivers (tegra, exynos, i915) seem to want this.

Note that there was a conflict with my drm misc branch so there's a merge
in here. The diff looks sane when you merge topic/core-stuff before this
branch here.

There's also one bugfix from Rob in here for which I've sent you a pull
request for 3.19 already, too.

Cheers, Daniel


The following changes since commit 4e0cd68115620bc3236ff4e58e4c073948629b41:

  drm: sti: fix module compilation issue (2014-12-15 17:07:57 +1000)

are available in the git repository at:

  git://anongit.freedesktop.org/drm-intel tags/topic/atomic-core-2015-01-05

for you to fetch changes up to 179f158ccf15fb9425f53d589d1b48eab90449a6:

  drm: Ensure universal_planes is set for atomic (2015-01-05 13:55:30 +0100)

----------------------------------------------------------------
Ben Widawsky (1):
      drm/cache: Use wbinvd helpers

Daniel Vetter (6):
      drm/atomic-helper: Export both plane and modeset check helpers
      drm/atomic-helper: Again check modeset *before* plane states
      drm/atomic: Introduce state->obj backpointers
      Merge branch 'topic/core-stuff' into topic/atomic-core
      drm/atomic: Hide drm.ko internal interfaces
      drm: Ensure universal_planes is set for atomic

Laurent Pinchart (1):
      drm/doc: Document drm_add_modes_noedid() usage

Matt Roper (1):
      drm/plane-helper: Test for plane disable earlier

Rob Clark (15):
      drm: bit of spell-check / editorializing.
      drm/atomic: fix potential null ptr on plane enable
      drm: allow property validation for refcnted props
      drm: store property instead of id in obj attachment
      drm: get rid of direct property value access
      drm: add atomic_set_property wrappers
      drm: add atomic_get_property
      drm: tweak getconnector locking
      drm: refactor getproperties/getconnector
      drm: add atomic properties
      drm/atomic: atomic_check functions
      drm: small property creation cleanup
      drm/atomic: atomic plane properties
      drm/atomic: atomic connector properties
      drm: Atomic modeset ioctl

Thierry Reding (13):
      drm/armada: Remove dummy ->load_lut() implementation
      drm/bochs: Remove dummy ->load_lut() implementation
      drm/msm: Remove dummy ->load_lut() implementation
      drm/sti: Remove dummy ->load_lut() implementation
      drm/tegra: Remove dummy ->load_lut() implementation
      drm: Miscellaneous checkpatch whitespace cleanups
      drm: Prefer kcalloc() over kzalloc() with multiply
      drm: Prefer kmalloc_array() over kmalloc() with multiply
      drm: Do not assign in if condition
      drm: Remove unneeded braces for single statement blocks
      drm: Remove useless else block
      drm: Prefer sizeof(type) over sizeof type
      drm/info: Remove unused code

 Documentation/DocBook/drm.tmpl            |  91 +++-
 drivers/gpu/drm/armada/armada_crtc.c      |   5 -
 drivers/gpu/drm/bochs/bochs_kms.c         |   5 -
 drivers/gpu/drm/drm_atomic.c              | 730 +++++++++++++++++++++++++++++-
 drivers/gpu/drm/drm_atomic_helper.c       | 108 ++++-
 drivers/gpu/drm/drm_cache.c               |  13 +-
 drivers/gpu/drm/drm_crtc.c                | 428 +++++++++++-------
 drivers/gpu/drm/drm_crtc_helper.c         |   2 +
 drivers/gpu/drm/drm_crtc_internal.h       |   6 +
 drivers/gpu/drm/drm_drv.c                 |   4 +
 drivers/gpu/drm/drm_info.c                |  24 -
 drivers/gpu/drm/drm_internal.h            |   1 -
 drivers/gpu/drm/drm_ioctl.c               |  13 +
 drivers/gpu/drm/drm_irq.c                 |  11 +-
 drivers/gpu/drm/drm_plane_helper.c        |  18 +-
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c  |   5 -
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c  |   5 -
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c |   1 +
 drivers/gpu/drm/msm/msm_atomic.c          |  20 +
 drivers/gpu/drm/msm/msm_drv.c             |   2 +-
 drivers/gpu/drm/msm/msm_drv.h             |   2 +
 drivers/gpu/drm/sti/sti_drm_crtc.c        |   6 -
 drivers/gpu/drm/tegra/dc.c                |   5 -
 include/drm/drmP.h                        |   4 +
 include/drm/drm_atomic.h                  |  13 +-
 include/drm/drm_atomic_helper.h           |   4 +
 include/drm/drm_crtc.h                    |  70 ++-
 include/uapi/drm/drm.h                    |   8 +
 include/uapi/drm/drm_mode.h               |  38 +-
 29 files changed, 1361 insertions(+), 281 deletions(-)

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


More information about the Intel-gfx mailing list