Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Hung <alex.hung@amd.com>
To: Fangzhi Zuo <Jerry.Zuo@amd.com>,
	igt-dev@lists.freedesktop.org, harry.wentland@amd.com,
	Christian.Koenig@amd.com
Cc: Fangzhi Zuo <jzuo@amd.com>, Mark Broadworth <Mark.Broadworth@amd.com>
Subject: Re: [PATCH 1/3] tests/amdgpu: Add FRL Test Support
Date: Thu, 18 Jun 2026 11:45:15 -0600	[thread overview]
Message-ID: <af7d07b0-5148-4e9d-be04-ab899de9e2ca@amd.com> (raw)
In-Reply-To: <20260617192449.4166-1-Jerry.Zuo@amd.com>

The subject should be "tools/amd_hdmi_compliance: ..." as it touches 
files in tools/ directory

On 6/17/26 13:24, Fangzhi Zuo wrote:
> 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,
Should it be 5120? It says 5120x2160 below
> +		  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;
> +	}

The above indentation is incorrect. You can use checkpatch.pl from linux 
kernel to check

> +
> +	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);

"mode" is not used anywhere below. Is it necessary?

> +
>   	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");
How about "-b 8|10|12	Set bpc to 8|10|12 bpc"?

> +	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);
set_force_yuv420 is no longer called. Should it be removed?
> +	if (force_yuv_pixel_format >= 2 && force_yuv_pixel_format <= 4)
Let's have enum or defines for 1~4 so they look informative.

Also, what aboutforce_yuv_pixel_format is 1, which is allowed by "-y".

> +		set_force_yuv_pixel_format(&data, force_yuv_pixel_format, conn_id);
>   
>   	if (max_bpc)
>   		set_max_bpc(&data, max_bpc, conn_id);


  parent reply	other threads:[~2026-06-18 17:45 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-17 19:24 [PATCH 1/3] tests/amdgpu: Add FRL Test Support Fangzhi Zuo
2026-06-17 19:24 ` [PATCH 2/3] tests/amdgpu: Fix for HDMI Compliance Automation Fangzhi Zuo
2026-06-18 17:47   ` Alex Hung
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
2026-06-18  7:04 ` ✗ Xe.CI.FULL: failure " Patchwork
2026-06-18 17:45 ` Alex Hung [this message]
2026-06-19  1:23 ` ✓ i915.CI.Full: success " 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=af7d07b0-5148-4e9d-be04-ab899de9e2ca@amd.com \
    --to=alex.hung@amd.com \
    --cc=Christian.Koenig@amd.com \
    --cc=Jerry.Zuo@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox