From patchwork Fri Dec 7 15:56:41 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chunming Zhou X-Patchwork-Id: 10718457 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 1BA5114E2 for ; Fri, 7 Dec 2018 15:57:22 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0B40E2DADC for ; Fri, 7 Dec 2018 15:57:22 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id F37A02E5F6; Fri, 7 Dec 2018 15:57:21 +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=BAD_ENC_HEADER,BAYES_00, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=unavailable 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 863B42DADC for ; Fri, 7 Dec 2018 15:57:21 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0C67B6E801; Fri, 7 Dec 2018 15:57:20 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from NAM05-DM3-obe.outbound.protection.outlook.com (mail-eopbgr730076.outbound.protection.outlook.com [40.107.73.76]) by gabe.freedesktop.org (Postfix) with ESMTPS id 508AE6E7F7; Fri, 7 Dec 2018 15:57:17 +0000 (UTC) Received: from BN6PR1201CA0023.namprd12.prod.outlook.com (2603:10b6:405:4c::33) by DM6PR12MB2636.namprd12.prod.outlook.com (2603:10b6:5:4a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1404.22; Fri, 7 Dec 2018 15:57:15 +0000 Received: from DM3NAM03FT062.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e49::208) by BN6PR1201CA0023.outlook.office365.com (2603:10b6:405:4c::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1404.17 via Frontend Transport; Fri, 7 Dec 2018 15:57:15 +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 DM3NAM03FT062.mail.protection.outlook.com (10.152.83.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1404.17 via Frontend Transport; Fri, 7 Dec 2018 15:57:14 +0000 Received: from zhoucm1.amd.com (10.34.1.3) by SATLEXCHOV02.amd.com (10.181.40.72) with Microsoft SMTP Server id 14.3.389.1; Fri, 7 Dec 2018 09:57:14 -0600 From: Chunming Zhou To: , , , Date: Fri, 7 Dec 2018 23:56:41 +0800 Message-ID: <20181207155642.16063-6-david1.zhou@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181207155642.16063-1-david1.zhou@amd.com> References: <20181207155642.16063-1-david1.zhou@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)(376002)(396003)(346002)(136003)(39860400002)(2980300002)(428003)(189003)(199004)(8936002)(47776003)(8676002)(36756003)(81156014)(81166006)(50226002)(6666004)(356004)(97736004)(426003)(4326008)(76176011)(50466002)(7696005)(51416003)(86362001)(450100002)(336012)(2906002)(186003)(2616005)(476003)(11346002)(126002)(486006)(446003)(77096007)(305945005)(48376002)(2201001)(26005)(53936002)(105586002)(478600001)(104016004)(53416004)(16586007)(106466001)(316002)(110136005)(1076002)(72206003)(68736007)(5660300001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR12MB2636; H:SATLEXCHOV02.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoDomainNonexistent; MX:1; A:1; X-Microsoft-Exchange-Diagnostics: 1; DM3NAM03FT062; 1:VgS/e0gPDOJ4k3ZJ+q4jCsJXR8jsFJkqw0LTUm9lL+1PR39j1ljCXHZS0Hgnvcn5cSPoxt38l1OElmlAU4viLJuWqiFTm+0gt5xuo/qdwdhneK0ZlvM+r5slwyNOpK+L X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a6280d06-ae51-4b48-f133-08d65c5ca855 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390098)(7020095)(4652040)(8989299)(5600074)(711020)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060); SRVR:DM6PR12MB2636; X-Microsoft-Exchange-Diagnostics: 1; DM6PR12MB2636; 3:4ylNsrEiFbIP0Naa/YFURxJelGXrr7IX2HQqAvTDzB65Q2tfwJH39qUSea7qXrId/HMaW85KpEfC5feRDsN6DhihH3JgNmMOAN0u57vyi8Arf6T66k/7dlQQHc8TWFScKWRpVoZCSNN4vkfTLLNkH09OjPMfO0GzUdp01GAQD9eNsV9iCibIV2aqzI+R1bMAYnlTrQl3dFpE0KmGOzRntWwB4miFv61ERjPhmUeNqrwFTVDL6nzaUk3kfwnYvldsIYi2uJJkBE8orXTYITcMKfdvm/tdc8aewATHtwGzym2ZbGh/7thQM63GHqWaMkrQSnCZb0v3/99EFFUg/68SDPkpuuksK0mMreTfbYjkqh4=; 25:ySyKb4Shx4rjdbIjiILCcFr0dDVFfiAHGL2I2Qit4F3Gs4P/0ao/nXMWQxhArSUDSkXuq7f3rgi4qktAP41H/VUbsxhu0DFJricxW0aCRgn6g4o4eunkHxNV/seyFowGXL0OAW8jX6Wz/oyH72h1QiY9pxfGSC6gYDG9ngTTQ/suY642k6rc2lHcNLw7ooiMfPVY1BdIJMPtlKWJixfKObLhia5SufJydpejCYt/SMKZWsV4EJT12JYwrsVF78lAAY+7Qwb8NRU2dSks3okoIMtbapM91TWTUq46xL44TRovTKYQeJieOSR7IDqKfWjtFQkK6/KkhKYWkjtUMIiA4A== X-MS-TrafficTypeDiagnostic: DM6PR12MB2636: X-Microsoft-Exchange-Diagnostics: 1; DM6PR12MB2636; 31:1z4LhnWrq9miAilwAViSrL1EjxnayaaAscu/tGZPdhmAGJHWxOKlMT+s1qEGkFqLLZmWnDSq4UvVNaOJWtmHLPjxeWgXoGwx0W0n2lB2rRXDwo8mgAIQG7F2xbnNIGRDWDZFLBC66cfXMeXd7bNyInSaHi843zxh83cXmLuYp8lWOAhSiDxwGnQNZwjY0mlMyoZT7Svejocp7uDllpFN5GRgeZ0YL47zvNGWs2TZo38=; 20:gEW0yVk8v9FYuogGIzDx0kjOAB40FynDkntOrPBpD60rabq4+0Mty8nkD7Tn7Vz10TPMy7WN/Es3afXg4X6FcSWvxTo6tD57pvtGshLHVp7ZulTTh442s2npfSI8n8B7yhiTTuq1E/aIMJVfmLjl3yThmEp+fBBn76l0MsTo+x2gqazWZZNjZNnbRngX6Vdsp/enFlr6jDm0zu3wy7S8sUdK0fgbIv+Z4oKakI8DkVQgU2M00vgUKn+y0yfAvUoysfgAu6JGw8VFxe+eWZe7PA8g7cynakenHgpMsvxcr8+7CcOOnqzMxRbSKEoPk79HEvg9ts4Zvjx+Hj6YcUKE8ijOg7PM2cj2v+TOKC112Nx0TT+BjIEOouABQUwT+m0B5/PjGUlJSJu8sYTl93c6CAciHsfvrueE9FoIGXD0dJd6QfHADA4F8penL8vZuw9XNXLwP7QG49f4uCon/zjpQfsrrw2DMgpMjNdpAnTzMpd9OeOO41eQvN9YrOin2+g8 X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(3002001)(93006095)(93003095)(3231455)(999002)(944501520)(52105112)(6055026)(148016)(149066)(150057)(6041310)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(20161123564045)(201708071742011)(7699051)(76991095); SRVR:DM6PR12MB2636; BCL:0; PCL:0; RULEID:; SRVR:DM6PR12MB2636; X-Microsoft-Exchange-Diagnostics: 1; DM6PR12MB2636; 4:EzJvea+OQm6MVP/ZFWmwJQgLmhFBUjF5m6MXUEfmM8C+cbByypmUGV177D56Q0QJNi1lnLYPNi2H+OYyvrJPDnFML1blkCs8wY1uFtTonKs1dgyj4JEVU4La5bSNosQieMkm2n4YsvHq8hTvowHjqmQ1Kz+fAgLKxDHYjcZQE1I5e5tfyvhSfjbwTJWfK7we1QjSi7v58PPXz2yqlYvUoVa+By0peMKPtSzn/WPCTs39pmWH9hfh9a092fcBC056M0/stNxddVzRa+nhT69gbw== X-Forefront-PRVS: 0879599414 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM6PR12MB2636; 23:29PtQE/0BmJRu0egaw8B4psgSFOHvRzD3Jgd4ejlH?= VjsnQEaYcOi4oyWezk9OdC2BmBeO0cXkESI1DZuj+vLcoJ28uyQQUG56Jjr7Soee15ghyuEhAMxF4JVwBaO9bxAxvP/KfuaEoMR08/46wagrazpHUQYv8doefw/IOlvz862NmNidYXaQLmtw16OiPZ/mAroivjPin9gbDkffep97EuXA1Z+l0CeZU//nAcK8OksF7puLwP4kjF/fx3TD0WdbUK+rl4WuVMAEcRpElIqdhi2yES3MnUIhkoGYZ6l68SwbIwNgwrz5uXa0Y0iPtrpRW4EGzZbvKmtHYL0fhkxehhGPVYuZfONgmOUlOvpRQka8UurfeY2TRKGvHHzbnL+gjW7akmuN/fSPxcPjD/+GS00RajnkU0mWqVQt25QOsd5CeHavK6gRk/be3cbqIrJsFRS9PnP4MUZkjuUHZ+HYMsO8759Mz3xbZTWKo7b4/9tW2l77pUANUc/nnS+/sL8nwa5q8mmfBXtFMkag6SM8fkhH6Y/ZeB18t2MX5v1bRlB9T7LweBItsT81fZQBZ6YtIv39pF+eAd+QXhXKZrxKHTQv2x7hndNPIjiRB3mRfmkNeoWGKIeQeSruZ9e4mCf/efb6gsIFeGPP2NmIDp0bqNl2o7lBGWQE8420/fj3pN2YI2NG5a+jr4eIpYI3wwoCuvh8FB/QepClrCM1iqfqCZhB1BPnBbmgUYLky23rNpPRdrk1Pji/CJ6kD5RJJkDYwA4gUJeKKJCEQJPJuBrAp1S24utNcJUzviBU/NXC8txUaz/5GzYgoEpM9qUhNDGbXFpeB9CkXbEv2CDppJp6Gpqc5mdBnRZ5sSX1QtDeVQ/6jXcnkKIJRc4e3iiwxn1wNISzk8kVbLluHmiVpIy//fNjrbp2P18n33nE6lTPCWWUXRdsbnStPQRZTRvZMakUXBEtUvITz1Ey7cKFeSgGLy24PNTklGKrzkmCoQbeMkWOIW6zM2W2OZHYKYh8gKc1QEsc4MbyylrnK+5pQIDQSl8d7khYdgyVdltzXsIxXJE0xnZ9ImiMXAV3fzmtjfCUGWL+2qlKDGAFVBtYDBudrJae/NvpS0NksGXCti6EPNNnX0g35/E/sUnzJpfCoCYudzdnn6YACdgpU5rk02HJw5HaMUcNk+dQiG0zafianns/7sn3aSX+ZiVICV1hsCQ X-Microsoft-Antispam-Message-Info: 0O88AaXqWx2LQZT0zUBRZDPGr3VLIQY/pQntSgoWC3qOB8ehQl3rbzZOXbdm1PGYMiLNYPOI8jt9wuxmNP/8fDPSZNNGIColjQQFnAxX8CyLz5vRNhKjOakU31nl5nK9TjrruPfp2hxdVLr2Pn0IqZ5uuAJ1m415YJh2rwKaAmrTO34viGFAmldDuiVLykP+og5XwP4QsBJFVsJYYJASdLPEtmoWuoE2xcWyFI8SQ4DfCwCK4qq6T/HyxrogLv6p1R6HEdoxLU0H0MYrEHO3690yRVOvpatqlm8zRFcRkd513yU+ioNdJvcqHc3iSUwALyjKrncj+k49c4+DECRsw1Vg97vitvh5U3yFTzQYWQk= X-Microsoft-Exchange-Diagnostics: 1; DM6PR12MB2636; 6:Jq+nlKNaMAoixJ0r6dA70EAAxMk1JuSs7jimkNoDY6G3K2YU66k0CVJz/zhXzu0NreP8wojQCL9WmtyeeUl07MmhM62GUOJbQWhcb2KN3LztZOAkr8aTLwCAPGok6y1yzR55LvAfNawXhAsT2W6HcW8wTplTuy9sT7K2bIs98iK9ySXHbQ6oTI6lp4djCpLKPKcrA4zv/4IA7eGZ5i+lMXDEGa+Bk7C+H71ga/MS5cHgRoPH5LEl08hr72W+mh2CjOMTckPPiE1ZiA87hORsK4qup/p6Ic1niUn9KBGzFRpLK0xUz5BUkk3aAcv94A7bPYq/z9aIt25GaemrVLonRsj08iv+tx1rciHEsjMgdjkAmIXxy6nyCjv0TT4QLyRcF3Zimj/dzcMtLhusF+TkYS5dyWdVbhuTWSM1DTpJmzOcNOLe/mg4MOyVDGYY3v410F6I/o89Qn2i8brTWf2lmQ==; 5:vyRwRnIyTGPD/QMpuV1R6Eauu6v8gcn6w9IMY4eliOk0aacCJDdArOFdOix/Z2Ptg3zvsWg/QjCtW7W4933HmepJRTrXxDwX1ZKuiaYPuPAUsjYmzl1/COljzZoxVEkqzIGX4pq6jnjR1lWH56PKPOLN0wtc55Ry0RHpYed/vGA=; 7:NsEKS1IX2X1zIeg2+js2HKvZAKMDP5rGWrATl1DmRkmvhhgLc8v6qxu4FsW0Mtjxzz19i4WX/sXTcnLjoaegxgdNgYnAP58/lAW2sEZIZvMZKNOgFXCtnSQGaQF60DQOprkmwZGufV9Ffq1pqBVrCQ== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM6PR12MB2636; 20:uAEg6p4rPi7P8Nfl+0Ehl383zeZ3gllbFU2n+phTcv2Jz8sVdYSy3Bn6DRwP8QGnLfBsasnWvzPN4dnDNiqt/d/AmBGXNJietvAxcq/P76McnkoSwghlRrrV4AsPyBFyGCtFLzXcyQncUYwpNAO1ew3vQwbQddUalvVu6iPJEUExB07YzVhn7ErSUnxda3KyelnHFn30IHL0WFtQV5F3t7XvNQa5ixnw5xjRmiaB40UcJUwNKzJcBx3p5lX/Ww7h X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2018 15:57:14.8736 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a6280d06-ae51-4b48-f133-08d65c5ca855 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: DM6PR12MB2636 Subject: [Intel-gfx] [PATCH libdrm 6/7] expose timeline signal/export/import interfaces v2 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Chunming Zhou Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" X-Virus-Scanned: ClamAV using ClamSMTP v2: adapt to new one transfer ioctl Signed-off-by: Chunming Zhou --- amdgpu/amdgpu-symbol-check | 3 ++ amdgpu/amdgpu.h | 51 +++++++++++++++++++++++++++++++ amdgpu/amdgpu_cs.c | 62 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 116 insertions(+) diff --git a/amdgpu/amdgpu-symbol-check b/amdgpu/amdgpu-symbol-check index 4553736f..255d25e5 100755 --- a/amdgpu/amdgpu-symbol-check +++ b/amdgpu/amdgpu-symbol-check @@ -48,10 +48,13 @@ amdgpu_cs_signal_semaphore amdgpu_cs_submit amdgpu_cs_submit_raw amdgpu_cs_syncobj_export_sync_file +amdgpu_cs_syncobj_export_sync_file2 amdgpu_cs_syncobj_import_sync_file +amdgpu_cs_syncobj_import_sync_file2 amdgpu_cs_syncobj_query amdgpu_cs_syncobj_reset amdgpu_cs_syncobj_signal +amdgpu_cs_syncobj_timeline_signal amdgpu_cs_syncobj_timeline_wait amdgpu_cs_syncobj_wait amdgpu_cs_wait_fences diff --git a/amdgpu/amdgpu.h b/amdgpu/amdgpu.h index 330658a0..5536d2d5 100644 --- a/amdgpu/amdgpu.h +++ b/amdgpu/amdgpu.h @@ -1469,6 +1469,23 @@ int amdgpu_cs_syncobj_reset(amdgpu_device_handle dev, int amdgpu_cs_syncobj_signal(amdgpu_device_handle dev, const uint32_t *syncobjs, uint32_t syncobj_count); +/** + * Signal kernel timeline sync objects. + * + * \param dev - \c [in] device handle + * \param syncobjs - \c [in] array of sync object handles + * \param points - \c [in] array of timeline points + * \param syncobj_count - \c [in] number of handles in syncobjs + * + * \return 0 on success\n + * <0 - Negative POSIX Error code + * +*/ +int amdgpu_cs_syncobj_timeline_signal(amdgpu_device_handle dev, + const uint32_t *syncobjs, + uint64_t *points, + uint32_t syncobj_count); + /** * Wait for one or all sync objects to signal. * @@ -1586,7 +1603,41 @@ int amdgpu_cs_syncobj_export_sync_file(amdgpu_device_handle dev, int amdgpu_cs_syncobj_import_sync_file(amdgpu_device_handle dev, uint32_t syncobj, int sync_file_fd); +/** + * Export kernel timeline sync object to a sync_file. + * + * \param dev - \c [in] device handle + * \param syncobj - \c [in] sync object handle + * \param point - \c [in] timeline point + * \param flags - \c [in] flags + * \param sync_file_fd - \c [out] sync_file file descriptor. + * + * \return 0 on success\n + * <0 - Negative POSIX Error code + * + */ +int amdgpu_cs_syncobj_export_sync_file2(amdgpu_device_handle dev, + uint32_t syncobj, + uint64_t point, + uint32_t flags, + int *sync_file_fd); +/** + * Import kernel timeline sync object from a sync_file. + * + * \param dev - \c [in] device handle + * \param syncobj - \c [in] sync object handle + * \param point - \c [in] timeline point + * \param sync_file_fd - \c [in] sync_file file descriptor. + * + * \return 0 on success\n + * <0 - Negative POSIX Error code + * + */ +int amdgpu_cs_syncobj_import_sync_file2(amdgpu_device_handle dev, + uint32_t syncobj, + uint64_t point, + int sync_file_fd); /** * Export an amdgpu fence as a handle (syncobj or fd). * diff --git a/amdgpu/amdgpu_cs.c b/amdgpu/amdgpu_cs.c index e4a547c6..f9feee60 100644 --- a/amdgpu/amdgpu_cs.c +++ b/amdgpu/amdgpu_cs.c @@ -649,6 +649,18 @@ drm_public int amdgpu_cs_syncobj_signal(amdgpu_device_handle dev, return drmSyncobjSignal(dev->fd, syncobjs, syncobj_count); } +drm_public int amdgpu_cs_syncobj_timeline_signal(amdgpu_device_handle dev, + const uint32_t *syncobjs, + uint64_t *points, + uint32_t syncobj_count) +{ + if (NULL == dev) + return -EINVAL; + + return drmSyncobjTimelineSignal(dev->fd, syncobjs, + points, syncobj_count); +} + drm_public int amdgpu_cs_syncobj_wait(amdgpu_device_handle dev, uint32_t *handles, unsigned num_handles, int64_t timeout_nsec, unsigned flags, @@ -724,6 +736,56 @@ drm_public int amdgpu_cs_syncobj_import_sync_file(amdgpu_device_handle dev, return drmSyncobjImportSyncFile(dev->fd, syncobj, sync_file_fd); } +drm_public int amdgpu_cs_syncobj_export_sync_file2(amdgpu_device_handle dev, + uint32_t syncobj, + uint64_t point, + uint32_t flags, + int *sync_file_fd) +{ + uint32_t binary_handle; + int ret; + + if (NULL == dev) + return -EINVAL; + + ret = drmSyncobjCreate(dev->fd, 0, &binary_handle); + if (ret) + return ret; + + ret = drmSyncobjTransfer(dev->fd, binary_handle, 0, + syncobj, point, flags); + if (ret) + goto out; + ret = drmSyncobjExportSyncFile(dev->fd, binary_handle, sync_file_fd); +out: + drmSyncobjDestroy(dev->fd, binary_handle); + return ret; +} + +drm_public int amdgpu_cs_syncobj_import_sync_file2(amdgpu_device_handle dev, + uint32_t syncobj, + uint64_t point, + int sync_file_fd) +{ + uint32_t binary_handle; + int ret; + + if (NULL == dev) + return -EINVAL; + + ret = drmSyncobjCreate(dev->fd, 0, &binary_handle); + if (ret) + return ret; + ret = drmSyncobjImportSyncFile(dev->fd, binary_handle, sync_file_fd); + if (ret) + goto out; + ret = drmSyncobjTransfer(dev->fd, syncobj, point, + binary_handle, 0, 0); +out: + drmSyncobjDestroy(dev->fd, binary_handle); + return ret; +} + drm_public int amdgpu_cs_submit_raw(amdgpu_device_handle dev, amdgpu_context_handle context, amdgpu_bo_list_handle bo_list_handle,