[GIT PULL] omapdrm atomic modesetting for 4.2

Tomi Valkeinen tomi.valkeinen at ti.com
Mon Jun 15 04:46:48 PDT 2015

Hi Dave,

It's already -rc8, so this pull request is very late. Sorry about that. Still,
it'd be great to see this go in, as we've had issues with omapdrm for years,
which we've not been able to fix properly (like warnings/crashes when unloading
modules, page-flips tearing, race issues with fbs). All those problems seem to
be gone after this rewrite of omapdrm for atomic modesetting, and the resulting
code is much cleaner and more maintainable.

This has been mostly tested on OMAP4 Pandaboard, with single and dual displays.


The following changes since commit 5c70c464787febc67c40b13f2fedccc378b0fa8e:

  Merge tag 'drm-intel-next-fixes-2015-06-11' of git://anongit.freedesktop.org/drm-intel into drm-next (2015-06-12 10:16:36 +1000)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux.git tags/omapdrm-4.2-atomic

for you to fetch changes up to 5f741b39dde47c054af78727cce7202fff9f781b:

  drm: omapdrm: new vblank and event handling (2015-06-12 23:30:47 +0300)

omapdrm atomic modesetting support

Atomic modesetting support for omapdrm.

Laurent Pinchart (37):
      drm: omapdrm: Store the rotation property in dev->mode_config
      drm: omapdrm: Apply settings synchronously
      drm: omapdrm: Rename omap_crtc_page_flip_locked to omap_crtc_page_flip
      drm: omapdrm: Rename omap_crtc page flip-related fields
      drm: omapdrm: Simplify IRQ registration
      drm: omapdrm: Cancel pending page flips when closing device
      drm: omapdrm: Rework page flip handling
      drm: omapdrm: Turn vblank on/off when enabling/disabling CRTC
      drm: omapdrm: Fix page flip race with CRTC disable
      drm: omapdrm: Clean up #include's
      drm: omapdrm: Rename CRTC DSS operations with an omap_crtc_dss_ prefix
      drm: omapdrm: Rework CRTC enable/disable for atomic updates
      drm: omapdrm: Implement encoder .disable() and .enable() operations
      drm: omapdrm: Wire up atomic state object scaffolding
      drm: omapdrm: Implement planes atomic operations
      drm: omapdrm: Handle primary plane config through atomic plane ops
      drm: omapdrm: Switch plane update to atomic helpers
      drm: omapdrm: Switch mode config to atomic helpers
      drm: omapdrm: Switch connector DPMS to atomic helpers
      drm: omapdrm: Replace encoder mode_fixup with atomic_check
      drm: omapdrm: Implement asynchronous commit support
      drm: omapdrm: Switch page flip to atomic helpers
      drm: omapdrm: Drop manual framebuffer pin handling
      drm: omapdrm: Switch crtc and plane set_property to atomic helpers
      drm: omapdrm: Move plane info and win out of the plane structure
      drm: omapdrm: Move crtc info out of the crtc structure
      drm: omapdrm: Remove omap_crtc enabled field
      drm: omapdrm: Remove omap_plane enabled field
      drm: omapdrm: Make the omap_crtc_flush function static
      drm: omapdrm: Don't get/put dispc in omap_crtc_flush()
      drm: omapdrm: omap_crtc_flush() isn't called with modeset locked
      drm: omapdrm: Support unlinking page flip events prematurely
      drm: omapdrm: Remove nested PM get/sync when configuring encoders
      drm: omapdrm: Simplify DSS power management
      drm: omapdrm: Move encoder setup to encoder operations
      drm: omapdrm: Don't flush CRTC when enabling or disabling it
      drm: omapdrm: Don't setup planes manually from CRTC .enable()/.disable()

Tomi Valkeinen (6):
      drm: omapdrm: omap_plane_setup() cannot fail, use WARN
      drm: omapdrm: inline omap_plane_setup into update/disable
      drm: omapdrm: if omap_plane_atomic_update fails, disable plane
      drm: omapdrm: add lock for fb pinning
      drm: omapdrm: merge omap_crtc_flush and omap_crtc_atomic_flush
      drm: omapdrm: new vblank and event handling

 drivers/gpu/drm/omapdrm/omap_connector.c  |  12 +-
 drivers/gpu/drm/omapdrm/omap_crtc.c       | 541 +++++++++---------------------
 drivers/gpu/drm/omapdrm/omap_debugfs.c    |   6 +-
 drivers/gpu/drm/omapdrm/omap_dmm_tiler.c  |  19 +-
 drivers/gpu/drm/omapdrm/omap_drv.c        | 224 ++++++++++++-
 drivers/gpu/drm/omapdrm/omap_drv.h        |  59 +---
 drivers/gpu/drm/omapdrm/omap_encoder.c    |  99 ++----
 drivers/gpu/drm/omapdrm/omap_fb.c         |  27 +-
 drivers/gpu/drm/omapdrm/omap_fbdev.c      |   6 +-
 drivers/gpu/drm/omapdrm/omap_gem.c        |   4 +-
 drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c |   4 +-
 drivers/gpu/drm/omapdrm/omap_irq.c        | 106 ++----
 drivers/gpu/drm/omapdrm/omap_plane.c      | 424 +++++++++--------------
 13 files changed, 661 insertions(+), 870 deletions(-)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150615/6fc39322/attachment.sig>

More information about the dri-devel mailing list