From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
To: dri-devel@lists.freedesktop.org
Cc: David Airlie <airlied@linux.ie>,
intel-gfx@lists.freedesktop.org,
Daniel Vetter <daniel.vetter@intel.com>
Subject: [PATCH 01/16] drm/simple-kms-helper: Fix the check for the mismatch between plane and CRTC enabled.
Date: Wed, 12 Jul 2017 10:13:29 +0200 [thread overview]
Message-ID: <20170712081344.25495-2-maarten.lankhorst@linux.intel.com> (raw)
In-Reply-To: <20170712081344.25495-1-maarten.lankhorst@linux.intel.com>
You can enable the CRTC and without adding the plane to the state and
it will succeed. This should be prevented in the crtc check instead of
the plane check, because the plane check may never run for atomic
enable, but the crtc check always will.
This is based on a similar check in vmwgfx.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Daniel Vetter <daniel.vetter@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Sean Paul <seanpaul@chromium.org>
Cc: David Airlie <airlied@linux.ie>
---
drivers/gpu/drm/drm_simple_kms_helper.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/drm_simple_kms_helper.c b/drivers/gpu/drm/drm_simple_kms_helper.c
index 98250854af75..39c203ad59db 100644
--- a/drivers/gpu/drm/drm_simple_kms_helper.c
+++ b/drivers/gpu/drm/drm_simple_kms_helper.c
@@ -37,6 +37,13 @@ static const struct drm_encoder_funcs drm_simple_kms_encoder_funcs = {
static int drm_simple_kms_crtc_check(struct drm_crtc *crtc,
struct drm_crtc_state *state)
{
+ bool has_primary = state->plane_mask &
+ BIT(drm_plane_index(crtc->primary));
+
+ /* We always want to have an active plane with an active CRTC */
+ if (has_primary != state->enable)
+ return -EINVAL;
+
return drm_atomic_add_affected_planes(state->state, crtc);
}
@@ -90,9 +97,6 @@ static int drm_simple_kms_plane_atomic_check(struct drm_plane *plane,
pipe = container_of(plane, struct drm_simple_display_pipe, plane);
crtc_state = drm_atomic_get_new_crtc_state(plane_state->state,
&pipe->crtc);
- if (crtc_state->enable != !!plane_state->crtc)
- return -EINVAL; /* plane must match crtc enable state */
-
if (!crtc_state->enable)
return 0; /* nothing to check when disabling or disabled */
--
2.11.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2017-07-12 8:13 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-12 8:13 [PATCH 00/16] drm/atomic: Remove deprecated atomic iterator macros Maarten Lankhorst
2017-07-12 8:13 ` Maarten Lankhorst [this message]
2017-07-12 9:01 ` [PATCH 01/16] drm/simple-kms-helper: Fix the check for the mismatch between plane and CRTC enabled Daniel Vetter
2017-07-12 8:13 ` [PATCH 02/16] drm/atomic: Use the correct iterator macro in atomic_remove_fb Maarten Lankhorst
2017-07-12 9:01 ` Daniel Vetter
2017-07-12 8:13 ` [PATCH 03/16] drm/atomic: Use the new helpers in drm_atomic_helper_disable_all() Maarten Lankhorst
2017-07-12 9:03 ` Daniel Vetter
2017-07-12 8:13 ` [PATCH 04/16] drm/atomic: Use new iterator macros in drm_atomic_helper_wait_for_flip_done Maarten Lankhorst
2017-07-12 9:07 ` [Intel-gfx] " Daniel Vetter
2017-07-12 8:13 ` [PATCH 05/16] drm/vmwgfx: Make check_modeset() use the new atomic iterator macros Maarten Lankhorst
2017-07-12 8:33 ` Sinclair Yeh
2017-07-12 9:09 ` [Intel-gfx] " Daniel Vetter
2017-07-12 9:11 ` Sinclair Yeh
2017-07-12 8:13 ` [PATCH 06/16] drm/i915: Use correct iterator macro Maarten Lankhorst
2017-07-12 9:10 ` Daniel Vetter
2017-07-12 8:13 ` [PATCH 07/16] drm/rcar-du: Use new iterator macros Maarten Lankhorst
2017-07-12 9:15 ` Daniel Vetter
2017-07-12 10:43 ` [PATCH v2 07/16] drm/rcar-du: Use new iterator macros, v2 Maarten Lankhorst
2017-07-12 8:13 ` [PATCH 08/16] drm/atmel-hlcdec: Use for_each_new_connector_in_state Maarten Lankhorst
2017-07-12 9:17 ` Daniel Vetter
2017-07-12 9:22 ` Boris Brezillon
2017-07-12 8:13 ` [PATCH 09/16] drm/rockchip: Use for_each_oldnew_plane_in_state in vop_crtc_atomic_flush Maarten Lankhorst
2017-07-12 9:21 ` Daniel Vetter
2017-07-12 9:41 ` Mark yao
2017-07-12 8:13 ` [PATCH 10/16] drm/omapdrm: Fix omap_atomic_wait_for_completion Maarten Lankhorst
2017-07-12 9:23 ` Daniel Vetter
2017-07-12 8:13 ` [PATCH 11/16] drm/mali: Use new atomic iterator macros Maarten Lankhorst
2017-07-12 9:25 ` [Intel-gfx] " Daniel Vetter
2017-07-12 9:44 ` Liviu Dudau
2017-07-12 10:00 ` Maarten Lankhorst
2017-07-12 10:06 ` Liviu Dudau
2017-07-12 8:13 ` [PATCH 12/16] drm/imx: Use " Maarten Lankhorst
2017-07-12 9:26 ` Daniel Vetter
2017-07-12 10:00 ` Philipp Zabel
2017-07-12 8:13 ` [PATCH 13/16] drm/mediatek: Convert to new " Maarten Lankhorst
2017-07-12 9:45 ` Daniel Vetter
2017-07-13 16:00 ` Maarten Lankhorst
2017-07-12 10:01 ` Philipp Zabel
[not found] ` <20170712081344.25495-1-maarten.lankhorst-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2017-07-12 8:13 ` [PATCH 14/16] drm/msm: Convert to use " Maarten Lankhorst
2017-07-12 9:48 ` [Intel-gfx] " Daniel Vetter
[not found] ` <20170712094823.2akjrev3v7ckxb7b-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2017-07-12 10:45 ` [PATCH 14/16] drm/msm: Convert to use new iterator macros, v2 Maarten Lankhorst
[not found] ` <de5e7892-71a0-d160-6619-e8267d793897-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2017-07-19 9:25 ` Archit Taneja
2017-07-12 8:13 ` [PATCH 15/16] drm/nouveau: Convert nouveau to use new iterator macros Maarten Lankhorst
2017-07-13 12:33 ` [Intel-gfx] " Daniel Vetter
2017-07-13 13:51 ` Maarten Lankhorst
2017-07-12 8:13 ` [PATCH 16/16] drm/atomic: Remove deprecated accessor macros Maarten Lankhorst
2017-07-12 9:50 ` Daniel Vetter
2017-07-12 11:48 ` Maarten Lankhorst
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=20170712081344.25495-2-maarten.lankhorst@linux.intel.com \
--to=maarten.lankhorst@linux.intel.com \
--cc=airlied@linux.ie \
--cc=daniel.vetter@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox