Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Abhinav Kumar <quic_abhinavk@quicinc.com>
To: <igt-dev@lists.freedesktop.org>
Cc: <quic_jesszhan@quicinc.com>, Rob Clark <robdclark@gmail.com>,
	"Dmitry Baryshkov" <dmitry.baryshkov@linaro.org>,
	<adrinael@adrinael.net>,
	"Kamil Konieczny" <kamil.konieczny@linux.intel.com>,
	Abhinav Kumar <quic_abhinavk@quicinc.com>
Subject: [PATCH i-g-t v2] lib/igt_kms: move setting DRM_CLIENT_CAP_WRITEBACK_CONNECTORS to kms_writeback
Date: Fri, 10 May 2024 11:09:35 -0700	[thread overview]
Message-ID: <20240510-wb_igt_fix-v2-1-e14eef87319b@quicinc.com> (raw)

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@gmail.com>
Acked-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Acked-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Acked-by: Petri Latvala <adrinael@adrinael.net>
Signed-off-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
---
 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@quicinc.com>


             reply	other threads:[~2024-05-10 18:10 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-10 18:09 Abhinav Kumar [this message]
2024-05-10 19:48 ` ✓ Fi.CI.BAT: success for lib/igt_kms: move setting DRM_CLIENT_CAP_WRITEBACK_CONNECTORS to kms_writeback (rev3) Patchwork
2024-05-10 19:48 ` ✓ CI.xeBAT: " Patchwork
2024-05-10 21:46 ` ✗ CI.xeFULL: failure " Patchwork
2024-05-13 12:59   ` Kamil Konieczny
2024-05-12  6:49 ` ✓ Fi.CI.IGT: success " Patchwork
2024-05-13 13:09 ` [PATCH i-g-t v2] lib/igt_kms: move setting DRM_CLIENT_CAP_WRITEBACK_CONNECTORS to kms_writeback Kamil Konieczny
2024-05-13 17:42   ` Juha-Pekka Heikkilä

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=20240510-wb_igt_fix-v2-1-e14eef87319b@quicinc.com \
    --to=quic_abhinavk@quicinc.com \
    --cc=adrinael@adrinael.net \
    --cc=dmitry.baryshkov@linaro.org \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=kamil.konieczny@linux.intel.com \
    --cc=quic_jesszhan@quicinc.com \
    --cc=robdclark@gmail.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