[PATCH i-g-t v2] lib/igt_kms: move setting DRM_CLIENT_CAP_WRITEBACK_CONNECTORS to kms_writeback

Juha-Pekka Heikkilä juha-pekka.heikkila at intel.com
Mon May 13 17:42:19 UTC 2024



On 13.5.2024 16.09, Kamil Konieczny wrote:
> Hi Abhinav,
> On 2024-05-10 at 11:09:35 -0700, Abhinav Kumar wrote:
>> Currently DRM_CLIENT_CAP_WRITEBACK_CONNECTORS is set in the igt_display_require()
>> which is invoked for all IGT tests irrespective of whether the rest of the
>> writeback connector properties such as the FB_ID are set.
>>
>> For the writeback connectors to function properly, additional setup steps are
>> required (like setting up the output buffers and submitting the job). These steps
>> are not a part of the default IGT setup, so there is no guarantee that the pipeline
>> will be executed at all. This results in regressions for msm boards across multiple
>> IGT tests on writeback connectors such as CTM related tests where CRC needs to
>> be collected after the CTM has been applied in hardware.
>>
>> It is unclear whether this is intentional to be able to run all IGT tests even
>> with writeback connector or it is only kms_writeback which is supposed to
>> be the one.
>>
>> Lets try with the latter approach by setting DRM_CLIENT_CAP_WRITEBACK_CONNECTORS
>> only within kms_writeback.
>>
>> changes since RFC:
>> 	- minor fixes to commit message
>>
>> changes in v2:
>> 	- use igt_require_f to print descriptive message
>> 	- add msm card failure details in commit text
>>
>> Reviewed-by: Rob Clark <robdclark at gmail.com>
>> Acked-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
>> Acked-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>
>> Acked-by: Petri Latvala <adrinael at adrinael.net>
>> Signed-off-by: Abhinav Kumar <quic_abhinavk at quicinc.com>
> 
> Thank you for contribution, I merged it. There are some fails
> for Xe but on i915 all runs ok.
> Adding to cc few kms devs from Intel - Bhanu and J-P.

On i915 or Xe nobody have implemented writeback connector so those 
random ci issues have no relation to these changes.

/Juha-Pekka

>> ---
>>   lib/igt_kms.c         | 2 --
>>   tests/kms_writeback.c | 5 +++++
>>   2 files changed, 5 insertions(+), 2 deletions(-)
>>
>> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
>> index 98d3fb79cd22..f82102144ea1 100644
>> --- a/lib/igt_kms.c
>> +++ b/lib/igt_kms.c
>> @@ -2878,8 +2878,6 @@ void igt_display_require(igt_display_t *display, int drm_fd)
>>   	if (drmSetClientCap(drm_fd, DRM_CLIENT_CAP_ATOMIC, 1) == 0)
>>   		display->is_atomic = 1;
>>   
>> -	drmSetClientCap(drm_fd, DRM_CLIENT_CAP_WRITEBACK_CONNECTORS, 1);
>> -
>>   	resources = drmModeGetResources(display->drm_fd);
>>   	if (!resources)
>>   		goto out;
>> diff --git a/tests/kms_writeback.c b/tests/kms_writeback.c
>> index 6cd685b37af2..f89b2d62fcc9 100644
>> --- a/tests/kms_writeback.c
>> +++ b/tests/kms_writeback.c
>> @@ -558,6 +558,7 @@ igt_main_args("b:c:f:dl", long_options, help_str, opt_handler, NULL)
>>   	igt_fb_t input_fb, input_fb_10bit;
>>   	drmModeModeInfo mode;
>>   	unsigned int fb_id;
>> +	int ret;
>>   
>>   	memset(&display, 0, sizeof(display));
>>   
>> @@ -570,6 +571,10 @@ igt_main_args("b:c:f:dl", long_options, help_str, opt_handler, NULL)
>>   
>>   		igt_require(display.is_atomic);
>>   
>> +		ret = drmSetClientCap(display.drm_fd, DRM_CLIENT_CAP_WRITEBACK_CONNECTORS, 1);
>> +
>> +		igt_require_f(!ret, "error setting DRM_CLIENT_CAP_WRITEBACK_CONNECTORS\n");
>> +
>>   		output = kms_writeback_get_output(&display);
>>   		igt_require(output);
>>   
>>
>> ---
>> base-commit: 4a5fd4e7cb2798636f6464e2bd61399f3242b322
>> change-id: 20240509-wb_igt_fix-87169651e0da
>>
>> Best regards,
>> -- 
>> Abhinav Kumar <quic_abhinavk at quicinc.com>
>>
---------------------------------------------------------------------
Intel Finland Oy
Registered Address: PL 281, 00181 Helsinki 
Business Identity Code: 0357606 - 4 
Domiciled in Helsinki 

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


More information about the igt-dev mailing list