[PATCH 00/31] Convert omapdrm to the atomic updates API
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Wed Apr 15 15:09:17 PDT 2015
Hello,
This patch set converts the omapdrm to the atomic update API in 31 small(ish)
and hopefully reviewable steps.
The series is based on the latest drm/next branch and depends on the pending
"drm: omapdrm: Store the rotation property in dev->mode_config" patch by
Daniel Vetter.
The omapdrm loses support for its custom fences in the process. This isn't
deemed to be an issue, as the custom fences API is used by the SGX driver
only, which requires out-of-tree patches anyway. Fences support will be
reimplemented at a later point on top of the atomic updates conversion using
the mainline fence API.
One known issue is a race condition between asynchronous commits and
drm_release() which can trigger a warning if a commit is applied between the
drm_events_release() call and the WARN_ON(!list_empty(&file_priv->event_list)).
Investigation is ongoing to find out the best way to fix the problem, the
problem seems not to be limited to omapdrm (but can be more or less difficult
to reproduce depending on the driver). Ideas would be welcome, I've CC'ed
maintainers of possibly affected drivers.
There's not much else to be said, details are explained in individual patches.
The patches can be found in my git tree at
git://linuxtv.org/pinchartl/fbdev.git omapdrm/next
Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
Cc: Rob Clark <robdclark at gmail.com>
Cc: Thierry Reding <treding at nvidia.com>
Cc: Benjamin Gaignard <benjamin.gaignard at linaro.org>
Laurent Pinchart (31):
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
drivers/gpu/drm/omapdrm/omap_connector.c | 12 +-
drivers/gpu/drm/omapdrm/omap_crtc.c | 580 +++++++++++++-----------------
drivers/gpu/drm/omapdrm/omap_debugfs.c | 6 +-
drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 19 +-
drivers/gpu/drm/omapdrm/omap_drv.c | 162 ++++++++-
drivers/gpu/drm/omapdrm/omap_drv.h | 52 +--
drivers/gpu/drm/omapdrm/omap_encoder.c | 60 ++--
drivers/gpu/drm/omapdrm/omap_fb.c | 8 +-
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 | 426 +++++++++-------------
13 files changed, 656 insertions(+), 789 deletions(-)
--
Regards,
Laurent Pinchart
More information about the dri-devel
mailing list