Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/tests: Add TDMS character rate connector state tests

The previous patch stores in the connector state the expected TMDS
character rate matching the configuration of the HDMI connector. Let's
add a few tests to make sure it works as expected.

Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240527-kms-hdmi-connector-state-v15-12-c5af16c3aae2@kernel.org
Signed-off-by: Maxime Ripard <mripard@kernel.org>

+382
+166
drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c
··· 349 349 KUNIT_EXPECT_FALSE(test, crtc_state->mode_changed); 350 350 } 351 351 352 + /* 353 + * Test that when doing a commit which would use RGB 8bpc, the TMDS 354 + * clock rate stored in the connector state is equal to the mode clock 355 + */ 356 + static void drm_test_check_tmds_char_rate_rgb_8bpc(struct kunit *test) 357 + { 358 + struct drm_atomic_helper_connector_hdmi_priv *priv; 359 + struct drm_modeset_acquire_ctx *ctx; 360 + struct drm_connector_state *conn_state; 361 + struct drm_display_mode *preferred; 362 + struct drm_connector *conn; 363 + struct drm_device *drm; 364 + struct drm_crtc *crtc; 365 + int ret; 366 + 367 + priv = drm_atomic_helper_connector_hdmi_init(test, 368 + BIT(HDMI_COLORSPACE_RGB), 369 + 8); 370 + KUNIT_ASSERT_NOT_NULL(test, priv); 371 + 372 + conn = &priv->connector; 373 + ret = set_connector_edid(test, conn, 374 + test_edid_hdmi_1080p_rgb_max_200mhz, 375 + ARRAY_SIZE(test_edid_hdmi_1080p_rgb_max_200mhz)); 376 + KUNIT_ASSERT_EQ(test, ret, 0); 377 + 378 + ctx = drm_kunit_helper_acquire_ctx_alloc(test); 379 + KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ctx); 380 + 381 + preferred = find_preferred_mode(conn); 382 + KUNIT_ASSERT_NOT_NULL(test, preferred); 383 + KUNIT_ASSERT_FALSE(test, preferred->flags & DRM_MODE_FLAG_DBLCLK); 384 + 385 + drm = &priv->drm; 386 + crtc = priv->crtc; 387 + ret = light_up_connector(test, drm, crtc, conn, preferred, ctx); 388 + KUNIT_ASSERT_EQ(test, ret, 0); 389 + 390 + conn_state = conn->state; 391 + KUNIT_ASSERT_NOT_NULL(test, conn_state); 392 + 393 + KUNIT_ASSERT_EQ(test, conn_state->hdmi.output_bpc, 8); 394 + KUNIT_ASSERT_EQ(test, conn_state->hdmi.output_format, HDMI_COLORSPACE_RGB); 395 + KUNIT_EXPECT_EQ(test, conn_state->hdmi.tmds_char_rate, preferred->clock * 1000); 396 + } 397 + 398 + /* 399 + * Test that when doing a commit which would use RGB 10bpc, the TMDS 400 + * clock rate stored in the connector state is equal to 1.25 times the 401 + * mode pixel clock 402 + */ 403 + static void drm_test_check_tmds_char_rate_rgb_10bpc(struct kunit *test) 404 + { 405 + struct drm_atomic_helper_connector_hdmi_priv *priv; 406 + struct drm_modeset_acquire_ctx *ctx; 407 + struct drm_connector_state *conn_state; 408 + struct drm_display_mode *preferred; 409 + struct drm_connector *conn; 410 + struct drm_device *drm; 411 + struct drm_crtc *crtc; 412 + int ret; 413 + 414 + priv = drm_atomic_helper_connector_hdmi_init(test, 415 + BIT(HDMI_COLORSPACE_RGB), 416 + 10); 417 + KUNIT_ASSERT_NOT_NULL(test, priv); 418 + 419 + conn = &priv->connector; 420 + ret = set_connector_edid(test, conn, 421 + test_edid_hdmi_1080p_rgb_yuv_dc_max_340mhz, 422 + ARRAY_SIZE(test_edid_hdmi_1080p_rgb_yuv_dc_max_340mhz)); 423 + KUNIT_ASSERT_EQ(test, ret, 0); 424 + 425 + ctx = drm_kunit_helper_acquire_ctx_alloc(test); 426 + KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ctx); 427 + 428 + preferred = find_preferred_mode(conn); 429 + KUNIT_ASSERT_NOT_NULL(test, preferred); 430 + KUNIT_ASSERT_FALSE(test, preferred->flags & DRM_MODE_FLAG_DBLCLK); 431 + 432 + drm = &priv->drm; 433 + crtc = priv->crtc; 434 + ret = light_up_connector(test, drm, crtc, conn, preferred, ctx); 435 + KUNIT_ASSERT_EQ(test, ret, 0); 436 + 437 + conn_state = conn->state; 438 + KUNIT_ASSERT_NOT_NULL(test, conn_state); 439 + 440 + KUNIT_ASSERT_EQ(test, conn_state->hdmi.output_bpc, 10); 441 + KUNIT_ASSERT_EQ(test, conn_state->hdmi.output_format, HDMI_COLORSPACE_RGB); 442 + KUNIT_EXPECT_EQ(test, conn_state->hdmi.tmds_char_rate, preferred->clock * 1250); 443 + } 444 + 445 + /* 446 + * Test that when doing a commit which would use RGB 12bpc, the TMDS 447 + * clock rate stored in the connector state is equal to 1.5 times the 448 + * mode pixel clock 449 + */ 450 + static void drm_test_check_tmds_char_rate_rgb_12bpc(struct kunit *test) 451 + { 452 + struct drm_atomic_helper_connector_hdmi_priv *priv; 453 + struct drm_modeset_acquire_ctx *ctx; 454 + struct drm_connector_state *conn_state; 455 + struct drm_display_mode *preferred; 456 + struct drm_connector *conn; 457 + struct drm_device *drm; 458 + struct drm_crtc *crtc; 459 + int ret; 460 + 461 + priv = drm_atomic_helper_connector_hdmi_init(test, 462 + BIT(HDMI_COLORSPACE_RGB), 463 + 12); 464 + KUNIT_ASSERT_NOT_NULL(test, priv); 465 + 466 + conn = &priv->connector; 467 + ret = set_connector_edid(test, conn, 468 + test_edid_hdmi_1080p_rgb_yuv_dc_max_340mhz, 469 + ARRAY_SIZE(test_edid_hdmi_1080p_rgb_yuv_dc_max_340mhz)); 470 + KUNIT_ASSERT_EQ(test, ret, 0); 471 + 472 + ctx = drm_kunit_helper_acquire_ctx_alloc(test); 473 + KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ctx); 474 + 475 + preferred = find_preferred_mode(conn); 476 + KUNIT_ASSERT_NOT_NULL(test, preferred); 477 + KUNIT_ASSERT_FALSE(test, preferred->flags & DRM_MODE_FLAG_DBLCLK); 478 + 479 + drm = &priv->drm; 480 + crtc = priv->crtc; 481 + ret = light_up_connector(test, drm, crtc, conn, preferred, ctx); 482 + KUNIT_ASSERT_EQ(test, ret, 0); 483 + 484 + conn_state = conn->state; 485 + KUNIT_ASSERT_NOT_NULL(test, conn_state); 486 + 487 + KUNIT_ASSERT_EQ(test, conn_state->hdmi.output_bpc, 12); 488 + KUNIT_ASSERT_EQ(test, conn_state->hdmi.output_format, HDMI_COLORSPACE_RGB); 489 + KUNIT_EXPECT_EQ(test, conn_state->hdmi.tmds_char_rate, preferred->clock * 1500); 490 + } 491 + 352 492 static struct kunit_case drm_atomic_helper_connector_hdmi_check_tests[] = { 353 493 KUNIT_CASE(drm_test_check_output_bpc_crtc_mode_changed), 354 494 KUNIT_CASE(drm_test_check_output_bpc_crtc_mode_not_changed), 495 + KUNIT_CASE(drm_test_check_tmds_char_rate_rgb_8bpc), 496 + KUNIT_CASE(drm_test_check_tmds_char_rate_rgb_10bpc), 497 + KUNIT_CASE(drm_test_check_tmds_char_rate_rgb_12bpc), 355 498 /* 356 499 * TODO: We should have tests to check that a change in the 357 500 * format triggers a CRTC mode change just like we do for the ··· 606 463 KUNIT_EXPECT_EQ(test, conn_state->hdmi.output_format, HDMI_COLORSPACE_RGB); 607 464 } 608 465 466 + /* 467 + * Test that the value of the output format property out of reset is set 468 + * to 0, and will be computed at atomic_check time. 469 + */ 470 + static void drm_test_check_tmds_char_value(struct kunit *test) 471 + { 472 + struct drm_atomic_helper_connector_hdmi_priv *priv; 473 + struct drm_connector_state *conn_state; 474 + struct drm_connector *conn; 475 + 476 + priv = drm_atomic_helper_connector_hdmi_init(test, 477 + BIT(HDMI_COLORSPACE_RGB) | 478 + BIT(HDMI_COLORSPACE_YUV422) | 479 + BIT(HDMI_COLORSPACE_YUV444), 480 + 12); 481 + KUNIT_ASSERT_NOT_NULL(test, priv); 482 + 483 + conn = &priv->connector; 484 + conn_state = conn->state; 485 + KUNIT_EXPECT_EQ(test, conn_state->hdmi.tmds_char_rate, 0); 486 + } 487 + 609 488 static struct kunit_case drm_atomic_helper_connector_hdmi_reset_tests[] = { 610 489 KUNIT_CASE(drm_test_check_bpc_8_value), 611 490 KUNIT_CASE(drm_test_check_bpc_10_value), 612 491 KUNIT_CASE(drm_test_check_bpc_12_value), 613 492 KUNIT_CASE(drm_test_check_format_value), 493 + KUNIT_CASE(drm_test_check_tmds_char_value), 614 494 { } 615 495 }; 616 496
+216
drivers/gpu/drm/tests/drm_kunit_edid.h
··· 105 105 0x00, 0x00, 0x00, 0xd0 106 106 }; 107 107 108 + /* 109 + * edid-decode (hex): 110 + * 111 + * 00 ff ff ff ff ff ff 00 31 d8 2a 00 00 00 00 00 112 + * 00 21 01 03 81 a0 5a 78 1a 00 00 00 00 00 00 00 113 + * 00 00 00 20 00 00 01 01 01 01 01 01 01 01 01 01 114 + * 01 01 01 01 01 01 02 3a 80 18 71 38 2d 40 58 2c 115 + * 45 00 40 84 63 00 00 1e 00 00 00 fc 00 54 65 73 116 + * 74 20 45 44 49 44 0a 20 20 20 00 00 00 fd 00 32 117 + * 46 1e 46 0f 00 0a 20 20 20 20 20 20 00 00 00 10 118 + * 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 7a 119 + * 120 + * 02 03 1b b1 e3 05 00 20 41 10 e2 00 ca 6d 03 0c 121 + * 00 12 34 78 28 20 00 00 00 00 00 00 00 00 00 00 122 + * 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 123 + * 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 124 + * 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 125 + * 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 126 + * 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 127 + * 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a8 128 + * 129 + * ---------------- 130 + * 131 + * Block 0, Base EDID: 132 + * EDID Structure Version & Revision: 1.3 133 + * Vendor & Product Identification: 134 + * Manufacturer: LNX 135 + * Model: 42 136 + * Made in: 2023 137 + * Basic Display Parameters & Features: 138 + * Digital display 139 + * DFP 1.x compatible TMDS 140 + * Maximum image size: 160 cm x 90 cm 141 + * Gamma: 2.20 142 + * Undefined display color type 143 + * First detailed timing is the preferred timing 144 + * Color Characteristics: 145 + * Red : 0.0000, 0.0000 146 + * Green: 0.0000, 0.0000 147 + * Blue : 0.0000, 0.0000 148 + * White: 0.0000, 0.0000 149 + * Established Timings I & II: 150 + * DMT 0x04: 640x480 59.940476 Hz 4:3 31.469 kHz 25.175000 MHz 151 + * Standard Timings: none 152 + * Detailed Timing Descriptors: 153 + * DTD 1: 1920x1080 60.000000 Hz 16:9 67.500 kHz 148.500000 MHz (1600 mm x 900 mm) 154 + * Hfront 88 Hsync 44 Hback 148 Hpol P 155 + * Vfront 4 Vsync 5 Vback 36 Vpol P 156 + * Display Product Name: 'Test EDID' 157 + * Display Range Limits: 158 + * Monitor ranges (GTF): 50-70 Hz V, 30-70 kHz H, max dotclock 150 MHz 159 + * Dummy Descriptor: 160 + * Extension blocks: 1 161 + * Checksum: 0x7a 162 + * 163 + * ---------------- 164 + * 165 + * Block 1, CTA-861 Extension Block: 166 + * Revision: 3 167 + * Underscans IT Video Formats by default 168 + * Supports YCbCr 4:4:4 169 + * Supports YCbCr 4:2:2 170 + * Native detailed modes: 1 171 + * Colorimetry Data Block: 172 + * sRGB 173 + * Video Data Block: 174 + * VIC 16: 1920x1080 60.000000 Hz 16:9 67.500 kHz 148.500000 MHz 175 + * Video Capability Data Block: 176 + * YCbCr quantization: Selectable (via AVI YQ) 177 + * RGB quantization: Selectable (via AVI Q) 178 + * PT scan behavior: No Data 179 + * IT scan behavior: Always Underscanned 180 + * CE scan behavior: Always Underscanned 181 + * Vendor-Specific Data Block (HDMI), OUI 00-0C-03: 182 + * Source physical address: 1.2.3.4 183 + * DC_48bit 184 + * DC_36bit 185 + * DC_30bit 186 + * DC_Y444 187 + * Maximum TMDS clock: 200 MHz 188 + * Extended HDMI video details: 189 + * Checksum: 0xa8 Unused space in Extension Block: 100 bytes 190 + */ 191 + static const unsigned char test_edid_hdmi_1080p_rgb_yuv_dc_max_200mhz[] = { 192 + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x31, 0xd8, 0x2a, 0x00, 193 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x01, 0x03, 0x81, 0xa0, 0x5a, 0x78, 194 + 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 195 + 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 196 + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x3a, 0x80, 0x18, 0x71, 0x38, 197 + 0x2d, 0x40, 0x58, 0x2c, 0x45, 0x00, 0x40, 0x84, 0x63, 0x00, 0x00, 0x1e, 198 + 0x00, 0x00, 0x00, 0xfc, 0x00, 0x54, 0x65, 0x73, 0x74, 0x20, 0x45, 0x44, 199 + 0x49, 0x44, 0x0a, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x32, 200 + 0x46, 0x1e, 0x46, 0x0f, 0x00, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 201 + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 202 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7a, 0x02, 0x03, 0x1b, 0xb1, 203 + 0xe3, 0x05, 0x00, 0x20, 0x41, 0x10, 0xe2, 0x00, 0xca, 0x6d, 0x03, 0x0c, 204 + 0x00, 0x12, 0x34, 0x78, 0x28, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 205 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 206 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 207 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 208 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 209 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 210 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 211 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 212 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 213 + 0x00, 0x00, 0x00, 0xa8 214 + }; 215 + 216 + /* 217 + * edid-decode (hex): 218 + * 219 + * 00 ff ff ff ff ff ff 00 31 d8 2a 00 00 00 00 00 220 + * 00 21 01 03 81 a0 5a 78 0a 00 00 00 00 00 00 00 221 + * 00 00 00 20 00 00 01 01 01 01 01 01 01 01 01 01 222 + * 01 01 01 01 01 01 02 3a 80 18 71 38 2d 40 58 2c 223 + * 45 00 40 84 63 00 00 1e 00 00 00 fc 00 54 65 73 224 + * 74 20 45 44 49 44 0a 20 20 20 00 00 00 fd 00 32 225 + * 46 1e 46 0f 00 0a 20 20 20 20 20 20 00 00 00 10 226 + * 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 8a 227 + * 228 + * 02 03 1b b1 e3 05 00 20 41 10 e2 00 ca 6d 03 0c 229 + * 00 12 34 78 44 20 00 00 00 00 00 00 00 00 00 00 230 + * 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 231 + * 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 232 + * 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 233 + * 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 234 + * 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 235 + * 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 8c 236 + * 237 + * ---------------- 238 + * 239 + * Block 0, Base EDID: 240 + * EDID Structure Version & Revision: 1.3 241 + * Vendor & Product Identification: 242 + * Manufacturer: LNX 243 + * Model: 42 244 + * Made in: 2023 245 + * Basic Display Parameters & Features: 246 + * Digital display 247 + * DFP 1.x compatible TMDS 248 + * Maximum image size: 160 cm x 90 cm 249 + * Gamma: 2.20 250 + * RGB color display 251 + * First detailed timing is the preferred timing 252 + * Color Characteristics: 253 + * Red : 0.0000, 0.0000 254 + * Green: 0.0000, 0.0000 255 + * Blue : 0.0000, 0.0000 256 + * White: 0.0000, 0.0000 257 + * Established Timings I & II: 258 + * DMT 0x04: 640x480 59.940476 Hz 4:3 31.469 kHz 25.175000 MHz 259 + * Standard Timings: none 260 + * Detailed Timing Descriptors: 261 + * DTD 1: 1920x1080 60.000000 Hz 16:9 67.500 kHz 148.500000 MHz (1600 mm x 900 mm) 262 + * Hfront 88 Hsync 44 Hback 148 Hpol P 263 + * Vfront 4 Vsync 5 Vback 36 Vpol P 264 + * Display Product Name: 'Test EDID' 265 + * Display Range Limits: 266 + * Monitor ranges (GTF): 50-70 Hz V, 30-70 kHz H, max dotclock 150 MHz 267 + * Dummy Descriptor: 268 + * Extension blocks: 1 269 + * Checksum: 0x8a 270 + * 271 + * ---------------- 272 + * 273 + * Block 1, CTA-861 Extension Block: 274 + * Revision: 3 275 + * Underscans IT Video Formats by default 276 + * Supports YCbCr 4:4:4 277 + * Supports YCbCr 4:2:2 278 + * Native detailed modes: 1 279 + * Colorimetry Data Block: 280 + * sRGB 281 + * Video Data Block: 282 + * VIC 16: 1920x1080 60.000000 Hz 16:9 67.500 kHz 148.500000 MHz 283 + * Video Capability Data Block: 284 + * YCbCr quantization: Selectable (via AVI YQ) 285 + * RGB quantization: Selectable (via AVI Q) 286 + * PT scan behavior: No Data 287 + * IT scan behavior: Always Underscanned 288 + * CE scan behavior: Always Underscanned 289 + * Vendor-Specific Data Block (HDMI), OUI 00-0C-03: 290 + * Source physical address: 1.2.3.4 291 + * DC_48bit 292 + * DC_36bit 293 + * DC_30bit 294 + * DC_Y444 295 + * Maximum TMDS clock: 340 MHz 296 + * Extended HDMI video details: 297 + * Checksum: 0x8c Unused space in Extension Block: 100 bytes 298 + */ 299 + static const unsigned char test_edid_hdmi_1080p_rgb_yuv_dc_max_340mhz[] = { 300 + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x31, 0xd8, 0x2a, 0x00, 301 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x01, 0x03, 0x81, 0xa0, 0x5a, 0x78, 302 + 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 303 + 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 304 + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x3a, 0x80, 0x18, 0x71, 0x38, 305 + 0x2d, 0x40, 0x58, 0x2c, 0x45, 0x00, 0x40, 0x84, 0x63, 0x00, 0x00, 0x1e, 306 + 0x00, 0x00, 0x00, 0xfc, 0x00, 0x54, 0x65, 0x73, 0x74, 0x20, 0x45, 0x44, 307 + 0x49, 0x44, 0x0a, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x32, 308 + 0x46, 0x1e, 0x46, 0x0f, 0x00, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 309 + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 310 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x8a, 0x02, 0x03, 0x1b, 0xb1, 311 + 0xe3, 0x05, 0x00, 0x20, 0x41, 0x10, 0xe2, 0x00, 0xca, 0x6d, 0x03, 0x0c, 312 + 0x00, 0x12, 0x34, 0x78, 0x44, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 313 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 314 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 315 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 316 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 317 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 318 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 319 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 320 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 321 + 0x00, 0x00, 0x00, 0x8c 322 + }; 323 + 108 324 #endif // DRM_KUNIT_EDID_H_