* [igt-dev] [PATCH i-g-t v2 0/2] Fixed mode selection for MST modeset @ 2023-06-07 11:25 Mohammed Thasleem 2023-06-07 11:25 ` [igt-dev] [PATCH i-g-t v2 1/2] tests/kms_display_modes: Fixed mode selection for extended mode tests Mohammed Thasleem 2023-06-07 11:25 ` [igt-dev] [PATCH i-g-t v2 2/2] tests/i915/kms_cdclk: Fixed mode selection for MST modeset Mohammed Thasleem 0 siblings, 2 replies; 6+ messages in thread From: Mohammed Thasleem @ 2023-06-07 11:25 UTC (permalink / raw) To: igt-dev From: Swati Sharma <swati2.sharma@intel.com> This will find the connector mode combo that fits into the bandwidth when more than one monitor is connected. Mohammed Thasleem (2): tests/kms_display_modes: Fixed mode selection for extended mode tests tests/i915/kms_cdclk: Fixed mode selection for MST modeset tests/i915/kms_cdclk.c | 5 +++++ tests/kms_display_modes.c | 5 +++++ 2 files changed, 10 insertions(+) -- 2.25.1 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [igt-dev] [PATCH i-g-t v2 1/2] tests/kms_display_modes: Fixed mode selection for extended mode tests 2023-06-07 11:25 [igt-dev] [PATCH i-g-t v2 0/2] Fixed mode selection for MST modeset Mohammed Thasleem @ 2023-06-07 11:25 ` Mohammed Thasleem 2023-06-07 11:25 ` [igt-dev] [PATCH i-g-t v2 2/2] tests/i915/kms_cdclk: Fixed mode selection for MST modeset Mohammed Thasleem 1 sibling, 0 replies; 6+ messages in thread From: Mohammed Thasleem @ 2023-06-07 11:25 UTC (permalink / raw) To: igt-dev Added check on DP-MST and 4k panels when two moniters connected through MST. This will find the connector mode combo that fits into the bandwidth when more than one monitor is connected. Example: When two monitors connected through MST, the second monitor also tries to use the same mode. So two such modes may not fit into the link bandwidth. So, iterate through connected outputs & modes and find a combination of modes those fit into the link BW. v2: -Updated commit msg and description. (Bhanu) -Renamed restart with retry. (Bhanu) -Moved igt_pipe_crc_new before retry. (Bhanu) -Removed unrelated changes and new line. (Bhanu) -Minor changes. v3: Updated discription and added EINVAL check. v4: Removed EINVAL and ENOSPC checks. Added check for DP-MST and 4k panels. Updated discription. v5: Defined 4k display modes globally. v6: -Removed if loop checks. -Added igt override to avoid dp mst bw failure. v7: Rebased on tip. Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com> --- tests/kms_display_modes.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/kms_display_modes.c b/tests/kms_display_modes.c index 93d91ef5..5108b4d4 100644 --- a/tests/kms_display_modes.c +++ b/tests/kms_display_modes.c @@ -142,6 +142,7 @@ static void run_extendedmode_basic(data_t *data, igt_pipe_crc_t *pipe_crc[2] = { 0 }; igt_crc_t ref_crc[2], crc[2]; int width, height; + bool found; cairo_t *cr; igt_display_reset(display); @@ -171,6 +172,10 @@ static void run_extendedmode_basic(data_t *data, igt_fb_set_size(&fbs[1], plane[1], mode[1]->hdisplay, mode[1]->vdisplay); igt_plane_set_size(plane[1], mode[1]->hdisplay, mode[1]->vdisplay); + /* In case of DP-MST find suitable mode(s) to fit into the link BW. */ + found = igt_override_all_active_output_modes_to_fit_bw(display); + igt_require_f(found, "No valid mode combo found for MST modeset.\n"); + igt_display_commit2(display, COMMIT_ATOMIC); igt_pipe_crc_collect_crc(pipe_crc[0], &ref_crc[0]); -- 2.25.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [igt-dev] [PATCH i-g-t v2 2/2] tests/i915/kms_cdclk: Fixed mode selection for MST modeset 2023-06-07 11:25 [igt-dev] [PATCH i-g-t v2 0/2] Fixed mode selection for MST modeset Mohammed Thasleem 2023-06-07 11:25 ` [igt-dev] [PATCH i-g-t v2 1/2] tests/kms_display_modes: Fixed mode selection for extended mode tests Mohammed Thasleem @ 2023-06-07 11:25 ` Mohammed Thasleem 1 sibling, 0 replies; 6+ messages in thread From: Mohammed Thasleem @ 2023-06-07 11:25 UTC (permalink / raw) To: igt-dev When two monitors connected through MST. This will find the connector mode combo that fits into the bandwidth when more than one monitor is connected. Example: When two monitors connected through MST, the second monitor also tries to use the same mode. So two such modes may not fit into the link bandwidth. So, iterate through connected outputs & modes and find a combination of modes those fit into the link BW. v2: -Removed if loop checks. -Added igt override to avoid dp mst bw failure. v3: Rebased on tip. Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com> --- tests/i915/kms_cdclk.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/i915/kms_cdclk.c b/tests/i915/kms_cdclk.c index 0f9b8dc5..bf93d940 100644 --- a/tests/i915/kms_cdclk.c +++ b/tests/i915/kms_cdclk.c @@ -257,6 +257,7 @@ static void test_mode_transition_on_all_outputs(data_t *data) int valid_outputs = 0; int cdclk_ref, cdclk_new; uint16_t width = 0, height = 0; + bool found; struct igt_fb fb; igt_pipe_t *pipe; igt_plane_t *plane; @@ -332,6 +333,10 @@ static void test_mode_transition_on_all_outputs(data_t *data) j++; } + /* In case of DP-MST find suitable mode(s) to fit into the link BW. */ + found = igt_override_all_active_output_modes_to_fit_bw(display); + igt_require_f(found, "No valid mode combo found for MST modeset.\n"); + igt_display_commit2(display, COMMIT_ATOMIC); cdclk_new = get_current_cdclk_freq(debugfs_fd); igt_info("CD clock frequency %d -> %d\n", cdclk_ref, cdclk_new); -- 2.25.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [igt-dev] [PATCH i-g-t v2 0/2] Fixed mode selection for MST modeset @ 2023-06-07 11:53 Mohammed Thasleem 2023-06-07 11:53 ` [igt-dev] [PATCH i-g-t v2 2/2] tests/i915/kms_cdclk: " Mohammed Thasleem 0 siblings, 1 reply; 6+ messages in thread From: Mohammed Thasleem @ 2023-06-07 11:53 UTC (permalink / raw) To: igt-dev This will find the connector mode combo that fits into the bandwidth when more than one monitor is connected. Mohammed Thasleem (2): tests/kms_display_modes: Fixed mode selection for extended mode tests tests/i915/kms_cdclk: Fixed mode selection for MST modeset tests/i915/kms_cdclk.c | 5 +++++ tests/kms_display_modes.c | 5 +++++ 2 files changed, 10 insertions(+) -- 2.25.1 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [igt-dev] [PATCH i-g-t v2 2/2] tests/i915/kms_cdclk: Fixed mode selection for MST modeset 2023-06-07 11:53 [igt-dev] [PATCH i-g-t v2 0/2] " Mohammed Thasleem @ 2023-06-07 11:53 ` Mohammed Thasleem 2023-06-08 11:17 ` Modem, Bhanuprakash 0 siblings, 1 reply; 6+ messages in thread From: Mohammed Thasleem @ 2023-06-07 11:53 UTC (permalink / raw) To: igt-dev When two monitors connected through MST. This will find the connector mode combo that fits into the bandwidth when more than one monitor is connected. Example: When two monitors connected through MST, the second monitor also tries to use the same mode. So two such modes may not fit into the link bandwidth. So, iterate through connected outputs & modes and find a combination of modes those fit into the link BW. v2: -Removed if loop checks. -Added igt override to avoid dp mst bw failure. v3: Rebased on tip. Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com> --- tests/i915/kms_cdclk.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/i915/kms_cdclk.c b/tests/i915/kms_cdclk.c index 0f9b8dc5..bf93d940 100644 --- a/tests/i915/kms_cdclk.c +++ b/tests/i915/kms_cdclk.c @@ -257,6 +257,7 @@ static void test_mode_transition_on_all_outputs(data_t *data) int valid_outputs = 0; int cdclk_ref, cdclk_new; uint16_t width = 0, height = 0; + bool found; struct igt_fb fb; igt_pipe_t *pipe; igt_plane_t *plane; @@ -332,6 +333,10 @@ static void test_mode_transition_on_all_outputs(data_t *data) j++; } + /* In case of DP-MST find suitable mode(s) to fit into the link BW. */ + found = igt_override_all_active_output_modes_to_fit_bw(display); + igt_require_f(found, "No valid mode combo found for MST modeset.\n"); + igt_display_commit2(display, COMMIT_ATOMIC); cdclk_new = get_current_cdclk_freq(debugfs_fd); igt_info("CD clock frequency %d -> %d\n", cdclk_ref, cdclk_new); -- 2.25.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 2/2] tests/i915/kms_cdclk: Fixed mode selection for MST modeset 2023-06-07 11:53 ` [igt-dev] [PATCH i-g-t v2 2/2] tests/i915/kms_cdclk: " Mohammed Thasleem @ 2023-06-08 11:17 ` Modem, Bhanuprakash 2023-06-09 7:21 ` Sharma, Swati2 0 siblings, 1 reply; 6+ messages in thread From: Modem, Bhanuprakash @ 2023-06-08 11:17 UTC (permalink / raw) To: Mohammed Thasleem, igt-dev, Swati Sharma Hi Thasleem, On Wed-07-06-2023 05:23 pm, Mohammed Thasleem wrote: > When two monitors connected through MST. This will find the > connector mode combo that fits into the bandwidth when more > than one monitor is connected. > > Example: > When two monitors connected through MST, the second monitor > also tries to use the same mode. So two such modes may not > fit into the link bandwidth. So, iterate through connected > outputs & modes and find a combination of modes those fit > into the link BW. > > v2: -Removed if loop checks. > -Added igt override to avoid dp mst bw failure. > v3: Rebased on tip. > > Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com> > --- > tests/i915/kms_cdclk.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/tests/i915/kms_cdclk.c b/tests/i915/kms_cdclk.c > index 0f9b8dc5..bf93d940 100644 > --- a/tests/i915/kms_cdclk.c > +++ b/tests/i915/kms_cdclk.c > @@ -257,6 +257,7 @@ static void test_mode_transition_on_all_outputs(data_t *data) > int valid_outputs = 0; > int cdclk_ref, cdclk_new; > uint16_t width = 0, height = 0; > + bool found; > struct igt_fb fb; > igt_pipe_t *pipe; > igt_plane_t *plane; > @@ -332,6 +333,10 @@ static void test_mode_transition_on_all_outputs(data_t *data) > j++; > } > > + /* In case of DP-MST find suitable mode(s) to fit into the link BW. */ > + found = igt_override_all_active_output_modes_to_fit_bw(display); > + igt_require_f(found, "No valid mode combo found for MST modeset.\n"); This is not correct. If this logic overrides any display mode to less than 4K, you can't see the clock bumpup which leads to the test failure. @Swati, any thoughts? - Bhanu > + > igt_display_commit2(display, COMMIT_ATOMIC); > cdclk_new = get_current_cdclk_freq(debugfs_fd); > igt_info("CD clock frequency %d -> %d\n", cdclk_ref, cdclk_new); ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 2/2] tests/i915/kms_cdclk: Fixed mode selection for MST modeset 2023-06-08 11:17 ` Modem, Bhanuprakash @ 2023-06-09 7:21 ` Sharma, Swati2 0 siblings, 0 replies; 6+ messages in thread From: Sharma, Swati2 @ 2023-06-09 7:21 UTC (permalink / raw) To: Modem, Bhanuprakash, Mohammed Thasleem, igt-dev On 08-Jun-23 4:47 PM, Modem, Bhanuprakash wrote: > Hi Thasleem, > > On Wed-07-06-2023 05:23 pm, Mohammed Thasleem wrote: >> When two monitors connected through MST. This will find the >> connector mode combo that fits into the bandwidth when more >> than one monitor is connected. >> >> Example: >> When two monitors connected through MST, the second monitor >> also tries to use the same mode. So two such modes may not >> fit into the link bandwidth. So, iterate through connected >> outputs & modes and find a combination of modes those fit >> into the link BW. >> >> v2: -Removed if loop checks. >> -Added igt override to avoid dp mst bw failure. >> v3: Rebased on tip. >>tip?? >> >> Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com> >> --- >> tests/i915/kms_cdclk.c | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/tests/i915/kms_cdclk.c b/tests/i915/kms_cdclk.c >> index 0f9b8dc5..bf93d940 100644 >> --- a/tests/i915/kms_cdclk.c >> +++ b/tests/i915/kms_cdclk.c >> @@ -257,6 +257,7 @@ static void >> test_mode_transition_on_all_outputs(data_t *data) >> int valid_outputs = 0; >> int cdclk_ref, cdclk_new; >> uint16_t width = 0, height = 0; >> + bool found; >> struct igt_fb fb; >> igt_pipe_t *pipe; >> igt_plane_t *plane; >> @@ -332,6 +333,10 @@ static void >> test_mode_transition_on_all_outputs(data_t *data) >> j++; >> } >> + /* In case of DP-MST find suitable mode(s) to fit into the link >> BW. */ >> + found = igt_override_all_active_output_modes_to_fit_bw(display); >> + igt_require_f(found, "No valid mode combo found for MST >> modeset.\n"); > > This is not correct. > > If this logic overrides any display mode to less than 4K, you can't see > the clock bumpup which leads to the test failure. > > @Swati, any thoughts? >> Right. Yes, this is tested. When we transition from lower mode to 4k we do see cdclk bump. For rest of the cases not sure. > > - Bhanu > >> + >> igt_display_commit2(display, COMMIT_ATOMIC); >> cdclk_new = get_current_cdclk_freq(debugfs_fd); >> igt_info("CD clock frequency %d -> %d\n", cdclk_ref, cdclk_new); ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-06-09 7:21 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-06-07 11:25 [igt-dev] [PATCH i-g-t v2 0/2] Fixed mode selection for MST modeset Mohammed Thasleem 2023-06-07 11:25 ` [igt-dev] [PATCH i-g-t v2 1/2] tests/kms_display_modes: Fixed mode selection for extended mode tests Mohammed Thasleem 2023-06-07 11:25 ` [igt-dev] [PATCH i-g-t v2 2/2] tests/i915/kms_cdclk: Fixed mode selection for MST modeset Mohammed Thasleem -- strict thread matches above, loose matches on Subject: below -- 2023-06-07 11:53 [igt-dev] [PATCH i-g-t v2 0/2] " Mohammed Thasleem 2023-06-07 11:53 ` [igt-dev] [PATCH i-g-t v2 2/2] tests/i915/kms_cdclk: " Mohammed Thasleem 2023-06-08 11:17 ` Modem, Bhanuprakash 2023-06-09 7:21 ` Sharma, Swati2
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox