public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Marius Vlad <marius.c.vlad@intel.com>
To: Robert Foss <robert.foss@collabora.com>
Cc: daniel.stone@collabora.com, jani.nikula@intel.com,
	daniel.vetter@ffwll.ch, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH i-g-t v5 7/7] kms_flip: Change __wait_for_vblank to use helper function.
Date: Wed, 18 May 2016 01:37:37 +0300	[thread overview]
Message-ID: <20160517223736.GA6483@mcvlad-wk.rb.intel.com> (raw)
In-Reply-To: <573B2F22.4090804@collabora.com>


[-- Attachment #1.1: Type: text/plain, Size: 2833 bytes --]

On Tue, May 17, 2016 at 10:48:02AM -0400, Robert Foss wrote:
> 
> 
> On 2016-05-17 06:32 AM, Marius Vlad wrote:
> >On Mon, May 16, 2016 at 09:38:32AM -0400, robert.foss@collabora.com wrote:
> >>From: Robert Foss <robert.foss@collabora.com>
> >>
> >>Change __wait_for_vblank() to use kmstest_get_vbl_flag() helper function.
> >>
> >>Signed-off-by: Robert Foss <robert.foss@collabora.com>
> >>---
> >>  tests/kms_flip.c | 8 ++++----
> >>  1 file changed, 4 insertions(+), 4 deletions(-)
> >>
> >>diff --git a/tests/kms_flip.c b/tests/kms_flip.c
> >>index eda2fcc..0ecca07 100644
> >>--- a/tests/kms_flip.c
> >>+++ b/tests/kms_flip.c
> >>@@ -481,15 +481,15 @@ static int __wait_for_vblank(unsigned int flags, int crtc_idx,
> >>  {
> >>  	drmVBlank wait_vbl;
> >>  	int ret;
> >>-	unsigned crtc_idx_mask;
> >>+	uint32_t pipe_id_flag;
> >>  	bool event = !(flags & TEST_VBLANK_BLOCK);
> >>
> >>  	memset(&wait_vbl, 0, sizeof(wait_vbl));
> >>
> >>-	crtc_idx_mask = crtc_idx << DRM_VBLANK_HIGH_CRTC_SHIFT;
> >>-	igt_assert(!(crtc_idx_mask & ~DRM_VBLANK_HIGH_CRTC_MASK));
> >If crtc_idx is 1 (pipe B), crtc_idx_mask = (1 << DRM_VBLANK_HIGH_CRTC_SHIFT) = 2.
> >>+	pipe_id_flag = kmstest_get_vbl_flag(crtc_idx);
> >>+	igt_assert(!(pipe_id_flag & ~DRM_VBLANK_HIGH_CRTC_MASK));
> >If crtc_idx is 1 (pipe B), kmstest_get_vbl_flag(crtc_idx) = DRM_VBLANK_SECONDARY = 0x20000000
> >
> >And the assertion fails as !(0x20000000 & ~0x0000003e) = 0.
> >
> >Should kmstest_get_vbl_flag() always return pipe_id << 1?
> 
> From re-reading the pipe id parsing code in drm_irq.c drm_wait_vblank()
> it would seem to me that the assertion is incorrect, specifically for the
> case of _DRM_VBLANK_SECONDARY.
> 
> Supplying the flag _DRM_VBLANK_SECONDARY and setting the high crtc id field
> to 1 fboth seem to be valid ways to communicate the same thing.
Indeed.
> 
> 	flags = vblwait->request.type & _DRM_VBLANK_FLAGS_MASK;
> 	high_pipe = (vblwait->request.type &_DRM_VBLANK_HIGH_CRTC_MASK);
> 	if (high_pipe)
> 		pipe = high_pipe >> _DRM_VBLANK_HIGH_CRTC_SHIFT;
> 	else
> 		pipe = flags & _DRM_VBLANK_SECONDARY ? 1 : 0;
> 
> 
> Maybe adding correct and more thorough assertion to kmstest_get_vbl_flag()
> and removing the failing assertion is the way forward.
Sounds reasonable to me, though I assume that the assertion had/has
some point in determining that you have a valid crtc_idx.
> 
> >
> >>
> >>-	wait_vbl.request.type = crtc_idx_mask;
> >>+	wait_vbl.request.type = pipe_id_flag;
> >>  	if (flags & TEST_VBLANK_ABSOLUTE)
> >>  		wait_vbl.request.type |= DRM_VBLANK_ABSOLUTE;
> >>  	else
> >>--
> >>2.7.4
> >>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2016-05-17 22:34 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-16 13:38 [PATCH i-g-t v5 0/7] kms_flip_event_leak and kms_vblank fixes for robert.foss
2016-05-16 13:38 ` [PATCH i-g-t v5 1/7] lib/igt_kms: Add support for up to 10 planes robert.foss
2016-05-16 13:38 ` [PATCH i-g-t v5 2/7] lib/igt_kms: Fix plane counting in igt_display_init robert.foss
2016-05-16 13:38 ` [PATCH i-g-t v5 3/7] lib/igt_kms: Switch to verbose assert robert.foss
2016-05-16 13:38 ` [PATCH i-g-t v5 4/7] lib/igt_kms: Added pipe_id_to_vbl_flag() to igt_kms robert.foss
2016-05-16 13:38 ` [PATCH i-g-t v5 5/7] kms_vblank: Switch from using crtc0 statically to explicitly setting mode robert.foss
2016-05-16 13:38 ` [PATCH i-g-t v5 6/7] igt_kms: Change igt_wait_for_vblank to use helper function robert.foss
2016-05-16 13:38 ` [PATCH i-g-t v5 7/7] kms_flip: Change __wait_for_vblank " robert.foss
2016-05-17 10:32   ` Marius Vlad
2016-05-17 14:48     ` Robert Foss
2016-05-17 22:37       ` Marius Vlad [this message]
2016-05-24 11:19 ` [PATCH i-g-t v5 0/7] kms_flip_event_leak and kms_vblank fixes for Marius Vlad
2016-05-24 13:20   ` Robert Foss

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=20160517223736.GA6483@mcvlad-wk.rb.intel.com \
    --to=marius.c.vlad@intel.com \
    --cc=daniel.stone@collabora.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@intel.com \
    --cc=robert.foss@collabora.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox