From patchwork Fri May 13 22:44:04 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Yang X-Patchwork-Id: 9094001 Return-Path: X-Original-To: patchwork-linux-fbdev@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 618DF9F372 for ; Fri, 13 May 2016 22:43:05 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id BA31F2021A for ; Fri, 13 May 2016 22:43:03 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 6FB28201F2 for ; Fri, 13 May 2016 22:43:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753354AbcEMWnA (ORCPT ); Fri, 13 May 2016 18:43:00 -0400 Received: from mail-bn1bon0088.outbound.protection.outlook.com ([157.56.111.88]:35213 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751498AbcEMWm7 (ORCPT ); Fri, 13 May 2016 18:42:59 -0400 X-Greylist: delayed 8740 seconds by postgrey-1.27 at vger.kernel.org; Fri, 13 May 2016 18:42:58 EDT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Vp94G1c0nY/FFp+NTkPKdCJvV17wm4IPfrnr0RyeUgY=; b=Rd66ACEmn6pCJMUt6C8cnv5mSWHLINNuHoEU/D/2Dx8ZavmImXrnmv3S+D3UD90WwF7+uHcTehF9mVHY2pKR5Npuv6hwHPFYRObF1cQ32AIQZhRv1FfB5qPDLl+uVlXyzhyPMgZUr8ImWSfUIHNad3iYZqZ28M5mG7X60s77PkY= Received: from BY2PR12CA0003.namprd12.prod.outlook.com (10.160.121.13) by BN4PR12MB0851.namprd12.prod.outlook.com (10.164.59.13) with Microsoft SMTP Server (TLS) id 15.1.497.12; Fri, 13 May 2016 22:42:55 +0000 Received: from CO1NAM03FT055.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e48::200) by BY2PR12CA0003.outlook.office365.com (2a01:111:e400:2c84::13) with Microsoft SMTP Server (TLS) id 15.1.497.12 via Frontend Transport; Fri, 13 May 2016 22:42:55 +0000 Authentication-Results: spf=none (sender IP is 165.204.84.22) smtp.mailfrom=amd.com; jcrosoft.com; dkim=none (message not signed) header.d=none; jcrosoft.com; dmarc=permerror action=none header.from=amd.com; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) Received: from SATLEXCHOV02.amd.com (165.204.84.22) by CO1NAM03FT055.mail.protection.outlook.com (10.152.81.162) with Microsoft SMTP Server (TLS) id 15.1.497.8 via Frontend Transport; Fri, 13 May 2016 22:42:54 +0000 Received: from SATLEXDAG06.amd.com (10.181.40.13) by SATLEXCHOV02.amd.com (10.181.40.72) with Microsoft SMTP Server (TLS) id 14.3.266.1; Fri, 13 May 2016 17:42:50 -0500 Received: from STOREXDAG02.amd.com (10.1.13.11) by satlexdag06.amd.com (10.181.40.13) with Microsoft SMTP Server (TLS) id 14.3.266.1; Fri, 13 May 2016 18:42:49 -0400 Received: from qyang-System-Product-Name.amd.com (172.29.227.73) by storexdag02.amd.com (10.1.13.11) with Microsoft SMTP Server id 14.3.266.1; Fri, 13 May 2016 18:42:47 -0400 From: Eric Yang To: , CC: , , , "Eric Yang" Subject: [PATCH] drm: expand cea861 mode timing table Date: Fri, 13 May 2016 18:44:04 -0400 Message-ID: <1463179444-23752-1-git-send-email-eric.yang2@amd.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:165.204.84.22; IPV:CAL; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(2980300002)(428002)(189002)(199003)(1220700001)(19580395003)(19580405001)(92566002)(229853001)(5008740100001)(53416004)(47776003)(586003)(4326007)(2906002)(86362001)(33646002)(50986999)(6806005)(5001770100001)(101416001)(8676002)(36756003)(5003600100002)(8936002)(106466001)(5003940100001)(77096005)(105586002)(87936001)(189998001)(50226002)(48376002)(11100500001)(50466002); DIR:OUT; SFP:1101; SCL:1; SRVR:BN4PR12MB0851; H:SATLEXCHOV02.amd.com; FPR:; SPF:None; MLV:sfv; MX:1; A:1; LANG:en; X-MS-Office365-Filtering-Correlation-Id: 3fec5c2f-9982-4149-f6c9-08d37b7fec88 X-Microsoft-Exchange-Diagnostics: 1; BN4PR12MB0851; 2:r+8FaoDiH+owDGGxZj3Xw1CLYq61HuqefayWlxCJcfzMty8kdCCL1JPDjND+tdAuWIQD6bLDfwPyKCK7p8RnKiPXJ033qFJxVK+wokeVsrUaTF0CJwm4Q+qIiqZSoMrHYwrwml+U4+znk56dDxhOEnr9oCwbUyIcfiiW/fHmTXP/Q/msExp5r6Awuuy5MRFf; 3:EhnQLAjA6twVZ3Y4bwRSkCOWpSEuctTiD/FO+cv/pc4wXr4iIBwZGWeGO3rJV5EA0sbfDscuSVYao1gcuPrkCeMum/PXUFxl9xn6pRW9+4iBnSbMZtxQOlJj9nGl7VFTbTuE1HctKIJhnkFN+a013zkMXFd97O/pHJoNnyzeV0hhWstydv6sj/32WOVh2rmJcTyOO4la6oL6P10+QSFh1USMPx2pKCZJFUWe/cDreOc=; 25:n/5WC5BmBLn220jY+g6pfSWi/hU0juKJUZ5kCkVoZhxnE6ZG6GECpBvueQvzk4fSoqyvR5ghYRRpITG34q8t91SyDDPWaog+fpH1e0pQkC6LTyjsw1GCabp2PtxdRks/vfLhtKNc1WF7c5b/wPJBm4LlMTuhZg6WqgPD5OKbwL92U4XbgWmlFHG+zny+To1Et8IXHq2XDyhkk0HOY4d0JFEucoCwWOC+wp9qW+tIXSzU0R8sYb+NjzB+M0iXSqKTepuwIF99xzyPN/a0ZreCcrxk12x2PI7aYOVmUu8LZGRA3DyeNm/4iKUHPhx46RO3roeZCk8hA4kBTWbqr6Q+p5aUjoAPnQ7tEYvEcv33CyIbHtLnNI2X8de7/3v6xhB7KCIioLwAS/0RjPj+amh2SLcyRW0kXjNYZ4NqnDnkaFA= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN4PR12MB0851; X-Microsoft-Exchange-Diagnostics: 1; BN4PR12MB0851; 20:hcLvLmInWfK/JKAnxVtg/5EcWohjQktYjUq29k8EdcHpprCQV55qb4VdCVP2xar9/+Dz4gSEUTXmj1JIe5k0o9lvA/g6PQ90an05vmwRMaa7pvVnNFvBLGFBF3PbQEolmzrqybZW0K8Ak6FIkjxW/feUxy/FcSl2RCFWJ0Mnk9QIQ/kpa0J8VSBLa8u2VcfWvPFH65XHctei3iBv7PncBfPI0naOhbJr2dbha242Wm6DoRlqo6Lp1rFvJBEwMzJerd368zz0JpK24n82dAwDwOTZb4bRhVyQXTBn0E5CjkdejYXIY94Wb+4poGFJSah4uVW7lUhSLaDtuRDVXTPq+bzpA1tmllQp8C1Udb52+IzMTK3uUNj35tchceNj0uhhuVkUroa3ZzDQnNqHTBYdT5UEnh8dKev9OsIcKfvPxreUHzfXOzuYYht8o/vP/MYK70716eMRoaHUQ43YaGY5ZVM+xUqFt/Ts0aT7BGIraS8lakis5KhTlVphwQIm92ii; 4:22u3ixMTM4REF9uD+HvLQZB6AERm0hpUEXmSGifR6ZDRvXhRUCamPUhQbm2MY2JT480i3DOqrbncq1N0HwYIoZIeQa9gzFXpOhpCDBKGwxuylllDuh6UjfzzDOYk4DeFcj3XD+C5BYRzP/UWjZ8z/B0LTB/IrqAs9UM16EXgOkRwZP6yxYHX5iiA2v1wDJFK8peygMQPgfX1+PgUskCaRBDsXAZ8GQusnahtj4lgKRnOLOsEZdFy1u1FzisBRsP82MHQj7c/X35c4v5XdymcRCm+6VlVM9rPy6BLXMQW7t4dcKuoJTlmDpnaSaFlsoE6+Ku8ztU5MoUWTLk1c1+qs03tyb6ajNnwGuu7d+hjW9kHV9ViB2ma3nXk9iWhwCoRwfUMVZJNvmt+TioLxhZYJpo/Kf6NNY9bTOTsqI YWXHjPkHIF0mA4jdfwZ0wye404 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(13023025)(13021025)(13013025)(8121501046)(5005006)(10201501046)(3002001)(6055026); SRVR:BN4PR12MB0851; BCL:0; PCL:0; RULEID:; SRVR:BN4PR12MB0851; X-Forefront-PRVS: 0941B96580 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN4PR12MB0851; 23:byPCeYr3WZEhFULVj2FYCd/+1idqnHpWD7hRcCLzS?= =?us-ascii?Q?N1V5FWlZFjOeyozHGP2QmcoOH0KbXcQvIiDX1FHjJzmaxNjamBmjG+Kn61fl?= =?us-ascii?Q?/88I6dvc9CratGU3oEuh6ZraxYK4f0Kq5KG3MMlI1B2DhUsM2Z9f17WqXPU8?= =?us-ascii?Q?6EP9NpQ90DfxNF79X7SDswhrwmIMbBL8gHOSEkNGt6v1DO3j2ksznN4fF/xz?= =?us-ascii?Q?LWBjtV1+fmq1oQT+LaeDdNPrCpl6pnB/V7UhyA3PuRAs9Sj6tUPIELgTScnr?= =?us-ascii?Q?oWHrNpT8B2XDVRVv4ocDC1V9KJrj5ZXXlokWn4Ak6eOtq5gzfS9Rh5Y4ebhd?= =?us-ascii?Q?93uikylplvul+N/iYmNnuLOzmXRl3WHjhyN5n1F13+G+TLir8L7++hAB1X7Q?= =?us-ascii?Q?9nhGsKVufCtn7TQo1NGP8BV8PirnQ1M9ClV+S94vP16j0OelhKNmXEW8p+L3?= =?us-ascii?Q?iysDxH7x7BPVWPMxM56eUnAmqVEvt5pCZ3rxVlLNz+CuJRBBFOQ5Ywz0mVsd?= =?us-ascii?Q?UocunGelLxdDXMF2MpJYTBflCYU4V0bWF5Nq4BnkhcGYkloZh5Q4E3fw2CNH?= =?us-ascii?Q?kBPE3AcRjTrw6Bw2xc1+ptxcmCq5MtjS1bZV88I+XGKiSpH49XnFP3t3RUg/?= =?us-ascii?Q?9CpRd4XBa5GBA3qcQHd9i8Huo3DdHsCsnJDZ790PUj+7yvAKcCpWQVkFw1qW?= =?us-ascii?Q?V9dbDzyfvlR+M4GuTWz0NKsDxpwvgA8hQFkE9U6wWUYGUoWqf4TiJvJrl8uM?= =?us-ascii?Q?5OxTsOY6X3+Wzm45i9avSDGQd0i7NV9c+AHvkVyszHPrm4atj98wrjiRvTqg?= =?us-ascii?Q?8KZEJ9/UdZbRujBDGx3Zr+OETBReuu82iRDCMRu9v6TMznpZ8WhIjaCOqknI?= =?us-ascii?Q?NW7IcHRQN2mYGLHC9DZy8h5FRNtxeDSDxfEgRy9FmkPjE0AHRCScMk092J9d?= =?us-ascii?Q?U17i80dlJqZNNIXsVncTvsI+X1+qe3TWK6PrOxnTQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN4PR12MB0851; 5:LuuK6zbO+Fc6LfU4upQ20LpMEocXdj3dgXx7lmDwAeRet1TCBhLZ7m6M5UyqzL9HSlYeenJR/Fg1TpMAB/Spl6Omaf/WWFiVsuZrOaayoMOAYZ7UwgsFciTKu46NtQc02jrP/q5FyBPIWOKAxMDSUg==; 24:yJDX5dkSuPlKDpJr56uRMfGi/s030ebD8ea/rjB0FB1/DOHGxcm0pBz3AVeXApK74MckUpT2uItfpzdzwOCT0NVeN2QCFfTB5aU5aRi9/do=; 7:f8aP9VdgGLwp9osMDYwqbjqxhOybKD39KtWl5cft2t3wOy6hcWkvt3cSbmGBk7hmsDwv3WcgN1SnwXlqh41aNdE5tT/kaz89t+AopgWDJHdSWaVY68rsrJptlCXzT+0RrroSljmmPyZ5GDfQNX9vjZyDQcIfI1iIP1MjX6n3KapxrZBd1PgxNsEJ6lRsRcVG; 20:NAHLDOpzN/AEKmeM/QLvGXUx3ijoydfepEsbT5X/Nnb92kkbPm8W8fkyvH6A4xw4WRFPUkVg7NWbak52qmM1YSaSqrEadNOCyrMshptQBCRW6bWWhF5Gl8B5hUW5WpxjJztMyLsFO/Kof3Oejhevp3f1IIgxt66JvmDbax6kCeHDwGvA8TYuWCHOA/jvboaUHzWMK0kg6g2bN5IdsQkeqqbe7buu+d6vFCMg4r5ZT0oQYC40kHZoc5q5tat9HoEa SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 May 2016 22:42:54.5396 (UTC) X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.22]; Helo=[SATLEXCHOV02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN4PR12MB0851 Sender: linux-fbdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fbdev@vger.kernel.org X-Spam-Status: No, score=-8.2 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,T_DKIM_INVALID,UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This patch expand the cea861 mode timing table to include vic 65 to 107. This allows more modes to be reported on newer displays, including 4k@60Hz on HDMI, which was previously only reported if the display edid has a detailed timing descriptor block specifying the exact timing v2: - fix formating of the added modes to match the existing onces Signed-off-by: Eric Yang --- drivers/gpu/drm/drm_edid.c | 215 +++++++++++++++++++++++++++++++++++++++++++++ drivers/video/hdmi.c | 4 + include/linux/hdmi.h | 2 + 3 files changed, 221 insertions(+) diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 04cb487..4fb69ee 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -988,6 +988,221 @@ static const struct drm_display_mode edid_cea_modes[] = { 2492, 2640, 0, 1080, 1084, 1094, 1125, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), .vrefresh = 100, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, }, + /* 65 - 1280x720@24Hz */ + { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 59341, 1280, 3040, + 3080, 3300, 0, 720, 725, 730, 750, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 66 - 1280x720@25Hz */ + { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280, 3700, + 3740, 3960, 0, 720, 725, 730, 750, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 67 - 1280x720@30Hz */ + { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74176, 1280, 3040, + 3080, 3300, 0, 720, 725, 730, 750, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 68 - 1280x720@50Hz */ + { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280, 1720, + 1760, 1980, 0, 720, 725, 730, 750, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 69 - 1280x720@60Hz */ + { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74176, 1280, 1390, + 1430, 1650, 0, 720, 725, 730, 750, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 70 - 1280x720@100Hz */ + { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 148500, 1280, 1720, + 1760, 1980, 0, 720, 725, 730, 750, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 100, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 71 - 1280x720@120Hz */ + { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 148352, 1280, 1390, + 1430, 1650, 0, 720, 725, 730, 750, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 120, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 72 - 1920x1080@24Hz */ + { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 74176, 1920, 2558, + 2602, 2750, 0, 1080, 1084, 1089, 1125, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 73 - 1920x1080@25Hz */ + { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2448, + 2492, 2640, 0, 1080, 1084, 1089, 1125, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 74 - 1920x1080@30Hz */ + { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 74176, 1920, 2008, + 2052, 2200, 0, 1080, 1084, 1089, 1125, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 75 - 1920x1080@50Hz */ + { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2448, + 2492, 2640, 0, 1080, 1084, 1089, 1125, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 76 - 1920x1080@60Hz */ + { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148352, 1920, 2008, + 2052, 2200, 0, 1080, 1084, 1089, 1125, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 77 - 1920x1080@100Hz */ + { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 297000, 1920, 2448, + 2492, 2640, 0, 1080, 1084, 1089, 1125, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 100, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 78 - 1920x1080@120Hz */ + { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 296704, 1920, 2008, + 2052, 2200, 0, 1080, 1084, 1089, 1125, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 120, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 79 - 1680x720@24Hz */ + { DRM_MODE("1680x720", DRM_MODE_TYPE_DRIVER, 59341, 1680, 3040, + 3080, 3300, 0, 720, 725, 730, 750, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 80 - 1680x720@25Hz */ + { DRM_MODE("1680x720", DRM_MODE_TYPE_DRIVER, 59400, 1680, 2908, + 2948, 3168, 0, 720, 725, 730, 750, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 81 - 1680x720@30Hz */ + { DRM_MODE("1680x720", DRM_MODE_TYPE_DRIVER, 59341, 1680, 2380, + 2420, 2640, 0, 720, 725, 730, 750, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 82 - 1680x720@50Hz */ + { DRM_MODE("1680x720", DRM_MODE_TYPE_DRIVER, 82500, 1680, 1940, + 1980, 2200, 0, 720, 725, 730, 750, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 83 - 1680x720@60Hz */ + { DRM_MODE("1680x720", DRM_MODE_TYPE_DRIVER, 98902, 1680, 1940, + 1980, 2200, 0, 720, 725, 730, 750, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 84 - 1680x720@100Hz */ + { DRM_MODE("1680x720", DRM_MODE_TYPE_DRIVER, 165000, 1680, 1740, + 1780, 2000, 0, 720, 725, 730, 825, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 100, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 85 - 1680x720@120Hz */ + { DRM_MODE("1680x720", DRM_MODE_TYPE_DRIVER, 197802, 1680, 1740, + 1780, 2000, 0, 720, 725, 730, 825, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 120, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 86 - 2560x1080@24Hz */ + { DRM_MODE("2560x1080", DRM_MODE_TYPE_DRIVER, 98902, 2560, 3558, + 3602, 3750, 0, 1080, 1084, 1089, 1100, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 87 - 2560x1080@25Hz */ + { DRM_MODE("2560x1080", DRM_MODE_TYPE_DRIVER, 90000, 2560, 3008, + 3052, 3200, 0, 1080, 1084, 1089, 1125, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 88 - 2560x1080@30Hz */ + { DRM_MODE("2560x1080", DRM_MODE_TYPE_DRIVER, 118682, 2560, 3328, + 3372, 3520, 0, 1080, 1084, 1089, 1125, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 89 - 2560x1080@50Hz */ + { DRM_MODE("2560x1080", DRM_MODE_TYPE_DRIVER, 185625, 2560, 3108, + 3152, 3300, 0, 1080, 1084, 1089, 1125, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 90 - 2560x1080@60Hz */ + { DRM_MODE("2560x1080", DRM_MODE_TYPE_DRIVER, 197803, 2560, 2808, + 2852, 3000, 0, 1080, 1084, 1089, 1100, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 91 - 2560x1080@100Hz */ + { DRM_MODE("2560x1080", DRM_MODE_TYPE_DRIVER, 371250, 2560, 2778, + 2822, 2970, 0, 1080, 1084, 1089, 1250, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 100, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 92 - 2560x1080@120Hz */ + { DRM_MODE("2560x1080", DRM_MODE_TYPE_DRIVER, 494506, 2560, 3108, + 3152, 3300, 0, 1080, 1084, 1089, 1250, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 120, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 93 - 3840x2160@24Hz */ + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 296704, 3840, 5116, + 5204, 5500, 0, 2160, 2168, 2178, 2250, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, }, + /* 94 - 3840x2160@25Hz */ + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 297000, 3840, 4896, + 4984, 5280, 0, 2160, 2168, 2178, 2250, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, }, + /* 95 - 3840x2160@30Hz */ + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 296704, 3840, 4016, + 4104, 4400, 0, 2160, 2168, 2178, 2250, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, }, + /* 96 - 3840x2160@50Hz */ + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 594000, 3840, 4896, + 4984, 5280, 0, 2160, 2168, 2178, 2250, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, }, + /* 97 - 3840x2160@60Hz */ + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 593407, 3840, 4016, + 4104, 4400, 0, 2160, 2168, 2178, 2250, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, }, + /* 98 - 4096x2160@24Hz */ + { DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 296704, 4096, 5116, + 5204, 5500, 0, 2160, 2168, 2178, 2250, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_256_135, }, + /* 99 - 4096x2160@25Hz */ + { DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 297000, 4096, 5064, + 5152, 5280, 0, 2160, 2168, 2178, 2250, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_256_135, }, + /* 100 - 4096x2160@30Hz */ + { DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 296704, 4096, 4184, + 4272, 4400, 0, 2160, 2168, 2178, 2250, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_256_135, }, + /* 101 - 4096x2160@50Hz */ + { DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 594000, 4096, 5064, + 5152, 5280, 0, 2160, 2168, 2178, 2250, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_256_135, }, + /* 102 - 4096x2160@60Hz */ + { DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 593408, 4096, 4184, + 4272, 4400, 0, 2160, 2168, 2178, 2250, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_256_135, }, + /* 103 - 3840x2160@24Hz */ + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 296704, 3840, 5116, + 5204, 5500, 0, 2160, 2168, 2178, 2250, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 104 - 3840x2160@25Hz */ + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 297000, 3840, 4896, + 4984, 5280, 0, 2160, 2168, 2178, 2250, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 105 - 3840x2160@30Hz */ + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 296704, 3840, 4016, + 4104, 4400, 0, 2160, 2168, 2178, 2250, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 106 - 3840x2160@50Hz */ + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 594000, 3840, 4896, + 4984, 5280, 0, 2160, 2168, 2178, 2250, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, + /* 107 - 3840x2160@60Hz */ + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 593407, 3840, 4016, + 4104, 4400, 0, 2160, 2168, 2178, 2250, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC), + .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, }; /* diff --git a/drivers/video/hdmi.c b/drivers/video/hdmi.c index 1626892..1cf907e 100644 --- a/drivers/video/hdmi.c +++ b/drivers/video/hdmi.c @@ -533,6 +533,10 @@ hdmi_picture_aspect_get_name(enum hdmi_picture_aspect picture_aspect) return "4:3"; case HDMI_PICTURE_ASPECT_16_9: return "16:9"; + case HDMI_PICTURE_ASPECT_64_27: + return "64:27"; + case HDMI_PICTURE_ASPECT_256_135: + return "256:135"; case HDMI_PICTURE_ASPECT_RESERVED: return "Reserved"; } diff --git a/include/linux/hdmi.h b/include/linux/hdmi.h index e974420..edbb4fc 100644 --- a/include/linux/hdmi.h +++ b/include/linux/hdmi.h @@ -78,6 +78,8 @@ enum hdmi_picture_aspect { HDMI_PICTURE_ASPECT_NONE, HDMI_PICTURE_ASPECT_4_3, HDMI_PICTURE_ASPECT_16_9, + HDMI_PICTURE_ASPECT_64_27, + HDMI_PICTURE_ASPECT_256_135, HDMI_PICTURE_ASPECT_RESERVED, };