Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Jessica Zhang <quic_jesszhan@quicinc.com>
To: Alex Hung <alex.hung@amd.com>,
	Petri Latvala <adrinael@adrinael.net>,
	Arkadiusz Hiler <arek@hiler.eu>,
	Kamil Konieczny <kamil.konieczny@linux.intel.com>,
	Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>,
	Bhanuprakash Modem <bhanuprakash.modem@intel.com>,
	Ashutosh Dixit <ashutosh.dixit@intel.com>
Cc: <quic_abhinavk@quicinc.com>, <quic_ebharadw@quicinc.com>,
	<igt-dev@lists.freedesktop.org>
Subject: Re: [PATCH v2 0/5] tests/kms_writeback: Add clone mode subtest
Date: Fri, 30 Aug 2024 11:32:02 -0700	[thread overview]
Message-ID: <77a149a4-ede3-496e-bee6-728f396199d9@quicinc.com> (raw)
In-Reply-To: <4c40e28d-a8db-40ec-bde2-0081314a7e8e@amd.com>



On 8/29/2024 1:28 PM, Alex Hung wrote:
> I ran a smoke test and Patch 4 (tests/kms_writeback: Disable all outputs 
> after igt_display_require()) is causing a regression on my test platform:
> 
> 
> Starting subtest: writeback-check-output-XRGB2101010
> (kms_writeback:1973) CRITICAL: Test assertion failure function 
> get_and_wait_out_fence, file ../tests/kms_writeback.c:345:
> (kms_writeback:1973) CRITICAL: Failed assertion: ret == 0
> (kms_writeback:1973) CRITICAL: Last errno: 38, Function not implemented
> (kms_writeback:1973) CRITICAL: sync_fence_wait failed: Timer expired
> Stack trace:
>    #0 ../lib/igt_core.c:2051 __igt_fail_assert()
>    #1 [get_and_wait_out_fence+0x8e]
>    #2 ../tests/kms_writeback.c:401 writeback_sequence()
>    #3 ../tests/kms_writeback.c:424 writeback_check_output()
>    #4 ../tests/kms_writeback.c:782 __igt_unique____real_main557()
>    #5 ../tests/kms_writeback.c:557 main()
>    #6 ../sysdeps/nptl/libc_start_call_main.h:58 __libc_start_call_main()
>    #7 ../csu/libc-start.c:128 __libc_start_main@@GLIBC_2.34()
>    #8 [_start+0x25]
> Subtest writeback-check-output-XRGB2101010 failed.

Hi Alex,

Thanks for testing and reporting this.

The overall goal of that patch was to force a modeset for cases where 
the primary display mode and the mode being used on writeback were the 
same. If the modes are the same between commits, the DRM framework won't 
perform a modeset on the encoder even if the connectors have been changed.

To get around this, we thought it would be good to disable all the 
outputs and start from a clean state before doing the writeback 
connector setup.

Is there anything in AMD's disable path that could cause the writeback 
connector/encoder to be in a bad state for the next commit?

Thanks,

Jessica Zhang

> 
> 
> 
> On 2024-08-28 21:05, Jessica Zhang wrote:
>> Add a subtest that will iterate through all pairs of
>> non-writeback and writeback cloned outputs and dump the writeback
>> framebuffer for each pair.
>>
>> This series includes:
>>
>> - Fixes for properly cleaning up the kms_writeback state and forcing a
>>    modeset after igt_display_require() to prevent commit failures when
>>    the writeback mode is the same as the primary display mode
>> - Adjust the duplicate pipe check in igt_display_refresh() to allow for
>>    combinations of valid clones
>> - Moving the writeback dump to its own subtest
>> - Adding a subtest to dump all writeback/non-writeback cloned pairs
>>
>> To dump the clone mode buffer, run the following command:
>>
>> IGT_FRAME_DUMP_PATH=<dump path> FRAME_PNG_FILE_NAME=<file name> \
>>     ./build/tests/kms_writeback [--run-subtest dump-valid-clones] \
>>     -dc <primary display mode>
>>
>> This will output a file named <file name>-encoder<writeback encoder
>> id>-encoder<primary display encoder id>
>>
>> ---
>> Changes in v2:
>> - Corrected author email
>> - Link to v1: 
>> https://lore.kernel.org/r/20240828-igt-cwb-v1-0-48aee421fc97@quicinc.com
>>
>> ---
>> Jessica Zhang (5):
>>        tests/kms_writeback: clear writeback properties in teardown path
>>        lib/igt_kms: Add helper to get encoder index
>>        lib/igt_kms: loosen duplicate check in igt_display_refresh
>>        tests/kms_writeback: Disable all outputs after 
>> igt_display_require()
>>        tests/kms_writeback: Add dump for valid clone mode
>>
>>   lib/igt_kms.c         | 57 +++++++++++++++++++++++++++++------
>>   lib/igt_kms.h         |  2 ++
>>   tests/kms_setmode.c   | 14 ++-------
>>   tests/kms_writeback.c | 83 
>> +++++++++++++++++++++++++++++++++++++++++++--------
>>   4 files changed, 122 insertions(+), 34 deletions(-)
>> ---
>> base-commit: 3b6b2d238e864ff1af9e33159d3bbf4b7f01d86d
>> change-id: 20240827-igt-cwb-23fd81d3a7a4
>>
>> Best regards,

  reply	other threads:[~2024-08-30 18:32 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-29  3:05 [PATCH v2 0/5] tests/kms_writeback: Add clone mode subtest Jessica Zhang
2024-08-29  3:05 ` [PATCH v2 1/5] tests/kms_writeback: clear writeback properties in teardown path Jessica Zhang
2024-08-29  3:05 ` [PATCH v2 2/5] lib/igt_kms: Add helper to get encoder index Jessica Zhang
2024-08-29  3:05 ` [PATCH v2 3/5] lib/igt_kms: loosen duplicate check in igt_display_refresh Jessica Zhang
2024-08-29  3:05 ` [PATCH v2 4/5] tests/kms_writeback: Disable all outputs after igt_display_require() Jessica Zhang
2024-08-29  3:05 ` [PATCH v2 5/5] tests/kms_writeback: Add dump for valid clone mode Jessica Zhang
2024-08-29  3:56 ` ✓ CI.xeBAT: success for tests/kms_writeback: Add clone mode subtest (rev2) Patchwork
2024-08-29  3:57 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-08-29 16:30 ` ✗ CI.xeFULL: " Patchwork
2024-08-29 20:28 ` [PATCH v2 0/5] tests/kms_writeback: Add clone mode subtest Alex Hung
2024-08-30 18:32   ` Jessica Zhang [this message]
2024-09-03 23:33     ` Alex Hung
2024-09-06 22:06       ` Jessica Zhang

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=77a149a4-ede3-496e-bee6-728f396199d9@quicinc.com \
    --to=quic_jesszhan@quicinc.com \
    --cc=adrinael@adrinael.net \
    --cc=alex.hung@amd.com \
    --cc=arek@hiler.eu \
    --cc=ashutosh.dixit@intel.com \
    --cc=bhanuprakash.modem@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=juhapekka.heikkila@gmail.com \
    --cc=kamil.konieczny@linux.intel.com \
    --cc=quic_abhinavk@quicinc.com \
    --cc=quic_ebharadw@quicinc.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