On Thu, Apr 16, 2015 at 01:09:17AM +0300, Laurent Pinchart wrote: > 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. Known issue, every driver has to currently hand-roll their pending events code, and many don't :( One of my goals with rewriting drm_irq.c was to make it possible to fix this up, but somehow that gets pushed down the priority list forever ... -Daniel > > 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@xxxxxxxx> > Cc: Rob Clark <robdclark@xxxxxxxxx> > Cc: Thierry Reding <treding@xxxxxxxxxx> > Cc: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> > > 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 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel