aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaulo Zanoni <paulo.r.zanoni@intel.com>2012-04-13 15:31:39 -0400
committerDave Airlie <airlied@redhat.com>2012-04-20 07:48:39 -0400
commita31546e25563b13f2a5d7216ec83da93ecf6d1ca (patch)
tree0d81195d7d3ebdac834ffbc69716bec536f78f89
parent099e014b056665c8271a1cd613b5126896c4dac5 (diff)
drm: add DRM_MODE_FLAG_DBLCLK to CEA modes requiring it
CEA modes 6, 7, 8, 9, 21, 22, 23, 24, 44, 45, 50, 51, 54, 55, 58 and 59 require sending pixel data 2 times. This doesn't mean the modes will work yet, but now the drivers know they're different. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--drivers/gpu/drm/drm_edid_modes.h38
1 files changed, 22 insertions, 16 deletions
diff --git a/drivers/gpu/drm/drm_edid_modes.h b/drivers/gpu/drm/drm_edid_modes.h
index 712786a1256b..96190aed2174 100644
--- a/drivers/gpu/drm/drm_edid_modes.h
+++ b/drivers/gpu/drm/drm_edid_modes.h
@@ -409,20 +409,22 @@ static const struct drm_display_mode edid_cea_modes[] = {
409 { DRM_MODE("1440x480", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1478, 409 { DRM_MODE("1440x480", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1478,
410 1602, 1716, 0, 480, 488, 494, 525, 0, 410 1602, 1716, 0, 480, 488, 494, 525, 0,
411 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC | 411 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
412 DRM_MODE_FLAG_INTERLACE) }, 412 DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK) },
413 /* 7 - 1440x480i@60Hz */ 413 /* 7 - 1440x480i@60Hz */
414 { DRM_MODE("1440x480", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1478, 414 { DRM_MODE("1440x480", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1478,
415 1602, 1716, 0, 480, 488, 494, 525, 0, 415 1602, 1716, 0, 480, 488, 494, 525, 0,
416 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC | 416 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
417 DRM_MODE_FLAG_INTERLACE) }, 417 DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK) },
418 /* 8 - 1440x240@60Hz */ 418 /* 8 - 1440x240@60Hz */
419 { DRM_MODE("1440x240", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1478, 419 { DRM_MODE("1440x240", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1478,
420 1602, 1716, 0, 240, 244, 247, 262, 0, 420 1602, 1716, 0, 240, 244, 247, 262, 0,
421 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, 421 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
422 DRM_MODE_FLAG_DBLCLK) },
422 /* 9 - 1440x240@60Hz */ 423 /* 9 - 1440x240@60Hz */
423 { DRM_MODE("1440x240", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1478, 424 { DRM_MODE("1440x240", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1478,
424 1602, 1716, 0, 240, 244, 247, 262, 0, 425 1602, 1716, 0, 240, 244, 247, 262, 0,
425 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, 426 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
427 DRM_MODE_FLAG_DBLCLK) },
426 /* 10 - 2880x480i@60Hz */ 428 /* 10 - 2880x480i@60Hz */
427 { DRM_MODE("2880x480", DRM_MODE_TYPE_DRIVER, 54000, 2880, 2956, 429 { DRM_MODE("2880x480", DRM_MODE_TYPE_DRIVER, 54000, 2880, 2956,
428 3204, 3432, 0, 480, 488, 494, 525, 0, 430 3204, 3432, 0, 480, 488, 494, 525, 0,
@@ -474,20 +476,22 @@ static const struct drm_display_mode edid_cea_modes[] = {
474 { DRM_MODE("1440x576", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1464, 476 { DRM_MODE("1440x576", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1464,
475 1590, 1728, 0, 576, 580, 586, 625, 0, 477 1590, 1728, 0, 576, 580, 586, 625, 0,
476 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC | 478 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
477 DRM_MODE_FLAG_INTERLACE) }, 479 DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK) },
478 /* 22 - 1440x576i@50Hz */ 480 /* 22 - 1440x576i@50Hz */
479 { DRM_MODE("1440x576", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1464, 481 { DRM_MODE("1440x576", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1464,
480 1590, 1728, 0, 576, 580, 586, 625, 0, 482 1590, 1728, 0, 576, 580, 586, 625, 0,
481 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC | 483 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
482 DRM_MODE_FLAG_INTERLACE) }, 484 DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK) },
483 /* 23 - 1440x288@50Hz */ 485 /* 23 - 1440x288@50Hz */
484 { DRM_MODE("1440x288", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1464, 486 { DRM_MODE("1440x288", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1464,
485 1590, 1728, 0, 288, 290, 293, 312, 0, 487 1590, 1728, 0, 288, 290, 293, 312, 0,
486 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, 488 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
489 DRM_MODE_FLAG_DBLCLK) },
487 /* 24 - 1440x288@50Hz */ 490 /* 24 - 1440x288@50Hz */
488 { DRM_MODE("1440x288", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1464, 491 { DRM_MODE("1440x288", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1464,
489 1590, 1728, 0, 288, 290, 293, 312, 0, 492 1590, 1728, 0, 288, 290, 293, 312, 0,
490 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, 493 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
494 DRM_MODE_FLAG_DBLCLK) },
491 /* 25 - 2880x576i@50Hz */ 495 /* 25 - 2880x576i@50Hz */
492 { DRM_MODE("2880x576", DRM_MODE_TYPE_DRIVER, 54000, 2880, 2928, 496 { DRM_MODE("2880x576", DRM_MODE_TYPE_DRIVER, 54000, 2880, 2928,
493 3180, 3456, 0, 576, 580, 586, 625, 0, 497 3180, 3456, 0, 576, 580, 586, 625, 0,
@@ -571,11 +575,13 @@ static const struct drm_display_mode edid_cea_modes[] = {
571 /* 44 - 1440x576i@100Hz */ 575 /* 44 - 1440x576i@100Hz */
572 { DRM_MODE("1440x576", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1464, 576 { DRM_MODE("1440x576", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1464,
573 1590, 1728, 0, 576, 580, 586, 625, 0, 577 1590, 1728, 0, 576, 580, 586, 625, 0,
574 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, 578 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
579 DRM_MODE_FLAG_DBLCLK) },
575 /* 45 - 1440x576i@100Hz */ 580 /* 45 - 1440x576i@100Hz */
576 { DRM_MODE("1440x576", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1464, 581 { DRM_MODE("1440x576", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1464,
577 1590, 1728, 0, 576, 580, 586, 625, 0, 582 1590, 1728, 0, 576, 580, 586, 625, 0,
578 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, 583 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
584 DRM_MODE_FLAG_DBLCLK) },
579 /* 46 - 1920x1080i@120Hz */ 585 /* 46 - 1920x1080i@120Hz */
580 { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2008, 586 { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2008,
581 2052, 2200, 0, 1080, 1084, 1094, 1125, 0, 587 2052, 2200, 0, 1080, 1084, 1094, 1125, 0,
@@ -597,12 +603,12 @@ static const struct drm_display_mode edid_cea_modes[] = {
597 { DRM_MODE("1440x480", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1478, 603 { DRM_MODE("1440x480", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1478,
598 1602, 1716, 0, 480, 488, 494, 525, 0, 604 1602, 1716, 0, 480, 488, 494, 525, 0,
599 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC | 605 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
600 DRM_MODE_FLAG_INTERLACE) }, 606 DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK) },
601 /* 51 - 1440x480i@120Hz */ 607 /* 51 - 1440x480i@120Hz */
602 { DRM_MODE("1440x480", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1478, 608 { DRM_MODE("1440x480", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1478,
603 1602, 1716, 0, 480, 488, 494, 525, 0, 609 1602, 1716, 0, 480, 488, 494, 525, 0,
604 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC | 610 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
605 DRM_MODE_FLAG_INTERLACE) }, 611 DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK) },
606 /* 52 - 720x576@200Hz */ 612 /* 52 - 720x576@200Hz */
607 { DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 108000, 720, 732, 613 { DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 108000, 720, 732,
608 796, 864, 0, 576, 581, 586, 625, 0, 614 796, 864, 0, 576, 581, 586, 625, 0,
@@ -615,12 +621,12 @@ static const struct drm_display_mode edid_cea_modes[] = {
615 { DRM_MODE("1440x576", DRM_MODE_TYPE_DRIVER, 108000, 1440, 1464, 621 { DRM_MODE("1440x576", DRM_MODE_TYPE_DRIVER, 108000, 1440, 1464,
616 1590, 1728, 0, 576, 580, 586, 625, 0, 622 1590, 1728, 0, 576, 580, 586, 625, 0,
617 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC | 623 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
618 DRM_MODE_FLAG_INTERLACE) }, 624 DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK) },
619 /* 55 - 1440x576i@200Hz */ 625 /* 55 - 1440x576i@200Hz */
620 { DRM_MODE("1440x576", DRM_MODE_TYPE_DRIVER, 108000, 1440, 1464, 626 { DRM_MODE("1440x576", DRM_MODE_TYPE_DRIVER, 108000, 1440, 1464,
621 1590, 1728, 0, 576, 580, 586, 625, 0, 627 1590, 1728, 0, 576, 580, 586, 625, 0,
622 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC | 628 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
623 DRM_MODE_FLAG_INTERLACE) }, 629 DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK) },
624 /* 56 - 720x480@240Hz */ 630 /* 56 - 720x480@240Hz */
625 { DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 108000, 720, 736, 631 { DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 108000, 720, 736,
626 798, 858, 0, 480, 489, 495, 525, 0, 632 798, 858, 0, 480, 489, 495, 525, 0,
@@ -633,12 +639,12 @@ static const struct drm_display_mode edid_cea_modes[] = {
633 { DRM_MODE("1440x480", DRM_MODE_TYPE_DRIVER, 108000, 1440, 1478, 639 { DRM_MODE("1440x480", DRM_MODE_TYPE_DRIVER, 108000, 1440, 1478,
634 1602, 1716, 0, 480, 488, 494, 525, 0, 640 1602, 1716, 0, 480, 488, 494, 525, 0,
635 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC | 641 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
636 DRM_MODE_FLAG_INTERLACE) }, 642 DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK) },
637 /* 59 - 1440x480i@240 */ 643 /* 59 - 1440x480i@240 */
638 { DRM_MODE("1440x480", DRM_MODE_TYPE_DRIVER, 108000, 1440, 1478, 644 { DRM_MODE("1440x480", DRM_MODE_TYPE_DRIVER, 108000, 1440, 1478,
639 1602, 1716, 0, 480, 488, 494, 525, 0, 645 1602, 1716, 0, 480, 488, 494, 525, 0,
640 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC | 646 DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
641 DRM_MODE_FLAG_INTERLACE) }, 647 DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK) },
642 /* 60 - 1280x720@24Hz */ 648 /* 60 - 1280x720@24Hz */
643 { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 59400, 1280, 3040, 649 { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 59400, 1280, 3040,
644 3080, 3300, 0, 720, 725, 730, 750, 0, 650 3080, 3300, 0, 720, 725, 730, 750, 0,