[PATCH] drm/atomic-helper: Add option to update planes only on active crtc
Daniel Vetter
daniel at ffwll.ch
Tue Sep 8 04:50:37 PDT 2015
On Tue, Sep 08, 2015 at 01:10:58PM +0200, Thierry Reding wrote:
> On Tue, Sep 08, 2015 at 12:02:07PM +0200, Daniel Vetter wrote:
> > With drivers supporting runtime pm it's generally not a good idea to
> > touch the hardware when it's off. Add an option to the commit_planes
> > helper to support this case.
> >
> > Note that the helpers already add all planes on a crtc when a modeset
> > happens, hence plane updates will not be lost if drivers set this to
> > true.
> >
> > v2: Check for NULL state->crtc before chasing the pointer. Also check
> > both old and new crtc if there's a switch. Finally just outright
> > disallow switching crtcs for a plane if the plane is in active use, on
> > most hardware that doesn't make sense.
> >
> > v3: Since commit_planes(active_only = true) is for enabling things
> > only after all the crtc are on we should only look at the new crtc to
> > decide whether to call the plane hooks - if the current CRTC isn't on
> > then skip. If the old crtc (when moving a plane) went down then the
> > plane should have been disabled as part of the pipe shutdown work
> > already. For which there's currently no helper really unfortunately.
> > Also move the check for wether a plane gets a new CRTC assigned while
> > still in active use out of this patch.
> >
> > v4: Rebase over exynos changes.
> >
> > Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> > Cc: Thierry Reding <treding at nvidia.com>
> > Cc: Laurent Pinchart <laurent.pinchart+renesas at ideasonboard.com>
> > Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
> > ---
> > drivers/gpu/drm/drm_atomic_helper.c | 20 ++++++++++++++++++--
> > drivers/gpu/drm/exynos/exynos_drm_drv.c | 2 +-
> > 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 | 2 +-
> > drivers/gpu/drm/sti/sti_drv.c | 2 +-
> > drivers/gpu/drm/tegra/drm.c | 2 +-
> > include/drm/drm_atomic_helper.h | 3 ++-
> > 8 files changed, 26 insertions(+), 9 deletions(-)
>
> Reviewed-by: Thierry Reding <treding at nvidia.com>
> Tested-by: Thierry Reding <treding at nvidia.com>
Applied to drm-misc, thanks for the review.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the dri-devel
mailing list