public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Thomas Wood <thomas.wood@intel.com>
Cc: Intel Graphics Development <intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH i-g-t 6/6] tests/kms_chv_cursor_fail: Add a test to exercise CHV pipe C cursor fail
Date: Mon, 4 Jan 2016 17:59:05 +0200	[thread overview]
Message-ID: <20160104155905.GD4437@intel.com> (raw)
In-Reply-To: <CANkqdn0gZtrFuBF8=a59FeoNthpGt_Q8kXkbnzZK9pRyZ-RCQA@mail.gmail.com>

On Mon, Dec 21, 2015 at 10:42:53AM +0000, Thomas Wood wrote:
> On 18 December 2015 at 17:25,  <ville.syrjala@linux.intel.com> wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> > The test tries to anger CHV pipe C cursor by walking the edges of the
> > screen while moving the cursor across the screen edge.
> >
> > The actual hw issue only occurs on pipe C, and only on the left screen
> > edge. The testcase can walk all the edges though, and on all pipes, just
> > so I could make sure the failure doesn't occur there.
> >
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > ---
> >  tests/Makefile.sources      |   1 +
> >  tests/kms_chv_cursor_fail.c | 425 ++++++++++++++++++++++++++++++++++++++++++++
> >  2 files changed, 426 insertions(+)
> >  create mode 100644 tests/kms_chv_cursor_fail.c
> >
> > diff --git a/tests/Makefile.sources b/tests/Makefile.sources
> > index d5940388c483..104ed2be83ed 100644
> > --- a/tests/Makefile.sources
> > +++ b/tests/Makefile.sources
> > @@ -68,6 +68,7 @@ TESTS_progs_M = \
> >         gem_write_read_ring_switch \
> >         kms_addfb_basic \
> >         kms_atomic \
> > +       kms_chv_cursor_fail \
> >         kms_cursor_crc \
> >         kms_draw_crc \
> >         kms_fbc_crc \
> > diff --git a/tests/kms_chv_cursor_fail.c b/tests/kms_chv_cursor_fail.c
> > new file mode 100644
> > index 000000000000..2ccdd4106597
> > --- /dev/null
> > +++ b/tests/kms_chv_cursor_fail.c
<snip>
> > +int main(int argc, char **argv)
> > +{
> > +       static const struct option long_opts[] = {
> > +                { .name = "colored", .val = 'c' },
> > +                { .name = "disable", .val = 'd'},
> > +                { .name = "jump", .val = 'j' },
> > +                {}
> > +        };
> > +        static const char *help_str =
> > +               "  --colored\t\tUse a colored cursor (disables CRC checks)\n"
> > +               "  --disable\t\tDisable the cursor between each step\n"
> > +               "  --jump\t\tJump the cursor to middle of the screen between each step)\n";
> > +
> > +       igt_subtest_init_parse_opts(&argc, argv, "", long_opts, help_str,
> > +                                    opt_handler, &data);
> > +
> > +       igt_skip_on_simulation();
> > +
> > +       igt_fixture {
> > +               int ret;
> > +
> > +               data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
> > +
> > +               data.devid = intel_get_drm_devid(data.drm_fd);
> 
> Should there be an igt_require(IS_CHERRYVIEW(data.devid)) check here?

The test can be run on any hardware.

> 
> 
> > +
> > +               ret = drmGetCap(data.drm_fd, DRM_CAP_CURSOR_WIDTH, &max_curw);
> > +               igt_assert(ret == 0 || errno == EINVAL);
> > +               /* Not making use of cursor_height since it is same as width, still reading */
> > +               ret = drmGetCap(data.drm_fd, DRM_CAP_CURSOR_HEIGHT, &max_curh);
> > +               igt_assert(ret == 0 || errno == EINVAL);
> > +
> > +               kmstest_set_vt_graphics_mode();
> > +
> > +               igt_require_pipe_crc();
> > +
> > +               igt_display_init(&data.display, data.drm_fd);
> > +       }
> > +
> > +       for (data.curw = 64; data.curw <= 256; data.curw *= 2) {
> > +               data.curh = data.curw;
> > +               for (data.pipe = PIPE_A; data.pipe <= PIPE_C; data.pipe++) {
> 
> This test is just for pipes A and B?

A,B,C

> 
> 
> > +                       igt_subtest_f("pipe-%s-%dx%d-left-edge",
> > +                                     kmstest_pipe_name(data.pipe),
> > +                                     data.curw, data.curh) {
> > +                               igt_require(data.curw <= max_curw && data.curh <= max_curh);
> > +                               test_crtc(&data, EDGE_LEFT);
> > +                       }
> > +                       igt_subtest_f("pipe-%s-%dx%d-right-edge",
> > +                                     kmstest_pipe_name(data.pipe),
> > +                                     data.curw, data.curh) {
> > +                               igt_require(data.curw <= max_curw && data.curh <= max_curh);
> > +                               test_crtc(&data, EDGE_RIGHT);
> > +                       }
> > +                       igt_subtest_f("pipe-%s-%dx%d-top-edge",
> > +                                     kmstest_pipe_name(data.pipe),
> > +                                     data.curw, data.curh) {
> > +                               igt_require(data.curw <= max_curw && data.curh <= max_curh);
> > +                               test_crtc(&data, EDGE_TOP);
> > +                       }
> > +                       igt_subtest_f("pipe-%s-%dx%d-bottom-edge",
> > +                                     kmstest_pipe_name(data.pipe),
> > +                                     data.curw, data.curh) {
> > +                               igt_require(data.curw <= max_curw && data.curh <= max_curh);
> > +                               test_crtc(&data, EDGE_BOTTOM);
> > +                       }
> > +               }
> > +       }
> > +
> > +       igt_fixture
> > +               igt_display_fini(&data.display);
> > +
> > +       igt_exit();
> > +}
> > --
> > 2.4.10
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

      reply	other threads:[~2016-01-04 15:59 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-18 17:25 [PATCH i-g-t 1/6] lib: Make 'extra_long_opts' const ville.syrjala
2015-12-18 17:25 ` [PATCH i-g-t 2/6] lib: Extract ssme common fb create+fill methods into helpers ville.syrjala
2015-12-21 10:42   ` Thomas Wood
2016-01-04 16:23     ` Ville Syrjälä
2015-12-18 17:25 ` [PATCH i-g-t 3/6] lib: Use igt_assert_eq() to check for crc component count ville.syrjala
2015-12-21 15:55   ` Daniel Vetter
2015-12-18 17:25 ` [PATCH i-g-t 4/6] lib: Add igt_pipe_crc_new_nonblock() ville.syrjala
2015-12-21 15:53   ` Daniel Vetter
2016-01-04 16:46     ` Ville Syrjälä
2015-12-18 17:25 ` [PATCH i-g-t 5/6] tests/kms_pipe_crc_basic: Add tests for O_NONBLOCK CRC reads ville.syrjala
2015-12-18 17:25 ` [PATCH i-g-t 6/6] tests/kms_chv_cursor_fail: Add a test to exercise CHV pipe C cursor fail ville.syrjala
2015-12-21 10:42   ` Thomas Wood
2016-01-04 15:59     ` Ville Syrjälä [this message]

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=20160104155905.GD4437@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=thomas.wood@intel.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