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);
next prev 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