All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fangzhi Zuo <Jerry.Zuo@amd.com>
To: <igt-dev@lists.freedesktop.org>, <harry.wentland@amd.com>,
	<Christian.Koenig@amd.com>, <Alex.Hung@amd.com>
Cc: Fangzhi Zuo <jzuo@amd.com>, Mark Broadworth <Mark.Broadworth@amd.com>
Subject: [PATCH 1/3] tests/amdgpu: Add FRL Test Support
Date: Wed, 17 Jun 2026 15:24:47 -0400	[thread overview]
Message-ID: <20260617192449.4166-1-Jerry.Zuo@amd.com> (raw)

From: Fangzhi Zuo <jzuo@amd.com>

1. Add 2.1 mode list.
2. Extend support of pixel format to RGB/444/422/420 and
   color depth to 8/10/12 bpc.

Signed-off-by: Fangzhi Zuo <jzuo@amd.com>
Tested-by: Mark Broadworth <Mark.Broadworth@amd.com>
---
 tools/amd_hdmi_compliance.c | 437 +++++++++++++++++++++++++++++++++++-
 1 file changed, 428 insertions(+), 9 deletions(-)

diff --git a/tools/amd_hdmi_compliance.c b/tools/amd_hdmi_compliance.c
index e0ef78d81..dc24430dd 100644
--- a/tools/amd_hdmi_compliance.c
+++ b/tools/amd_hdmi_compliance.c
@@ -100,6 +100,102 @@ static drmModeModeInfo test_modes[] = {
 		50, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
 		0x40, "1920x1080",	/* VIC 31 */
 	},
