From patchwork Thu Nov 8 14:43:51 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Kazlauskas, Nicholas" X-Patchwork-Id: 10674417 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B8EA214BD for ; Thu, 8 Nov 2018 14:44:17 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A853B2BB61 for ; Thu, 8 Nov 2018 14:44:17 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9CDD62DCC9; Thu, 8 Nov 2018 14:44:17 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 012B82DC56 for ; Thu, 8 Nov 2018 14:44:17 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 8BD666E657; Thu, 8 Nov 2018 14:44:15 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0068.outbound.protection.outlook.com [104.47.36.68]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5D33E6E65F; Thu, 8 Nov 2018 14:44:13 +0000 (UTC) Received: from BN6PR1201CA0015.namprd12.prod.outlook.com (2603:10b6:405:4c::25) by CY1PR12MB0620.namprd12.prod.outlook.com (2a01:111:e400:c43c::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.21; Thu, 8 Nov 2018 14:44:10 +0000 Received: from BY2NAM03FT054.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e4a::209) by BN6PR1201CA0015.outlook.office365.com (2603:10b6:405:4c::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1294.21 via Frontend Transport; Thu, 8 Nov 2018 14:44:10 +0000 Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) Received: from SATLEXCHOV02.amd.com (165.204.84.17) by BY2NAM03FT054.mail.protection.outlook.com (10.152.85.30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1339.10 via Frontend Transport; Thu, 8 Nov 2018 14:44:09 +0000 Received: from kazbox.amd.com (10.180.168.240) by SATLEXCHOV02.amd.com (10.181.40.72) with Microsoft SMTP Server id 14.3.389.1; Thu, 8 Nov 2018 08:44:09 -0600 From: Nicholas Kazlauskas To: , Subject: [PATCH v7 3/5] drm: Document variable refresh properties Date: Thu, 8 Nov 2018 09:43:51 -0500 Message-ID: <20181108144353.31363-4-nicholas.kazlauskas@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181108144353.31363-1-nicholas.kazlauskas@amd.com> References: <20181108144353.31363-1-nicholas.kazlauskas@amd.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:165.204.84.17; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39860400002)(396003)(346002)(136003)(376002)(2980300002)(428003)(3190300001)(189003)(199004)(72206003)(446003)(50466002)(186003)(5660300001)(36756003)(14444005)(50226002)(47776003)(5024004)(336012)(8936002)(11346002)(39060400002)(126002)(476003)(5820100001)(2616005)(86362001)(486006)(44832011)(81166006)(106466001)(105586002)(53936002)(81156014)(97736004)(76176011)(305945005)(1076002)(104016004)(478600001)(8676002)(2906002)(2870700001)(316002)(68736007)(53416004)(426003)(7696005)(66574009)(356004)(6666004)(23676004)(54906003)(110136005)(26005)(77096007)(4326008); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR12MB0620; H:SATLEXCHOV02.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoDomainNonexistent; MX:1; A:1; X-Microsoft-Exchange-Diagnostics: 1; BY2NAM03FT054; 1:47YWntn5J/4rseUVI4c7NL8poPT3K7fcYVeBm61PfP1LI9V3/zXug8yzGVUVOQ65CsjVmdy1wYkDoOJmZZHj+s71I4N4CxNoluYFFNGFwQC+dCqZgrJAW1VOIS6yc1KI X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: aa85586c-d0fa-4e00-a720-08d64588a4b2 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060); SRVR:CY1PR12MB0620; X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0620; 3:GFk9jTl3278C/so8E4oFcm6SnarD8EiN2Z82eBtBwT0+oiCYBZG1gIeBhA1k4skBza7numMRZNHFYAjeKNdhrygPXKkk6FBfRf1Xpf+Y/5Vaf9iAYac3MMyHGgfMfkQEjmI6jsz8obEwyv4/UxuBB4TQBKijcD6djdDNvK+AjpcIUl03hr4A22TS6r3Q531dLPE8W2agWZn9meWV+8OiVdyUMd5mvCJvSD5BiaJob6QRM1R5SQLyyIqi5qfv+cXNERJKteB68DPapXPl5lOVKKAAhgmyHEate3gTdP6+4HDMGrKZ58Q4KWEx6A9IPlPfVy/SEgq8FPKA16RjZB1LTiVChNVZu8xI5mAva/C0o60=; 25:1UFtjp/7/h1d6gbHLSfT6fAsVQ47zBOljqfxdMJW3YQIcczvOHS8Wz5WcX91MEVrvixA/iRtPy5OimzD3aWqCY27k+jPvD1g5lu2UisuCkrx4iY4xUPsp3rxSY8DhgzZGHBhRdJEBOjkZotJ95Sq0L17BRKaVtCUCkpZHsH5AOATTozz5lw4NaF9UxB6R/9AIC2Khvc/Fbfa2z5GUr0iJfe5nErfsad8b3F3g0FHgt0hAH4cf2/w602XgWcf7Sbp+6PWiTL9/F25LRLSfw4VC8w4o3Zj/ENC2yu8So/2R+ycixGtEGD1MuhZiX39IIsPjA/p5uNgF5wecuHaK0KuBw== X-MS-TrafficTypeDiagnostic: CY1PR12MB0620: X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0620; 31:L/qnMgSTEcnQnxoPNzKgiDsMpoV5AMJU0v8AFPV+Nn2xaJRVw4+Yvn/8ZP3HKhUxDuAKeReZld93MKdllP3zjzkctSnxkQ0oIUlDpgzecA8lNZyK0wC/OYSAIlzWBsr7fM7ZAP1CMSdTg49KbTR8STZtARrxvPI1NLSFTPfH0Z0zYMj8CMlDwXDY/WN8+kdbnunZyXVJ+x9h47lXepK6Bluxrrpalu7MNbvM7loNK8A=; 20:qraaMkLel2JZvlpO2Z7kjxIeX3x/aCoIGv82K5h1kQ4sW6Xn0O5NtlHqlW/hLdchPO3iHFHbPK9DWj7bmiEogiBcWUHcPJRpBbrzJzqPkynCtXi9Hhx7/jOne/tsfxZbrfW1vYgo2E1qWWUNqyvZeXqqIQVqlG/UFBjbDKuCluxEBEeLn5jfZv1sFqyNzz9J21D9Vzfc9RcsoAjRYIvVSmNpwYHd95RJ2QbRpcraKDQc+QOBab0OYTZOhd5awiTi1d+boYL2dgs3QheMLY+cbTL1d+rohMQENrVy52RjIMplrP90Ana2C8ruTVUESGQ+/qkDxm0LGBIkOjOFqVeGzqOME1wUo/BZNeeuWyXkp2GXfrvQ0m8OJY9oDP33YEIpvMW2bHW32zmBGhyLHJD8pbzFND69AfeptEQ+nisvrgJ6ganRfNNctPCmSWHE6sRSJD0cgsaF5YoJ04R985Y71YCYzNp9o66K5MCjol+ztPi901Vb4XuBZrlQly1li9cp X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110)(228905959029699)(85827821059158); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231382)(944501410)(52105095)(93006095)(93003095)(3002001)(10201501046)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:CY1PR12MB0620; BCL:0; PCL:0; RULEID:; SRVR:CY1PR12MB0620; X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0620; 4:IS3s7N8615BtEmuSgRKk+kaTUyiZ/8hCeG8j6X5zshpQIrC53HGGWRx8GEK8MXXbVyKijbw2xf6c8pXucNxZdgbDph097Ju1ZAO91D9NyAQkQ6eISj/8LvFqGdgUBlUE8mLXg7oxFHsAkAmaySY6ODQz7pmTSp6wH5mBjjyVYoOXF0xz17+0irdW8ln6ktlGN24Lif8Y6tjfR1DGF6dZw2TahIAmHG1L6z1akx9r2iH1Zxkz2SeG58ciicFJ8kGu6ZrGduyEQg+NlSCX75a4jkFO8GKRdb/pKHcIAVhqRYbJW2XUAahJXr47wT55sVwE1+0WT3CyErTmfo2x06FbdphXs14G0ISRruLlGgiE/woLU3dgIk4OWSXLz8KhcYMe X-Forefront-PRVS: 0850800A29 X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BCY1PR12MB0620=3B23=3ARLDQYAj?= =?utf-8?q?Q3ZaYBCJm909zs61gi9FRCQVvfZFE92Z0viVCH1vqfE+d7fQxL6uhtO82GQewOBd2?= =?utf-8?q?1tTRhYD4gbDndh9w8AuqvX84tK1cEW+gYKfSbwCS1r8qwKmu4QhIxOBuJudjPCr65?= =?utf-8?q?sh0t7rkiO7O8didoJvCpFmWD6CysfMnN7/4eWjB1IXwT1zy2rzi/tWGCiAKtBCnuZ?= =?utf-8?q?XhE3aQjOUCW4OZcv+bPjrylTh9+vFnZ/161FjUe9CeDtZ3D9pPiAHS1UjZ3vGpn98?= =?utf-8?q?uy2/29Zbve0S0hnQ2P8CfEXUOgBKPQS3t7RQT9+LTqlYnTZhCmLJJNgvmfIHqlmNu?= =?utf-8?q?piFpVZAvseSHKdUCgn5XbfE3qLTdzIbLJUZE9wylnEtOfkYNL3ylggzsut9MXoKk9?= =?utf-8?q?YIGZGXSFIQiMxcDUXKIXeJR2BcSRls+cEd/ucCzqZu6IaVHd9rFScmF8N4oI/0T4o?= =?utf-8?q?eGfyby8GDxxVj7hvEOgpIiDHSuMZhxw2kk9cpvZaaiqBxD6nZ+07DakqMHG9pXh40?= =?utf-8?q?eVnwD0WkSoBuSHTpiRyqnEG9VEsezfAYonksCZzEJGxpnhpMkcGRZBZ64x3tmdtP2?= =?utf-8?q?zEJbogUiAvVucZmGas0vnJzia0yPW9a/7yJ2MjIyikV/0VJ/D45XLSk5GaF6f8u03?= =?utf-8?q?Uk3IFX2UrreZ2vsp/d9r5XMv97eyWECZfGeMC/7w4BLoFrFm4a8Q5PQ5J0vBUDGFj?= =?utf-8?q?ltUt84Cis0dXtm63nGuI5zPDr0mCgZVnFcu5HeSaHPSJcynJR5Rn/DNNyehlVh3tj?= =?utf-8?q?D0eKBOJAmrr6m9n2nDxK/2R2eh2XtUJR+GBSZMpaQz/5xeYWMujQx3Dbvkx3JEWAs?= =?utf-8?q?JxDTO92Ah5iiSxhbcZzAHURxE+KoNMMFUWvFwYv1lwx64G6FJvfQWoR0TvEcxQ4Id?= =?utf-8?q?eXDng/hm72/QayM8W7ME+cDVW6yYYYKFBdSrvOZCtXu0StrdDmGvnj2+5a2g/a1Tu?= =?utf-8?q?0/h6ziZLEwuSOfQuYJxaPuMcahrrykOZDBL7FmyUZf3nrkrNlxwzTxqBekVpIsZ7y?= =?utf-8?q?R2dXapjHVWRpAyG5Nnvg+Wr3XtCBvl2dPBOHfAXdld9vdOXCihcQb0JHIKQsQeQOc?= =?utf-8?q?MZ0vxKbNopFegI+rNxPZnyQkk9zAw/RVKMBm9FmQFNBPQ+6z4CJd96xlyrpRZYanN?= =?utf-8?q?uMNp1C3T3SI8PmXZakE//KkhQ6D2ac40Gx/d//4nPXkKDSTSqZ2MGmN4CJ48J0tUU?= =?utf-8?q?aL3ZItRmQwsIhFB1vfMwFBIw48R82D51H/l/3WDeTM4LbOLDelWVUk0/29isqbRiQ?= =?utf-8?q?8M/bDUXpFDJRS9Aw=3D?= X-Microsoft-Antispam-Message-Info: sTT7ZxGqFAgjZPo/8dLdVd7XMrURlGKWcjPBdXYxQsfq9mL0z7+wbfkKNxv6Y4yGa+II4MiUv2atPNI3lGgqYt780w0bpJNT2jw2S0kF6IGNbCt2JlqsVujtC3jZCGMYo0cOIWrGhMEmD621zuioFwS1lZjB+WhIer6YJY622HHUga8QZy+xpZ1NXGZAoLf9paFgKUHWnf6/xPr2bJRBhA3bxCZTzAMdQ/kApNMQQ+j/7jm767oxAUsZrPNRDwx81sRx6P+GJvW/XZsHggjRHH/0vPciMdo0H4jlBcbID63oHwiqpgtAYWa8fPlqaTaQ/YUGDDOXsEciSE4hhlCA5cdtg4sJ0yQpmav2PUGSeAA= X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0620; 6:j/tzNOfHeVQu2gzbw6H2UEC6yD1q+n6Z+kF24nLLZlIf8JbBSS8YWw30955M7W79GgtOOTo0mDKMSCrOiowAYLL0TEPVMrRUoyU/wpBqGnH2a5WAnRLsiQS7pBskqYKrjJS2+OL322cq/aLz4pXNnMCQUq4tB6xJYLKjCiWLMpgbT3YRib6J8x92YZ/dEm5nPUOOakngXz4Wa77tx13YPDgokP+4+XtmfmN/TDW9AQ0ln8Rgmti3En8qKebUFVKXk8ZPGBH35ahGBw+yKa0QDDwUa3rrrtZdJveE3Y2tQTI1wig9i53CZzc2xvC9OP9OdGzRZh6ofmh7HsDr7vdZVnnJ8gA6QNMo6FdMtOK0eprfq+jsNqIQJdIIePVmKlHqRdgH29ClOzbMbxwIIslGMKDFVLvSQqfl+moU22H4sWrvdCCf1O3aLyNBX67xqq1jvqCqtUtxL25t+4KvECwDSw==; 5:sM3Vz0KhA7K9DqnQzhsU1bnDGWo0rFoT6nvnMg84Zzuj1VRuopZ9BiASi0SzpYQoTF2D7M6w50q4F1/mPCqaBWySBEgLBk+5I86m5gm1Bg4VsCrbXvy4K1/Gi3/UcaLn2P2zIyitVy7qN1QUV4QIdz4AFMFGfnNC5ci6Y2lKJ+E=; 7:k/erYR5opwwQbZJfWNuji9wloVvuyrbhPZvrl0X0QFQ7GH3mSNJBXIn5A15n0hjYjrRTgD2NjzINcG7u1sOixkgbFA0he4lSX13Yg2yj1dsCbAeFgiFoIvnXQiCuukEyfbM+wNqhXsJ6SjuWHC5Erw== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0620; 20:wOLqadmr+EMz5Vx0G2U6H1NlDUBOZAj69w4DqPQXC87x7HmR+dYGjkhxooun9xCKwt0xMXnl+Pwym2gchYink9ZQ/YibPM3nBdzvA21fQyeosgaOjq7OEi9reNeCbOO7e95rwYKz4ncTi4AkhqRC3lBjK/1TCav4AQ77mZ1V/uUQFtCzLnqZuVYkOM5lPCMp/KlEsrPoVuq7itjXVzP2mXajg6nifCuy2m90Y0WoKvD+yy6CZOCnxwTTeIIrfqL/ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2018 14:44:09.8512 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: aa85586c-d0fa-4e00-a720-08d64588a4b2 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.17]; Helo=[SATLEXCHOV02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB0620 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: michel@daenzer.net, Manasi Navare , Nicholas Kazlauskas Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP These include the drm_connector 'vrr_capable' and the drm_crtc 'vrr_enabled' properties. Signed-off-by: Nicholas Kazlauskas Cc: Harry Wentland Cc: Manasi Navare Cc: Pekka Paalanen Cc: Ville Syrjälä Cc: Michel Dänzer Reviewed-by: Harry Wentland --- Documentation/gpu/drm-kms.rst | 7 ++++ drivers/gpu/drm/drm_connector.c | 68 +++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+) diff --git a/Documentation/gpu/drm-kms.rst b/Documentation/gpu/drm-kms.rst index 4b1501b4835b..8da2a178cf85 100644 --- a/Documentation/gpu/drm-kms.rst +++ b/Documentation/gpu/drm-kms.rst @@ -575,6 +575,13 @@ Explicit Fencing Properties .. kernel-doc:: drivers/gpu/drm/drm_atomic_uapi.c :doc: explicit fencing properties + +Variable Refresh Properties +--------------------------- + +.. kernel-doc:: drivers/gpu/drm/drm_connector.c + :doc: Variable refresh properties + Existing KMS Properties ----------------------- diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c index 49290060ab7b..0e4287461997 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -1255,6 +1255,74 @@ int drm_mode_create_scaling_mode_property(struct drm_device *dev) } EXPORT_SYMBOL(drm_mode_create_scaling_mode_property); +/** + * DOC: Variable refresh properties + * + * Variable refresh rate capable displays can dynamically adjust their + * refresh rate by extending the duration of their vertical front porch + * until page flip or timeout occurs. This can reduce or remove stuttering + * and latency in scenarios where the page flip does not align with the + * vblank interval. + * + * An example scenario would be an application flipping at a constant rate + * of 48Hz on a 60Hz display. The page flip will frequently miss the vblank + * interval and the same contents will be displayed twice. This can be + * observed as stuttering for content with motion. + * + * If variable refresh rate was active on a display that supported a + * variable refresh range from 35Hz to 60Hz no stuttering would be observable + * for the example scenario. The minimum supported variable refresh rate of + * 35Hz is below the page flip frequency and the vertical front porch can + * be extended until the page flip occurs. The vblank interval will be + * directly aligned to the page flip rate. + * + * Not all userspace content is suitable for use with variable refresh rate. + * Large and frequent changes in vertical front porch duration may worsen + * perceived stuttering for input sensitive applications. + * + * Panel brightness will also vary with vertical front porch duration. Some + * panels may have noticeable differences in brightness between the minimum + * vertical front porch duration and the maximum vertical front porch duration. + * Large and frequent changes in vertical front porch duration may produce + * observable flickering for such panels. + * + * Userspace control for variable refresh rate is supported via properties + * on the &drm_connector and &drm_crtc objects. + * + * "vrr_capable": + * Optional &drm_connector boolean property that drivers should attach + * with drm_connector_attach_vrr_capable_property() on connectors that + * could support variable refresh rates. Drivers should update the + * property value by calling drm_connector_set_vrr_capable_property(). + * + * Absence of the property should indicate absence of support. + * + * "vrr_enabled": + * Default &drm_crtc boolean property that notifies the driver that the + * content on the CRTC is suitable for variable refresh rate presentation. + * The driver will take this property as a hint to enable variable + * refresh rate support if the receiver supports it, ie. if the + * "vrr_capable" property is true on the &drm_connector object. The + * vertical front porch duration will be extended until page-flip or + * timeout when enabled. + * + * The minimum vertical front porch duration is defined as the vertical + * front porch duration for the current mode. + * + * The maximum vertical front porch duration is greater than or equal to + * the minimum vertical front porch duration. The duration is derived + * from the minimum supported variable refresh rate for the connector. + * + * The driver may place further restrictions within these minimum + * and maximum bounds. + * + * The semantics for the vertical blank timestamp differ when + * variable refresh rate is active. The vertical blank timestamp + * is defined to be an estimate using the current mode's fixed + * refresh rate timings. The semantics for the page-flip event + * timestamp remain the same. + */ + /** * drm_connector_attach_vrr_capable_property - creates the * vrr_capable property