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
next prev parent 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