+	[32] = { 74250,
+		1920, 2558, 2602, 2750, 0,
+		1080, 1084, 1089, 1125, 0,
+		24, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		0x40, "1920x1080",	/* VIC 32 */
+	},
+	[33] = { 74250,
+		1920, 2448, 2492, 2640, 0,
+		1080, 1084, 1089, 1125, 0,
+		25, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		0x40, "1920x1080",	/* VIC 33 */
+	},
+	[34] = { 74250,
+		1920, 2008, 2052, 2200, 0,
+		1080, 1084, 1089, 1125, 0,
+		30, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		0x40, "1920x1080",	/* VIC 34 */
+	},
+	[41] = { 148500,
+		1280, 1720, 1760, 1980, 0,
+		720, 725, 730, 750, 0,
+		100, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		0x40, "1280x720",	/* VIC 41 */
+	},
+	[42] = { 54000,
+		720, 732, 796, 864, 0,
+		576, 581, 586, 625, 0,
+		100, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_PIC_AR_4_3,
+		0x40, "720x576",	/* VIC 42 */
+	},
+	[43] = { 54000,
+		720, 732, 796, 864, 0,
+		576, 581, 586, 625, 0,
+		100, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		0x40, "720x576",	/* VIC 43 */
+	},
+	[47] = { 148500,
+		1280, 1390, 1430, 1650, 0,
+		720, 725, 730, 750, 0,
+		120, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		0x40, "1280x720",	/* VIC 47 */
+	},
+	[48] = { 54000,
+		720, 736, 798, 858, 0,
+		480, 489, 495, 525, 0,
+		120, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_PIC_AR_4_3,
+		0x40, "720x480",	/* VIC 48 */
+	},
+	[49] = { 54000,
+		720, 736, 798, 858, 0,
+		480, 489, 495, 525, 0,
+		120, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		0x40, "720x480",	/* VIC 49 */
+	},
+	[52] = { 108000,
+		720, 732, 796, 864, 0,
+		576, 581, 586, 625, 0,
+		200, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_PIC_AR_4_3,
+		0x40, "720x576",	/* VIC 52 */
+	},
+	[53] = { 108000,
+		720, 732, 796, 864, 0,
+		576, 581, 586, 625, 0,
+		200, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		0x40, "720x576",	/* VIC 53 */
+	},
+	[56] = { 108000,
+		720, 736, 798, 858, 0,
+		480, 489, 495, 525, 0,
+		240, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_PIC_AR_4_3,
+		0x40, "720x480",	/* VIC 56 */
+	},
+	[57] = { 108000,
+		720, 736, 798, 858, 0,
+		480, 489, 495, 525, 0,
+		240, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		0x40, "720x480",	/* VIC 57 */
+	},
+	[60] = { 59400,
+		1280, 3040, 3080, 3300, 0,
+		720, 725, 730, 750, 0,
+		24, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		0x40, "1280x720",	/* VIC 60 */
+	},
+	[61] = { 74250,
+		1280, 3700, 3740, 3960, 0,
+		720, 725, 730, 750, 0,
+		25, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		0x40, "1280x720",	/* VIC 61 */
+	},
+	[62] = { 74250,
+		1280, 3040, 3080, 3300, 0,
+		720, 725, 730, 750, 0,
+		30, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		0x40, "1280x720",	/* VIC 62 */
+	},
 	[63] = { 297000,
 		1920, 2008, 2052, 2200, 0,
 		1080, 1084, 1089, 1125, 0,
@@ -284,7 +380,7 @@ static drmModeModeInfo test_modes[] = {
 		3840, 5116, 5204, 5500, 0,
 		2160, 2168, 2178, 2250, 0,
 		24, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
-		0x40, "4096x2160",	/* VIC 93 */
+		0x40, "3840x2160",	/* VIC 93 */
 	},
 	[94] = { 297000,
 		3840, 4896, 4984, 5280, 0,
@@ -344,7 +440,7 @@ static drmModeModeInfo test_modes[] = {
 		  3840, 5116, 5204, 5500, 0,
 		  2160, 2168, 2178, 2250, 0,
 		  24, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
-		  0x40, "4096x2160",	/* VIC 103 */
+		  0x40, "3840x2160",	/* VIC 103 */
 	},
 	[104] = { 297000,
 		  3840, 4896, 4984, 5280, 0,
@@ -370,6 +466,288 @@ static drmModeModeInfo test_modes[] = {
 		  60, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
 		  0x40, "3840x2160",	/* VIC 107 */
 	},
+	[108] = { 90000,
+		  1280, 2240, 2280, 2500, 0,
+		  720, 725, 730, 750, 0,
+		  48, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		  0x40, "1280x720",	/* VIC 108 */
+	},
+	[109] = { 90000,
+		  1280, 2240, 2280, 2500, 0,
+		  720, 725, 730, 750, 0,
+		  48, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "1280x720",	/* VIC 109 */
+	},
+	[110] = { 99000,
+		  1680, 2490, 2530, 2750, 0,
+		  720, 725, 730, 750, 0,
+		  48, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "1680x720",	/* VIC 110 */
+	},
+	[111] = { 148500,
+		  1920, 2558, 2602, 2750, 0,
+		  1080, 1084, 1089, 1125, 0,
+		  48, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		  0x40, "1920x1080",	/* VIC 111 */
+	},
+	[112] = { 148500,
+		  1920, 2558, 2602, 2750, 0,
+		  1080, 1084, 1089, 1125, 0,
+		  48, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "1920x1080",	/* VIC 112 */
+	},
+	[113] = { 198000,
+		  2560, 3558, 3602, 3750, 0,
+		  1080, 1084, 1089, 1100, 0,
+		  48, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "2560x1080",	/* VIC 113 */
+	},
+	 [114] = { 594000,
+		  3840, 5116, 5204, 5500, 0,
+		  2160, 2168, 2178, 2250, 0,
+		  48, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		  0x40, "3840x2160",	/* VIC 114 */
+	},
+	[115] = { 594000,
+		  4096, 5116, 5204, 5500, 0,
+		  2160, 2168, 2178, 2250, 0,
+		  48, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_256_135,
+		  0x40, "4096x2160",	/* VIC 115 */
+	},
+	[116] = { 594000,
+		  3840, 5116, 5204, 5500, 0,
+		  2160, 2168, 2178, 2250, 0,
+		  48, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "3840x2160",	/* VIC 116 */
+	},
+	[117] = { 1188000,
+		  3840, 4896, 4984, 5280, 0,
+		  2160, 2168, 2178, 2250, 0,
+		  100, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		  0x40, "3840x2160",	/* VIC 117 */
+	},
+	[118] = { 1188000,
+		  3840, 4016, 4104, 4400, 0,
+		  2160, 2168, 2178, 2250, 0,
+		  120, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		  0x40, "3840x2160",	/* VIC 118 */
+	},
+	[119] = { 1188000,
+		  3840, 4896, 4984, 5280, 0,
+		  2160, 2168, 2178, 2250, 0,
+		  100, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "3840x2160",	/* VIC 119 */
+	},
+	[120] = { 1188000,
+		  3840, 4016, 4104, 4400, 0,
+		  2160, 2168, 2178, 2250, 0,
+		  120, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "3840x2160",	/* VIC 120 */
+	},
+	[121] = { 396000,
+		  5120, 7116, 7204, 7500, 0,
+		  2160, 2168, 2178, 2200, 0,
+		  24, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "5120x2160",	/* VIC 121 */
+	},
+	[122] = { 396000,
+		  5120, 6816, 6904, 7200, 0,
+		  2160, 2168, 2178, 2200, 0,
+		  25, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "5120x2160",	/* VIC 122 */
+	},
+	[123] = { 396000,
+		  5120, 5784, 5872, 6000, 0,
+		  2160, 2168, 2178, 2200, 0,
+		  30, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "5120x2160",	/* VIC 123 */
+	},
+	[124] = { 742500,
+		  5120, 5866, 5954, 6250, 0,
+		  2160, 2168, 2178, 2475, 0,
+		  48, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "5120x2160",	/* VIC 124 */
+	},
+	[125] = { 742500,
+		  5120, 6216, 6304, 6600, 0,
+		  2160, 2168, 2178, 2250, 0,
+		  50, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "5120x2160",	/* VIC 125 */
+	},
+	[126] = { 742500,
+		  5120, 5284, 5372, 5500, 0,
+		  2160, 2168, 2178, 2250, 0,
+		  60, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "5120x2160",	/* VIC 126 */
+	},
+	[127] = { 1485000,
+		  5120, 6216, 6304, 6600, 0,
+		  2160, 2168, 2178, 2250, 0,
+		  100, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "5120x2160",	/* VIC 127 */
+	},
+	[193] = { 1485000,
+		  5120, 5284, 5372, 5500, 0,
+		  2160, 2168, 2178, 2250, 0,
+		  120, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "5120x2160",	/* VIC 193 */
+	},
+	[194] = { 1188000,
+		  7680, 10232, 10408, 11000, 0,
+		  4320, 4336, 4356, 4500, 0,
+		  24, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		  0x40, "7680x4320",	/* VIC 194 */
+	},
+	[195] = { 1188000,
+		  7680, 10032, 10208, 10800, 0,
+		  4320, 4336, 4356, 4400, 0,
+		  25, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		  0x40, "7680x4320",	/* VIC 195 */
+	},
+	[196] = { 1188000,
+		  7680, 8232, 8408, 9000, 0,
+		  4320, 4336, 4356, 4400, 0,
+		  30, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		  0x40, "7680x4320",	/* VIC 196 */
+	},
+	[197] = { 2376000,
+		  7680, 10232, 10408, 11000, 0,
+		  4320, 4336, 4356, 4500, 0,
+		  48, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		  0x40, "7680x4320",	/* VIC 197 */
+	},
+	[198] = { 2376000,
+		  7680, 10032, 10208, 10800, 0,
+		  4320, 4336, 4356, 4400, 0,
+		  50, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		  0x40, "7680x4320",	/* VIC 198 */
+	},
+	[199] = { 2376000,
+		  7680, 8232, 8408, 9000, 0,
+		  4320, 4336, 4356, 4400, 0,
+		  60, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		  0x40, "7680x4320",	/* VIC 199 */
+	},
+	[200] = { 4752000,
+		  7680, 9792, 9968, 10560, 0,
+		  4320, 4336, 4356, 4500, 0,
+		  100, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		  0x40, "7680x4320",	/* VIC 200 */
+	},
+	[201] = { 4752000,
+		  7680, 8032, 8208, 8800, 0,
+		  4320, 4336, 4356, 4500, 0,
+		  120, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_16_9,
+		  0x40, "7680x4320",	/* VIC 201 */
+	},
+	[202] = { 1188000,
+		  7680, 10232, 10408, 11000, 0,
+		  4320, 4336, 4356, 4500, 0,
+		  24, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "7680x4320",	/* VIC 202 */
+	},
+	[203] = { 1188000,
+		  7680, 10032, 10208, 10800, 0,
+		  4320, 4336, 4356, 4400, 0,
+		  25, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "7680x4320",	/* VIC 203 */
+	},
+	[204] = { 1188000,
+		  7680, 8232, 8408, 9000, 0,
+		  4320, 4336, 4356, 4400, 0,
+		  30, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "7680x4320",	/* VIC 204 */
+	},
+	[205] = { 2376000,
+		  7680, 10232, 10408, 11000, 0,
+		  4320, 4336, 4356, 4500, 0,
+		  48, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "7680x4320",	/* VIC 205 */
+	},
+	[206] = { 2376000,
+		  7680, 10032, 10208, 10800, 0,
+		  4320, 4336, 4356, 4400, 0,
+		  50, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "7680x4320",	/* VIC 206 */
+	},
+	[207] = { 2376000,
+		  7680, 8232, 8408, 9000, 0,
+		  4320, 4336, 4356, 4400, 0,
+		  60, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "7680x4320",	/* VIC 207 */
+	},
+	[208] = { 4752000,
+		  7680, 9792, 9968, 10560, 0,
+		  4320, 4336, 4356, 4500, 0,
+		  100, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "7680x4320",	/* VIC 208 */
+	},
+	[209] = { 4752000,
+		  7680, 8032, 8208, 8800, 0,
+		  4320, 4336, 4356, 4500, 0,
+		  120, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "7680x4320",	/* VIC 209 */
+	},
+	[210] = { 1485000,
+		  10240, 11732, 11908, 12500, 0,
+		  4320, 4336, 4356, 4950, 0,
+		  24, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "10240x4320",	/* VIC 210 */
+	},
+	[211] = { 1485000,
+		  10240, 12732, 12908, 13500, 0,
+		  4320, 4336, 4356, 4400, 0,
+		  25, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "10240x4320",	/* VIC 211 */
+	},
+	[212] = { 1485000,
+		  10240, 10528, 10704, 11000, 0,
+		  4320, 4336, 4356, 4500, 0,
+		  30, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "10240x4320",	/* VIC 212 */
+	},
+	[213] = { 2970000,
+		  10240, 11732, 11908, 12500, 0,
+		  4320, 4336, 4356, 4950, 0,
+		  48, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "10240x4320",	/* VIC 213 */
+	},
+	[214] = { 2970000,
+		  10240, 12732, 12908, 13500, 0,
+		  4320, 4336, 4356, 4400, 0,
+		  50, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "10240x4320",	/* VIC 214 */
+	},
+	[215] = { 2970000,
+		  10240, 10528, 10704, 11000, 0,
+		  4320, 4336, 4356, 4500, 0,
+		  60, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "10240x4320",	/* VIC 215 */
+	},
+	[216] = { 5940000,
+		  10240, 12432, 12608, 13200, 0,
+		  4320, 4336, 4356, 4500, 0,
+		  100, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "10240x4320",	/* VIC 216 */
+	},
+	[217] = { 5940000,
+		  10240, 10528, 10704, 11000, 0,
+		  4320, 4336, 4356, 4500, 0,
+		  120, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_64_27,
+		  0x40, "10240x4320",	/* VIC 217 */
+	},
+	[218] = { 1188000,
+		  4096, 4896, 4984, 5280, 0,
+		  2160, 2168, 2178, 2250, 0,
+		  100, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_256_135,
+		  0x40, "4096x2160",	/* VIC 218 */
+	},
+	[219] = { 1188000,
+		  4096, 4184, 4272, 4400, 0,
+		  2160, 2168, 2178, 2250, 0,
+		  120, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PIC_AR_256_135,
+		  0x40, "5120x2160",	/* VIC 219 */
+	},
 };
 
 static void signal_handler(int signo)
@@ -460,21 +838,62 @@ static void set_force_yuv420(data_t *data, int force, int conn_id)
 	test_fini(data);
 }
 
+static void set_force_yuv_pixel_format(data_t *data, int yuv_pixel_format, int conn_id)
+{
+	int fd, res;
+	const char *entry_name;
+
+	test_init(data, conn_id);
+
+	fd = igt_debugfs_connector_dir(data->fd, data->output->name, O_RDONLY);
+	igt_assert(fd >= 0);
+
+	igt_info("Setting %d on connector id %d\n",
+			yuv_pixel_format, data->output->config.connector->connector_id);
+
+	switch (yuv_pixel_format) {
+			case 2:
+					entry_name = "force_yuv422_output";
+					break;
+			case 3:
+					entry_name = "force_yuv444_output";
+					break;
+			case 4:
+					entry_name = "force_yuv420_output";
+					break;
+			default:
+					goto out;
+	}
+
+	igt_info("%s\n", entry_name);
+	res = igt_sysfs_write(fd, entry_name, "1", 2);
+	igt_info("res = %d\n", res);
+	igt_require(res > 0);
+
+out:
+	close(fd);
+	test_fini(data);
+}
+
 /* Set "max bpc" property of connector */
 static void set_max_bpc(data_t *data, int max_bpc, int conn_id)
 {
 	igt_display_t *display = &data->display;
 	igt_fb_t afb;
+	drmModeModeInfo *mode;
 
 	test_init(data, conn_id);
 
+	mode = igt_output_get_mode(data->output);
+
 	igt_info("Setting max bpc to %d on connector id %d\n",
 		 max_bpc, data->output->config.connector->connector_id);
-	igt_create_fb(data->fd, 128, 128, DRM_FORMAT_XRGB8888, 0, &afb);
+	igt_create_pattern_fb(data->fd, 1024, 1024, DRM_FORMAT_XRGB8888, 0, &afb);
 	igt_plane_set_fb(data->primary, &afb);
 	igt_output_set_prop_value(data->output, IGT_CONNECTOR_MAX_BPC, max_bpc);
 	igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
 
+	igt_remove_fb(data->fd, &afb);
 	test_fini(data);
 }
 
@@ -510,8 +929,8 @@ static void usage(const char *name)
 	igt_info("-t vic	Select video mode based on VIC\n");
 	igt_info("-v		Test on 'Virtual' connector as well, for debugging.\n");
 	igt_info("-i conn_id	Use connector by ID\n");
-	igt_info("-b max_bpc	Set \"max bpc\" connector property\n");
-	igt_info("-y 0|1	Write 0 or 1 to connector's debugfs force_yuv420_output\n");
+	igt_info("-b 8|10|12	8|10|12 bpc\n");
+	igt_info("-y 1|2|3|4	RGB|YUV422|YUV444|YUV420\n");
 	igt_info("-e seconds    number of seconds to display test pattern and exit\n");
 	igt_info("NOTE: if -i is not specified, first connected HDMI connector will be used for -t, -b and -y\n");
 }
