So we should remove the can_update_disabled parameter, and set it to true in the drm_plane_helper_check_update callback?
I am still learning the atomic world, pls forgive if I don't understand it well On Mon, Jul 13, 2015 at 3:17 PM, Maarten Lankhorst < maarten.lankhorst at linux.intel.com> wrote: > Op 13-07-15 om 09:12 schreef Maarten Lankhorst: > > Op 13-07-15 om 02:21 schreef John Hunter: > >> From: Zhao Junwang <zhjwpku at gmail.com> > >> > >> Cc: Daniel Vetter <daniel.vetter at ffwll.ch> > >> Signed-off-by: Zhao Junwang <zhjwpku at gmail.com> > >> --- > >> drivers/gpu/drm/drm_atomic_helper.c | 55 > +++++++++++++++++++++++++++++++++++ > >> include/drm/drm_atomic_helper.h | 7 +++++ > >> 2 files changed, 62 insertions(+) > >> > >> diff --git a/drivers/gpu/drm/drm_atomic_helper.c > b/drivers/gpu/drm/drm_atomic_helper.c > >> index 536ae4d..3d94ff8 100644 > >> --- a/drivers/gpu/drm/drm_atomic_helper.c > >> +++ b/drivers/gpu/drm/drm_atomic_helper.c > >> @@ -1336,6 +1336,61 @@ void drm_atomic_helper_swap_state(struct > drm_device *dev, > >> EXPORT_SYMBOL(drm_atomic_helper_swap_state); > >> > >> /** > >> + * drm_atomic_helper_plane_check_update > >> + * @plane: plane object to update > > == plane_state->plane, so can be removed > >> + * @state: drm plane state > > rename to plane_state > >> + * @min_scale: minimum @src:@dest scaling factor in 16.16 fixed point > >> + * @max_scale: maximum @src:@dest scaling factor in 16.16 fixed point > >> + * @can_position: is it legal to position the plane such that it > >> + * doesn't cover the entire crtc? This will generally > >> + * only be false for primary planes. > >> + * @can_update_disabled: can the plane be updated while the crtc > >> + * is disabled? > >> + * > > If you look carefully at drm_plane_helper_check_update, > can_update_disabled will be a noop, > > so remove this parameter. > > > > plane_state->crtc != NULL iff plane_state->fb != NULL > > > Oops, should check harder before I hit send. You can disable a crtc with > planes attached, but the clip > will be bogus in that case. When !crtc->enable the clip will be set { 0, > 0, 0, 0 }, hiding the plane. > > There's still no need for can_update_disabled in the atomic world though, > the plane state will be properly recalculated during a modeset. > If you don't want to update a plane while a crtc is disabled, just don't > update it in your commit function. > -- Best regards Junwang Zhao Microprocessor Research and Develop Center Department of Computer Science &Technology Peking University Beijing, 100871, PRC -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150713/c892a78b/attachment.html>