All of lore.kernel.org
 help / color / mirror / Atom feed
From: Swati Sharma <swati2.sharma@intel.com>
To: "Modem, Bhanuprakash" <bhanuprakash.modem@intel.com>,
	igt-dev@lists.freedesktop.org
Subject: Re: [igt-dev] [i-g-t v5 41/52] tests/i915/kms_cdclk: Add support for Bigjoiner
Date: Wed, 4 Jan 2023 12:34:13 +0530	[thread overview]
Message-ID: <90c30634-31cb-8c02-a265-bbc754c5b6cd@intel.com> (raw)
In-Reply-To: <a8ff2616-a5e5-d02a-75f3-8d0d25adc9f4@intel.com>



On 30-Dec-22 11:15 AM, Modem, Bhanuprakash wrote:
> On Thu-29-12-2022 02:58 pm, Swati Sharma wrote:
>> Hi Bhanu,
>>
>> The intention of cdclk test is to bump cdclk when we have transition
>> from low resolution to high resolution (this was tested)
>> Changes done in test_mode_transition_on_all_outputs, you have set
>> high resolution first followed by low resolution. Why?
> 
> I thought, we just need to check the clock by changing the resolution in 
> any order (high to low (or) high to low).
> 
> Also, realized this test is limited to 4K, hence we can drop this patch.
> 
> - Bhanu
> 
hmm..since we were validating on max 4K res panels in CI. We had 
restricted test for max 4K res. Now, if tests will be executed on
8K too; we need to modify test to consider max res. as 8K/4K 
accordingly. Though this shouldn't be in scope of this change.
>>
>> On 15-Nov-22 10:38 PM, Bhanuprakash Modem wrote:
>>> As many 2x tests are currently running on Pipe-A & B only, those
>>> tests will always SKIP if there is any 8K supported panel in the
>>> config. Instead of Skipping the test, add some intelligence to
>>> the subtest to identify the valid pipe/output combo to execute
>>> the subtest.
>>>
>>> V2: - Use updated helper name
>>>
>>> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
>>> ---
>>>   tests/i915/kms_cdclk.c | 93 +++++++++++++++++++++++-------------------
>>>   1 file changed, 51 insertions(+), 42 deletions(-)
>>>
>>> diff --git a/tests/i915/kms_cdclk.c b/tests/i915/kms_cdclk.c
>>> index 991a7c50..ce945623 100644
>>> --- a/tests/i915/kms_cdclk.c
>>> +++ b/tests/i915/kms_cdclk.c
>>> @@ -243,20 +243,17 @@ static void 
>>> test_mode_transition_on_all_outputs(data_t *data)
>>>       int debugfs_fd = data->debugfs_fd;
>>>       drmModeModeInfo *mode, *mode_hi, *mode_lo;
>>>       igt_output_t *output;
>>> -    int valid_outputs = 0;
>>>       int cdclk_ref, cdclk_new;
>>>       uint16_t width = 0, height = 0;
>>>       struct igt_fb fb;
>>>       igt_pipe_t *pipe;
>>>       igt_plane_t *plane;
>>> -    int i = 0, j = 0;
>>> +    enum pipe p, active_pipes[IGT_MAX_PIPES];
>>> +    int i = 0, active_pipe_count = 0;
>>>       do_cleanup_display(display);
>>>       igt_display_reset(display);
>>> -    for_each_connected_output(&data->display, output)
>>> -        valid_outputs++;
>>> -
>>>       for_each_connected_output(display, output) {
>>>           mode = igt_output_get_mode(output);
>>>           igt_assert(mode);
>>> @@ -269,52 +266,59 @@ static void 
>>> test_mode_transition_on_all_outputs(data_t *data)
>>>       igt_create_pattern_fb(data->drm_fd, width, height, 
>>> DRM_FORMAT_XRGB8888,
>>>                     DRM_FORMAT_MOD_LINEAR, &fb);
>>> -    i = 0;
>>> +
>>>       for_each_connected_output(display, output) {
>>> -        pipe = &display->pipes[i];
>>> -        plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>>> +        for_each_pipe(display, p) {
>>> +            mode = NULL;
>>> -        mode = NULL;
>>> +            igt_output_set_pipe(output, p);
>>> +            mode = igt_output_get_mode(output);
>>> +            igt_assert(mode);
>>> -        igt_output_set_pipe(output, i);
>>> -        mode = igt_output_get_mode(output);
>>> -        igt_assert(mode);
>>> +            mode_hi = get_highres_mode(output);
>>> +            igt_require(mode_hi != NULL);
>>> +
>>> +            igt_output_override_mode(output, mode_hi);
>>> +            if (!i915_pipe_output_combo_valid(display)) {
>>> +                igt_output_set_pipe(output, PIPE_NONE);
>>> +                continue;
>>> +            }
>>> -        mode_lo = get_lowres_mode(output);
>>> +            active_pipes[active_pipe_count++] = p;
>>> +            pipe = &display->pipes[p];
>>> +            plane = igt_pipe_get_plane_type(pipe, 
>>> DRM_PLANE_TYPE_PRIMARY);
>>> +            igt_plane_set_fb(plane, &fb);
>>> +            igt_fb_set_size(&fb, plane, mode_hi->hdisplay, 
>>> mode_hi->vdisplay);
>>> +            igt_plane_set_size(plane, mode_hi->hdisplay, 
>>> mode_hi->vdisplay);
>>> -        igt_output_override_mode(output, mode_lo);
>>> -        igt_plane_set_fb(plane, &fb);
>>> -        igt_fb_set_size(&fb, plane, mode_lo->hdisplay, 
>>> mode_lo->vdisplay);
>>> -        igt_plane_set_size(plane, mode_lo->hdisplay, 
>>> mode_lo->vdisplay);
>>> -        i++;
>>> +            break;
>>> +        }
>>>       }
>>>       igt_display_commit2(display, COMMIT_ATOMIC);
>>> -    cdclk_ref = get_current_cdclk_freq(debugfs_fd);
>>> +    cdclk_new = get_current_cdclk_freq(debugfs_fd);
>>> -    j = 0;
>>>       for_each_connected_output(display, output) {
>>> -        pipe = &display->pipes[j];
>>> -        plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>>> +        for (i = 0; i < active_pipe_count; i++) {
>>> +            pipe = &display->pipes[active_pipes[i]];
>>> +            plane = igt_pipe_get_plane_type(pipe, 
>>> DRM_PLANE_TYPE_PRIMARY);
>>> -        mode = NULL;
>>> +            mode = NULL;
>>> +            igt_output_set_pipe(output, i);
>>> +            mode = igt_output_get_mode(output);
>>> +            igt_assert(mode);
>>> -        igt_output_set_pipe(output, j);
>>> -        mode = igt_output_get_mode(output);
>>> -        igt_assert(mode);
>>> -
>>> -        mode_hi = get_highres_mode(output);
>>> -        igt_require(mode_hi != NULL);
>>> +            mode_lo = get_lowres_mode(output);
>>> -        igt_output_override_mode(output, mode_hi);
>>> -        igt_plane_set_fb(plane, &fb);
>>> -        igt_fb_set_size(&fb, plane, mode_hi->hdisplay, 
>>> mode_hi->vdisplay);
>>> -        igt_plane_set_size(plane, mode_hi->hdisplay, 
>>> mode_hi->vdisplay);
>>> -        j++;
>>> +            igt_output_override_mode(output, mode_lo);
>>> +            igt_plane_set_fb(plane, &fb);
>>> +            igt_fb_set_size(&fb, plane, mode_lo->hdisplay, 
>>> mode_lo->vdisplay);
>>> +            igt_plane_set_size(plane, mode_lo->hdisplay, 
>>> mode_lo->vdisplay);
>>> +        }
>>>       }
>>>       igt_display_commit2(display, COMMIT_ATOMIC);
>>> -    cdclk_new = get_current_cdclk_freq(debugfs_fd);
>>> +    cdclk_ref = get_current_cdclk_freq(debugfs_fd);
>>>       igt_info("CD clock frequency %d -> %d\n", cdclk_ref, cdclk_new);
>>>       /* cdclk should bump */
>>> @@ -332,13 +336,18 @@ static void run_cdclk_test(data_t *data, 
>>> uint32_t flags)
>>>       enum pipe pipe;
>>>       for_each_pipe_with_valid_output(display, pipe, output) {
>>> -        igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe), 
>>> output->name)
>>> -            if (igt_pipe_connector_valid(pipe, output)) {
>>> -                if (flags & TEST_PLANESCALING)
>>> -                    test_plane_scaling(data, pipe, output);
>>> -                if (flags & TEST_MODETRANSITION)
>>> -                    test_mode_transition(data, pipe, output);
>>> -            }
>>> +        igt_output_set_pipe(output, pipe);
>>> +        if (!i915_pipe_output_combo_valid(display)) {
>>> +            igt_output_set_pipe(output, PIPE_NONE);
>>> +            continue;
>>> +        }
>>> +
>>> +        igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe), 
>>> output->name) {
>>> +            if (flags & TEST_PLANESCALING)
>>> +                test_plane_scaling(data, pipe, output);
>>> +            if (flags & TEST_MODETRANSITION)
>>> +                test_mode_transition(data, pipe, output);
>>> +        }
>>>       }
>>>   }
>>
> 