@@ -523,7 +942,7 @@ int main(int argc, char **argv)
 	int vic = 0;
 	int conn_id = 0;
 	int max_bpc = 0;
-	int force_yuv_420 = -1;
+	int force_yuv_pixel_format = -1;
 
 	memset(&data, 0, sizeof(data));
 
@@ -542,7 +961,7 @@ int main(int argc, char **argv)
 			max_bpc = atoi(optarg);
 			break;
 		case 'y':
-			force_yuv_420 = atoi(optarg);
+			force_yuv_pixel_format = atoi(optarg);
 			break;
 		case 'e':
 			data.timeout_seconds = atoi(optarg);
@@ -561,8 +980,8 @@ int main(int argc, char **argv)
 	igt_require(data.display.is_atomic);
 	igt_display_require_output(&data.display);
 
-	if (force_yuv_420 >= 0)
-		set_force_yuv420(&data, force_yuv_420, conn_id);
+	if (force_yuv_pixel_format >= 2 && force_yuv_pixel_format <= 4)
+		set_force_yuv_pixel_format(&data, force_yuv_pixel_format, conn_id);
 
 	if (max_bpc)
 		set_max_bpc(&data, max_bpc, conn_id);
-- 
2.43.0


             reply	other threads:[~2026-06-17 19:25 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-17 19:24 Fangzhi Zuo [this message]
2026-06-17 19:24 ` [PATCH 2/3] tests/amdgpu: Fix for HDMI Compliance Automation Fangzhi Zuo
2026-06-17 19:24 ` [PATCH 3/3] lib/igt_amd: Fix 8k Memory Allocation Fangzhi Zuo
2026-06-17 20:56 ` ✓ Xe.CI.BAT: success for series starting with [1/3] tests/amdgpu: Add FRL Test Support Patchwork
2026-06-17 21:43 ` ✓ i915.CI.BAT: " Patchwork

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=20260617192449.4166-1-Jerry.Zuo@amd.com \
    --to=jerry.zuo@amd.com \
    --cc=Alex.Hung@amd.com \
    --cc=Christian.Koenig@amd.com \
    --cc=Mark.Broadworth@amd.com \
    --cc=harry.wentland@amd.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=jzuo@amd.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.