From patchwork Mon Jan 16 15:44:57 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Grodzovsky X-Patchwork-Id: 9519011 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id D4A726020B for ; Mon, 16 Jan 2017 15:59:44 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C3AEA26CFC for ; Mon, 16 Jan 2017 15:59:44 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B81C027C0C; Mon, 16 Jan 2017 15:59:44 +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=-4.1 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED, RCVD_IN_DNSWL_MED, T_DKIM_INVALID 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 65BF626CFC for ; Mon, 16 Jan 2017 15:59:43 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2AA676E39F; Mon, 16 Jan 2017 15:59:42 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org X-Greylist: delayed 852 seconds by postgrey-1.35 at gabe; Mon, 16 Jan 2017 15:59:40 UTC Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0075.outbound.protection.outlook.com [104.47.33.75]) by gabe.freedesktop.org (Postfix) with ESMTPS id 99E7B89C27; Mon, 16 Jan 2017 15:59:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=DRKFlsbpy9H1Gc5hBEeChPChoDYTUUpjZOgI9F6s3/c=; b=y0GEd5HfvNZlDu30Vn+DvLdfOnW1RtzlgUGdJBvGb2RWNUUkYmu0dGMkd+ayiHqW8rivowkJdHGU1IfMqqyXwL8vs1WcsizQHOeVW74O0Xyt5locuRcKOeoVwVlT0DCM/P4W0z3+QnJrRWfXKlsVIup5+7uSfZUO/xugeBx8ZeE= Received: from BN1PR12CA0042.namprd12.prod.outlook.com (10.160.77.52) by BN6PR12MB1233.namprd12.prod.outlook.com (10.168.227.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.845.12; Mon, 16 Jan 2017 15:45:34 +0000 Received: from CO1NAM03FT039.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e48::203) by BN1PR12CA0042.outlook.office365.com (2a01:111:e400:49::52) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.845.12 via Frontend Transport; Mon, 16 Jan 2017 15:45:34 +0000 Authentication-Results: spf=none (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; lists.freedesktop.org; dkim=none (message not signed) header.d=none;lists.freedesktop.org; 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.17) by CO1NAM03FT039.mail.protection.outlook.com (10.152.81.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.803.8 via Frontend Transport; Mon, 16 Jan 2017 15:45:33 +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.319.2; Mon, 16 Jan 2017 09:45:32 -0600 Received: from SCYBEXDAG01.amd.com (10.34.11.11) by satlexdag04.amd.com (10.181.40.9) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 16 Jan 2017 10:45:31 -0500 Received: from agrodzovsky-All-Series.amd.com (172.29.227.109) by SCYBEXDAG01.amd.com (10.34.11.11) with Microsoft SMTP Server id 14.3.319.2; Mon, 16 Jan 2017 23:45:27 +0800 From: Andrey Grodzovsky To: Subject: [PATCH 3/4] drm/amd/display: Switch to using atomic_helper for flip. Date: Mon, 16 Jan 2017 10:44:57 -0500 Message-ID: <1484581498-32309-4-git-send-email-Andrey.Grodzovsky@amd.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1484581498-32309-1-git-send-email-Andrey.Grodzovsky@amd.com> References: <1484581498-32309-1-git-send-email-Andrey.Grodzovsky@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)(6009001)(7916002)(39840400002)(39850400002)(39450400003)(39860400002)(39410400002)(2980300002)(428002)(189002)(199003)(8676002)(81166006)(81156014)(2906002)(4326007)(77096006)(575784001)(92566002)(86362001)(54906002)(38730400001)(97736004)(5003940100001)(50226002)(305945005)(68736007)(8936002)(189998001)(27001)(356003)(106466001)(76176999)(2351001)(626004)(50986999)(47776003)(5660300001)(110136003)(53416004)(36756003)(6916009)(6666003)(2950100002)(50466002)(101416001)(105586002)(48376002); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR12MB1233; H:SATLEXCHOV02.amd.com; FPR:; SPF:None; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CO1NAM03FT039; 1:ymX9/ykpTlz6ZmcZM9tflQ6tYgqXKjMcjkRVjkDzp45KfTNJBGk/kvVMhV5WjiDd9/KgHGrJTO+7UEfoL1sRzgZpx3EDJyIQePcPParaIaA5i7iWRfcYCBND5J2DUweHzJcwgTCC4es0w81RIf3/yJiKh9EROwZq36TrNXGWR4qsVbeOg52//A0XcnJEF9p/s3oNuGgZK5UsQKP62ybgCIVTPF+MsiSJit/Ohc1/FxCuG3h9IHcsBJNrOWcz1zbMyi5QjRc4OygGQoJcrHFWPEBh2pGkr0mvfktZy6bfYaC2bn06Rm5PoVFVeEIBBA0gAavOcWHbfdODDMb2Sqy7o2IpJPl+wAHdPGW1TP/I3WAX0WcFQhvUASLLy68LiLmBTWKehJyM39pTurYFAYmPoLoKw1/Y4yq1aF6PPYSODhRSqfTBBvkZ29iAF/5wPlnaGWJc3PDWzqQg9HUIz/IkFPMusf2MD7UDwHMDZG1V5gWfps9O8345wL/N4NZPOqqs X-MS-Office365-Filtering-Correlation-Id: ad409ffd-9b73-459f-ea7e-08d43e26b52e X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BN6PR12MB1233; X-Microsoft-Exchange-Diagnostics: 1; BN6PR12MB1233; 3:S2jbisrj36AryFz/rzfKb+B10G+EjuD8xvAbZkqvK/1Pm7AKZ4SjlBMnQG8PPxd3J8SII4wTPJFW+6ZHUEpUaTh+abZG6qk9NiGeYBDwmVRhkavkm2Du/W2SkC2jPnHl42fLopoos5IzOm1WdfT3HgUyUPxUFfW7o0hOBN705bdGMt9zZpVFFN5SaXr17iuBWaNiOJoQ6KJw6SmNjWDrUW4u99oAjRx5Xkb3It94LWqtEtqoXUYQlaEzV3vZShEhSCfip6f9nP/pIft9GyL9xmJdwNUoLNPfZfpubLljI0fasfQU8qT4qLtwuveFrVtTxnWpSNeCuM+mLHU+xOuJ2I1AYdZ350+8whSThWs7cm38Qa6dVjMnWTmXiOI/iRc1; 25:3GO0F/n08C2utvIFhA1a3zOEaZ5QxoSXPH7fLzB0idN3UCzliBQygos+LJ7M2ee2M225Kx/dA1iyqDgIZEAibqcdY3Qi4DD5UN+P77ElfwW3Rr92oZrG4f5WC3kQSo7PdThZ/tVGENbxTw1wQ5FdEDNovEeuRESZqjGUQPMvMPrendc5G8kKMmgfpI4sLAhv5MaBB2nDwzsnnYjUh+dR0MzQd6GZIDcVhE31QoX0WGE33MaRasU+M9pGoYSPnSO4sR8/c4cOd8IfRuLTNmXBnnCDkrGAXxDoH6gd9AI5epNI5HFQQFUkLw/O3HkpXDEyUUZOHPzq5DE6UwDJRZfZqm3HKb2D5v1SRdFFxswZOpKIAHAudCrXvN/Py/VsKDA4mlMXGr9nhzgEcN9kbqBNrMlxb3IpCP2p/fI4w/n8RH4RBgmkWVBon/4YfvztE4G+bKvikVUGo+hgx4x1+CNhtQ== X-Microsoft-Exchange-Diagnostics: 1; BN6PR12MB1233; 31:mxRylKDepfLceDA+54Vn145C5OnjEQL22yGJzymNTIJZP4kBcPtKRGfzVGactuuz9xgBg2tTknYGDVzVo34YfMkrCcK5fCMd1NZX27ThMyxnCvhaJlwJxDP3vM3cXE5YZ0voM8Z0mP1TOpBHN/NgMglXhSJnlCtbUd0CaR2GIkDICdHpebXKYXXv1/rtG5sSxJhHfFbMbGlvT2GaaNb5cWiwU7y9jvxNJ5zW4cbTjSafocxtPGJ7Al9TOWGxCGUlaXJJIqnynsY3A9iDRsJyvb7es/eIPLFGUzJHMPyYGJ8=; 20:qWB7Bwvvk8k5SbDDfZfbS2u+mUk1Kd+F4nFGpagzEVj4HtV9twTCGjAE9sXpB6dupxYi9xPmZ2P0tKHuc1hFlshDGCRu8paV46dj1ibPv8WLWHm+zXhokvMi0wzg9FfefZ0bf0iwGMpmFflkvUt1PJmLBvofuwoKN4eb0XfDTEoFkBKzbQaXImn17/CWL9L/7ptarzt5Cq8RuBV27uQGyFGqdq0p7WJrVH6BwMOoznkgRZlg+c3Tx+fyQJ61TficbGKIBpdR6NA0Cy+uYB5TwvR9dU1Cpzhkm5f5/uq8VA4kNSRRQjZSMBffABkiD3GCHJnvq26LO5+cjgY6cbFmiSiVY5qBU15ejAdKT9OLIrpRMvwoIb2CemvRQG60chavmKM+YGga3+iZYbnGWfhTgkuP4kGn4ZyDcrGX49442SoiT3xkDZSvOT8mR89uItl/ivjAb9sHE9UMEjuCYrN5hc4eQC2OWghV/O/LLiX5co+5NC5jUa1PQ3bPI0KsTxAa X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(13018025)(13016025)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6041248)(20161123560025)(20161123558021)(20161123555025)(20161123562025)(20161123564025)(6072148); SRVR:BN6PR12MB1233; BCL:0; PCL:0; RULEID:; SRVR:BN6PR12MB1233; X-Microsoft-Exchange-Diagnostics: 1; BN6PR12MB1233; 4:yr3PSls5x83RkkPahzF1rcYso4U9LL9M4XAcEo1ZCn9HonbUGCN5Za6BASIUJ1HAhWtGNO6c2FilltCKsxN8kElNoLYdHVcMpsbkXt2u+JCOF8iGOncz5EOgBGMTfyfVYUYamCzvw92+M3yxyecLY60Md56U4rf6TaSG/3nFKPi8AdfBwbh8aj5lHsIGDCT8MizwflnL8k7AQUM7kV7dSqzhMNdob644UEaZx6u/u7ayEtkP3Mn5fp6Y3JVCt8QE5oNRH7QSFUwVHKEgL+PN2k9PX8bLZXE/VuTNKOmrfONKUXhlBlphDBFTEv0L1DRQy6Iuw0iURAJHJk3DYonYS5M0kOD22GMb/Zy21BH0OVMYPs0s9VXbceYh9gy1LoQGOBAgh2ErU5y24lTTJv83s2JOf8CCzo6GN9Vsf6gsL1jzXqf9/SDt3cQIlsiPtAIUe0H4vZKBr6k8hUG2N3kpN4wGlNZ6bVqVnFmMtOz5WtVUiRyj0ck66dFetj4VIPaBLqgZt1hJaRRxkvzyDlFDPqoKjAZVlOl5x/mjeEn1fQIwMSRodfukq2J14nKgxMDfD6s7Fr2xOoxfKroW4DowHQRks8Kgh3kat7ot1QlS+ev/oDGQyfVAgcQyleHzjllpcP2yIQ6Qz5wJnPOQtzTQlAWaNQxh+9aNuaByRsN6dgO5rrH+3U11zfQPQbi1jK+TVGVoT2shvkq/EZbWJHriqA== X-Forefront-PRVS: 01894AD3B8 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR12MB1233; 23:vyo59vXuJB/cFJ2waSYiMHDnkEeLpwWoe2Pogu2+s?= =?us-ascii?Q?OGxrSepBAwThtj9rf9je0fpVuY7xEp0R8croNwq0S3Atz6Ccf9KjZKRoq84E?= =?us-ascii?Q?VMtiwxea7KiIwCS/un8aSiR8kEst3d2s6yRa1p4acDDUJu2ulti9OjBIHyNp?= =?us-ascii?Q?fIU72BW9vpoBBCiiIEDf4uvZb/Ni9MKtDBV4Jrgle9LINZ0clqGQiO39y0u2?= =?us-ascii?Q?9BJsfXYF20asveoWBOe81c/pMPKnUeIVvIznXs4RHp5MUSDlpyvSJ1r1c9IB?= =?us-ascii?Q?EfuwzfqzV8N9rhiQr55eok8gzO6Cez6+1UsqX5Qzsr7UPQrtTB7nYXl4Dvmp?= =?us-ascii?Q?c2N0/VH3FRwys6aITUgAOX5k9YMzhp2/Mm3yBjWO6/FsPQupo8BwWkS5d1iU?= =?us-ascii?Q?mVGGbb46BDZWNvzZkZKIHbkbeojhgByjE8j7aLNre1SvUbTLyWYHDjGbfloJ?= =?us-ascii?Q?isdFCkI1J2yfyeWKfr6AAzLz5iIr4qnx1XA7BsZIe08j0KwA+6JGmTguGJUH?= =?us-ascii?Q?jj9x85/ohgRJ5iIxLfO0nGhzLKTTwscbR7w+1IPpS3pAGYl2IX+PYd69jdMa?= =?us-ascii?Q?Wbt+Gk5HI75nj04DFHnqkRRSWMoc6hdqFhKCrvhYpnpJmzlmaTYLMGN95Ryb?= =?us-ascii?Q?UBB43C2nLlz67pqifVA9vuBgwpiU0Kpf04VRV0vZwlI8+xYEtdt7XMsluSbX?= =?us-ascii?Q?nflF3/MtFsJv3oanZvSIxPng6ruuvrFY+XrUrSRQhhxOr8Mblzv62oHq6GOB?= =?us-ascii?Q?I0KxMJvL7rFbzaElErzG0Sc8dlSQeTm9ZMa0AprTMF6tJUGQKAFeIhvyyCrK?= =?us-ascii?Q?Fhd3ut6QbVQJA3NsVALaQ4ZgMXmzeAtuWqqAN3LUnHYT9srSgXIVLXGWIUBT?= =?us-ascii?Q?6pSmOA07PuADU/ybrjGDIg4Pu6+BQ24uuyzJvacFTbV+Z4z2SjQsXEUDjE67?= =?us-ascii?Q?wyrdB6btyVaL6FfsVnrhSjp4Dp8wuE6uuzZmyIaNju78x/e2qeS3QiXCdnAx?= =?us-ascii?Q?K++6Y3MIYBmuA2v3VL/oBalLfQYjNxKAL3Hv7jjOHOeTdBtAK/ZWofo5MyyI?= =?us-ascii?Q?v8MRHoKpK5bbf6FV1F/diAzVRCtmXt1RBh9jNpF16bfGNN8pHqDQ1f+YvAPs?= =?us-ascii?Q?8ad4uo6/4Rh5QCXhcNyIHENQs7sYWp2g9zKGFeY/34l/a98dPuxJA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN6PR12MB1233; 6:1lqLHzBB1eK/9X1xk4qNIcLJbNq0JqVq1UrNuwRjnOCK8tEAyPFwe4ktONRIyXobhhK6SanOiRdn/yOez1iJrv4CFU11kyVgTlLTyz1d5/v0TE4ZFS1hP0XKw0bw/7kyq0oq37mz4OtMDyr2IkmAcsXoxtNctTLDBbuu2QU9lzQG4xviGG5CM1abiIoETt/rbGS5NkDEniNl+gPgCmDC19NDns2+HOLTk56Zk5DYkb3DOV6uY3Gv0ZR8NEcob/NhwG9ttzXPfZr2KfEXEcFuwSwLYHX9/kcVvzcpT3WJ2SBLeL5g6j/nelk7nZyX0NI4zqe8Ox5mj2P4HAzHlGTuorIBRrL4TfP/GDweaKMz7wu1ZMqi5LNYJQ1BOrPLfs+2ot9Rq3bkYJiPETN3jsAHfaCPWkDH3Amnr0HXquhqh3VihcEA9ZheFEU+Z9AFSsP2qEYCejlsGrVjC+pe4GJIgw==; 5:69XbXneKX4O+QfEjfE4Y1g8FrJP7e+J9IhUfM7g7uKwTaLWpia4qXRwqx42Se9z40nXVgRFvkiM1HxLHANE9UyiQTO8TAsE8icQY3lpEc6kwghc441Hcgax/Q9GtRgL80WjGi17hAt0qAfXBZWT0ug==; 24:ng0BEyWo1ullFKXA0uqyubDqlVnWQZ3SPH/0/NTJkvuv6QSRhawKUafG5NMx4ETgnzArtA3CLkeMuPCUpCEpUcO/Ce4Pe5XjDzllc247dF0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR12MB1233; 7:uR7vCiqp/5kZzzR/pCwzyQ/QnkKXIHv/e/4zyDihc4Zc6xzBi1NoTPLu33vTenBXSiASbVvbHUWwAYLsx9D1ALZyDzEdZquZT8CcgJ/5ZSwugHi6Z08zZV2dUkPpNs72xO5jJ2UT5KA2TKscAHjR6+rOVbhBIDip5yHneaVZxgjnD5Rw7VTkAP4GvcNTi4sV1OGeG/F6/0QAOg/bbOvxzjv7cTY4DqTjWVL+owLZrlIme0Z2hDxaBU/mEboEvJHm+Pf5qnFkvkbbrGdMdlA7y9WP/f1ual4vBWfOi3IUTjyGGZzj3RkR4wtMrmUx5Duin75hgTN9d0ch2EJgwDGoS0uGc2mRlf+WLL6TCPDxbzNMFxqhxt8Fmv7n2oHuCbLXr0MFqo9NHHSDW+W+4tg5REHVNfR9eP861Squ0j2MYaKxh409wQl0TCBtcMZhRdvQJzCZGqcXCMgHQk7Wmbw7dw==; 20:t40BaZToD1p8q0QOd7loYxvvJkE4v2s32q6+eYvBNVwBd6ul/rSnP3q3I/jmW8gDFwqOSHNfsflxUV2tAmFOYlmso9dIL+Kef1JkncAPGmhJDYL1dO+u8oOoqVCZVoUWmBZOoCCmvLgr7dfy5YPtuUkHFCI82MzWmAC9gHeVAPxf6dv5jBhinw05RjlGttVkJIdQTlAdlNYGLR8irLLN72M58ACRjzHiFx9/fWZhokrD29W8wLTLXOSYwiKab93E X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2017 15:45:33.1137 (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.17]; Helo=[SATLEXCHOV02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1233 Cc: nouveau@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, Alexander.Deucher@amd.com, daniel.vetter@intel.com X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP Change-Id: Iad3e0b9b3546e4e4dc79be9233daf4fe4dba83e0 Signed-off-by: Andrey Grodzovsky --- .../drm/amd/display/amdgpu_dm/amdgpu_dm_types.c | 92 ++-------------------- 1 file changed, 6 insertions(+), 86 deletions(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c index a443b70..d4664bf 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c @@ -1060,83 +1060,6 @@ static int dm_crtc_funcs_atomic_set_property( return 0; } - -static int amdgpu_atomic_helper_page_flip(struct drm_crtc *crtc, - struct drm_framebuffer *fb, - struct drm_pending_vblank_event *event, - uint32_t flags) -{ - struct drm_plane *plane = crtc->primary; - struct amdgpu_crtc *acrtc = to_amdgpu_crtc(crtc); - struct drm_atomic_state *state; - struct drm_plane_state *plane_state; - struct drm_crtc_state *crtc_state; - int ret = 0; - - state = drm_atomic_state_alloc(plane->dev); - if (!state) - return -ENOMEM; - - ret = drm_crtc_vblank_get(crtc); - if (ret) - return ret; - - state->acquire_ctx = drm_modeset_legacy_acquire_ctx(crtc); -retry: - crtc_state = drm_atomic_get_crtc_state(state, crtc); - if (IS_ERR(crtc_state)) { - ret = PTR_ERR(crtc_state); - goto fail; - } - crtc_state->event = event; - - plane_state = drm_atomic_get_plane_state(state, plane); - if (IS_ERR(plane_state)) { - ret = PTR_ERR(plane_state); - goto fail; - } - - ret = drm_atomic_set_crtc_for_plane(plane_state, crtc); - if (ret != 0) - goto fail; - drm_atomic_set_fb_for_plane(plane_state, fb); - - /* Make sure we don't accidentally do a full modeset. */ - state->allow_modeset = false; - if (!crtc_state->active) { - DRM_DEBUG_ATOMIC("[CRTC:%d] disabled, rejecting legacy flip\n", - crtc->base.id); - ret = -EINVAL; - goto fail; - } - acrtc->flip_flags = flags; - - ret = drm_atomic_nonblocking_commit(state); - -fail: - if (ret == -EDEADLK) - goto backoff; - - if (ret) - drm_crtc_vblank_put(crtc); - - drm_atomic_state_put(state); - - return ret; -backoff: - drm_atomic_state_clear(state); - drm_atomic_legacy_backoff(state); - - /* - * Someone might have exchanged the framebuffer while we dropped locks - * in the backoff code. We need to fix up the fb refcount tracking the - * core does for us. - */ - plane->old_fb = plane->fb; - - goto retry; -} - /* Implemented only the options currently availible for the driver */ static const struct drm_crtc_funcs amdgpu_dm_crtc_funcs = { .reset = drm_atomic_helper_crtc_reset, @@ -1145,7 +1068,7 @@ static int amdgpu_atomic_helper_page_flip(struct drm_crtc *crtc, .destroy = amdgpu_dm_crtc_destroy, .gamma_set = amdgpu_dm_atomic_crtc_gamma_set, .set_config = drm_atomic_helper_set_config, - .page_flip = amdgpu_atomic_helper_page_flip, + .page_flip_target = drm_atomic_helper_page_flip_target, .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state, .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, .atomic_set_property = dm_crtc_funcs_atomic_set_property @@ -1679,7 +1602,7 @@ static bool page_flip_needed( sizeof(old_state_tmp)) == 0 ? true:false; if (new_state->crtc && page_flip_required == false) { acrtc_new = to_amdgpu_crtc(new_state->crtc); - if (acrtc_new->flip_flags & DRM_MODE_PAGE_FLIP_ASYNC) + if (new_state->pflip_flags & DRM_MODE_PAGE_FLIP_ASYNC) page_flip_required = true; } return page_flip_required; @@ -2760,7 +2683,6 @@ int amdgpu_dm_atomic_commit( for_each_plane_in_state(state, plane, old_plane_state, i) { struct drm_plane_state *plane_state = plane->state; struct drm_crtc *crtc = plane_state->crtc; - struct amdgpu_crtc *acrtc = to_amdgpu_crtc(crtc); struct drm_framebuffer *fb = plane_state->fb; if (!fb || !crtc || !crtc->state->planes_changed || @@ -2771,10 +2693,9 @@ int amdgpu_dm_atomic_commit( ret = amdgpu_crtc_page_flip_target(crtc, fb, crtc->state->event, - acrtc->flip_flags, - drm_crtc_vblank_count(crtc)); - /*clean up the flags for next usage*/ - acrtc->flip_flags = 0; + plane_state->pflip_flags, + crtc->state->target_vblank); + if (ret) break; } @@ -3143,8 +3064,7 @@ int amdgpu_dm_atomic_check(struct drm_device *dev, * 1. This commit is not a page flip. * 2. This commit is a page flip, and targets are created. */ - if (!page_flip_needed(plane_state, old_plane_state, - true) || + if (!page_flip_needed(plane_state, old_plane_state, true) || action == DM_COMMIT_ACTION_DPMS_ON || action == DM_COMMIT_ACTION_SET) { struct dc_surface *surface;