All of lore.kernel.org
 help / color / mirror / Atom feed
From: Liu Ying <gnuiyl@gmail.com>
To: dri-devel@lists.freedesktop.org
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
	Peter Senna Tschudin <peter.senna@gmail.com>,
	Russell King <linux@armlinux.org.uk>
Subject: [PATCH v4 0/7] drm/imx: Add active plane reconfiguration support
Date: Fri, 26 Aug 2016 15:30:37 +0800	[thread overview]
Message-ID: <1472196644-30563-1-git-send-email-gnuiyl@gmail.com> (raw)

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 atomic_disable operation and then the drm
atomic core will enable it again automatically.

v3->v4:
* Change the bool active_only parameter of commit_planes() to an uint32_t
  parameter named 'flags' and add two flags - DRM_PLANE_COMMIT_ACTIVE_ONLY
  and DRM_PLANE_COMMIT_NO_DISABLE_AFTER_MODESET.  This way, the drm atomic
  core is able to skip the atomic_disable call for the planes which are
  committed with the NO_DISABLE_AFTER_MODESET flag set.
* Fix the helper disable_planes_on_crtc(), which is needed for CRTC's
  atomic_disable callback to disable planes.
* Improve kernel-doc of CRTC's atomic_disable callback to address Daniel
  Vetter's comment.
* Do not wait for DMFC FIFO to clear to avoid timeout warning, as the
  precedure to disable display channel is changed slightly after the
  NO_DISABLE_AFTER_MODESET flag is used.

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 (7):
  drm/atomic-helper: Add atomic_disable CRTC helper callback
  drm/atomic-helper: Disable appropriate planes in
    disable_planes_on_crtc()
  drm/atomic-helper: Add NO_DISABLE_AFTER_MODESET flag support for plane
    commit
  gpu: ipu-v3: Do not wait for DMFC FIFO to clear when disabling DMFC
    channel
  drm/imx: ipuv3-crtc: Use the callback ->atomic_disable instead of
    ->disable
  drm/imx: Use DRM_PLANE_COMMIT_NO_DISABLE_AFTER_MODESET flag
  drm/imx: Add active plane reconfiguration support

 drivers/gpu/drm/arm/malidp_drv.c             |  3 +-
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c |  2 +-
 drivers/gpu/drm/drm_atomic_helper.c          | 64 +++++++++++++++++++---------
 drivers/gpu/drm/exynos/exynos_drm_drv.c      |  2 +-
 drivers/gpu/drm/imx/imx-drm-core.c           | 30 ++++++++++++-
 drivers/gpu/drm/imx/ipuv3-crtc.c             |  8 +++-
 drivers/gpu/drm/imx/ipuv3-plane.c            | 21 ++++++---
 drivers/gpu/drm/mediatek/mtk_drm_drv.c       |  6 ++-
 drivers/gpu/drm/msm/msm_atomic.c             |  2 +-
 drivers/gpu/drm/omapdrm/omap_drv.c           |  2 +-
 drivers/gpu/drm/rcar-du/rcar_du_kms.c        |  3 +-
 drivers/gpu/drm/rockchip/rockchip_drm_fb.c   |  3 +-
 drivers/gpu/drm/sti/sti_drv.c                |  2 +-
 drivers/gpu/drm/tegra/drm.c                  |  3 +-
 drivers/gpu/drm/tilcdc/tilcdc_drv.c          |  2 +-
 drivers/gpu/drm/vc4/vc4_kms.c                |  2 +-
 drivers/gpu/drm/virtio/virtgpu_display.c     |  3 +-
 drivers/gpu/ipu-v3/ipu-dmfc.c                | 18 +-------
 include/drm/drm_atomic_helper.h              | 11 +++--
 include/drm/drm_modeset_helper_vtables.h     | 24 +++++++++++
 20 files changed, 146 insertions(+), 65 deletions(-)

-- 
2.7.4

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

             reply	other threads:[~2016-08-26  7:30 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-26  7:30 Liu Ying [this message]
2016-08-26  7:30 ` [PATCH v4 1/7] drm/atomic-helper: Add atomic_disable CRTC helper callback Liu Ying
2016-08-26  7:30 ` [PATCH v4 2/7] drm/atomic-helper: Disable appropriate planes in disable_planes_on_crtc() Liu Ying
2016-08-26  7:30 ` [PATCH v4 3/7] drm/atomic-helper: Add NO_DISABLE_AFTER_MODESET flag support for plane commit Liu Ying
2016-08-29  8:25   ` Daniel Vetter
2016-08-29  8:50     ` Ying Liu
2016-08-26  7:30 ` [PATCH v4 4/7] gpu: ipu-v3: Do not wait for DMFC FIFO to clear when disabling DMFC channel Liu Ying
2016-08-29  8:46   ` Philipp Zabel
2016-08-29  9:36     ` Ying Liu
2016-08-29  9:46       ` Philipp Zabel
2016-08-29  9:57         ` Ying Liu
2016-08-29 10:34           ` Philipp Zabel
2016-08-26  7:30 ` [PATCH v4 5/7] drm/imx: ipuv3-crtc: Use the callback ->atomic_disable instead of ->disable Liu Ying
2016-08-26  7:30 ` [PATCH v4 6/7] drm/imx: Use DRM_PLANE_COMMIT_NO_DISABLE_AFTER_MODESET flag Liu Ying
2016-08-26  7:30 ` [PATCH v4 7/7] drm/imx: Add active plane reconfiguration support Liu Ying
2016-08-29 10:53 ` [PATCH v4 0/7] " Philipp Zabel
2016-08-29 14:59   ` Philipp Zabel
2016-08-29 15:44     ` Daniel Vetter
2016-09-14 11:05       ` Philipp Zabel
2016-09-19  7:22         ` Daniel Vetter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1472196644-30563-1-git-send-email-gnuiyl@gmail.com \
    --to=gnuiyl@gmail.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux@armlinux.org.uk \
    --cc=peter.senna@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.