From patchwork Tue Dec 11 10:36:24 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chunming Zhou X-Patchwork-Id: 10723483 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 98E971869 for ; Tue, 11 Dec 2018 10:37:06 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 89283299A3 for ; Tue, 11 Dec 2018 10:37:06 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7D5472A0DC; Tue, 11 Dec 2018 10:37:06 +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 29859299A3 for ; Tue, 11 Dec 2018 10:37:06 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 023906E0CA; Tue, 11 Dec 2018 10:37:05 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from NAM04-CO1-obe.outbound.protection.outlook.com (mail-co1nam04on0616.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe4d::616]) by gabe.freedesktop.org (Postfix) with ESMTPS id 740FD6E0A2; Tue, 11 Dec 2018 10:37:03 +0000 (UTC) Received: from MWHPR12CA0044.namprd12.prod.outlook.com (2603:10b6:301:2::30) by CY1PR12MB0059.namprd12.prod.outlook.com (2a01:111:e400:4c2a::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1404.25; Tue, 11 Dec 2018 10:37:00 +0000 Received: from BY2NAM03FT048.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e4a::203) by MWHPR12CA0044.outlook.office365.com (2603:10b6:301:2::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1404.19 via Frontend Transport; Tue, 11 Dec 2018 10:37:00 +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 BY2NAM03FT048.mail.protection.outlook.com (10.152.85.64) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1425.16 via Frontend Transport; Tue, 11 Dec 2018 10:37:00 +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; Tue, 11 Dec 2018 04:36:54 -0600 From: Chunming Zhou To: , , , Date: Tue, 11 Dec 2018 18:36:24 +0800 Message-ID: <20181211103627.25985-5-david1.zhou@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181211103627.25985-1-david1.zhou@amd.com> References: <20181211103627.25985-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)(346002)(39860400002)(376002)(396003)(136003)(2980300002)(428003)(199004)(189003)(36756003)(50226002)(26005)(68736007)(316002)(305945005)(478600001)(486006)(86362001)(2201001)(72206003)(51416003)(7696005)(76176011)(476003)(446003)(2616005)(11346002)(126002)(53416004)(48376002)(356004)(77096007)(186003)(106466001)(50466002)(426003)(336012)(47776003)(105586002)(450100002)(81156014)(16586007)(5660300001)(8676002)(97736004)(4326008)(81166006)(110136005)(53936002)(104016004)(1076002)(2906002)(8936002)(6666004); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR12MB0059; H:SATLEXCHOV01.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoDomainNonexistent; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: 1; BY2NAM03FT048; 1:XxuDrRX4Bv7BMzv95yO/N6vI7qsq8JSO6bUniWvPMVuNJdZKuuKG0TA1DV78dl9wNq70PvE2e50MP4M81oJwGMZLIPGtBpdut+2e3jS4XLMi4uBBdtGAsXm9pi4f3t1F X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c6883c63-3de8-43ef-a6a2-08d65f54953e X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390098)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(2017052603328)(7153060); SRVR:CY1PR12MB0059; X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0059; 3:3etittINZAbb76ZwDEloYKsQ1FHC3QxU3KFlLnTX/Xf+zSejwLqnlInE2EgObitHNZrHJsm6ReKL0qcvWJSHH1KREzWCZkXNTHROXQhPTKb05KSzp6j0ia3RXJyCePtiYnhBigmshASw2Bo4IdmpnJhlo+ix8lNlk1fQLISp/OWiTcDJGwhNpcv/NH4NI7fXJ9sFBDkuFKlFk9fR/H5MimKCgkqqrt0sS9l4R6MG5MmfQcm2exUbBsxNlRLg0LJLzMQrwqKmu25QvnFwmFcxVAYCZfSgYS3Mykt+fEvj4CiGiA93DYVDPBBvjeqIPAbvDWlCNhlNExF+UGCpIjxVEpojGbcSRSK8oME4PG8ZtY8=; 25:J7ohMQqDdVrcFZpPaw+/HyECpkyreeDHq07bYxVStOnQzSdue+baLVgjzngZBGjQa51oKJgtj+TNtPjVgcmaIyLVAliF2H6sOPspvsKJa9c3Bv2h0dfrjLiuE8zvatNd1ss2bqtN9dgtsmvFhjp7f7arXlF6wnI2AAbJaER+FIX7elllY8bpdG4RsoC9Fqz0udiHLlJ4UHnVBGbss/SALdNpCLowAoHvS3SA/eYPYi6yQWUt1bccqBoMZsmZdw/utHIy2K+g9/rmRVbzDn/rZoUSIHKqdOG2vefrVvrOguQIpd4Jtp0WR7INA4WmpYrIfodXULXCkW4nUSvSStzAilIxX40y16seTmyS6XGoNzg= X-MS-TrafficTypeDiagnostic: CY1PR12MB0059: X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0059; 31:XSoRVdAHcl98fgydboyPBjyXMWS0380c3fH/e0cXHQ6NA1Z3uGDCoNmQZcaRjxgjLyHl7/2WmqjCgqhncIX4FxibdIiAyhIpshZrtyptY9kuQ9XXG2FpBwF31lGhXyPTc3t6HJcrzTKejwbB+RrlMgRRzk7Sralrjvj1HxlNZdDdNXh8kg8PSGRqhYDpUNt1Ckjo9DZNsBg+FoIPPdb+6jpk48UwJP1RJBFUm+Ncppw=; 20:jye2oZn8gw77069bOGSD642DPYkgvAtUmvzKOt/9AU+bMwFZBzUqgvoTfBX85MvobTij1Vl6AdcvbAkG5nJbbWcqaAJFtlgK/bkL2xqNLMxpil59kJsfg0Uhb87Rx0adaviyXtT+hFKwRk7GPngOxAqtnDhJcZKNcyBkV+IYnLhsWj2h1AVeIBUumNoB9ANbK6OoQUvunJVDppRP3gwIDbyIfALnHeg96JGWbrDwKQ8IB5H5u1jXc7BZszu8rGbMroQsnytT3Rm38DL8Jf1OknjRFYRCtQtt5ZXz4ZxPMDwFVW3dc76Ib06/whTYN9kDI3r02JCFlrIcsRp1PLaVW3DctGBJRE86JeEw50uVJxa62a+LXHUNHTld4CWhszzqr+p3Fhzsze5avj+jbsDPzCjz7x6UjkrrKKAsJQ/oYVqdOH2ySiWKgm80dcfOaF3I92sH10WG6WQ7g7UEuK5nyEDS2Gf5Q8VHVmJs12NShgx/CmP/AYUOOQuVkB2vTax+ 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)(3002001)(93006095)(93003095)(3231455)(999002)(944501520)(52105112)(10201501046)(6055026)(148016)(149066)(150057)(6041310)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(201708071742011)(7699051)(76991095); SRVR:CY1PR12MB0059; BCL:0; PCL:0; RULEID:; SRVR:CY1PR12MB0059; X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0059; 4:h83X6iHYvlMig34+JKIMv1ID9078S+TLk1NdCqnsS5ixq1Q2R5iIMdtd83tvB2gSBpgfcHC7LhkBedaYjVZWricdm9ZyNVcySKSl6gaz9JFHmwwns/ky4wLd59y1bj+84OsI+d/+yxAuvufYkC/ntcQ3PLXXCLI5qkcg0Lwsdp9CT2IjoyVcy4g4wOcH0d4x/7Xf9w1KosNx06dQqMW5bgWyA78QUZkQ5TxuE9LR5ejAK4FyBlWqKLBHNBsqBr8pV0krfI5Y24WgA/UCqNJCMw== X-Forefront-PRVS: 08831F51DC X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR12MB0059; 23:qu5u4JxajfrnmgsarFHT47SUNBBfwVIkd1j2TgpUw?= hlK8rCm6PfoMq2gNVTWDczGyKJH30JaD+bzNuRFj+JM2M8T1mWPyJZhrF7012qFVm2HysX0di/Q7PRmR2FHNXc+EAjqfKC2qv11bLYekbB8bpqlrtIq40jkz1ODQf4UYaaZv/xJ562gG9hQMJIwp/jZv5LDtdVl1PGyfi69qRIpomINE8JNHAM5ASxHFLOgdak8OzCJadfNJ+ig0DKb+ZJhHW0uUNWpFYdKycPErmTBAvtr67Y1Ia/a37ITXBBZwU6DMC4q2WdFv6TZLjqzxt98Ozs/ma8cS1jY5puAil3hQrEYTeURhxwwYv/WSmjNGQW0OhU/u7fzH7JaP06nd6Kc5CcqaSxots19ZGn3hbqutieLUkg8V4IeBPp+zLq7c1XXiVs4IX+7o1X2z+E+LsxJZfzvpQzgjHa2uDCmuzuh1+ri3qx2P75IZDq4AnR4TEBcTbs4Y/SypsB8g1a43VqiWjvuzc2lXRC4P1s6XF04jS2clvPr+GvtpmLuugHHoI7oD0KLq0hPYlHhZONuCCO1PxQtjcp7p/B9si03wsZtPA7TYqq7vY9hPN2Vz1AzWGDhtLec81216MmNjE1iwSvILMJVtotK2r5dS3/lvh9Eu/gI1s99jMIshz3OiluysGxKsUEkrCgQC0HEkytVgTLjRdMxbkeAnuoXvv8UoCTfeAVqHW5TOeBDFcnBshV4Khx8k4wcvC/I43bE18cIXjiOl56GEH47gTsNiQ1lXhG6HnFXQdHuoQ7L+jP2eBEsTgLQiJpbgwI2UH4P5mPvOYSuUY+2U981Pqdvl0ml1YEypIwxok1CiK2a/06PWSWOIINoXmp6juV18cojBQc1tIWNvKzioChQGt4vZvglmlANCJgBVUxe4v2fx5oTSH5H6EwXJtvqfufK9/0ssqGbLuUyy/1S6x7y4y/IoJk1IPW81ttJeGoOYvc2nPTSYFvtsToJAWx8EB7NdDhCwOUZbe4X0E08aZFNrAdcbDxDlz2CzE8X1dWSqa4w/X3DntMIxUcsIaWujFyDeAG7gGOpdMn1SLwi11snMSAMx3DB2JKZf9HnDcLTlNs3fNzP2MjvvQYPOCKeTGDRo66N7oiVeyML1kTro7DmL1wN4ULiXRsriZCAqWfAbX4mNpH/Xc3mEAKTObRARbCEe4mygbSvsd24 X-Microsoft-Antispam-Message-Info: TfDElu0e8qYoeRyZJLy1XgZQ+f7PJOwI/F08nuYDJQ19DGOa287yYeH99qolen1bVkFk9W8Okv9Ci5XlavPwLiD4raPjGgupTxlZnBLgOnM/Xwi0AOAiwFW+EjwzdZvtx3a6IKIKX1HNT8VeD1MCOo2w8T/X8JMmbj3+1czNkVDjZAh9IY+Q/kYrybsPMZTIp1S85Xa6+tzAtE6LMB7ITpuOGb2u3EvBJws07/ZFfTXzQHIMbTsP9m8mvhpT+nsjtACvrE3JFS0xniWuoqT2+wUmfXQ78aD8viZsTv8ds1WgEtgWCzaVzSKqPVJUJlVc X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0059; 6:kfLSuu4BB1tvTXWN9diLDxmydDjF4XViPVXDiTuuv7FdN+gebx5M26DHpaWkLYbZW7DeoGmb+f8JJ1fx7KpjsX3vpEmcjCswH4ar4KoG2nBMT8FbeZXTK8MyR73ohBG7qzfCDAedFmJWxLVUXx0eflj19V1SPS8tRCQTDqTxEoWTnn03Dc2v41TkbY5PEbuSUOEcsLGDig+pmQgWdJI/Je54x4kThHXdExWGKJeUQkLjlQSyUDEGwZ2F/IZnKaxMVgXcPt/HPtc9J3F76f/Th0UI2MwO7B23Wx6UwpFsjTNhbfDTnuFX6l8WK2PyRytwzzkZmhjBCrOM0S9SrzqgOovGOM5MoLnWSKhgsYh83ZrfBsXkHJbkrZi9BD6V2WSxxBKS2yK32QNkaYi2j9PI6olcbdxikeTJVvtMTDPGux6JsVpcZLcn4GzAGQJXiqYtxlNFGPWtnqUygprJEgkULJT79koQgPGPUv521sbL4/0=; 5:mMlcMVecL8qWprxFyOQXhjFqzILvkpdgeQqS88KbrI4QRwSCswBbY9vEqIeT35kkZgpoRzl4ut3vVk8IQXQD2KMbVICI5HgxXrg3PzqRUS5mO/zZUczjHh4WwAqGFtukM3tEVD9oBZMCo2Kuz4/P5y74dA/5JrBcaEDk6T4NywQ=; 7:u8kIg0wzyZ/3Phy8+d3783mE14o2eaoIB73UdFj5QDzJR9ihG1khS84gGF3T3kNf2hovMONu98GqmA+K1F3sxQf20X9knvr08HEqVV3aBTk1snowNreQW9b6ca4LT6wW8lpawcw/YSXM5Na3tA5vtw== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0059; 20:ixDvJCM7x0er+AkfKkkXRqs0QMygfd90k1sPiX7+2Ba4cjbXpP9yoAs6Y29uRtfuJpLRZ5aINZu6Lpyz7PK//vPJer/xdwSSoa8oZYfRpeUjfJz44rzh1w1P0GO3Tjm06MAUgy6H+kSiz5dtL2knR4vixSnV/WGPyWgfVQRF9qy/5sXZgWcl1OE1EM59l8h0bizBb3UW2b8ELQjtDernlgday1j/zObRS1YxfRkHJLp//Spciw06UsStC82i7Oi5 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Dec 2018 10:37:00.1712 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c6883c63-3de8-43ef-a6a2-08d65f54953e 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: CY1PR12MB0059 Subject: [Intel-gfx] [PATCH libdrm 5/8] add timeline signal/transfer ioctls 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: use one transfer ioctl Signed-off-by: Chunming Zhou --- xf86drm.c | 33 +++++++++++++++++++++++++++++++++ xf86drm.h | 6 ++++++ 2 files changed, 39 insertions(+) diff --git a/xf86drm.c b/xf86drm.c index 9816b3b2..2a089616 100644 --- a/xf86drm.c +++ b/xf86drm.c @@ -4278,6 +4278,21 @@ drm_public int drmSyncobjSignal(int fd, const uint32_t *handles, return ret; } +drm_public int drmSyncobjTimelineSignal(int fd, const uint32_t *handles, + uint64_t *points, uint32_t handle_count) +{ + struct drm_syncobj_timeline_array args; + int ret; + + memclear(args); + args.handles = (uintptr_t)handles; + args.points = (uint64_t)(uintptr_t)points; + args.count_handles = handle_count; + + ret = drmIoctl(fd, DRM_IOCTL_SYNCOBJ_TIMELINE_SIGNAL, &args); + return ret; +} + drm_public int drmSyncobjTimelineWait(int fd, uint32_t *handles, uint64_t *points, unsigned num_handles, int64_t timeout_nsec, unsigned flags, @@ -4320,4 +4335,22 @@ drm_public int drmSyncobjQuery(int fd, uint32_t *handles, uint64_t *points, return 0; } +drm_public int drmSyncobjTransfer(int fd, + uint32_t dst_handle, uint64_t dst_point, + uint32_t src_handle, uint64_t src_point, + uint32_t flags) +{ + struct drm_syncobj_transfer args; + int ret; + + memclear(args); + args.src_handle = src_handle; + args.dst_handle = dst_handle; + args.src_point = src_point; + args.dst_point = dst_point; + args.flags = flags; + + ret = drmIoctl(fd, DRM_IOCTL_SYNCOBJ_TRANSFER, &args); + return ret; +} diff --git a/xf86drm.h b/xf86drm.h index 49a40633..799d9b9e 100644 --- a/xf86drm.h +++ b/xf86drm.h @@ -875,12 +875,18 @@ extern int drmSyncobjWait(int fd, uint32_t *handles, unsigned num_handles, uint32_t *first_signaled); extern int drmSyncobjReset(int fd, const uint32_t *handles, uint32_t handle_count); extern int drmSyncobjSignal(int fd, const uint32_t *handles, uint32_t handle_count); +extern int drmSyncobjTimelineSignal(int fd, const uint32_t *handles, + uint64_t *points, uint32_t handle_count); extern int drmSyncobjTimelineWait(int fd, uint32_t *handles, uint64_t *points, unsigned num_handles, int64_t timeout_nsec, unsigned flags, uint32_t *first_signaled); extern int drmSyncobjQuery(int fd, uint32_t *handles, uint64_t *points, uint32_t handle_count); +extern int drmSyncobjTransfer(int fd, + uint32_t dst_handle, uint64_t dst_point, + uint32_t src_handle, uint64_t src_point, + uint32_t flags); #if defined(__cplusplus) }