-- 
~Swati Sharma

  parent reply	other threads:[~2023-01-04  7:04 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-15 17:08 [igt-dev] [i-g-t v5 00/52] Add IGT support for Bigjoiner Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 01/52] lib/igt_kms: Add a helper for valid pipe/output constraint Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 02/52] lib/igt_kms: Bigjoiner check in max_bpc constraint Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 03/52] tests/kms_async_flips: Add support for Bigjoiner Bhanuprakash Modem
2022-12-23  6:29   ` [igt-dev] [i-g-t v6 " Bhanuprakash Modem
2022-12-23  8:05     ` Karthik B S
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 04/52] tests/kms_atomic: " Bhanuprakash Modem
2022-12-28 18:30   ` Swati Sharma
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 05/52] tests/kms_atomic_interruptible: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 06/52] tests/kms_atomic_transition: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 07/52] tests/kms_color_helper: Helper to check Bigjoiner constraint Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 08/52] tests/kms_color: Add support for Bigjoiner Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 09/52] tests/chamelium/kms_color_chamelium: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 10/52] tests/kms_concurrent: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 11/52] tests/kms_content_protection: " Bhanuprakash Modem
2022-12-27  6:36   ` Karthik B S
2022-12-27 14:55     ` Modem, Bhanuprakash
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 12/52] tests/kms_cursor_crc: " Bhanuprakash Modem
2022-12-27  6:57   ` Thasleem, Mohammed
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 13/52] tests/kms_cursor_edge_walk: " Bhanuprakash Modem
2022-12-27  6:31   ` Thasleem, Mohammed
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 14/52] tests/kms_cursor_legacy: " Bhanuprakash Modem
2022-12-27 16:24   ` Thasleem, Mohammed
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 15/52] tests/kms_display_modes: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 16/52] tests/kms_dp_tiled_display: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 17/52] tests/kms_flip_event_leak: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 18/52] tests/kms_invalid_mode: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 19/52] tests/kms_lease: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 20/52] tests/kms_multipipe_modeset: Find the suitable mode instead of using default Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 21/52] tests/kms_pipe_crc_basic: Add support for Bigjoiner Bhanuprakash Modem
2022-12-27  6:24   ` Thasleem, Mohammed
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 22/52] tests/kms_plane: " Bhanuprakash Modem
2022-12-15 10:40   ` [igt-dev] [i-g-t v6 " Bhanuprakash Modem
2022-12-27  6:20     ` Karthik B S
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 23/52] tests/kms_plane_alpha_blend: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 24/52] tests/kms_plane_cursor: " Bhanuprakash Modem
2022-12-27  7:21   ` Sharma, Ananya
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 25/52] tests/kms_plane_lowres: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 26/52] tests/kms_plane_multiple: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 27/52] tests/kms_plane_scaling: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 28/52] tests/kms_prime: " Bhanuprakash Modem
2022-12-28  5:58   ` Sharma, Ananya
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 29/52] tests/kms_properties: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 30/52] tests/kms_rmfb: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 31/52] tests/kms_rotation_crc: " Bhanuprakash Modem
2022-12-23  8:23   ` B, Jeevan
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 32/52] tests/kms_scaling_modes: " Bhanuprakash Modem
2022-12-30 17:48   ` Swati Sharma
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 33/52] tests/kms_sequence: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 34/52] tests/kms_universal_plane: " Bhanuprakash Modem
2022-12-28 10:54   ` Sharma, Ananya
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 35/52] tests/kms_vblank: " Bhanuprakash Modem
2022-12-30 18:41   ` Swati Sharma
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 36/52] tests/kms_vrr: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 37/52] tests/i915/kms_big_fb: " Bhanuprakash Modem
2022-12-23  8:06   ` B, Jeevan
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 38/52] tests/i915/kms_big_joiner: Negative tests " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 39/52] tests/i915/kms_busy: Add support " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 40/52] tests/i915/kms_ccs: " Bhanuprakash Modem
2022-12-23  8:27   ` Karthik B S
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 41/52] tests/i915/kms_cdclk: " Bhanuprakash Modem
2022-12-29  9:28   ` Swati Sharma
2022-12-30  5:45     ` Modem, Bhanuprakash
2022-12-30 14:01       ` Swati Sharma
2023-01-04  7:04       ` Swati Sharma [this message]
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 42/52] tests/i915/kms_draw_crc: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 43/52] tests/i915/kms_fence_pin_leak: " Bhanuprakash Modem
2022-12-26 10:58   ` Sharma, Ananya
2022-12-27  8:58   ` Sharma, Ananya
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 44/52] tests/i915/kms_flip_scaled_crc: " Bhanuprakash Modem
2022-12-28 18:43   ` Swati Sharma
2022-12-29  5:02     ` Modem, Bhanuprakash
2022-12-29  5:17   ` [igt-dev] [i-g-t v6 " Bhanuprakash Modem
2022-12-30 14:06     ` Swati Sharma
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 45/52] tests/i915/kms_flip_tiling: " Bhanuprakash Modem
2022-12-23  8:11   ` B, Jeevan
2022-12-23  8:36     ` Modem, Bhanuprakash
2022-12-23  8:40   ` [igt-dev] [i-g-t v6 " Bhanuprakash Modem
2022-12-26  6:09     ` B, Jeevan
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 46/52] tests/i915/kms_frontbuffer_tracking: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 47/52] tests/i915/kms_mmap_write_crc: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 48/52] tests/i915/kms_psr2_sf: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 49/52] tests/i915/kms_psr2_su: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 50/52] tests/i915/kms_psr: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 51/52] tests/i915/kms_psr_stress_test: " Bhanuprakash Modem
2022-11-15 17:08 ` [igt-dev] [i-g-t v5 52/52] tests/i915/kms_pwrite_crc: " Bhanuprakash Modem
2022-11-15 20:21 ` [igt-dev] ✓ Fi.CI.BAT: success for Add IGT support for Bigjoiner (rev9) Patchwork
2022-11-16  3:08 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2022-12-15 12:18 ` [igt-dev] ✓ Fi.CI.BAT: success for Add IGT support for Bigjoiner (rev10) Patchwork
2022-12-16 13:08 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2022-12-23  7:12 ` [igt-dev] ✓ Fi.CI.BAT: success for Add IGT support for Bigjoiner (rev11) Patchwork
2022-12-23  9:29 ` [igt-dev] ✓ Fi.CI.BAT: success for Add IGT support for Bigjoiner (rev12) Patchwork
2022-12-23 10:37 ` [igt-dev] ✗ Fi.CI.IGT: failure for Add IGT support for Bigjoiner (rev11) Patchwork
2022-12-23 11:01 ` [igt-dev] ✓ Fi.CI.IGT: success for Add IGT support for Bigjoiner (rev12) Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2022-11-15 16:58 [igt-dev] [i-g-t v5 00/52] Add IGT support for Bigjoiner Bhanuprakash Modem
2022-11-15 16:59 ` [igt-dev] [i-g-t v5 41/52] tests/i915/kms_cdclk: Add " Bhanuprakash Modem

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=90c30634-31cb-8c02-a265-bbc754c5b6cd@intel.com \
    --to=swati2.sharma@intel.com \
    --cc=bhanuprakash.modem@intel.com \
    --cc=igt-dev@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.