mirror of https://gitee.com/openkylin/linux.git
Merge branch 'topic/core-stuff' of git://people.freedesktop.org/~danvet/drm-intel into drm-next
Some straggling drm core patches * 'topic/core-stuff' of git://people.freedesktop.org/~danvet/drm-intel: drm/gem: Always initialize the gem object in object_init drm/edid: Populate picture aspect ratio for CEA modes drm/edid: parse the list of additional 3D modes drm/edid: split VIC display mode lookup into a separate function drm: Make the connector mode_valid() vfunc return a drm_mode_status enum
This commit is contained in:
commit
2b76a676f7
|
@ -605,347 +605,347 @@ static const struct drm_display_mode edid_cea_modes[] = {
|
||||||
{ DRM_MODE("640x480", DRM_MODE_TYPE_DRIVER, 25175, 640, 656,
|
{ DRM_MODE("640x480", DRM_MODE_TYPE_DRIVER, 25175, 640, 656,
|
||||||
752, 800, 0, 480, 490, 492, 525, 0,
|
752, 800, 0, 480, 490, 492, 525, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 60, },
|
.vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
|
||||||
/* 2 - 720x480@60Hz */
|
/* 2 - 720x480@60Hz */
|
||||||
{ DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 27000, 720, 736,
|
{ DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 27000, 720, 736,
|
||||||
798, 858, 0, 480, 489, 495, 525, 0,
|
798, 858, 0, 480, 489, 495, 525, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 60, },
|
.vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
|
||||||
/* 3 - 720x480@60Hz */
|
/* 3 - 720x480@60Hz */
|
||||||
{ DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 27000, 720, 736,
|
{ DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 27000, 720, 736,
|
||||||
798, 858, 0, 480, 489, 495, 525, 0,
|
798, 858, 0, 480, 489, 495, 525, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 60, },
|
.vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 4 - 1280x720@60Hz */
|
/* 4 - 1280x720@60Hz */
|
||||||
{ DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280, 1390,
|
{ DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280, 1390,
|
||||||
1430, 1650, 0, 720, 725, 730, 750, 0,
|
1430, 1650, 0, 720, 725, 730, 750, 0,
|
||||||
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
||||||
.vrefresh = 60, },
|
.vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 5 - 1920x1080i@60Hz */
|
/* 5 - 1920x1080i@60Hz */
|
||||||
{ DRM_MODE("1920x1080i", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2008,
|
{ DRM_MODE("1920x1080i", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2008,
|
||||||
2052, 2200, 0, 1080, 1084, 1094, 1125, 0,
|
2052, 2200, 0, 1080, 1084, 1094, 1125, 0,
|
||||||
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
|
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
|
||||||
DRM_MODE_FLAG_INTERLACE),
|
DRM_MODE_FLAG_INTERLACE),
|
||||||
.vrefresh = 60, },
|
.vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 6 - 1440x480i@60Hz */
|
/* 6 - 1440x480i@60Hz */
|
||||||
{ DRM_MODE("1440x480i", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1478,
|
{ DRM_MODE("1440x480i", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1478,
|
||||||
1602, 1716, 0, 480, 488, 494, 525, 0,
|
1602, 1716, 0, 480, 488, 494, 525, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
||||||
DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
|
DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
|
||||||
.vrefresh = 60, },
|
.vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
|
||||||
/* 7 - 1440x480i@60Hz */
|
/* 7 - 1440x480i@60Hz */
|
||||||
{ DRM_MODE("1440x480i", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1478,
|
{ DRM_MODE("1440x480i", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1478,
|
||||||
1602, 1716, 0, 480, 488, 494, 525, 0,
|
1602, 1716, 0, 480, 488, 494, 525, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
||||||
DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
|
DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
|
||||||
.vrefresh = 60, },
|
.vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 8 - 1440x240@60Hz */
|
/* 8 - 1440x240@60Hz */
|
||||||
{ DRM_MODE("1440x240", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1478,
|
{ DRM_MODE("1440x240", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1478,
|
||||||
1602, 1716, 0, 240, 244, 247, 262, 0,
|
1602, 1716, 0, 240, 244, 247, 262, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
||||||
DRM_MODE_FLAG_DBLCLK),
|
DRM_MODE_FLAG_DBLCLK),
|
||||||
.vrefresh = 60, },
|
.vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
|
||||||
/* 9 - 1440x240@60Hz */
|
/* 9 - 1440x240@60Hz */
|
||||||
{ DRM_MODE("1440x240", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1478,
|
{ DRM_MODE("1440x240", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1478,
|
||||||
1602, 1716, 0, 240, 244, 247, 262, 0,
|
1602, 1716, 0, 240, 244, 247, 262, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
||||||
DRM_MODE_FLAG_DBLCLK),
|
DRM_MODE_FLAG_DBLCLK),
|
||||||
.vrefresh = 60, },
|
.vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 10 - 2880x480i@60Hz */
|
/* 10 - 2880x480i@60Hz */
|
||||||
{ DRM_MODE("2880x480i", DRM_MODE_TYPE_DRIVER, 54000, 2880, 2956,
|
{ DRM_MODE("2880x480i", DRM_MODE_TYPE_DRIVER, 54000, 2880, 2956,
|
||||||
3204, 3432, 0, 480, 488, 494, 525, 0,
|
3204, 3432, 0, 480, 488, 494, 525, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
||||||
DRM_MODE_FLAG_INTERLACE),
|
DRM_MODE_FLAG_INTERLACE),
|
||||||
.vrefresh = 60, },
|
.vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
|
||||||
/* 11 - 2880x480i@60Hz */
|
/* 11 - 2880x480i@60Hz */
|
||||||
{ DRM_MODE("2880x480i", DRM_MODE_TYPE_DRIVER, 54000, 2880, 2956,
|
{ DRM_MODE("2880x480i", DRM_MODE_TYPE_DRIVER, 54000, 2880, 2956,
|
||||||
3204, 3432, 0, 480, 488, 494, 525, 0,
|
3204, 3432, 0, 480, 488, 494, 525, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
||||||
DRM_MODE_FLAG_INTERLACE),
|
DRM_MODE_FLAG_INTERLACE),
|
||||||
.vrefresh = 60, },
|
.vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 12 - 2880x240@60Hz */
|
/* 12 - 2880x240@60Hz */
|
||||||
{ DRM_MODE("2880x240", DRM_MODE_TYPE_DRIVER, 54000, 2880, 2956,
|
{ DRM_MODE("2880x240", DRM_MODE_TYPE_DRIVER, 54000, 2880, 2956,
|
||||||
3204, 3432, 0, 240, 244, 247, 262, 0,
|
3204, 3432, 0, 240, 244, 247, 262, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 60, },
|
.vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
|
||||||
/* 13 - 2880x240@60Hz */
|
/* 13 - 2880x240@60Hz */
|
||||||
{ DRM_MODE("2880x240", DRM_MODE_TYPE_DRIVER, 54000, 2880, 2956,
|
{ DRM_MODE("2880x240", DRM_MODE_TYPE_DRIVER, 54000, 2880, 2956,
|
||||||
3204, 3432, 0, 240, 244, 247, 262, 0,
|
3204, 3432, 0, 240, 244, 247, 262, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 60, },
|
.vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 14 - 1440x480@60Hz */
|
/* 14 - 1440x480@60Hz */
|
||||||
{ DRM_MODE("1440x480", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1472,
|
{ DRM_MODE("1440x480", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1472,
|
||||||
1596, 1716, 0, 480, 489, 495, 525, 0,
|
1596, 1716, 0, 480, 489, 495, 525, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 60, },
|
.vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
|
||||||
/* 15 - 1440x480@60Hz */
|
/* 15 - 1440x480@60Hz */
|
||||||
{ DRM_MODE("1440x480", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1472,
|
{ DRM_MODE("1440x480", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1472,
|
||||||
1596, 1716, 0, 480, 489, 495, 525, 0,
|
1596, 1716, 0, 480, 489, 495, 525, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 60, },
|
.vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 16 - 1920x1080@60Hz */
|
/* 16 - 1920x1080@60Hz */
|
||||||
{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2008,
|
{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2008,
|
||||||
2052, 2200, 0, 1080, 1084, 1089, 1125, 0,
|
2052, 2200, 0, 1080, 1084, 1089, 1125, 0,
|
||||||
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
||||||
.vrefresh = 60, },
|
.vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 17 - 720x576@50Hz */
|
/* 17 - 720x576@50Hz */
|
||||||
{ DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 27000, 720, 732,
|
{ DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 27000, 720, 732,
|
||||||
796, 864, 0, 576, 581, 586, 625, 0,
|
796, 864, 0, 576, 581, 586, 625, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 50, },
|
.vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
|
||||||
/* 18 - 720x576@50Hz */
|
/* 18 - 720x576@50Hz */
|
||||||
{ DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 27000, 720, 732,
|
{ DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 27000, 720, 732,
|
||||||
796, 864, 0, 576, 581, 586, 625, 0,
|
796, 864, 0, 576, 581, 586, 625, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 50, },
|
.vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 19 - 1280x720@50Hz */
|
/* 19 - 1280x720@50Hz */
|
||||||
{ DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280, 1720,
|
{ DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280, 1720,
|
||||||
1760, 1980, 0, 720, 725, 730, 750, 0,
|
1760, 1980, 0, 720, 725, 730, 750, 0,
|
||||||
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
||||||
.vrefresh = 50, },
|
.vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 20 - 1920x1080i@50Hz */
|
/* 20 - 1920x1080i@50Hz */
|
||||||
{ DRM_MODE("1920x1080i", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2448,
|
{ DRM_MODE("1920x1080i", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2448,
|
||||||
2492, 2640, 0, 1080, 1084, 1094, 1125, 0,
|
2492, 2640, 0, 1080, 1084, 1094, 1125, 0,
|
||||||
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
|
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
|
||||||
DRM_MODE_FLAG_INTERLACE),
|
DRM_MODE_FLAG_INTERLACE),
|
||||||
.vrefresh = 50, },
|
.vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 21 - 1440x576i@50Hz */
|
/* 21 - 1440x576i@50Hz */
|
||||||
{ DRM_MODE("1440x576i", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1464,
|
{ DRM_MODE("1440x576i", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1464,
|
||||||
1590, 1728, 0, 576, 580, 586, 625, 0,
|
1590, 1728, 0, 576, 580, 586, 625, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
||||||
DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
|
DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
|
||||||
.vrefresh = 50, },
|
.vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
|
||||||
/* 22 - 1440x576i@50Hz */
|
/* 22 - 1440x576i@50Hz */
|
||||||
{ DRM_MODE("1440x576i", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1464,
|
{ DRM_MODE("1440x576i", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1464,
|
||||||
1590, 1728, 0, 576, 580, 586, 625, 0,
|
1590, 1728, 0, 576, 580, 586, 625, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
||||||
DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
|
DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
|
||||||
.vrefresh = 50, },
|
.vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 23 - 1440x288@50Hz */
|
/* 23 - 1440x288@50Hz */
|
||||||
{ DRM_MODE("1440x288", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1464,
|
{ DRM_MODE("1440x288", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1464,
|
||||||
1590, 1728, 0, 288, 290, 293, 312, 0,
|
1590, 1728, 0, 288, 290, 293, 312, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
||||||
DRM_MODE_FLAG_DBLCLK),
|
DRM_MODE_FLAG_DBLCLK),
|
||||||
.vrefresh = 50, },
|
.vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
|
||||||
/* 24 - 1440x288@50Hz */
|
/* 24 - 1440x288@50Hz */
|
||||||
{ DRM_MODE("1440x288", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1464,
|
{ DRM_MODE("1440x288", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1464,
|
||||||
1590, 1728, 0, 288, 290, 293, 312, 0,
|
1590, 1728, 0, 288, 290, 293, 312, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
||||||
DRM_MODE_FLAG_DBLCLK),
|
DRM_MODE_FLAG_DBLCLK),
|
||||||
.vrefresh = 50, },
|
.vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 25 - 2880x576i@50Hz */
|
/* 25 - 2880x576i@50Hz */
|
||||||
{ DRM_MODE("2880x576i", DRM_MODE_TYPE_DRIVER, 54000, 2880, 2928,
|
{ DRM_MODE("2880x576i", DRM_MODE_TYPE_DRIVER, 54000, 2880, 2928,
|
||||||
3180, 3456, 0, 576, 580, 586, 625, 0,
|
3180, 3456, 0, 576, 580, 586, 625, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
||||||
DRM_MODE_FLAG_INTERLACE),
|
DRM_MODE_FLAG_INTERLACE),
|
||||||
.vrefresh = 50, },
|
.vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
|
||||||
/* 26 - 2880x576i@50Hz */
|
/* 26 - 2880x576i@50Hz */
|
||||||
{ DRM_MODE("2880x576i", DRM_MODE_TYPE_DRIVER, 54000, 2880, 2928,
|
{ DRM_MODE("2880x576i", DRM_MODE_TYPE_DRIVER, 54000, 2880, 2928,
|
||||||
3180, 3456, 0, 576, 580, 586, 625, 0,
|
3180, 3456, 0, 576, 580, 586, 625, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
||||||
DRM_MODE_FLAG_INTERLACE),
|
DRM_MODE_FLAG_INTERLACE),
|
||||||
.vrefresh = 50, },
|
.vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 27 - 2880x288@50Hz */
|
/* 27 - 2880x288@50Hz */
|
||||||
{ DRM_MODE("2880x288", DRM_MODE_TYPE_DRIVER, 54000, 2880, 2928,
|
{ DRM_MODE("2880x288", DRM_MODE_TYPE_DRIVER, 54000, 2880, 2928,
|
||||||
3180, 3456, 0, 288, 290, 293, 312, 0,
|
3180, 3456, 0, 288, 290, 293, 312, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 50, },
|
.vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
|
||||||
/* 28 - 2880x288@50Hz */
|
/* 28 - 2880x288@50Hz */
|
||||||
{ DRM_MODE("2880x288", DRM_MODE_TYPE_DRIVER, 54000, 2880, 2928,
|
{ DRM_MODE("2880x288", DRM_MODE_TYPE_DRIVER, 54000, 2880, 2928,
|
||||||
3180, 3456, 0, 288, 290, 293, 312, 0,
|
3180, 3456, 0, 288, 290, 293, 312, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 50, },
|
.vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 29 - 1440x576@50Hz */
|
/* 29 - 1440x576@50Hz */
|
||||||
{ DRM_MODE("1440x576", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1464,
|
{ DRM_MODE("1440x576", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1464,
|
||||||
1592, 1728, 0, 576, 581, 586, 625, 0,
|
1592, 1728, 0, 576, 581, 586, 625, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 50, },
|
.vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
|
||||||
/* 30 - 1440x576@50Hz */
|
/* 30 - 1440x576@50Hz */
|
||||||
{ DRM_MODE("1440x576", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1464,
|
{ DRM_MODE("1440x576", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1464,
|
||||||
1592, 1728, 0, 576, 581, 586, 625, 0,
|
1592, 1728, 0, 576, 581, 586, 625, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 50, },
|
.vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 31 - 1920x1080@50Hz */
|
/* 31 - 1920x1080@50Hz */
|
||||||
{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2448,
|
{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2448,
|
||||||
2492, 2640, 0, 1080, 1084, 1089, 1125, 0,
|
2492, 2640, 0, 1080, 1084, 1089, 1125, 0,
|
||||||
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
||||||
.vrefresh = 50, },
|
.vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 32 - 1920x1080@24Hz */
|
/* 32 - 1920x1080@24Hz */
|
||||||
{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2558,
|
{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2558,
|
||||||
2602, 2750, 0, 1080, 1084, 1089, 1125, 0,
|
2602, 2750, 0, 1080, 1084, 1089, 1125, 0,
|
||||||
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
||||||
.vrefresh = 24, },
|
.vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 33 - 1920x1080@25Hz */
|
/* 33 - 1920x1080@25Hz */
|
||||||
{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2448,
|
{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2448,
|
||||||
2492, 2640, 0, 1080, 1084, 1089, 1125, 0,
|
2492, 2640, 0, 1080, 1084, 1089, 1125, 0,
|
||||||
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
||||||
.vrefresh = 25, },
|
.vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 34 - 1920x1080@30Hz */
|
/* 34 - 1920x1080@30Hz */
|
||||||
{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2008,
|
{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2008,
|
||||||
2052, 2200, 0, 1080, 1084, 1089, 1125, 0,
|
2052, 2200, 0, 1080, 1084, 1089, 1125, 0,
|
||||||
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
||||||
.vrefresh = 30, },
|
.vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 35 - 2880x480@60Hz */
|
/* 35 - 2880x480@60Hz */
|
||||||
{ DRM_MODE("2880x480", DRM_MODE_TYPE_DRIVER, 108000, 2880, 2944,
|
{ DRM_MODE("2880x480", DRM_MODE_TYPE_DRIVER, 108000, 2880, 2944,
|
||||||
3192, 3432, 0, 480, 489, 495, 525, 0,
|
3192, 3432, 0, 480, 489, 495, 525, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 60, },
|
.vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
|
||||||
/* 36 - 2880x480@60Hz */
|
/* 36 - 2880x480@60Hz */
|
||||||
{ DRM_MODE("2880x480", DRM_MODE_TYPE_DRIVER, 108000, 2880, 2944,
|
{ DRM_MODE("2880x480", DRM_MODE_TYPE_DRIVER, 108000, 2880, 2944,
|
||||||
3192, 3432, 0, 480, 489, 495, 525, 0,
|
3192, 3432, 0, 480, 489, 495, 525, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 60, },
|
.vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 37 - 2880x576@50Hz */
|
/* 37 - 2880x576@50Hz */
|
||||||
{ DRM_MODE("2880x576", DRM_MODE_TYPE_DRIVER, 108000, 2880, 2928,
|
{ DRM_MODE("2880x576", DRM_MODE_TYPE_DRIVER, 108000, 2880, 2928,
|
||||||
3184, 3456, 0, 576, 581, 586, 625, 0,
|
3184, 3456, 0, 576, 581, 586, 625, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 50, },
|
.vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
|
||||||
/* 38 - 2880x576@50Hz */
|
/* 38 - 2880x576@50Hz */
|
||||||
{ DRM_MODE("2880x576", DRM_MODE_TYPE_DRIVER, 108000, 2880, 2928,
|
{ DRM_MODE("2880x576", DRM_MODE_TYPE_DRIVER, 108000, 2880, 2928,
|
||||||
3184, 3456, 0, 576, 581, 586, 625, 0,
|
3184, 3456, 0, 576, 581, 586, 625, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 50, },
|
.vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 39 - 1920x1080i@50Hz */
|
/* 39 - 1920x1080i@50Hz */
|
||||||
{ DRM_MODE("1920x1080i", DRM_MODE_TYPE_DRIVER, 72000, 1920, 1952,
|
{ DRM_MODE("1920x1080i", DRM_MODE_TYPE_DRIVER, 72000, 1920, 1952,
|
||||||
2120, 2304, 0, 1080, 1126, 1136, 1250, 0,
|
2120, 2304, 0, 1080, 1126, 1136, 1250, 0,
|
||||||
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC |
|
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC |
|
||||||
DRM_MODE_FLAG_INTERLACE),
|
DRM_MODE_FLAG_INTERLACE),
|
||||||
.vrefresh = 50, },
|
.vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 40 - 1920x1080i@100Hz */
|
/* 40 - 1920x1080i@100Hz */
|
||||||
{ DRM_MODE("1920x1080i", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2448,
|
{ DRM_MODE("1920x1080i", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2448,
|
||||||
2492, 2640, 0, 1080, 1084, 1094, 1125, 0,
|
2492, 2640, 0, 1080, 1084, 1094, 1125, 0,
|
||||||
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
|
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
|
||||||
DRM_MODE_FLAG_INTERLACE),
|
DRM_MODE_FLAG_INTERLACE),
|
||||||
.vrefresh = 100, },
|
.vrefresh = 100, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 41 - 1280x720@100Hz */
|
/* 41 - 1280x720@100Hz */
|
||||||
{ DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 148500, 1280, 1720,
|
{ DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 148500, 1280, 1720,
|
||||||
1760, 1980, 0, 720, 725, 730, 750, 0,
|
1760, 1980, 0, 720, 725, 730, 750, 0,
|
||||||
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
||||||
.vrefresh = 100, },
|
.vrefresh = 100, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 42 - 720x576@100Hz */
|
/* 42 - 720x576@100Hz */
|
||||||
{ DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 54000, 720, 732,
|
{ DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 54000, 720, 732,
|
||||||
796, 864, 0, 576, 581, 586, 625, 0,
|
796, 864, 0, 576, 581, 586, 625, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 100, },
|
.vrefresh = 100, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
|
||||||
/* 43 - 720x576@100Hz */
|
/* 43 - 720x576@100Hz */
|
||||||
{ DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 54000, 720, 732,
|
{ DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 54000, 720, 732,
|
||||||
796, 864, 0, 576, 581, 586, 625, 0,
|
796, 864, 0, 576, 581, 586, 625, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 100, },
|
.vrefresh = 100, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 44 - 1440x576i@100Hz */
|
/* 44 - 1440x576i@100Hz */
|
||||||
{ DRM_MODE("1440x576", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1464,
|
{ DRM_MODE("1440x576", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1464,
|
||||||
1590, 1728, 0, 576, 580, 586, 625, 0,
|
1590, 1728, 0, 576, 580, 586, 625, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
||||||
DRM_MODE_FLAG_DBLCLK),
|
DRM_MODE_FLAG_DBLCLK),
|
||||||
.vrefresh = 100, },
|
.vrefresh = 100, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
|
||||||
/* 45 - 1440x576i@100Hz */
|
/* 45 - 1440x576i@100Hz */
|
||||||
{ DRM_MODE("1440x576", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1464,
|
{ DRM_MODE("1440x576", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1464,
|
||||||
1590, 1728, 0, 576, 580, 586, 625, 0,
|
1590, 1728, 0, 576, 580, 586, 625, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
||||||
DRM_MODE_FLAG_DBLCLK),
|
DRM_MODE_FLAG_DBLCLK),
|
||||||
.vrefresh = 100, },
|
.vrefresh = 100, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 46 - 1920x1080i@120Hz */
|
/* 46 - 1920x1080i@120Hz */
|
||||||
{ DRM_MODE("1920x1080i", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2008,
|
{ DRM_MODE("1920x1080i", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2008,
|
||||||
2052, 2200, 0, 1080, 1084, 1094, 1125, 0,
|
2052, 2200, 0, 1080, 1084, 1094, 1125, 0,
|
||||||
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
|
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
|
||||||
DRM_MODE_FLAG_INTERLACE),
|
DRM_MODE_FLAG_INTERLACE),
|
||||||
.vrefresh = 120, },
|
.vrefresh = 120, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 47 - 1280x720@120Hz */
|
/* 47 - 1280x720@120Hz */
|
||||||
{ DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 148500, 1280, 1390,
|
{ DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 148500, 1280, 1390,
|
||||||
1430, 1650, 0, 720, 725, 730, 750, 0,
|
1430, 1650, 0, 720, 725, 730, 750, 0,
|
||||||
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
||||||
.vrefresh = 120, },
|
.vrefresh = 120, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 48 - 720x480@120Hz */
|
/* 48 - 720x480@120Hz */
|
||||||
{ DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 54000, 720, 736,
|
{ DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 54000, 720, 736,
|
||||||
798, 858, 0, 480, 489, 495, 525, 0,
|
798, 858, 0, 480, 489, 495, 525, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 120, },
|
.vrefresh = 120, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
|
||||||
/* 49 - 720x480@120Hz */
|
/* 49 - 720x480@120Hz */
|
||||||
{ DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 54000, 720, 736,
|
{ DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 54000, 720, 736,
|
||||||
798, 858, 0, 480, 489, 495, 525, 0,
|
798, 858, 0, 480, 489, 495, 525, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 120, },
|
.vrefresh = 120, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 50 - 1440x480i@120Hz */
|
/* 50 - 1440x480i@120Hz */
|
||||||
{ DRM_MODE("1440x480i", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1478,
|
{ DRM_MODE("1440x480i", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1478,
|
||||||
1602, 1716, 0, 480, 488, 494, 525, 0,
|
1602, 1716, 0, 480, 488, 494, 525, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
||||||
DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
|
DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
|
||||||
.vrefresh = 120, },
|
.vrefresh = 120, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
|
||||||
/* 51 - 1440x480i@120Hz */
|
/* 51 - 1440x480i@120Hz */
|
||||||
{ DRM_MODE("1440x480i", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1478,
|
{ DRM_MODE("1440x480i", DRM_MODE_TYPE_DRIVER, 54000, 1440, 1478,
|
||||||
1602, 1716, 0, 480, 488, 494, 525, 0,
|
1602, 1716, 0, 480, 488, 494, 525, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
||||||
DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
|
DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
|
||||||
.vrefresh = 120, },
|
.vrefresh = 120, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 52 - 720x576@200Hz */
|
/* 52 - 720x576@200Hz */
|
||||||
{ DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 108000, 720, 732,
|
{ DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 108000, 720, 732,
|
||||||
796, 864, 0, 576, 581, 586, 625, 0,
|
796, 864, 0, 576, 581, 586, 625, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 200, },
|
.vrefresh = 200, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
|
||||||
/* 53 - 720x576@200Hz */
|
/* 53 - 720x576@200Hz */
|
||||||
{ DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 108000, 720, 732,
|
{ DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 108000, 720, 732,
|
||||||
796, 864, 0, 576, 581, 586, 625, 0,
|
796, 864, 0, 576, 581, 586, 625, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 200, },
|
.vrefresh = 200, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 54 - 1440x576i@200Hz */
|
/* 54 - 1440x576i@200Hz */
|
||||||
{ DRM_MODE("1440x576i", DRM_MODE_TYPE_DRIVER, 108000, 1440, 1464,
|
{ DRM_MODE("1440x576i", DRM_MODE_TYPE_DRIVER, 108000, 1440, 1464,
|
||||||
1590, 1728, 0, 576, 580, 586, 625, 0,
|
1590, 1728, 0, 576, 580, 586, 625, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
||||||
DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
|
DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
|
||||||
.vrefresh = 200, },
|
.vrefresh = 200, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
|
||||||
/* 55 - 1440x576i@200Hz */
|
/* 55 - 1440x576i@200Hz */
|
||||||
{ DRM_MODE("1440x576i", DRM_MODE_TYPE_DRIVER, 108000, 1440, 1464,
|
{ DRM_MODE("1440x576i", DRM_MODE_TYPE_DRIVER, 108000, 1440, 1464,
|
||||||
1590, 1728, 0, 576, 580, 586, 625, 0,
|
1590, 1728, 0, 576, 580, 586, 625, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
||||||
DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
|
DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
|
||||||
.vrefresh = 200, },
|
.vrefresh = 200, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 56 - 720x480@240Hz */
|
/* 56 - 720x480@240Hz */
|
||||||
{ DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 108000, 720, 736,
|
{ DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 108000, 720, 736,
|
||||||
798, 858, 0, 480, 489, 495, 525, 0,
|
798, 858, 0, 480, 489, 495, 525, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 240, },
|
.vrefresh = 240, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
|
||||||
/* 57 - 720x480@240Hz */
|
/* 57 - 720x480@240Hz */
|
||||||
{ DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 108000, 720, 736,
|
{ DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 108000, 720, 736,
|
||||||
798, 858, 0, 480, 489, 495, 525, 0,
|
798, 858, 0, 480, 489, 495, 525, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
|
||||||
.vrefresh = 240, },
|
.vrefresh = 240, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 58 - 1440x480i@240 */
|
/* 58 - 1440x480i@240 */
|
||||||
{ DRM_MODE("1440x480i", DRM_MODE_TYPE_DRIVER, 108000, 1440, 1478,
|
{ DRM_MODE("1440x480i", DRM_MODE_TYPE_DRIVER, 108000, 1440, 1478,
|
||||||
1602, 1716, 0, 480, 488, 494, 525, 0,
|
1602, 1716, 0, 480, 488, 494, 525, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
||||||
DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
|
DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
|
||||||
.vrefresh = 240, },
|
.vrefresh = 240, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
|
||||||
/* 59 - 1440x480i@240 */
|
/* 59 - 1440x480i@240 */
|
||||||
{ DRM_MODE("1440x480i", DRM_MODE_TYPE_DRIVER, 108000, 1440, 1478,
|
{ DRM_MODE("1440x480i", DRM_MODE_TYPE_DRIVER, 108000, 1440, 1478,
|
||||||
1602, 1716, 0, 480, 488, 494, 525, 0,
|
1602, 1716, 0, 480, 488, 494, 525, 0,
|
||||||
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
|
||||||
DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
|
DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
|
||||||
.vrefresh = 240, },
|
.vrefresh = 240, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 60 - 1280x720@24Hz */
|
/* 60 - 1280x720@24Hz */
|
||||||
{ DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 59400, 1280, 3040,
|
{ DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 59400, 1280, 3040,
|
||||||
3080, 3300, 0, 720, 725, 730, 750, 0,
|
3080, 3300, 0, 720, 725, 730, 750, 0,
|
||||||
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
||||||
.vrefresh = 24, },
|
.vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 61 - 1280x720@25Hz */
|
/* 61 - 1280x720@25Hz */
|
||||||
{ DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280, 3700,
|
{ DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280, 3700,
|
||||||
3740, 3960, 0, 720, 725, 730, 750, 0,
|
3740, 3960, 0, 720, 725, 730, 750, 0,
|
||||||
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
||||||
.vrefresh = 25, },
|
.vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 62 - 1280x720@30Hz */
|
/* 62 - 1280x720@30Hz */
|
||||||
{ DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280, 3040,
|
{ DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280, 3040,
|
||||||
3080, 3300, 0, 720, 725, 730, 750, 0,
|
3080, 3300, 0, 720, 725, 730, 750, 0,
|
||||||
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
||||||
.vrefresh = 30, },
|
.vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 63 - 1920x1080@120Hz */
|
/* 63 - 1920x1080@120Hz */
|
||||||
{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 297000, 1920, 2008,
|
{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 297000, 1920, 2008,
|
||||||
2052, 2200, 0, 1080, 1084, 1089, 1125, 0,
|
2052, 2200, 0, 1080, 1084, 1089, 1125, 0,
|
||||||
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
||||||
.vrefresh = 120, },
|
.vrefresh = 120, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
/* 64 - 1920x1080@100Hz */
|
/* 64 - 1920x1080@100Hz */
|
||||||
{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 297000, 1920, 2448,
|
{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 297000, 1920, 2448,
|
||||||
2492, 2640, 0, 1080, 1084, 1094, 1125, 0,
|
2492, 2640, 0, 1080, 1084, 1094, 1125, 0,
|
||||||
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
|
||||||
.vrefresh = 100, },
|
.vrefresh = 100, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -2562,27 +2562,42 @@ add_alternate_cea_modes(struct drm_connector *connector, struct edid *edid)
|
||||||
return modes;
|
return modes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static struct drm_display_mode *
|
||||||
|
drm_display_mode_from_vic_index(struct drm_connector *connector,
|
||||||
|
const u8 *video_db, u8 video_len,
|
||||||
|
u8 video_index)
|
||||||
|
{
|
||||||
|
struct drm_device *dev = connector->dev;
|
||||||
|
struct drm_display_mode *newmode;
|
||||||
|
u8 cea_mode;
|
||||||
|
|
||||||
|
if (video_db == NULL || video_index >= video_len)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
/* CEA modes are numbered 1..127 */
|
||||||
|
cea_mode = (video_db[video_index] & 127) - 1;
|
||||||
|
if (cea_mode >= ARRAY_SIZE(edid_cea_modes))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
newmode = drm_mode_duplicate(dev, &edid_cea_modes[cea_mode]);
|
||||||
|
newmode->vrefresh = 0;
|
||||||
|
|
||||||
|
return newmode;
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len)
|
do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len)
|
||||||
{
|
{
|
||||||
struct drm_device *dev = connector->dev;
|
int i, modes = 0;
|
||||||
const u8 *mode;
|
|
||||||
u8 cea_mode;
|
|
||||||
int modes = 0;
|
|
||||||
|
|
||||||
for (mode = db; mode < db + len; mode++) {
|
for (i = 0; i < len; i++) {
|
||||||
cea_mode = (*mode & 127) - 1; /* CEA modes are numbered 1..127 */
|
struct drm_display_mode *mode;
|
||||||
if (cea_mode < ARRAY_SIZE(edid_cea_modes)) {
|
mode = drm_display_mode_from_vic_index(connector, db, len, i);
|
||||||
struct drm_display_mode *newmode;
|
if (mode) {
|
||||||
newmode = drm_mode_duplicate(dev,
|
drm_mode_probed_add(connector, mode);
|
||||||
&edid_cea_modes[cea_mode]);
|
|
||||||
if (newmode) {
|
|
||||||
newmode->vrefresh = 0;
|
|
||||||
drm_mode_probed_add(connector, newmode);
|
|
||||||
modes++;
|
modes++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return modes;
|
return modes;
|
||||||
}
|
}
|
||||||
|
@ -2674,21 +2689,13 @@ static int add_hdmi_mode(struct drm_connector *connector, u8 vic)
|
||||||
static int add_3d_struct_modes(struct drm_connector *connector, u16 structure,
|
static int add_3d_struct_modes(struct drm_connector *connector, u16 structure,
|
||||||
const u8 *video_db, u8 video_len, u8 video_index)
|
const u8 *video_db, u8 video_len, u8 video_index)
|
||||||
{
|
{
|
||||||
struct drm_device *dev = connector->dev;
|
|
||||||
struct drm_display_mode *newmode;
|
struct drm_display_mode *newmode;
|
||||||
int modes = 0;
|
int modes = 0;
|
||||||
u8 cea_mode;
|
|
||||||
|
|
||||||
if (video_db == NULL || video_index >= video_len)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
/* CEA modes are numbered 1..127 */
|
|
||||||
cea_mode = (video_db[video_index] & 127) - 1;
|
|
||||||
if (cea_mode >= ARRAY_SIZE(edid_cea_modes))
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
if (structure & (1 << 0)) {
|
if (structure & (1 << 0)) {
|
||||||
newmode = drm_mode_duplicate(dev, &edid_cea_modes[cea_mode]);
|
newmode = drm_display_mode_from_vic_index(connector, video_db,
|
||||||
|
video_len,
|
||||||
|
video_index);
|
||||||
if (newmode) {
|
if (newmode) {
|
||||||
newmode->flags |= DRM_MODE_FLAG_3D_FRAME_PACKING;
|
newmode->flags |= DRM_MODE_FLAG_3D_FRAME_PACKING;
|
||||||
drm_mode_probed_add(connector, newmode);
|
drm_mode_probed_add(connector, newmode);
|
||||||
|
@ -2696,7 +2703,9 @@ static int add_3d_struct_modes(struct drm_connector *connector, u16 structure,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (structure & (1 << 6)) {
|
if (structure & (1 << 6)) {
|
||||||
newmode = drm_mode_duplicate(dev, &edid_cea_modes[cea_mode]);
|
newmode = drm_display_mode_from_vic_index(connector, video_db,
|
||||||
|
video_len,
|
||||||
|
video_index);
|
||||||
if (newmode) {
|
if (newmode) {
|
||||||
newmode->flags |= DRM_MODE_FLAG_3D_TOP_AND_BOTTOM;
|
newmode->flags |= DRM_MODE_FLAG_3D_TOP_AND_BOTTOM;
|
||||||
drm_mode_probed_add(connector, newmode);
|
drm_mode_probed_add(connector, newmode);
|
||||||
|
@ -2704,7 +2713,9 @@ static int add_3d_struct_modes(struct drm_connector *connector, u16 structure,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (structure & (1 << 8)) {
|
if (structure & (1 << 8)) {
|
||||||
newmode = drm_mode_duplicate(dev, &edid_cea_modes[cea_mode]);
|
newmode = drm_display_mode_from_vic_index(connector, video_db,
|
||||||
|
video_len,
|
||||||
|
video_index);
|
||||||
if (newmode) {
|
if (newmode) {
|
||||||
newmode->flags |= DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF;
|
newmode->flags |= DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF;
|
||||||
drm_mode_probed_add(connector, newmode);
|
drm_mode_probed_add(connector, newmode);
|
||||||
|
@ -2728,7 +2739,7 @@ static int
|
||||||
do_hdmi_vsdb_modes(struct drm_connector *connector, const u8 *db, u8 len,
|
do_hdmi_vsdb_modes(struct drm_connector *connector, const u8 *db, u8 len,
|
||||||
const u8 *video_db, u8 video_len)
|
const u8 *video_db, u8 video_len)
|
||||||
{
|
{
|
||||||
int modes = 0, offset = 0, i, multi_present = 0;
|
int modes = 0, offset = 0, i, multi_present = 0, multi_len;
|
||||||
u8 vic_len, hdmi_3d_len = 0;
|
u8 vic_len, hdmi_3d_len = 0;
|
||||||
u16 mask;
|
u16 mask;
|
||||||
u16 structure_all;
|
u16 structure_all;
|
||||||
|
@ -2774,17 +2785,20 @@ do_hdmi_vsdb_modes(struct drm_connector *connector, const u8 *db, u8 len,
|
||||||
}
|
}
|
||||||
offset += 1 + vic_len;
|
offset += 1 + vic_len;
|
||||||
|
|
||||||
if (!(multi_present == 1 || multi_present == 2))
|
if (multi_present == 1)
|
||||||
|
multi_len = 2;
|
||||||
|
else if (multi_present == 2)
|
||||||
|
multi_len = 4;
|
||||||
|
else
|
||||||
|
multi_len = 0;
|
||||||
|
|
||||||
|
if (len < (8 + offset + hdmi_3d_len - 1))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
if ((multi_present == 1 && len < (9 + offset)) ||
|
if (hdmi_3d_len < multi_len)
|
||||||
(multi_present == 2 && len < (11 + offset)))
|
|
||||||
goto out;
|
|
||||||
|
|
||||||
if ((multi_present == 1 && hdmi_3d_len < 2) ||
|
|
||||||
(multi_present == 2 && hdmi_3d_len < 4))
|
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
if (multi_present == 1 || multi_present == 2) {
|
||||||
/* 3D_Structure_ALL */
|
/* 3D_Structure_ALL */
|
||||||
structure_all = (db[8 + offset] << 8) | db[9 + offset];
|
structure_all = (db[8 + offset] << 8) | db[9 + offset];
|
||||||
|
|
||||||
|
@ -2801,6 +2815,55 @@ do_hdmi_vsdb_modes(struct drm_connector *connector, const u8 *db, u8 len,
|
||||||
video_db,
|
video_db,
|
||||||
video_len, i);
|
video_len, i);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
offset += multi_len;
|
||||||
|
|
||||||
|
for (i = 0; i < (hdmi_3d_len - multi_len); i++) {
|
||||||
|
int vic_index;
|
||||||
|
struct drm_display_mode *newmode = NULL;
|
||||||
|
unsigned int newflag = 0;
|
||||||
|
bool detail_present;
|
||||||
|
|
||||||
|
detail_present = ((db[8 + offset + i] & 0x0f) > 7);
|
||||||
|
|
||||||
|
if (detail_present && (i + 1 == hdmi_3d_len - multi_len))
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* 2D_VIC_order_X */
|
||||||
|
vic_index = db[8 + offset + i] >> 4;
|
||||||
|
|
||||||
|
/* 3D_Structure_X */
|
||||||
|
switch (db[8 + offset + i] & 0x0f) {
|
||||||
|
case 0:
|
||||||
|
newflag = DRM_MODE_FLAG_3D_FRAME_PACKING;
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
newflag = DRM_MODE_FLAG_3D_TOP_AND_BOTTOM;
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
/* 3D_Detail_X */
|
||||||
|
if ((db[9 + offset + i] >> 4) == 1)
|
||||||
|
newflag = DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newflag != 0) {
|
||||||
|
newmode = drm_display_mode_from_vic_index(connector,
|
||||||
|
video_db,
|
||||||
|
video_len,
|
||||||
|
vic_index);
|
||||||
|
|
||||||
|
if (newmode) {
|
||||||
|
newmode->flags |= newflag;
|
||||||
|
drm_mode_probed_add(connector, newmode);
|
||||||
|
modes++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (detail_present)
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
|
||||||
out:
|
out:
|
||||||
return modes;
|
return modes;
|
||||||
|
|
|
@ -128,11 +128,12 @@ int drm_gem_object_init(struct drm_device *dev,
|
||||||
{
|
{
|
||||||
struct file *filp;
|
struct file *filp;
|
||||||
|
|
||||||
|
drm_gem_private_object_init(dev, obj, size);
|
||||||
|
|
||||||
filp = shmem_file_setup("drm mm object", size, VM_NORESERVE);
|
filp = shmem_file_setup("drm mm object", size, VM_NORESERVE);
|
||||||
if (IS_ERR(filp))
|
if (IS_ERR(filp))
|
||||||
return PTR_ERR(filp);
|
return PTR_ERR(filp);
|
||||||
|
|
||||||
drm_gem_private_object_init(dev, obj, size);
|
|
||||||
obj->filp = filp;
|
obj->filp = filp;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/idr.h>
|
#include <linux/idr.h>
|
||||||
#include <linux/fb.h>
|
#include <linux/fb.h>
|
||||||
|
#include <linux/hdmi.h>
|
||||||
#include <drm/drm_mode.h>
|
#include <drm/drm_mode.h>
|
||||||
|
|
||||||
#include <drm/drm_fourcc.h>
|
#include <drm/drm_fourcc.h>
|
||||||
|
@ -181,6 +182,7 @@ struct drm_display_mode {
|
||||||
|
|
||||||
int vrefresh; /* in Hz */
|
int vrefresh; /* in Hz */
|
||||||
int hsync; /* in kHz */
|
int hsync; /* in kHz */
|
||||||
|
enum hdmi_picture_aspect picture_aspect_ratio;
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline bool drm_mode_is_stereo(const struct drm_display_mode *mode)
|
static inline bool drm_mode_is_stereo(const struct drm_display_mode *mode)
|
||||||
|
|
|
@ -120,7 +120,7 @@ struct drm_encoder_helper_funcs {
|
||||||
*/
|
*/
|
||||||
struct drm_connector_helper_funcs {
|
struct drm_connector_helper_funcs {
|
||||||
int (*get_modes)(struct drm_connector *connector);
|
int (*get_modes)(struct drm_connector *connector);
|
||||||
int (*mode_valid)(struct drm_connector *connector,
|
enum drm_mode_status (*mode_valid)(struct drm_connector *connector,
|
||||||
struct drm_display_mode *mode);
|
struct drm_display_mode *mode);
|
||||||
struct drm_encoder *(*best_encoder)(struct drm_connector *connector);
|
struct drm_encoder *(*best_encoder)(struct drm_connector *connector);
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue