From patchwork Wed Sep 12 09:50:47 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chunming Zhou X-Patchwork-Id: 10597249 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 03DFA13BF for ; Wed, 12 Sep 2018 09:52:04 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E60F0296EE for ; Wed, 12 Sep 2018 09:52:03 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D86E6296FC; Wed, 12 Sep 2018 09:52:03 +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=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 6F83A296EE for ; Wed, 12 Sep 2018 09:52:03 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3162E89D2E; Wed, 12 Sep 2018 09:52:02 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0054.outbound.protection.outlook.com [104.47.40.54]) by gabe.freedesktop.org (Postfix) with ESMTPS id CB2F689D2E; Wed, 12 Sep 2018 09:52:00 +0000 (UTC) Received: from MWHPR12CA0046.namprd12.prod.outlook.com (2603:10b6:301:2::32) by BN4PR12MB0737.namprd12.prod.outlook.com (2a01:111:e400:59bc::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1122.17; Wed, 12 Sep 2018 09:51:58 +0000 Received: from BY2NAM03FT057.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e4a::205) by MWHPR12CA0046.outlook.office365.com (2603:10b6:301:2::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1122.15 via Frontend Transport; Wed, 12 Sep 2018 09:51:58 +0000 Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) Received: from SATLEXCHOV01.amd.com (165.204.84.17) by BY2NAM03FT057.mail.protection.outlook.com (10.152.85.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.20.1143.11 via Frontend Transport; Wed, 12 Sep 2018 09:51:57 +0000 Received: from zhoucm1.amd.com (10.34.1.3) by SATLEXCHOV01.amd.com (10.181.40.71) with Microsoft SMTP Server id 14.3.389.1; Wed, 12 Sep 2018 04:51:56 -0500 From: Chunming Zhou To: Subject: [PATCH libdrm 4/5] [libdrm]: wrap syncobj timeline query and wait for amdgpu Date: Wed, 12 Sep 2018 17:50:47 +0800 Message-ID: <20180912095048.928-4-david1.zhou@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180912095048.928-1-david1.zhou@amd.com> References: <20180912095048.928-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)(39860400002)(346002)(136003)(376002)(396003)(2980300002)(428003)(199004)(189003)(575784001)(104016004)(8936002)(53416004)(105586002)(106466001)(450100002)(476003)(336012)(426003)(50226002)(126002)(356003)(2616005)(11346002)(4326008)(86362001)(36756003)(305945005)(486006)(97736004)(478600001)(446003)(68736007)(72206003)(81156014)(8676002)(186003)(2351001)(2906002)(1076002)(48376002)(6666003)(81166006)(6916009)(77096007)(5660300001)(76176011)(47776003)(51416003)(7696005)(54906003)(50466002)(16586007)(26005)(53936002)(316002); DIR:OUT; SFP:1101; SCL:1; SRVR:BN4PR12MB0737; H:SATLEXCHOV01.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoDomainNonexistent; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: 1; BY2NAM03FT057; 1:kuZgAGeJ5fR/lf9MGlyiEhNRoFo013s8i1laFDhGAze7E6j4sO52/O2llkZqwCsVbi5jRbZTxpTqRH5ec0MunbjdrW3ydcU5J2uBfQqjc1GvbC8qtHIQ7hSotLz0JATa X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1807795c-0e60-41d1-a41b-08d61895612f X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(2017052603328)(7153060); SRVR:BN4PR12MB0737; X-Microsoft-Exchange-Diagnostics: 1; BN4PR12MB0737; 3:fTHg0ltz6D+x/Qc2g5y+CiZ7MIOQ/G+Lz7Gd3L8z00agN9pBUF5Qt1C57/tZ9pT6ieIXLaZBaGnUvjlX/+sAaLvQXEn7TdOsWfSenxMbWJ/x2B7xUVr+6ArkA3hgdT25xqROfhnM3kbzPsJMjn3eLihrPGIPJuOnwqNAcyvGCpEkwdA8milgsGU+64bq8PqoJbcAvN5SngvSitdj2pfeI+mDdcyIUOUApIF57b8WQ7TEwUu2ffoq6njDolCGTScnPAKYPUmux05GHVr6aYcGlk9n7mYc4byra/5lTdjsAC322RC7zI7HGdTgi3xfOahjdEyAj+BroAuNFHfLjAK6Vs7zs/6WswGsq5131Mfzc+Q=; 25:7qvNCBgm78eXfL6JGfimyyvym3Pn3SLMEMXhKKAukS6JixsQiUR2hHY+7Aska5dAoAEWHKkwv544+945g4a2lsiAPl2bwM3sg8jCKhcBAmRSVt3z60Pbw3vAYxbYf2Uc/nK5Xb+89yGtQVOl3sl1+QaeFjD02qJaDr1cOj5T2h82YbYcEzajD0Dsj33PTicMVZAkt+UTUW79Jt1PS32MhqZqCDZhzRuRgCJTIKnDjq8Csd1GhcRdWGPsdK87V49NS9jHoM15VY/Nf8rrO26beWBqmvCv73cQZpy6J9Wxs7uWvFFnoOsgrZJSt4twDbtQys/885V11aENOFDnArvBBw== X-MS-TrafficTypeDiagnostic: BN4PR12MB0737: X-Microsoft-Exchange-Diagnostics: 1; BN4PR12MB0737; 31:RVwHaR3VHl1Hwt/x0V5Ui9iuITl0YcGxXOncF4+zMNRy4RvYaeMI0u3+26I0SsF4LQh1ShWb3vZw1ccPXWbef+XP9FbNcX7VXfvlPXZberHrgsUa6jivaTUBtPPJosFU3G7ezTRjOpUqYI1fw9xqjBzTeY8+fo1BpnwviLsnp83x8j+qAvcogCUmSHpse93lKTYOaIe1BzMLiwIRhD3rDR7IF/y2ktAL/5pDjh+hZUc=; 20:n2kTWL1IKzilrsXtqG6FLoUwgARSKt26V/+vnKqANOtweJFnQJ3b5GShyavnPD13qMCoNvfAYzgGLuzXCkWGFSpaPa6zh9u+QNSrfaUV9WVUBEFIwZ4nJsHg8tFARLmpVyUzxZmFfyr+JKzUsuPksRqkAYnKlhha6GAnY2gnK1ZyuvfJeZ7ZGqyVmzxGEPKg85B4FzD43Azt3mME4oreCGchorUszgGZUWeM4Z5MOtkQNu7DBWFxto5dPhDaLIxcTPchkr/zB+qHM3q7KOIWJXBfzHtfi24YP/NIdcwUpWX6iPPJeCQyZJJNuSb72GLDpEChjnrHavek68SXf/uxYE3K7OrHbYXF4hUioWsNfbWkiX5eC11Bf3uVniShIYLTDSqJg8Arg1RXArS/Zr6GF2Ph5jE01+JdFr66c6Dznl539XOk9R2LulKJ230zKPPmYzmNsYW0KvmlkORok8NLrFCjlM44PQWb5PiYg4sjLkKAfzw2bNmsGOLBquY4k25J X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(10201501046)(3231311)(944501410)(52105095)(93006095)(93003095)(3002001)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(20161123562045)(20161123564045)(201708071742011)(7699050); SRVR:BN4PR12MB0737; BCL:0; PCL:0; RULEID:; SRVR:BN4PR12MB0737; X-Microsoft-Exchange-Diagnostics: 1; BN4PR12MB0737; 4:PTA6Vq57rMUHu/F5Krf8nEwc/aGpVf/pjjjKzJrp2LxiEMWmd2d6Dk3B/yopgS8+/3snwu8UgefTDlu2rQv8hbPNzlrhUOlKruxP9E78fjVePOCeP8sAl8OZS7KRzKEc4bs5P8OedEIkw31LVV9do/ZP9CdIY6nXwU9spGUzgTVPkmTpP8xxDKLFT7XYVDPr7Fy155SlQTcY+rXkstdr6ypw6GaShvLOboPE0KyT3/LqxUmQAYcykivBO8Xeu8f+PquaBEtbhfvP6OY+B+cyjgk2pKJ0w5LY9oiJJjY8TfjdqlmVYAGOmr18FZ85BOY5 X-Forefront-PRVS: 07935ACF08 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN4PR12MB0737; 23:g1Lpb2No0B9/uKzsm7iS5mn3Ubn1616GL5UkjL0vo?= cZ0dv/pWFlAdU7dnXFzHJa6T36Lv4q91+c7fRkozrPt/3DTbp3tfdmzsfwULfNMp3mTkFiZoy+qKC3OEsHdDZdc9v68cs8i5BAjGCjX57mwxjYBdI39lKFeoN3CiucgHywRLq6vc/w1ncQmwVEc8U/HQRjj2re7vozZ+jMdt+XAyK6XZU022f/kx6EpZlbN1+VDq8csx+ItH9HtKaGw6glyYBDdRUdcry2bPJ12ebPdpymTl0bx6bVFoW1U8KD3xDgbs1FzH4GH/3FQJNAzaXpAQjJ1fG+TV6D9GuYO+6JDOZvmX8ifmrqVuyghmPL3wsx1G8yPMkNx8Coy7xrQ0XC9s9cFJJOziWVYMHpMbDGnl0NdiKGX6yUVWQXCo79dQv5wFd4qs3xQioiu+s8oFzrj5YZ6aR2VnlLO2pMx+jb7h+q3t3+1ZGi1MRcEoxdCXBVLZNpx9YjHaGFQ4I+kmXINRJHnK21Snt144xow3o0yKShBscPy37OAeAxCgH/rxyFSCANj/WB3jtwMY043eCRcwoPHW0ZQLMw8hUkNISL5VR/h1lDGJpBp1gSQl+ZRMeJ/wwxlH+tqkaMNPAlMwdSg9BG6BUAf7HXJZdNLASFNB1QZfCckDKjoRnFuMITYdDcC5ZPI8Ntl5NcyKzjKZ3vTlSdItKDJSu5vZUuDkeCmeSPfIqIh28cRw6S393kF3jiOwbIfir7Mou6nE9DFENXArLtp2pcxD8JTJkMWWyKW62f79PTUZg+9Awt09FvUX64uVvc3zOtVA8tSGREgmWr5mmcoFbvsOlSgHs9MMkxJugbiC2F20B4zlA5kEvii3waUeyXwY0vqyxNaq9UUVg5MEdIxEhiu+c1A/hT9dMmdJbhGTUyyvuXhU8KsNW3VMAHQRRW88553Zek4wJqtxK8uh+3/RwhjL2VVezxKkyV4952QLWMxNCN95+/8k/UVFlNwidFNdY5wS7pVdVnQvfkzzA8GuimPgRYe0Rx0F2gQ1Mb9cr/vP+p++pJ4Sps4Dkz1CeUroSJfWnbMLexnrJg1n/6zL+n7lvvo5mGR8GLUrayiQRLzWUzBpLRgWRbSQg9By90OcS8YEhG8AV4+MPWVa52UU1JokksyZaZ3DxGiIqZkSdu+1IRA0EM9iTE7kITSWCoZqr/gP6eeXqX8JxDubXf48EG4NIuTYYGe0Cvw0x4K/XZWgLlayKeRG39FGmk= X-Microsoft-Antispam-Message-Info: s0UIMp9Fj8Eaiygs5ud1oAElyfm3i9p3s/4I7R3vg/pXEhEtG7u8F1XzTkGg9csOxR9evjvjxTfeNMc3Gn7UJ+J9mZ31fznpPouWLXx02UMaNWnYwJsqG9CA9orbhWujjzLYwwsWUuysWunohWaAoq4Vy6d8fip4uaUgwxTUsjnQmx0P7+vcY4ebeIPMcmpUbDcpW1CNXY8CH3kPlv2yKkjG33e2CwWtBFAU+6E5aof3f1oJeSRzc66Wgf3ba8KglfWFl5O1MpnHExC1eMEcIT4GwHBEuw/NqqFOpxqOALRYMkJmycIE0wihKFA/Sd+vnzjtWaf+LewrIztknVuZM/YrkTv1/QW3j26h7hSe0g4= X-Microsoft-Exchange-Diagnostics: 1; BN4PR12MB0737; 6:WV7mCbFVjY35YqJf74IgU/Lhu5PU74evB7b9yPEK5+fzU2fs7JdRRZTtPqbqbdlCTzGmZvh3Fc729TJSh2V4qVorqygU8WYRgtdg0QjWfAQft8lmIZvMdr0zA3XQcuKhYJDEXilgFSvmYCl8rw7jq9bmnnCzXsKK23OqHiRfsqqTpVeFc+us7qiu5E/XoZ8S9ZWtJD/kvWMDtWspOvRzTDvPfMKOEedXjb6PhnVSJnVDGyb6fX5Xury8qLhsUeZptWSMtc5nX4zNZCbYxdyUkrff1Sko+BFB/HYxCzS4I8SvQ4/3TVmSkdzR5UVIXnY/dZoK0CzRPLaPPTxbkfI3wEro3VK4lwYxQrmlQjCQolFeOXvFYtDUW9bXfxq6qSXCUEVz0xTwPxc1oBVVeRkPhh7MNHRvfUDcqQw02EP56P3m7Ep36q3Pkibyc5GNFuuzJuNkSpgCRdWS5D0Jaft7Jw==; 5:JDgJ66cwSkqPzwF89YopKxbsi4HVmIR4Usbi48Gvtvbv7aJWHwvfFFQl8ROFJMnr0WrSKHKRjgyFDi95NAVqDvklcG0WNYL9U0mYC+JTFkgaRap9hjs3GIEVJt0k8zQDKJXR9kHPgQpq0DC/CEMt5d9thFuh7BpkPp7iMbhTDeA=; 7:0xQIpKuXUg4PjBdfO6z7Kw3Qpq16r3irc6nfxk1WRqUFnjAgMqVeKCCjqRc+qDkniIrqEQVteWyEtqu0QSCouoA3Cz+XIDJfHhklxJZAcYCQoMZt/SqnTehpofMUl6wQmOAjzrU87hfhFva25imV5kgn9kTk4ofmqTVz3rwiWeeyjGu75WQCwotWZ3ewgZ3qHFUbquD8uzK5raHAJ713JY7es3mNAjmgZ3tXRe+YA3/0l+C3quUO9nq3tKmXhW/D SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN4PR12MB0737; 20:XJbR0x1DYSNKXEsCPUWafl0FzycKby/mfoeGJasgoD6Py597bsRUZHbgKO3vsPTc2xHdBNvke390D8oqCAKbldAlTpsm/NCWX2TiW+56I5WT6JKm5uYKb3sfZOxuooO/6ulAFSE3HJrUl5nwW9Wh4Fu44eGHdTpBf7IePNVGmoGoAWU5/ywmdOU2Ci76PWEuuGHqbDP4yo3uK5OAQJ27m1/9ur4Hcc+8NfCbQ9O1ranplhhqnXGDSuoA4hzfmAjh X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2018 09:51:57.7334 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1807795c-0e60-41d1-a41b-08d61895612f 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=[SATLEXCHOV01.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN4PR12MB0737 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: amd-gfx@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP Signed-off-by: Chunming Zhou --- amdgpu/amdgpu-symbol-check | 2 ++ amdgpu/amdgpu.h | 39 ++++++++++++++++++++++++++++++++++++++ amdgpu/amdgpu_cs.c | 24 +++++++++++++++++++++++ 3 files changed, 65 insertions(+) diff --git a/amdgpu/amdgpu-symbol-check b/amdgpu/amdgpu-symbol-check index 58646e85..4f91be54 100755 --- a/amdgpu/amdgpu-symbol-check +++ b/amdgpu/amdgpu-symbol-check @@ -50,6 +50,8 @@ amdgpu_cs_syncobj_import_sync_file amdgpu_cs_syncobj_reset amdgpu_cs_syncobj_signal amdgpu_cs_syncobj_wait +amdgpu_cs_syncobj_timeline_wait +amdgpu_cs_syncobj_query amdgpu_cs_wait_fences amdgpu_cs_wait_semaphore amdgpu_device_deinitialize diff --git a/amdgpu/amdgpu.h b/amdgpu/amdgpu.h index dc51659a..330658a0 100644 --- a/amdgpu/amdgpu.h +++ b/amdgpu/amdgpu.h @@ -1489,6 +1489,45 @@ int amdgpu_cs_syncobj_wait(amdgpu_device_handle dev, int64_t timeout_nsec, unsigned flags, uint32_t *first_signaled); +/** + * Wait for one or all sync objects on their points to signal. + * + * \param dev - \c [in] self-explanatory + * \param handles - \c [in] array of sync object handles + * \param points - \c [in] array of sync points to wait + * \param num_handles - \c [in] self-explanatory + * \param timeout_nsec - \c [in] self-explanatory + * \param flags - \c [in] a bitmask of DRM_SYNCOBJ_WAIT_FLAGS_* + * \param first_signaled - \c [in] self-explanatory + * + * \return 0 on success\n + * -ETIME - Timeout + * <0 - Negative POSIX Error code + * + */ +int amdgpu_cs_syncobj_timeline_wait(amdgpu_device_handle dev, + uint32_t *handles, uint64_t *points, + unsigned num_handles, + int64_t timeout_nsec, unsigned flags, + uint32_t *first_signaled); +/** + * Query sync objects payloads. + * + * \param dev - \c [in] self-explanatory + * \param handles - \c [in] array of sync object handles + * \param points - \c [out] array of sync points returned, which presents + * syncobj payload. + * \param num_handles - \c [in] self-explanatory + * + * \return 0 on success\n + * -ETIME - Timeout + * <0 - Negative POSIX Error code + * + */ +int amdgpu_cs_syncobj_query(amdgpu_device_handle dev, + uint32_t *handles, uint64_t *points, + unsigned num_handles); + /** * Export kernel sync object to shareable fd. * diff --git a/amdgpu/amdgpu_cs.c b/amdgpu/amdgpu_cs.c index 3c9be6c2..b32c0a75 100644 --- a/amdgpu/amdgpu_cs.c +++ b/amdgpu/amdgpu_cs.c @@ -658,6 +658,30 @@ int amdgpu_cs_syncobj_wait(amdgpu_device_handle dev, flags, first_signaled); } +int amdgpu_cs_syncobj_timeline_wait(amdgpu_device_handle dev, + uint32_t *handles, uint64_t *points, + unsigned num_handles, + int64_t timeout_nsec, unsigned flags, + uint32_t *first_signaled) +{ + if (NULL == dev) + return -EINVAL; + + return drmSyncobjTimelineWait(dev->fd, handles, points, num_handles, + timeout_nsec, flags, first_signaled); +} + +int amdgpu_cs_syncobj_query(amdgpu_device_handle dev, + uint32_t *handles, uint64_t *points, + unsigned num_handles) +{ + if (NULL == dev) + return -EINVAL; + + return drmSyncobjQuery(dev->fd, handles, points, num_handles); +} + + int amdgpu_cs_export_syncobj(amdgpu_device_handle dev, uint32_t handle, int *shared_fd)