From patchwork Thu May 12 19:37:33 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Yang X-Patchwork-Id: 9085761 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 B9F1C9F1D3 for ; Thu, 12 May 2016 19:37:20 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 33AE62022D for ; Thu, 12 May 2016 19:37:19 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3E3262010F for ; Thu, 12 May 2016 19:37:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752684AbcELThQ (ORCPT ); Thu, 12 May 2016 15:37:16 -0400 Received: from mail-by2on0068.outbound.protection.outlook.com ([207.46.100.68]:3059 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752444AbcELThO (ORCPT ); Thu, 12 May 2016 15:37:14 -0400 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=UweSVFXVL+A/wfjrWSSUZCexwSy4tdbnsrZxlUigQzI=; b=eKWa72x692F5CrcL4Y3n4wBK3/WTH8kuyVxCw6ysP+f5+newePhsjpB0jo5NoQ6AlRkcjFFZZdCv1Pb06R6W3+N8BG5J0JLeiuLDRNtwaDgSs9+dn8Ky8CxFAYrVIZRMRgsO6JSWg9eqy5o0SdBrXPgz2Xy7jgD8MRIcl/3bePg= Received: from BN1PR12CA0032.namprd12.prod.outlook.com (10.160.77.42) by CY1PR12MB0713.namprd12.prod.outlook.com (10.163.238.19) with Microsoft SMTP Server (TLS) id 15.1.497.12; Thu, 12 May 2016 19:37:11 +0000 Received: from CO1NAM03FT043.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e48::207) by BN1PR12CA0032.outlook.office365.com (2a01:111:e400:49::42) with Microsoft SMTP Server (TLS) id 15.1.497.12 via Frontend Transport; Thu, 12 May 2016 19:37:11 +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 CO1NAM03FT043.mail.protection.outlook.com (10.152.81.125) with Microsoft SMTP Server (TLS) id 15.1.497.8 via Frontend Transport; Thu, 12 May 2016 19:37:10 +0000 Received: from SATLEXDAG04.amd.com (10.181.40.9) by SATLEXCHOV02.amd.com (10.181.40.72) with Microsoft SMTP Server (TLS) id 14.3.266.1; Thu, 12 May 2016 14:36:41 -0500 Received: from STOREXDAG02.amd.com (10.1.13.11) by satlexdag04.amd.com (10.181.40.9) with Microsoft SMTP Server (TLS) id 14.3.266.1; Thu, 12 May 2016 15:36:40 -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; Thu, 12 May 2016 15:36:39 -0400 From: Eric Yang To: , CC: , , , "Eric Yang" Subject: [PATCH] drm: expand cea861 mode timing table Date: Thu, 12 May 2016 15:37:33 -0400 Message-ID: <1463081853-14942-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)(199003)(189002)(77096005)(106466001)(86362001)(229853001)(53416004)(33646002)(50226002)(36756003)(5001770100001)(47776003)(2906002)(19580395003)(1220700001)(4326007)(101416001)(19580405001)(189998001)(8936002)(87936001)(11100500001)(5003940100001)(50466002)(5003600100002)(92566002)(5008740100001)(50986999)(48376002)(586003)(6806005)(105586002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR12MB0713; H:SATLEXCHOV02.amd.com; FPR:; SPF:None; MLV:sfv; A:1; MX:1; LANG:en; X-MS-Office365-Filtering-Correlation-Id: 413b0389-6771-44dd-f40b-08d37a9ccfe0 X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0713; 2:fhR/mcJAjrCuQRllwA3rx/UdsJsguxX5qEOO/kIaR+jh5ntouDzPiaz9CR8fUMjVBFpFp05fzKDCLx7CacUbOXxmUxd1wDfQeSrj7GAH0A+veHDbGe4z2DFEqrAQ+75u+Cc+6flGqlNuvOzl6Z7eUAlbFCJqTWpc3GuylIGhncAhR0dsUa+rjNVbH8iT7mWn; 3:PKAn4oIBEii1LoeeZElJILa3rY91UfO+NFa81AZKsWnVEspn/SFmvWQgUrnOScfeofZpdpfeeTO45daramXo2TmxYDMjGKuXgbWELY9m903kaJVTp9xW08bffpYQa2RP5/UMNzTI/ONdIML8aScNJtyoRzEUvdXQXjSPgLNrU/4ABWMlfYkNDwi7a+DGxxpcWhDBlBW+o6//nJn6Yx3JLxmqZC3jWfbjkAYRmUbBfpk= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0713; X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0713; 25:aMeayZGV9k379OmbDblfqHiJOolmV7zOMhQLUcDwTvNRbsk3bmPFENXg0+EnjLNctY7saFkKNPp5IGt7FVCx49NJQv5bHjZ7/6J5OJRtFdb+1srEohbnPX/cT42xg/MO0pl2dyRNwRAbSvxhLhbQopiU2tCJDt9DKjD6PgAiYbofGsUZCv9abTd7k6t3eJf0vEbhZDPCt1VD41C6spVDjcYeBm6zhwhSbiclx5hQU50D6jWu9Cxxks0Nynd8/ozTij17zW2xY8mbD6HZLIDUCcb6xf79G1gOuMV7ztqYb+EH8lnNiekq/TS5tSSTyW3iMKO6iP3DptpND0I3Sa17XkUC/Av024fyKG/g6v0uJlpZ4A4Lu2GZ6BfCX8eY0XFdjTzQ/O/r4dB/hVqY1vVxxiCQiKTrWHT4viAj21FRbUPCzExB5GvCVUqzlepVQGXghFjoDHtuES4Ve3JybUAFWsD7eUTwZuT4I4IuHK67tKQiHxSh2zmUqtsz/VR6gAobXlpN62ubz8c60puZw+vcmewTy6enjYuRvPJh+8bQxkuN0/58krV7eE9AFlkMT5ECzoSplAF93Nl6pwDyP9CYRdfBqnqxhkvfcX209ximgN0Qwx4tCnb2jEfKhda5/erM0EHem+H2PBXOIOa0yp19+VZzNems9XV2zEQoY6p+vxBO21nZEypTsnvIb6lDG+7IHhEjuML7c23QWQXsDJEa41GPD9BNGw7GhjkOtBqm+YOxHUSg6g+6mP8dNq/W7tld X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0713; 20:ZQfkzPh1nfXU/BHM/yGVfJ7zvC+wWP5T0yRlCkueo2OAfP2NgBf06QcI4PYtWKKGgaQi+HjZLOurIdfE9PKOutKLjElbpzsvA3DiVNdC17JY8ijSYf2b5yWVFqQEYwMiXdVMbKWLOrO3HYYQQ5SLkd/FF7ULyfwdyqsJqDpINAjig0t6VquLQsSu5xtg9eCLnRBTcGtb4tDO4eV4Rj4mfGKTu5qzqsMVdsSvsfpRNyYYgGDY+W4L5KGLvkUXjt/UuiscAdZUDdvqS48sKbkinr726l3299SA3nV8FJUWvf2kZ08vxwG1UeF6UBd2yrB+cDiiJumVFzXKpBudgCaxu93mxpsKLxE5RQ7ySUI/zFWIePUm4RMlyoZwDhHsvMASic0/Xi1rzAP1GCfvmusnKQN0UpQnuGjzIUZJbMKcQ1Bk1K6CjQAkUoXtDwz4eLa6UyqpFY1tGG0FmJolkF8qGvXsNsqdaRLJPMMAzNRldE1Q91u97d84fZvcgKW/up/7; 4:3VhJ18ZSmzwN1C1pmjNZ45R3V6Yyxw7iPxgH5er2guyq4aRJyqOr8F4QG5wnqSenU0bUYbbEoDmYk5JSOnztHBE02rxuP/oooQFTGVJDTetDUcMX/K+nc1YsrKU8ZSf3qxtFuFZNzxAb1lo9biMd+sltQsZ3/tRTA8bZ3mBiia+MVXFwmV5iBX/Cm5XT/Oj0FPeKq/K4kNN7GNA6La4TTl7qTeeIDSpzZybOflxyuBSnb+3XOwNkyyw3ROu18g+r8+ruDUa0TnLOn1Uhg8qdaiWTsCIoZqcGKYRi6jb4aO82KgjU61APGiVF6Pn2SDyihdbacm5vsg9x9axej7Uuiucc+FWzbKiGNkZz17QicO5jKFtH6KUUGT9PgrNw0LIn+EQ35fSVlp4J5GY9uuUQrNh4TLXI3gufUYbn8s yWkdRK3mqiXN6nJWfprpVgMI4m X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(13013025)(13023025)(13021025)(8121501046)(5005006)(3002001)(10201501046)(6055026); SRVR:CY1PR12MB0713; BCL:0; PCL:0; RULEID:; SRVR:CY1PR12MB0713; X-Forefront-PRVS: 0940A19703 X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0713; 23:Df5pMjfyGRR9ny/pczSeHpbxk/3mmjXJrF5M3yr7DZXSKxVRk+K+XHnglrCfLHXCRt7D5mTEA24aJDp2oyQQ+knrGmoMfCCDN1QkxSAuAf88Q7NatZw1kbN6A6CKRSIulZS9h20Dj2j5ku21YHZZovYrOwk3lzwwY3ESplF8RIWR51nz69j8HnWuGjVnVcM2a2MNFjuVzlRBVH4QyakZkKtvm4Nja49jNqi9At2P0Zq9DvG3GCOxZ+wVdHVib4pgN/X7SKyWHfECD39KQ/K7hDRPgAX8tDEIsLmH/cCXrRW/nnO8C5bgYz5wwWHBm9O3FtrsIAqxpP+f5QyXfjc7cL2Fcff2VOK0AS1pkRTmOkMVaMf5jW9gEXjnwLFtYbQFScvl3iypQpsByvAwzX+Rh5uxeK5qNcc03zU8SNo2/lveu1YarZRHxkhxMnmglX4Quos6qULWhFnRYZnXgW/JvsBGJo1BLiYJGtRBacV0KsaHMbqBSQXKz+Llhp7M5KXxm1y3dq2gPAt6h4BkalCV0K5xlA6/5HKdFO+cH3t0+DUagfZwC6SbOZ2WNIs9I+G625KNVBxR0vmz4/3tcDOmhl3SJ5iLYtcAJVcU4B1J1C9/vaFuq92ZvpNFhKKposnfKKgrtwr9L0Wbv4/woePvdXuZBo9QXuqrOBzjZklOD0SCKIA0WmJphvZTjRvzBowTgpaI7KiMQuHpkFMhUiHQliTGP+j7NYMQvadqn3qa4Wmhla+pMQnaa767jEiOgX+bIvbgRSl6TJ7HMA+J5wfJ5MWfT+jwl3Il7db948tPk8B1TvLk5r6EALxjAXb19LEAOhm19yaELKyTpcis1XOGQPWFUn4Ab0yg71njl2OQbvvn+VJ+ZMgXBXSwtTZDOQLl6yzbqMcOCz53SbHeu3jynCdwYhJro9iX4LbJuHHQp A1YXQrBNG37LfSb2KZ84Os0 X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0713; 5:WS7+b8TuRIqn5kdr/Ypf0qHbR9CxPKYOx76blPkDg2WdEMRvVm9IUgrp36RjkAg2Fqeb6Gc6UDz+6DaQ6V6ogP1cAYxOkHh4faorriEnmKqpwvb3gMlhdqgQ14KEsvaM8vjXnefc8LTwgcPXH6BkIw==; 24:QP/1ipuIOkuWQRqWdGMrx6dpqI+Ja3YFVvHxxswAlMkHvAAIhmnGoqCW3NTcfEg/TVoLYrExqxb8A9hB/J0hSR4vMchMmohC+Pv2FnDd6Fc=; 7:fICEehlS7AWJWfBqx32TWAI2BfHYWGocBO68tctjhzLPRL28sWjAw1PWa69EIXEmOYO8vpSeOTHHrMinc1/lD47PNZiqpSPKGBHWSble/VAjW9mePagq4+rlH88CQuXmEyyIWFsilshNRm2jyxMwzHWlYjxA3mv64iYQe/23eDCjTuZa9IkHmlyABeR5zGS7; 20:0EKpNWC4V63MuK9tLYQfCIukQN0BFDkw97Jd8dsl6wQ01YSlYJNKrQKH2BkDGGjxkOdpcIOuYtXgkjxBMmt8QF+M4AMoPe0f3Xg8tptFtep9w3Gxrc43tC07eJgJwKXLngUcsN6823TLr2dSBHeiqsMTN8pWvnWThtZ6LOn9k8/cD8Hd5vzfiTWGkji5sFkjVF/uydXFYI6uw5a7NtBtoN9N9yyXJ7WRWxV9wkIKtvmTzZIO1k2yHMKf04gTL4gl SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2016 19:37:10.8141 (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: CY1PR12MB0713 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 Signed-off-by: Eric Yang Reviewed-by: Alex Deucher --- 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..34ed001 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, };