Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t] tests/kms_lease: Set Aspect ratio client cap in case of legacy commit
@ 2023-02-27  5:54 Ankit Nautiyal
  2023-02-27  6:43 ` Modem, Bhanuprakash
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Ankit Nautiyal @ 2023-02-27  5:54 UTC (permalink / raw)
  To: igt-dev

For clients setting DRM_CLIENT_CAP_ATOMIC, the support for aspect ratio
bits in mode flags is enabled by default. For legacy commit, clients need
to set the aspect ratio cap explicitly, if they want to set aspect ratio
bits in the mode flags.
Currently in case of setcrtc_implicit_plane, the client using the lease
does not set the aspect-ratio property before using setcrtc ioctl. This
creates a problem, when there are aspect-ratio bits present in the mode
flags. In such a case the setcrtc ioctl fails, as driver expects the
aspect ratio bits unset.

So set DRM_CLIENT_CAP_ASPECT_RATIO, if the mode flags do have aspect
ratio bits set, before calling the setcrtc ioctl.

v2: Set the aspect ratio client cap only for lesse.

Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
 tests/kms_lease.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/tests/kms_lease.c b/tests/kms_lease.c
index 67e8d3bec700..61e1f7dccde7 100644
--- a/tests/kms_lease.c
+++ b/tests/kms_lease.c
@@ -345,6 +345,14 @@ static void setcrtc_implicit_plane(data_t *data)
 	do_or_die(create_lease(data->master.fd, &mcl));
 	drmSetClientCap(data->master.fd, DRM_CLIENT_CAP_UNIVERSAL_PLANES, 1);
 
+	/*
+	 * For Legacy commit, If userspace wants to send modes with aspect-ratio bits
+	 * then the client cap for aspect-ratio bits must be set.
+	 */
+	if (mode->flags & DRM_MODE_FLAG_PIC_AR_MASK) {
+		drmSetClientCap(mcl.fd, DRM_CLIENT_CAP_ASPECT_RATIO, 1);
+	}
+
 	/* Set a mode on the leased output */
 	igt_assert_eq(0, prepare_crtc(&data->master, data));
 
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread
* [igt-dev] [PATCH i-g-t] tests/kms_lease: Set Aspect ratio client cap in case of legacy commit
@ 2023-02-03 16:04 Ankit Nautiyal
  0 siblings, 0 replies; 7+ messages in thread
From: Ankit Nautiyal @ 2023-02-03 16:04 UTC (permalink / raw)
  To: igt-dev

For clients setting DRM_CLIENT_CAP_ATOMIC, the support for aspect ratio
bits in mode flags is enabled by default. For legacy commit, clients need
to set the aspect ratio cap explicitly, if they want to set aspect ratio
bits in the mode flags.
Currently in case of setcrtc_implicit_plane, the client using the lease
does not set the aspect-ratio property before using setcrtc ioctl. This
creates a problem, when there are aspect-ratio bits present in the mode
flags. In such a case the setcrtc ioctl fails, as driver expects the
aspect ratio bits unset.

So set DRM_CLIENT_CAP_ASPECT_RATIO, if the mode flags do have aspect
ratio bits set, before calling the setcrtc ioctl.

Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
 tests/kms_lease.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/tests/kms_lease.c b/tests/kms_lease.c
index 67e8d3bec700..5c8e58dd86ea 100644
--- a/tests/kms_lease.c
+++ b/tests/kms_lease.c
@@ -345,6 +345,15 @@ static void setcrtc_implicit_plane(data_t *data)
 	do_or_die(create_lease(data->master.fd, &mcl));
 	drmSetClientCap(data->master.fd, DRM_CLIENT_CAP_UNIVERSAL_PLANES, 1);
 
+	/*
+	 * For Legacy commit, If userspace wants to send modes with aspect-ratio bits
+	 * then the client cap for aspect-ratio bits must be set.
+	 */
+	if (mode->flags & DRM_MODE_FLAG_PIC_AR_MASK) {
+		drmSetClientCap(data->master.fd, DRM_CLIENT_CAP_ASPECT_RATIO, 1);
+		drmSetClientCap(mcl.fd, DRM_CLIENT_CAP_ASPECT_RATIO, 1);
+	}
+
 	/* Set a mode on the leased output */
 	igt_assert_eq(0, prepare_crtc(&data->master, data));
 
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-03-10  6:35 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-27  5:54 [igt-dev] [PATCH i-g-t] tests/kms_lease: Set Aspect ratio client cap in case of legacy commit Ankit Nautiyal
2023-02-27  6:43 ` Modem, Bhanuprakash
2023-03-09  5:26   ` Thasleem, Mohammed
2023-02-27  6:50 ` [igt-dev] ✗ Fi.CI.BAT: failure for tests/kms_lease: Set Aspect ratio client cap in case of legacy commit (rev2) Patchwork
2023-03-08 18:24 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_lease: Set Aspect ratio client cap in case of legacy commit (rev3) Patchwork
2023-03-10  6:35 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2023-02-03 16:04 [igt-dev] [PATCH i-g-t] tests/kms_lease: Set Aspect ratio client cap in case of legacy commit Ankit Nautiyal

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox