lkml.org 
[lkml]   [2023]   [Jul]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 11/11] drm/vc4: tests: pv-muxing: Document test scenario
    We've had a couple of tests that weren't really obvious, nor did they
    document what they were supposed to test. Document that to make it
    hopefully more obvious.

    Signed-off-by: Maxime Ripard <mripard@kernel.org>
    ---
    drivers/gpu/drm/vc4/tests/vc4_test_pv_muxing.c | 22 ++++++++++++++++++++++
    1 file changed, 22 insertions(+)

    diff --git a/drivers/gpu/drm/vc4/tests/vc4_test_pv_muxing.c b/drivers/gpu/drm/vc4/tests/vc4_test_pv_muxing.c
    index 5f9f5626329d..61622e951031 100644
    --- a/drivers/gpu/drm/vc4/tests/vc4_test_pv_muxing.c
    +++ b/drivers/gpu/drm/vc4/tests/vc4_test_pv_muxing.c
    @@ -845,6 +845,13 @@ static void drm_test_vc5_pv_muxing_bugs_subsequent_crtc_enable(struct kunit *tes
    KUNIT_EXPECT_NE(test, hdmi0_channel, hdmi1_channel);
    }

    +/*
    + * This test makes sure that we never change the FIFO of an active HVS
    + * channel if we disable a FIFO with a lower index.
    + *
    + * Doing so would result in a FIFO stall and would disrupt an output
    + * supposed to be unaffected by the commit.
    + */
    static void drm_test_vc5_pv_muxing_bugs_stable_fifo(struct kunit *test)
    {
    struct drm_modeset_acquire_ctx *ctx;
    @@ -924,6 +931,21 @@ static void drm_test_vc5_pv_muxing_bugs_stable_fifo(struct kunit *test)
    }
    }

    +/*
    + * Test that if we affect a single output, only the CRTC state of that
    + * output will be pulled in the global atomic state.
    + *
    + * This is relevant for two things:
    + *
    + * - If we don't have that state at all, we are unlikely to affect the
    + * FIFO muxing. This is somewhat redundant with
    + * drm_test_vc5_pv_muxing_bugs_stable_fifo()
    + *
    + * - KMS waits for page flips to occur on all the CRTC found in the
    + * CRTC state. Since the CRTC is unaffected, we would over-wait, but
    + * most importantly run into corner cases like waiting on an
    + * inactive CRTC that never completes.
    + */
    static void
    drm_test_vc5_pv_muxing_bugs_subsequent_crtc_enable_too_many_crtc_state(struct kunit *test)
    {
    --
    2.41.0

    \
     
     \ /
      Last update: 2023-07-10 09:49    [W:4.549 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site