[PATCH v3 0/3] drm/imx: Add active plane reconfiguration support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch adds active plane reconfiguration support for imx-drm.
This may fixes some mode setting failure issues which were introduced
by imx-drm atomic conversion patch set.  The main idea is to disable the
plane in question in CRTC's disable operation and then the drm atomic
core will enable it again automatically.

Daniel,

As we discussed on irc, using disable_planes_on_crtc() is a bit invasive.
So, this set implements the similar logic in imx-drm CRTC's ->atomic_disable
callback.

v2->v3:
* Disable all appropriate affected planes(when necessary) in CRTC's
  ->atomic_disable callback, but not in each plane's ->atomic_update callback,
  as suggested by Daniel Vetter.
* +Cc Lucas Stach, as he tested the patch v2.

v1->v2:
* Do not reject reconfiguring an active overlay plane.

Liu Ying (3):
  drm/atomic-helper: Add atomic_disable CRTC helper callback
  drm/imx: ipuv3-crtc: Use the callback ->atomic_disable instead of
    ->disable
  drm/imx: Add active plane reconfiguration support

 drivers/gpu/drm/drm_atomic_helper.c      |  2 ++
 drivers/gpu/drm/imx/imx-drm-core.c       | 26 +++++++++++++++++++++++++-
 drivers/gpu/drm/imx/ipuv3-crtc.c         | 31 +++++++++++++++++++++++++++++--
 drivers/gpu/drm/imx/ipuv3-plane.c        | 21 ++++++++++++++-------
 include/drm/drm_modeset_helper_vtables.h | 14 ++++++++++++++
 5 files changed, 84 insertions(+), 10 deletions(-)

-- 
2.7.4

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux