From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Nautiyal, Ankit K" Subject: Re: [igt-dev] [PATCH i-g-t 1/2] lib/igt_kms.c: modify kmstest_dump_mode to print aspect ratio of a mode Date: Tue, 13 Feb 2018 16:39:43 +0530 Message-ID: <4cf22f94-e60d-6a59-d938-5a6993789915@intel.com> References: <1516798260-11685-1-git-send-email-ankit.k.nautiyal@intel.com> <1516798260-11685-2-git-send-email-ankit.k.nautiyal@intel.com> <1518446057.7484.5.camel@intel.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2075967246==" Return-path: In-Reply-To: <1518446057.7484.5.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Kahola, Mika" , "igt-dev@lists.freedesktop.org" , "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org This is a multi-part message in MIME format. --===============2075967246== Content-Type: multipart/alternative; boundary="------------107ACFA33290D3887398E25A" This is a multi-part message in MIME format. --------------107ACFA33290D3887398E25A Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Hi Mika, Thanks for the review. Please find my comments inline: On 2/12/2018 8:04 PM, Kahola, Mika wrote: > On Wed, 2018-01-24 at 18:20 +0530, Nautiyal, Ankit K wrote: >> From: Ankit Nautiyal >> >> This patch adds the support to print the aspect ratio of the modes >> (if provided) along with other mode information. >> >> Signed-off-by: Ankit Nautiyal >> --- >> lib/igt_kms.c | 31 +++++++++++++++++++++++++++++-- >> 1 file changed, 29 insertions(+), 2 deletions(-) >> >> diff --git a/lib/igt_kms.c b/lib/igt_kms.c >> index eb57f4a..585f94d 100644 >> --- a/lib/igt_kms.c >> +++ b/lib/igt_kms.c >> @@ -56,6 +56,14 @@ >> #include "igt_sysfs.h" >> #include "sw_sync.h" >> >> +#ifndef DRM_MODE_FLAG_PIC_AR_64_27 >> +#define DRM_MODE_FLAG_PIC_AR_64_27 (3<<19) >> +#endif >> + >> +#ifndef DRM_MODE_FLAG_PIC_AR_256_135 >> +#define DRM_MODE_FLAG_PIC_AR_256_135 (4<<19) >> +#endif >> + > Shouldn't these be defined in /include/uapi/drm/drm_mode.h? Although, I > wasn't able to find these definitions from that file. Do we have a > patch under review in drm to fill this gap? Yes you are right. These macros are introduced in the drm-devel patch-series to add aspect-ratio support in drm layer. https://patchwork.freedesktop.org/series/33984/ which is under review. When the kernel patch gets r-b, I will remove these macros from here and submit next patchset for this series. Regards, Ankit > > Otherwise, the patch looks good. > > Acked-by: Mika Kahola > >> /** >> * SECTION:igt_kms >> * @short_description: Kernel modesetting support library >> @@ -491,6 +499,22 @@ static const char *mode_stereo_name(const >> drmModeModeInfo *mode) >> } >> } >> >> +static const char *mode_aspect_name(const drmModeModeInfo *mode) >> +{ >> + switch (mode->flags & DRM_MODE_FLAG_PIC_AR_MASK) { >> + case DRM_MODE_FLAG_PIC_AR_4_3: >> + return "4:3"; >> + case DRM_MODE_FLAG_PIC_AR_16_9: >> + return "16:9"; >> + case DRM_MODE_FLAG_PIC_AR_64_27: >> + return "64:27"; >> + case DRM_MODE_FLAG_PIC_AR_256_135: >> + return "256:135"; >> + default: >> + return NULL; >> + } >> +} >> + >> /** >> * kmstest_dump_mode: >> * @mode: libdrm mode structure >> @@ -500,8 +524,9 @@ static const char *mode_stereo_name(const >> drmModeModeInfo *mode) >> void kmstest_dump_mode(drmModeModeInfo *mode) >> { >> const char *stereo = mode_stereo_name(mode); >> + const char *aspect_ratio = mode_aspect_name(mode); >> >> - igt_info(" %s %d %d %d %d %d %d %d %d %d 0x%x 0x%x >> %d%s%s%s\n", >> + igt_info(" %s %d %d %d %d %d %d %d %d %d 0x%x 0x%x %d%s%s%s >> %s%s%s\n", >> mode->name, mode->vrefresh, >> mode->hdisplay, mode->hsync_start, >> mode->hsync_end, mode->htotal, >> @@ -509,7 +534,9 @@ void kmstest_dump_mode(drmModeModeInfo *mode) >> mode->vsync_end, mode->vtotal, >> mode->flags, mode->type, mode->clock, >> stereo ? " (3D:" : "", >> - stereo ? stereo : "", stereo ? ")" : ""); >> + stereo ? stereo : "", stereo ? ")" : "", >> + aspect_ratio ? " (Pixel Aspect Ratio:" : "", >> + aspect_ratio ? aspect_ratio : "", aspect_ratio ? >> ")" : ""); >> } >> >> /** --------------107ACFA33290D3887398E25A Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit

Hi Mika,

Thanks for the review.

Please find my comments inline:


On 2/12/2018 8:04 PM, Kahola, Mika wrote:
On Wed, 2018-01-24 at 18:20 +0530, Nautiyal, Ankit K wrote:
From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>

This patch adds the support to print the aspect ratio of the modes
(if provided) along with other mode information.

Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
 lib/igt_kms.c | 31 +++++++++++++++++++++++++++++--
 1 file changed, 29 insertions(+), 2 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index eb57f4a..585f94d 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -56,6 +56,14 @@
 #include "igt_sysfs.h"
 #include "sw_sync.h"
 
+#ifndef DRM_MODE_FLAG_PIC_AR_64_27
+#define DRM_MODE_FLAG_PIC_AR_64_27 (3<<19)
+#endif
+
+#ifndef DRM_MODE_FLAG_PIC_AR_256_135
+#define DRM_MODE_FLAG_PIC_AR_256_135 (4<<19)
+#endif
+
Shouldn't these be defined in /include/uapi/drm/drm_mode.h? Although, I
wasn't able to find these definitions from that file. Do we have a
patch under review in drm to fill this gap?

Yes you are right. These macros are introduced in the drm-devel patch-series to add aspect-ratio
support in drm layer.
https://patchwork.freedesktop.org/series/33984/ which is under review.

When the kernel patch gets r-b, I will remove these macros from here and submit
next patchset for this series.

Regards,
Ankit


Otherwise, the patch looks good.

Acked-by: Mika Kahola <mika.kahola@intel.com>

 /**
  * SECTION:igt_kms
  * @short_description: Kernel modesetting support library
@@ -491,6 +499,22 @@ static const char *mode_stereo_name(const
drmModeModeInfo *mode)
 	}
 }
 
+static const char *mode_aspect_name(const drmModeModeInfo *mode)
+{
+	switch (mode->flags & DRM_MODE_FLAG_PIC_AR_MASK) {
+	case DRM_MODE_FLAG_PIC_AR_4_3:
+		return "4:3";
+	case DRM_MODE_FLAG_PIC_AR_16_9:
+		return "16:9";
+	case DRM_MODE_FLAG_PIC_AR_64_27:
+		return "64:27";
+	case DRM_MODE_FLAG_PIC_AR_256_135:
+		return "256:135";
+	default:
+		return NULL;
+	}
+}
+
 /**
  * kmstest_dump_mode:
  * @mode: libdrm mode structure
@@ -500,8 +524,9 @@ static const char *mode_stereo_name(const
drmModeModeInfo *mode)
 void kmstest_dump_mode(drmModeModeInfo *mode)
 {
 	const char *stereo = mode_stereo_name(mode);
+	const char *aspect_ratio = mode_aspect_name(mode);
 
-	igt_info("  %s %d %d %d %d %d %d %d %d %d 0x%x 0x%x
%d%s%s%s\n",
+	igt_info("  %s %d %d %d %d %d %d %d %d %d 0x%x 0x%x %d%s%s%s
%s%s%s\n",
 		 mode->name, mode->vrefresh,
 		 mode->hdisplay, mode->hsync_start,
 		 mode->hsync_end, mode->htotal,
@@ -509,7 +534,9 @@ void kmstest_dump_mode(drmModeModeInfo *mode)
 		 mode->vsync_end, mode->vtotal,
 		 mode->flags, mode->type, mode->clock,
 		 stereo ? " (3D:" : "",
-		 stereo ? stereo : "", stereo ? ")" : "");
+		 stereo ? stereo : "", stereo ? ")" : "",
+		 aspect_ratio ? " (Pixel Aspect Ratio:" : "",
+		 aspect_ratio ? aspect_ratio : "", aspect_ratio ?
")" : "");
 }
 
 /**

--------------107ACFA33290D3887398E25A-- --===============2075967246== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg== --===============2075967246==--