Received: by 2002:a05:7412:bc1a:b0:d7:7d3a:4fe2 with SMTP id ki26csp356497rdb; Sat, 19 Aug 2023 04:50:12 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGGUqQYnJFe6F4vzyfbmQM3QYgplbtoFE1YgoHEQU6ZUO9Cnh9wRjdIdZy3YUyFy4zQMPNL X-Received: by 2002:a05:6a20:6a05:b0:140:cb66:73aa with SMTP id p5-20020a056a206a0500b00140cb6673aamr2516181pzk.3.1692445812226; Sat, 19 Aug 2023 04:50:12 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1692445812; cv=pass; d=google.com; s=arc-20160816; b=JC1epXRxpmy+JaGKhkTsFixfVZg5ZsISFpbc7H24DWTc1PFuNLhWYSqilelWzc4+cs q57YOoc5nV/LNq+f20lzOMEVCOOf08dtn+OfEPbZQT3C7BBhfrg+uyC0rhIN2E/A9K4U aLF6RnoWqgGQk3UMvK4DNAtBw3kav6QXOP0nV7no3RoNajg07/1jw53uT7U1daCv718W 9UkzGIYFpGF5ehdlI8tVEE3rSUSj8FWYUS9DQWziMnBcyyJdg0CDU5fPqgHaOvQrp/4k tm1eAVN0k/TaqSWQFKW0CYYbhQ7iCzMO8OqmDGZVQV353Oo3o2jMB/3abm5m9wYLtDH6 d8wQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :in-reply-to:from:references:cc:to:content-language:subject :user-agent:date:message-id:dkim-signature; bh=o8L3YCLAKTA6V80l653tk0bn+5cbklpsHNwXGW0tipQ=; fh=5+3FisYmNIdTonL6FVgBveoCc708JDoOTnD+NIboqWw=; b=rLfq9lFIE1tXBtzRzbig18ovJIpg3GxxzScnlUb7/Sax+q+kvm9E++R2KcCCysmpjj dep29M92Joj9MiZfe3KxlLrzdRMmS4zFK4lsOGXw97eb/aJNCDpYZyjwbX0sDSQ8/luu UDyUJ1BHZtlJmZMAdt3o4BTHDZ7W6xCZ6RzYY0UT6+iGf/pwMvdNxYifffmXzhg78LFH 02pXw+alS/GAgqqywuNApz3H50m+G8FVUK1EIpetRabfidaKTii7FqjPdys1NcLLF2hO qxzoOQfU2WmlJt9VY5yizXMrYK2Vgr7g3Y73kBKskndXYfWeolXyi6tpAK/i3mU0/0PL Ge3w== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b="b412q/aG"; arc=pass (i=1 spf=pass spfdomain=amd.com dkim=pass dkdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id cn11-20020a056a00340b00b006871178848csi3366757pfb.208.2023.08.19.04.50.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Aug 2023 04:50:12 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b="b412q/aG"; arc=pass (i=1 spf=pass spfdomain=amd.com dkim=pass dkdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 860DF701E2; Sat, 19 Aug 2023 01:35:23 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245655AbjHPNmn (ORCPT + 99 others); Wed, 16 Aug 2023 09:42:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43400 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245695AbjHPNmV (ORCPT ); Wed, 16 Aug 2023 09:42:21 -0400 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2064.outbound.protection.outlook.com [40.107.243.64]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0BE71271D; Wed, 16 Aug 2023 06:41:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AMrkH1CrXR04s/qXNv+qqlpp4ABhQAQFqc0aq4zIeqQzvFS+H9Z9kCQadPxERasfIJlE3uzziRcAcqPCCF5yW5CMyvC9sD1CazE5Io6F8J1yAoqYJkMH0nrn7C8qv1lJBebtoYqgmriYcQKCyR135zGUIGusqzVtOSpAH/ZcoKexGDYOEEv2HIgR2BSvdI4WKg3uLTrvz+U6x9dnGAGxOd9pKBePCuYv7D0S2pylCRVjfE/M38YOE/d0CzJqxX+NLPsvWbo2MRKkGlqXkn2kuRuABhj0mVp6aWCNf/87IGHnvKH0RYvfwR17pjVqs/MC06TAw5vu45wG0tooaz/ZNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=o8L3YCLAKTA6V80l653tk0bn+5cbklpsHNwXGW0tipQ=; b=PUL37vOCFUGII/Ufv+Md+F82ejUKtN3DJuZ/+6HyNZUIq19O3PSemeEn57WBrmHjYFSaV/e+2xWM6ycHOCy6ZVpXxYNgWVXsshgfsxOX2neKBWbMIJ2NsoHabePb+lGSrfmA0R3+TObYesQvqxRo7/g+wdzDcuVonkj324DREL5xS3i4LClIfAl73HmfGVpVxW8LWYnHdbS0iSrYXzi+4frPfnSMviqSoaASudG/diBjy9Id/EMB9XASuIcrttdMt4i1i/6oSrKiKuNGxTEZTKrpm/N1wQu9bON7665bOQOnOW0lyVuoIGUoTy3yM+XKa+q0jhJYa9LwzcRff0GxDA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=o8L3YCLAKTA6V80l653tk0bn+5cbklpsHNwXGW0tipQ=; b=b412q/aG/qxxDasUu6G68K7GTcb7uvUWkKCCNwQ/nKNHI9I+ZQcoDFUwgSdj5tYLIkSzc06UMaqk6EahL76nyCP4ev4gvIp1jObkn+ePWXp6L2GAJ8SkH+kVkhpFsowyQrAD7qEkHIs7BkipRqPlmmNDH91chj7AXJAStWFTqPg= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from DM4PR12MB6280.namprd12.prod.outlook.com (2603:10b6:8:a2::11) by SA1PR12MB7152.namprd12.prod.outlook.com (2603:10b6:806:2b2::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Wed, 16 Aug 2023 13:41:24 +0000 Received: from DM4PR12MB6280.namprd12.prod.outlook.com ([fe80::4196:c9c9:dfe9:8079]) by DM4PR12MB6280.namprd12.prod.outlook.com ([fe80::4196:c9c9:dfe9:8079%3]) with mapi id 15.20.6678.025; Wed, 16 Aug 2023 13:41:24 +0000 Message-ID: <855aeab8-13e1-4dc4-841e-24d298c9c072@amd.com> Date: Wed, 16 Aug 2023 09:41:19 -0400 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2] drm/amdgpu: register a dirty framebuffer callback for fbcon Content-Language: en-US To: =?UTF-8?Q?Christian_K=C3=B6nig?= , amd-gfx@lists.freedesktop.org Cc: Srinivasan Shanmugam , Thomas Zimmermann , Guchun Chen , dri-devel@lists.freedesktop.org, "Pan, Xinhui" , Javier Martinez Canillas , stable@vger.kernel.org, linux-kernel@vger.kernel.org, Aurabindo Pillai , Daniel Vetter , Alex Deucher , David Airlie , =?UTF-8?Q?Christian_K=C3=B6nig?= , Mario Limonciello References: <20230815172700.255596-1-hamza.mahfooz@amd.com> From: Hamza Mahfooz In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: YQZPR01CA0012.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:85::10) To DM4PR12MB6280.namprd12.prod.outlook.com (2603:10b6:8:a2::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR12MB6280:EE_|SA1PR12MB7152:EE_ X-MS-Office365-Filtering-Correlation-Id: 7d84c495-8a19-4632-ca9b-08db9e5e7b7b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3BEnBU3FDz2zZ2KqWB9Ro73pLTPk3A99x7kIXtAaeGM+31F6ZDISa7kgTZ8LRXKQakyGV3LG/l1FjK6nmIQHGQgxl7Qn0cxAxp+WlhKa9inhCjpgsGbYhglERiUVZ8nqrqP1S+wEBOeAZnmsLHcD/Zvg4MAEale1y99jmx4CtmsQ/jECRiOriBe7jl7SFbpJOAtEZhpLBn7x8WLl7jPPJYbEeiSJh2Ytb70485yoQP9YpqGeOmZgsOi685a8Vdc1gU/BtUydguClnlOVrkDWd6vznLxM3MJxDb8jidVIsmgv7rXJxgO7F7cf4x5+l9OLRgWAJmhnOT0MUXj2dLAtIJchMDcx9faPSXU7mxGOr/WeVz1d2Nyz4mMMbpFjPaRxR+OzQeMl7SfmxRWk3qCVX/OBYfHjIj+NCstP+GNsv1dDRzyXHP4aWL86pHoTOdjS4BXe7Fhy0XVi9WLu9pCK4yfny/Vini3fyU5w7bSoinc3+M9j9wg+wk+N8J2z7K7HUERTIzNX9osHR5AMY6zmvHAs3P0wq0vQdC9Bb5ym7ofbFmSC1y3e7sGKLQPx9WJnQPlrdSlA2FmFyyt6+kOBH8vsMK5GVmO+52d10laxfo7fZ16LArfBlh5w3y1HG0vCJissphfvgExnlXEAY0BT4kCGseNjaWpTzR1PssXeScI= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR12MB6280.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(346002)(366004)(376002)(136003)(1800799009)(451199024)(186009)(316002)(54906003)(66946007)(66476007)(66556008)(966005)(41300700001)(5660300002)(44832011)(66574015)(38100700002)(31686004)(8676002)(4326008)(8936002)(2906002)(83380400001)(26005)(478600001)(86362001)(31696002)(6512007)(53546011)(6506007)(36756003)(6666004)(2616005)(6486002)(14143004)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cEhQb3ptcmZVMmZmenlSYjBjR1h3enF5djRRUFlXWmdmOExROUQ1RHZBZFM0?= =?utf-8?B?dU9VSi8zQUJIVzR4bVEzeTZwWkdPdEdCVmRPeXk1Wm1DMExNcFV1Y2o2SSsy?= =?utf-8?B?N2pydkdSS3dwV1ZpOWJBWnd1V2ovZzIzSHd5RWN4TzBFRXllY0JFZFNob1J2?= =?utf-8?B?Q0R6VmthdnBoamQzQWxSaHlTUGxtUCtiTVFaZFVTYkw4U0VVMU9qazRKaS9a?= =?utf-8?B?bTJPdk04b0FFNmpBREZWWDNzNFJaTWI0ZUoxUUFFOVFaaVRST2d4NVFkNml2?= =?utf-8?B?LzVpY01oNEFtajFiYjBNMGphYVVOTVJsZGVYd3oyc2h6aWkreXh0azk3SXZE?= =?utf-8?B?SWtwUm1qbUJRTWtrWkpGN3MzMFRENDlyVXVmK285V2t0NDNReURHa1B2SzNt?= =?utf-8?B?c1hMUGVTZGF4TkMycm9xbEtWbm53MDBJTTNFRUVEOC9DenV0OEZWV3B2YXdL?= =?utf-8?B?bCtyaFFjV1d6NStTRGFXQkROTkJqNktkM0dMV1lvTGhCWUg2MzNhclp0TG0w?= =?utf-8?B?WGhjbktJMEtrU3VjVmdUQjM2OGtwYm5adVBJVzVWQTVvVzRka3dQQkZNRzh5?= =?utf-8?B?ZE12MjVueXZIbUR0RzJEUm05YzZGRmVzc1FwR3hpWU5yUkhSdmxvNUdvOC9K?= =?utf-8?B?OHh1TjJaeHp0bmJ2YXZxQTV2WFFTVjJDdUNZSkZIaGdydEVFbDMyTG5HRDF0?= =?utf-8?B?ZUVHcHlRaDYyTmozeUsyaldhQWxkMW5NZktRbG03WHhOSkZNYjFMcTB6aFZh?= =?utf-8?B?UXJjUXpzT3NmUU9sanh5emZrMC9ucnRqbXBhVFA4Z3FickY4djJuemQrY1B0?= =?utf-8?B?OG5DZVl4R21QSFF0OUR5eUtQbkwxZmVKSWlrLzJmTkQvWG5BOTZSbWpCY2NM?= =?utf-8?B?dGNKOE1UYVc2QjlaUVZlUjZLQkdmcmZxUDdpT0J0dVRkUzdtNzlqSFdUZElY?= =?utf-8?B?STRFOGpycHRzRFNXUWhwQTVMYXVvNERRcVF1RW9PZ25SNis3WW1WM3M1TXM4?= =?utf-8?B?aHk3Uk1yeUk5SEUyeHlWYVM3TTdBaTBvMCs2aFdWNyt1aGJqYnFVSmMwK016?= =?utf-8?B?SGZ5TnRiZG95TjhkTUdQN3hpVnhTRkVnejhrWUx5cEFiOWh0OFQ3WTUxQ0N1?= =?utf-8?B?NSsvWDdUYVpCbDc0T0JWaXVpblpINGhTQ2xqVDRnc1FhNHNRaDlwbkFzL29u?= =?utf-8?B?OW1ZZ011bWp2U1Y1UEVHSFhUVEZhajlNRktEOGI5Rnh6SkE4U1cxS1BCa3E3?= =?utf-8?B?QU5qYzFxTmZrMXlyMFVrRjhhN0w4bjN3U0dwcW5SbDErMDdDbWFBaWtEVzBx?= =?utf-8?B?UXdHb3UzTU8yVTNWZmJ2YXlxanBWSjhad2RTYW01Yk5GaHBCUm5LcTRpZzNM?= =?utf-8?B?M1ZMKzVHRnZNZVB6ODExUzF0ZUMzSDZ4N1ZwUFhFalRCWHJBeG0rai9ic2ZR?= =?utf-8?B?enJxRUErdk4wT1YvaERUYjdvTzQ1Rm82T1ltOUoxOUpEVytWZjdkem4rOVZu?= =?utf-8?B?ZllMQmFvVmZvdWx4em53dnVJVXgvN1JncG54QWUyQzM1RVYyVEpsRDNUOW5r?= =?utf-8?B?dmM0VlV6M0JHN0dSRXJqVXRnbWlHZ1o1YnFzMzZPalF6TFFvVlhMN0dGTVFq?= =?utf-8?B?RFVzU3MybjJrWDBJcVZFR1BqeFUzZ1lHdllYR3hncExhRjhMOTJsL3VOTjB2?= =?utf-8?B?NnZETW83ZzIybWVGUjNzbUVXS1lhd3BZR0ZSaEZ6ZldFQ0plZnZCOWVVelhm?= =?utf-8?B?Q0VPK00rV3UwNWZncEF1SE52ZU96K3NzRDRwTUdlaU1mQmVVL1Z4UFA1NXJE?= =?utf-8?B?S1BRQ1RWU2F5U1FVbEdtY1RaV0hSdittUkI1RThUQXExM2RMcFdLa3ZFMndX?= =?utf-8?B?bGhPU0FnSzNvRk1HaVRsN2JqV3FQVmFaZk5zRUcwMGJFR0g4VUFpUlh4WHlY?= =?utf-8?B?MytFQnhKV1FWdDBEd0dMdkNKZkVGTEE0WS9PUmgvUHlMR0xoajl6c2poeHFZ?= =?utf-8?B?aTJVUzZLSDhTWjk5a241am5oWXpMNzdmVGt5eDd1NENtdzNUUE8vTUNYNTZj?= =?utf-8?B?NzhEV0x2WUZ2YzIvbFkrVkY5dFd2WG1FR0VTK2dJbHRwWVl4ZzRXTmtJNS9l?= =?utf-8?Q?zAUZmtmEbgIi8XzX+Tef71cBq?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7d84c495-8a19-4632-ca9b-08db9e5e7b7b X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB6280.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 13:41:24.1880 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: dklfTVasSf/wMwgPvtz+Y8ECG6Ux7rUXYkOuxAKRip8mM0Psz65D9ju0fiAHkWYYZL6/DS4aPKVpWYPm+g1X1A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7152 X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 8/16/23 01:55, Christian König wrote: > > > Am 15.08.23 um 19:26 schrieb Hamza Mahfooz: >> fbcon requires that we implement &drm_framebuffer_funcs.dirty. >> Otherwise, the framebuffer might take a while to flush (which would >> manifest as noticeable lag). However, we can't enable this callback for >> non-fbcon cases since it might cause too many atomic commits to be made >> at once. So, implement amdgpu_dirtyfb() and only enable it for fbcon >> framebuffers on devices that support atomic KMS. >> >> Cc: Aurabindo Pillai >> Cc: Mario Limonciello >> Cc: stable@vger.kernel.org # 6.1+ >> Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2519 >> Signed-off-by: Hamza Mahfooz >> --- >> v2: update variable names >> --- >>   drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 26 ++++++++++++++++++++- >>   1 file changed, 25 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c >> b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c >> index d20dd3f852fc..d3b59f99cb7c 100644 >> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c >> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c >> @@ -38,6 +38,8 @@ >>   #include >>   #include >>   #include >> +#include >> +#include >>   #include >>   #include >>   #include >> @@ -532,11 +534,29 @@ bool amdgpu_display_ddc_probe(struct >> amdgpu_connector *amdgpu_connector, >>       return true; >>   } >> +static int amdgpu_dirtyfb(struct drm_framebuffer *fb, struct drm_file >> *file, >> +              unsigned int flags, unsigned int color, >> +              struct drm_clip_rect *clips, unsigned int num_clips) >> +{ >> + >> +    if (strcmp(fb->comm, "[fbcon]")) >> +        return -ENOSYS; > > Once more to the v2 of this patch: Tests like those are a pretty big > NO-GO for upstreaming. On closer inspection it is actually sufficient to check if `file` is NULL here (since it means that the request isn't from userspace). So, do you think that would be palatable for upstream? > > Regards, > Christian. > >> + >> +    return drm_atomic_helper_dirtyfb(fb, file, flags, color, clips, >> +                     num_clips); >> +} >> + >>   static const struct drm_framebuffer_funcs amdgpu_fb_funcs = { >>       .destroy = drm_gem_fb_destroy, >>       .create_handle = drm_gem_fb_create_handle, >>   }; >> +static const struct drm_framebuffer_funcs amdgpu_fb_funcs_atomic = { >> +    .destroy = drm_gem_fb_destroy, >> +    .create_handle = drm_gem_fb_create_handle, >> +    .dirty = amdgpu_dirtyfb >> +}; >> + >>   uint32_t amdgpu_display_supported_domains(struct amdgpu_device *adev, >>                         uint64_t bo_flags) >>   { >> @@ -1139,7 +1159,11 @@ static int >> amdgpu_display_gem_fb_verify_and_init(struct drm_device *dev, >>       if (ret) >>           goto err; >> -    ret = drm_framebuffer_init(dev, &rfb->base, &amdgpu_fb_funcs); >> +    if (drm_drv_uses_atomic_modeset(dev)) >> +        ret = drm_framebuffer_init(dev, &rfb->base, >> +                       &amdgpu_fb_funcs_atomic); >> +    else >> +        ret = drm_framebuffer_init(dev, &rfb->base, &amdgpu_fb_funcs); >>       if (ret) >>           goto err; > -- Hamza