From patchwork Wed Sep 12 09:50:44 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chunming Zhou X-Patchwork-Id: 10597243 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 C26F813BF for ; Wed, 12 Sep 2018 09:51:05 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B0849296EE for ; Wed, 12 Sep 2018 09:51:05 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A4C99296FC; Wed, 12 Sep 2018 09:51:05 +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 594EC296EE for ; Wed, 12 Sep 2018 09:51:05 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4481A89D44; Wed, 12 Sep 2018 09:51:04 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0055.outbound.protection.outlook.com [104.47.32.55]) by gabe.freedesktop.org (Postfix) with ESMTPS id D59F289D44; Wed, 12 Sep 2018 09:51:02 +0000 (UTC) Received: from SN1PR12CA0091.namprd12.prod.outlook.com (2603:10b6:802:21::26) by CY1PR12MB0741.namprd12.prod.outlook.com (2a01:111:e400:59d1::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1122.15; Wed, 12 Sep 2018 09:50:54 +0000 Received: from DM3NAM03FT056.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e49::206) by SN1PR12CA0091.outlook.office365.com (2603:10b6:802:21::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1101.18 via Frontend Transport; Wed, 12 Sep 2018 09:50:54 +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 DM3NAM03FT056.mail.protection.outlook.com (10.152.83.158) 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:50:54 +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:50:53 -0500 From: Chunming Zhou To: Subject: [PATCH libdrm 1/5] [libdrm] sync drm.h for syncobj part Date: Wed, 12 Sep 2018 17:50:44 +0800 Message-ID: <20180912095048.928-1-david1.zhou@amd.com> X-Mailer: git-send-email 2.17.1 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)(39860400002)(396003)(136003)(346002)(2980300002)(428003)(199004)(189003)(426003)(81156014)(476003)(8936002)(50226002)(6916009)(6666003)(2351001)(2616005)(53416004)(81166006)(48376002)(486006)(16586007)(54906003)(305945005)(356003)(316002)(7696005)(51416003)(8676002)(2906002)(126002)(53936002)(47776003)(5660300001)(68736007)(336012)(4326008)(1076002)(36756003)(104016004)(26005)(478600001)(77096007)(72206003)(86362001)(575784001)(186003)(105586002)(450100002)(106466001)(97736004)(50466002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR12MB0741; H:SATLEXCHOV01.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoDomainNonexistent; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: 1; DM3NAM03FT056; 1:mI9V7/RC2FypK1RWSKq+sjASIjuWqzBv12LgcT0IGdPekYQrAClNPbPPytJ4uqEpyteP/2FV5Sdg6K3746xUmfmN+/siy3ctKLPIijEW0CZY0w0SCbGy0DdwPnmeyfz1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d1a00867-9294-4659-c141-08d618953b2f X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(2017052603328)(7153060); SRVR:CY1PR12MB0741; X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0741; 3:bp7m0Qc1RWKSF0mpw0fPjou56t+7BCvw+N3VJtgaONNWQz6mzqk5CkTEjPhn7bcA3obeOkbRIIzHB/q70xRfbgqZQN1qPrOuKZBozumKijUaE3OHJKRESO8G2BAjThV+zy7p/aH8vMj3oUjaV36zHWuG/OEE2W7fEXGnx1ZQNX9DsoYrL5hF+PxACyP6xyfBwXGu6G2pfxEF5rWFY/Tj8QNKQ/L8hB/bYSB16OtjX0Iwk+JzEZeV04SuTNtTRFMcuU/q3WFg7Li4zFewzh77beUflt1Rjer2Q946UHgojcBn+jUw5GW/y5Bmc1tHJDS/Uoctd8WLbxrsBOQc6tYl2y25VoF7zRhUcEUw0oBaGeE=; 25:4v7SUDlW+PAoM5Mm6Gt04wCsRLbwj64ilW4/Cu5S87NIqJxxoUCSwEmHk62l1juw+5NTVD8U2bHRgnqAwGQmIGtVdzEAUeozv6bpFCxvTe0l9ljBfGyspizBCHbHf1bXIihOHcWmV09p/OxN4MrnJGkaRbM3/RLSTAqwvVwm5+455Gob1DbXwh7gMTGBrECIsj8vqdHqcW+uOqhERboh5xYH62tlBPVB62m/zMVFYquUV7gpjHrf4tG/PdV8wiCqzkQiRsM4+dr8Z5q2HhMw1A3HTYWlYe8lN4ebrL3dptlGpRtXiLHNT4LfKvChzY5oW4y7/NRhp03Xq2+IMX3A6A== X-MS-TrafficTypeDiagnostic: CY1PR12MB0741: X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0741; 31:XclK83yuvQ5FxKomo/5qjCUS6G0/Fevte1Klqlt9QWFvexke8ab+L259pQSQiKWtQfb92elZcnjZHaNkEv9gbaNxgF7y6zn6v9B16L2JCppw8zUP6t5RBfa7vbcIS6pPSXwqYxtvR3hEJLqxQq3rSDyg6Zd1hSKySCcTdc0YrUzfjVnc+8QDiuHirFv4jy5wpktiljh7gkky052Utz7/2bfOYw+w82InQqXC+Acnb/4=; 20:PPoOx6chJW25uVPUrlioKS7xcJIEgPO8KbgrQ0fK1q0Rm0hXk6AdF4BFEbWaB6nNaCZ5X7jTLY56ThAI+p7M3UIYtB1fmPopHXaCvRgQKjqWorckwKXtr74pGnHNWFqsIBW2quSvCKAEB0KDhSiQNljfpPaBclOwfjTRm263j1nDb3Dlc0nNvDcmz55DSRAHjwF5Lxg8rTkwR18/yE8DUJ5LAFhCl6+/eONXd2KPJBJX7Paep+YAf457YtJbF0TGaZrzelcuYUISgjHi2vcN5R9RuLkoS2RZdGoKV7u6zX5fo98dkRKUMThMlCYyhvRDprCER/aLm65BK+u5i/hzfvuIBvwuxfIcNLWBzTdKG0MBKmgJK/Vu3R5xlcufmUUhhDfGeaNQQfxNL8AJUc5tR4jxyGJuJ+GOM2DiDOkQ18wZ2OVLh/A4opmXOQ0ux7UKEjobOtRyPCNNt58IMIXNd3ZEH9PQDfsE0UvASOUlkBHo7XDFegKBNt3/oTM51mU0 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)(8121501046)(5005006)(3002001)(93006095)(93003095)(3231311)(944501410)(52105095)(10201501046)(6055026)(149027)(150027)(6041310)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699050); SRVR:CY1PR12MB0741; BCL:0; PCL:0; RULEID:; SRVR:CY1PR12MB0741; X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0741; 4:qw7rVbnKPcPA2pMMORH0uoAKB2NMesSxDPhi8Z7RQ0QcolCFccNOc9+iCenwSUVXcBCKs3hMAZNhZHbZiFQdKVZ3VxQzwpYr8tAZ1aoR5oahnyGOA5+JCCeZvcZKattKEYQied4+rwB1x/HB+sb8iHDegY0pMqjhKu7kIt2jjUCKGkXC4x2RTgwuvMSE6m9YInk/rWvGyhgTXv9JW7dOMLO+F7TNp4fBfNQNZWX8sOsWj5Ux0veEUSKBpVZZdg94O31RDmbj9MDWkTAO+XS3j4T5s0jMBkF5iorlQzUFJAXwq9Vf3oSiR3Z/ruzUwGz0 X-Forefront-PRVS: 07935ACF08 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR12MB0741; 23:whdyyHqPbyg2NEHv5h6vBkjU/QyAG+BVzzHri1eGb?= kmYvuSjydM/sLIgovNYMTA6srWetHM97zuJKY1GiFSORC1Ks+l0dW1+aBln9k1XZkeaKo07jmVAd3HlVZCJRg3a/YB1ImqVqaUUC/36sVWvY1RQBixYxzHYeRgA38e5sc2j4++oAVLlZG7rM5O6unDfV5OR2ecIVC72hGUj+O4RrznBQLmrvbSSdPYqC/yUmiP5GF1NwRXkuA9Ua/VwrSvTaguHn0Uk+ak2NN2UnNxTXFYJHP1dptiBvYBsMqHYPJN+DOGamli14TAZdJkg1N8N+D/yVJGZxyXQApZvo+8GYEFCMWTC8CFyhMa0SSBxhrsKdty8qGgz8kk0qWjbhInpS0TVUpOKHFMdmqNsoR4sxuWRHD+8d1rwFo3CgMWkko7NV43PH0sYIBcfvULj4d3xI8BWLC7OHONRSew8Dy99DRyo2YWQxGNFML7IzPC3HPMWlJjRCZWsfjqL2BK+ozVWqDnZSNTpqMsQL1A7fQdDjp6iuhh62OpUddBGSrlCkYnoqLiOSrBhpFs8DaGBVnQ75sbPQALp0HFMRKah37PBqpvSGn7Blue+JMRcdFn8t2h3LcpiOIMbhLYgwCRDZ7QUzwGlVNW74PzIddSSxiQsbElYfmeWhs5yJ6/Npcu25sveyiKCiOXrJfJbpo1pZnEGjwy3wRB0v1vb/9Ylqnq0C2WkIREfEFffwZuDi2M6k2j9SvBpK6gveZVGhtZa1wf09qNYP1cj7ScijshQBWH6MPgypWym6yVSazCZsCahVZWWaLQFZfc2r6OCOxEHHju/Se9HdsfXhuZdhI+KZcTVTXJ1AbftGwqpCC97iDgTfBz97AOxtjT8GWSX7apeA3hjh1BRr4gdhi5tTBbEL6KQS5CYPY2VjwpmlzCb5id9ZaMa9yIRmLwLbvUFnmRKoB41xt4SCqNoQL1RrUf4jAy96SICeCJEnLIVXb4STVC3Kdfmhwyy+jopgo5yHgcM0OtBg/WtzgGc8BghgbnPE9sDnPOg3udXbCz04xTVI9Cbc8wtbr61oD/6v2eEB3NJx3ZTHoYiTy3ZGOOv/QAA+0B5bzL5MLDqyVRlY68nngX2sx2LBTeJNtA+hxUFMm+E2Eoi2itv8mCrYOJBElPRTIHPlBi7CTnpJkRzT1LWRI9yxGI= X-Microsoft-Antispam-Message-Info: UyBgfwgLwCKi9Do6kgHbEAOwJB03ZuRIDTjEa4lkEOcLS72mjudPr5UFbD/86h65STtX7aQQMMFZKkXxxNY91R4rXpG5r8aYuzvzbyQYQwLqRpa5RagVCJLKsbdbxFaOHa8xMK/mjP6BjpXCuccdbJC7z5Kb+2Lzzu5jTNVqxaQS8C8Gd5dMvcYvuw1ECPuVdfM9sO2jPHbER6VFQ06szG7OADxQiYgju1u89b+Jr7oZVrU3/2OFVBQ8wjVsMwfw9Xpgnyp2eofz01UqGoNn0Dm9bXW01KqW9g9/UEDGQDnhDSLTJRigCBpn9BQNAQWgsXo9b7STP3+NHo38yzsFyE3PZvM0/yaSEiiZHCJ51cw= X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0741; 6:mnH6vKAVfgO6BJS5wMSKZxoOzRqzy+Y1vgZO2MV+x81Nlrizr/lA+B7qJlX9M3in1CrHyHQihioz5T6UN+CIG02mbvXRu/lrKJnQAoiFlW31L9SSoiQxlsWuKKmVpae9R0ZqQrjEp17zgjF+f6iKYiLhzX21yMtcDZIwcIB8DNqo6ZXKzT7UjTquyoeP4PAOdc/DIvyJAWWgg1N6MOlmL6iLVDCkQ2hxgUnFt8AA39tvQAy8njR3vim8CUDH7txZhCglIE8HpMOIrZo7EMpSJAclWTKDlqmFh13rrDKEgFle1C0End2wdEw5xchoB6DOGvP6hXjA/9suadGs9mBQGeRKJUnXfJvptcAXAURwD+U1AkLxoG1TTvvDLB3Exr8GEekCoByEiW9knm9X6hCnCPMPrL4XSwfUmsj6xsZDXoY1/mRFWfMuNFFMeen6wQY8jcjwbBbpVNlCzLRLJR3mog==; 5:QfCgt+Vs09dFknMU/2KecETa7Q+pxEIvtxb9zLBWog8oHRLSqxh+1oJxrQbNIji+vsEpd+iXaFsi863CrTA9Kt/Dv+BtDwXDKFkaBWXflVM5jwgHioKZnoJCHMV8+tj2wiFB0yZrVHQ+6/K243V2NJuTCRLtyVhJVQvdOQEalI4=; 7:fNERm8dpzCOWTA8WdNoCcurzQW+zX8/z/BmjaljvSmYdNLbG2BlG7F7nLFrJzCzfyK5p3C3mCu0EZibMGfOmVF3dlctYu/kbmSGQuKKqRbCRttjPMD5vQ9VhZns6+k9nR49twLPZD+wa1oLcf8fuFnMQllkUt3H/eoPwwS10+Kogu/RzgvuoVpHgGndTiEsOIwGiPiw6++gsM//VINM8wOavEoZ72kmCDdjKpk4C0w7740L6Jvi8LMgeuugJBetG SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0741; 20:1mhfjRhrgJC8wrsJJb5VXHUHErdacuWE5Kls8PRSvhX5f8YDox86qJr3ZTzhgNoB7yJdMa/r7/10KNxvJ8bjE9u4Ls0UXnWfLxpXOZHq4w8c98diJ2cVEoNFtsDZdbScwPe1iWnoYi96RFeQIHvzySBWNS3Bv7vKvGIHQUx3KxldIrOGzRsAw8sFkreBIiXlDC4xOYIN2xdVMJWPXIKWSHhpVc5ACXFeWrbmlg3NooEFiKC2yhPl1z4n239lI6Kc X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2018 09:50:54.0117 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d1a00867-9294-4659-c141-08d618953b2f 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: CY1PR12MB0741 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 --- include/drm/drm.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/include/drm/drm.h b/include/drm/drm.h index f0bd91de..d1688269 100644 --- a/include/drm/drm.h +++ b/include/drm/drm.h @@ -695,6 +695,7 @@ struct drm_prime_handle { struct drm_syncobj_create { __u32 handle; #define DRM_SYNCOBJ_CREATE_SIGNALED (1 << 0) +#define DRM_SYNCOBJ_CREATE_TYPE_TIMELINE (1 << 1) __u32 flags; }; @@ -725,12 +726,32 @@ struct drm_syncobj_wait { __u32 pad; }; +struct drm_syncobj_timeline_wait { + __u64 handles; + /* wait on specific timeline point for every handles*/ + __u64 points; + /* absolute timeout */ + __s64 timeout_nsec; + __u32 count_handles; + __u32 flags; + __u32 first_signaled; /* only valid when not waiting all */ + __u32 pad; +}; + struct drm_syncobj_array { __u64 handles; __u32 count_handles; __u32 pad; }; +struct drm_syncobj_timeline_query { + __u64 handles; + /* points are timeline syncobjs payloads returned by query ioctl */ + __u64 points; + __u32 count_handles; + __u32 pad; +}; + /* Query current scanout sequence number */ struct drm_crtc_get_sequence { __u32 crtc_id; /* requested crtc_id */ @@ -887,6 +908,9 @@ extern "C" { #define DRM_IOCTL_MODE_GET_LEASE DRM_IOWR(0xC8, struct drm_mode_get_lease) #define DRM_IOCTL_MODE_REVOKE_LEASE DRM_IOWR(0xC9, struct drm_mode_revoke_lease) +#define DRM_IOCTL_SYNCOBJ_TIMELINE_WAIT DRM_IOWR(0xCA, struct drm_syncobj_timeline_wait) +#define DRM_IOCTL_SYNCOBJ_QUERY DRM_IOWR(0xCB, struct drm_syncobj_timeline_query) + /** * Device specific ioctls should only be in their respective headers * The device specific ioctl range is from 0x40 to 0x9f. From patchwork Wed Sep 12 09:50:45 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chunming Zhou X-Patchwork-Id: 10597245 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 0346813BF for ; Wed, 12 Sep 2018 09:51:15 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E3EB5296EE for ; Wed, 12 Sep 2018 09:51:14 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D5DB6296FC; Wed, 12 Sep 2018 09:51:14 +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 929A4296EE for ; Wed, 12 Sep 2018 09:51:14 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 5DDA36E4DD; Wed, 12 Sep 2018 09:51:08 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from NAM05-DM3-obe.outbound.protection.outlook.com (mail-dm3nam05on060a.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe51::60a]) by gabe.freedesktop.org (Postfix) with ESMTPS id CC2D06E187; Wed, 12 Sep 2018 09:51:06 +0000 (UTC) Received: from DM3PR12CA0108.namprd12.prod.outlook.com (2603:10b6:0:55::28) by DM3PR12MB0745.namprd12.prod.outlook.com (2a01:111:e400:5984::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1122.16; Wed, 12 Sep 2018 09:51:04 +0000 Received: from DM3NAM03FT042.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e49::203) by DM3PR12CA0108.outlook.office365.com (2603:10b6:0:55::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1122.16 via Frontend Transport; Wed, 12 Sep 2018 09:51:04 +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 DM3NAM03FT042.mail.protection.outlook.com (10.152.83.174) 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:04 +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:02 -0500 From: Chunming Zhou To: Subject: [PATCH libdrm 2/5] [libdrm] addr cs chunk for syncobj timeline Date: Wed, 12 Sep 2018 17:50:45 +0800 Message-ID: <20180912095048.928-2-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)(136003)(376002)(39860400002)(346002)(396003)(2980300002)(428003)(199004)(189003)(6916009)(8936002)(478600001)(104016004)(6666003)(97736004)(81156014)(81166006)(53416004)(305945005)(2906002)(68736007)(76176011)(356003)(53936002)(106466001)(36756003)(2351001)(47776003)(50226002)(7696005)(51416003)(486006)(126002)(426003)(476003)(2616005)(11346002)(446003)(450100002)(72206003)(8676002)(316002)(77096007)(26005)(6346003)(105586002)(186003)(86362001)(336012)(4326008)(48376002)(1076002)(50466002)(54906003)(5660300001)(16586007); DIR:OUT; SFP:1101; SCL:1; SRVR:DM3PR12MB0745; H:SATLEXCHOV01.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoDomainNonexistent; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: 1; DM3NAM03FT042; 1:RZmrXh/lI3d8nvTCRVK2o/+EWY9a850saRc8Vih8f6w+u7ik1U6N4p6jzUkFF5csWXiiI3Sa32Q8yzbii+DynZNw42a7FvuD+q5u2CicsajWM1hcCE7Fdvh7QGszkZ2e X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 27db56ab-bc60-492a-1e95-08d618954161 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(2017052603328)(7153060); SRVR:DM3PR12MB0745; X-Microsoft-Exchange-Diagnostics: 1; DM3PR12MB0745; 3:tpUTYoV7hUzYcqolPbOhz3tc6CFlQLzEBiCvQr6mLuX1oWs+1Xmriq/ZsObZ2PwCLueGX40WvATT+pigl3WnRBS1fWJdVlYWyZLauqraDvLVXIen9Y/kcQLlQzQay8KoDpveFXQngL+rjA5nVIlKQK4/6n+IqD5oAh8vjH8DQJEg8KQqE1PkBLmzL5mPVPVbarJPPJZJh0xpKpm2l6NxSgrijAF2k3moFRS2+P1GJXrbqL24BmIydCTA4DGgMwptNDE4pM5a41TenX4qmmmGUQc33blpE3cvjpyy8lk7/a/S1NVApHPdxFBcv9RqLo8YfD6hT9D8J2avHaSpJS83OkLuYw6dJj/NfuCU8b1ApyA=; 25:Z24Ga90/S7BrtY3xl+EpNe4kd5JcgYcxZqI7+yazYoYFmprEpeqfcFNjrFRQWLjxA3csQrMmn/3ErK3l4rZKeShvvQoimIwJgADgLG5cCQdT46qrc2VFQiINlcB+XGrJZnhb+NH/dbIHGduF+8xDuJsIXd6bREkeaKcqfdYLL/YV5H6arfwFpGsZn/BDISeXuuM1+IO0yWTRuek3O042QuFC7BZLAjGolhRl9LpHJZs7wjLfZJm51IoS1woutZc2RDFFzRQYxZmimnfDU2JP6fR7ZmeCA4q6vSQBwJzlWHcyVqNbADCcWC7g7W1ko1DkRQ62H7uBVdEo6+4Kj7QXmg== X-MS-TrafficTypeDiagnostic: DM3PR12MB0745: X-Microsoft-Exchange-Diagnostics: 1; DM3PR12MB0745; 31:UbunlnyzBIxDl3yMEaaYL2LhoIvoX/i6YeXMhliS7pk70HihOHhoZiWZe7ZXCMyKwZ4s3R15T1gpRVLDB+1dymJGYVirnOqozrXdLgLixBJlScVwnTswEnW9YzQrz8AvtS1msthI0/nNUIysgPwFqFnL2zKaBl1wTdbR28vRuxiPlO5UXWMalLSLov0oT/2ymtqbIMdmgRgasmj+yFUnh5vtn0E8L811zs+p1IKhYOQ=; 20:aIkI98fNumAkVP8t8p5WJaIjOBm9hX6RXOfTJvqDC/EPxQexXAw6vL87Q20JBZD9882BtHgPhRnleJ9qAEytE0ue4jDO8VKHX7vNozgkeoWfMP6RkQ7QD0q9EVTk7cHB1XHwi+wLsB7NBh3Jz1aGJm6rMeOEg1bew05mA8qJQBz9HPeY2fB0GF/hsltd0OXVpIaAMogbt+YMWo3KZ2NhkFWgUKkZHT3ZRrPULdtzESCLEDMqosQjXAR3kTLN5zfpMc7HulCmY9sgZ6pTA2uNM49uonlqnCHY435uZvz2vveoi8LamMHsP26Zr3d6gF2Wj/7k6thKAg86xOS7MBNBi16R89spBsJUmybU9eolfimGxZFf6bdzUwji+Oa9ZFHhokA0t8QY/YGfTNtXpU1ynD/xocXouBLMSdILHhJvKYtTmb2h3Frgh473e7qv9WdNuwkBSTL4AeS8EE1zK3BCVoN3VsL8QDyqULePzZx41NCEL3J9B/uDgXhPdTx0pvuz 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)(8121501046)(5005006)(10201501046)(93006095)(93003095)(3231344)(944501410)(52105095)(3002001)(6055026)(149027)(150027)(6041310)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123558120)(201708071742011)(7699050)(76991041); SRVR:DM3PR12MB0745; BCL:0; PCL:0; RULEID:; SRVR:DM3PR12MB0745; X-Microsoft-Exchange-Diagnostics: 1; DM3PR12MB0745; 4:4ZYqa0Y2xOk0I4htfK0WSx2+UGd3i5ADV+ippdjGYR1E9gh8EJjAyPe5wRUSNJxGFwwXOGeNOV++74fzyVNjy8f1d9QFmKoFiLtrpUtY/0ltFX5N7ZS6fGNyAn3+5h1Ejw7USsf8CMzqjIO5USJFAbzos9JwyDZza7Z60jhSHXFF3A5P0qGwHhQS9izIhEV6BojSCUoZ31mgIVPeoF7GwwilsCBExI3M1y/GV/zqAT87RYpkp00xO3hsHJ4fMV/YaD5Yd2AYIfZHV05qRA/NqHi+Jr7sRlx8m1AcwxFvHOm0hbHJQw+DPjWF+k8doL99 X-Forefront-PRVS: 07935ACF08 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM3PR12MB0745; 23:2+bZoe2mNT22M9JY0UXCD1uq3fLSfPbyozGcq6nQ3?= BCSYpZBnLM+gCURWTRfab5ZHG67ypVI6ee+IZuhRpPdZDVA0am3Ffx5gCi/WtzkhQRjJPfK8667KIb+BfEgxgpelcqN4ILfLda0+o9SOrthv75LdNmc7K/V9398q3QCRvC6HPOoo4pT514ujFAI5kjOkogJFTeOV5hJjP6utkdIh5iuZCpFtvSwoDqeN33YeKwK4iWMQ2ATRkv13QThU1V3ZI5UOrwmCOEWlWHihcJ8HrqVJ+pIrqHBSzWeS2s2Y3ApdgBohJxwhBuAmAg4eSWMM2DWjPaAjETxpVwvq2ro2R6pnzi81CiD2NQ407sgTMd2kX7WIpipodBNWZlztaz4QFNjqHfau+ZRIL5akw1K8cJrGDDvw+EdzkuwjtFXuX5McF82CJtQw4/sXgYKOwSa0t+crZAgdsUm51CC/8P+LaEkE0g9HRyMGugJris0ZgNPTr0un7QJ61djhEZsbVXxeyW4omNn8JEhM1eqKYvJT2h3xbhud0FBKb1JQoS9ynGr3wabNSY5uTIIMDMCfJLU1Q3u49C7LAWD5Xs+sQwhceG6aomT809g/mcSjg9jkkL9TFQNY2xKlTRv7HJ3ZQjE9Bcp5oWGoBpI4bUMxHKsALLU3gG8SWLx9+BZj8zZMx8XkWdu3UZeCPAcgybsQahJaoIe3xp5cy0VjxZfcfOEenOoQ8NHv7FctIBBE0FnTMjk4zilgRSoV/0+9hIQbxpXqhc0OestbsnehMI/tZLUQgRlvKTlyWCOfWhtr8+BqNn+afBOr8u1uHIjrJtmZbmKkFuBDjTBMe1DyAjzWFp/gEejUV0XJ6qqHVMUQE4Av5KGHKaJaoImw94vLHjwl4CU2gmce2gjw4GD+cJRpKlEh1TrAC6SJf62lZvoMCe7peoJJZl8yYXPLN7VYoNZtXa0JxUbui7Iy8RSf4dBFUUFQKe7hftj3eyAvPz4aWZgDBCcyi9mfwJ4Y/t3hd9pZg0FEBJj5SzDul9s4ShNhwjbbEAet/Qdlz/eEFBuFi/Yd1+i3xxuTSuKPQ1tZqfdhn8tAsSo+0CXp3Q33iH3NnpyTbu5zSQrpU9bppgq4lMLN5k8g4bcbevMbxBRcVVkVvnL8nEqv4jBQXZ/nIEm+FaBP/gYa91fWaZYUxUxWv/YuLkC5fDIEd5z6OSWyltLExqH6/oTu6wZ26QKvdjyBzLKoQ== X-Microsoft-Antispam-Message-Info: ceaIOdhLz31Vdp1Sgot9xvDxPgtW5cha6IgGrzTeFopjOqb8SdTcL7L1JnGXgD4owMSTWGtcPFa+b4+FBQKiK0gphVsmh1XSSc+4nbi0CHmmvxto8vKL39VKR4F8vxBrjvILrXmUQ91+btBQhB1mSeAlIp5rYsl2Aln4HW4G2ctifIEdGjZAC4oFmsnED3hMSEmGktoJdCthNduTCvmh+dEqktntYU2LRZwUDedjZbRBNnJ6YGRkM0/RxFBTHAYIfv0Nu02p0LPKRh6oVxLv3zJi4K+5wKFK06bgkmYdwj2j8WV5Nx4jDsMwLF9+pwKCiw5BxG9K2uQ0tb5DRJlXsR/xYp3Bp9t9OnsSJRidorU= X-Microsoft-Exchange-Diagnostics: 1; DM3PR12MB0745; 6:Q9Qx4Qofqu8vAbND1DrbB7nGJ2HAf7cjirgG7YdT4G5AqCIaLfvIQliJG1WhMtivOP0uEy7R/rp7mBVwscMcAMKDlmD1/VxHAQ8Sbj1K4f/v0namPzZUKS2YBT3+7K18cUclbmnTQGxp6ujLfU4S2cxHf6axLHMF89nxhrKG593ZIRc1TkekvRG1JPeon/IhwcY4O8KruUPgzi01vMV3c5OHZyfuNWLAPeSi1kmmPfYMhhnlSk1ZjkwdrzfGbgps7WJRg/QsIYnlwUPHkSKuPODGlD4k/8pvG98Cgv9TdQLlCVIT00ANMb5u/aMUuZLfVt+MrJasl/m9fTAWY87DGym4b2qllDFrF03OlJavyNlmk+S0fHWi8dYEE9IFV0LjpFZmJDZX7nH9TNGZJ6HWmF6DASCdQhCLemrTcoVVfU+S2A8E2ncC1xqs/Uw+MjJZvTIWsPUegP7JVmYtW0rwLw==; 5:mk9bwQud/wbEY7Dc7cdhUGZFGpMwQSqTATMGw/z6k71FYgvAnFl5gVXe4e1Bft5JvSvdq8eIo3bj7fIq7hk7B/sTNNprQardyjML5nEcTeX7Dih08w7Ck/FxXVYOx0lq0wzhz6AXV0ObGFxLLDz3d/n6J/W4fAOPBP+12BsJx7I=; 7:5Aa3p5/gByUatqkUQORpTzyVXRWhaod0MSIytYkKcZwZWJHRkGfExmsdau/l77wsnEAgnXT3q+ih1cWMPblHLm1/TrDX/7/3lqnmaWrL8/560LrDycbAKEnxzmj1y5UBhIHdGp3207m1Z6F9OtAUu7rgOSUkAnOlmK2lCZs1YCO2lMvhpuhfeSvIje9wtxfV34OlZ0D+ZLfBAztksar8jHGN9RCU9aGbVg6eoxIvD2bVdhPT0pWNZ9GAAR6rXCYN SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM3PR12MB0745; 20:1kJ9SFJKtNxN2Z3Ttp2a7kenVtfAeWuAhlxSIdSj8M9CAxRdf9NZ6WB0MC7CiHFUBbHBeLzF92Y9mWXIyDj8akxpPNRgf/xfVrMTIQRCqEStrjUKiHN5yfclzATFXvAnCuO7Pq2SVILieDELqRd76kb59gPphDWims6pv8QF9vLJlR4viWnANRe78M4jztYVMBSSO1LixmGkNEnF65a95mlCGBD9Mz9Ye5FGqtQoYn3RgM4RIr1kVM/87zqPknqn X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2018 09:51:04.3961 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 27db56ab-bc60-492a-1e95-08d618954161 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: DM3PR12MB0745 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 --- include/drm/amdgpu_drm.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/include/drm/amdgpu_drm.h b/include/drm/amdgpu_drm.h index c363b67f..04663a13 100644 --- a/include/drm/amdgpu_drm.h +++ b/include/drm/amdgpu_drm.h @@ -482,6 +482,8 @@ struct drm_amdgpu_gem_va { #define AMDGPU_CHUNK_ID_DEPENDENCIES 0x03 #define AMDGPU_CHUNK_ID_SYNCOBJ_IN 0x04 #define AMDGPU_CHUNK_ID_SYNCOBJ_OUT 0x05 +#define AMDGPU_CHUNK_ID_SYNCOBJ_TIMELINE_WAIT 0x07 +#define AMDGPU_CHUNK_ID_SYNCOBJ_TIMELINE_SIGNAL 0x08 struct drm_amdgpu_cs_chunk { __u32 chunk_id; @@ -553,6 +555,13 @@ struct drm_amdgpu_cs_chunk_sem { __u32 handle; }; +struct drm_amdgpu_cs_chunk_syncobj { + __u32 handle; + __u32 pad; + __u64 point; +}; + + #define AMDGPU_FENCE_TO_HANDLE_GET_SYNCOBJ 0 #define AMDGPU_FENCE_TO_HANDLE_GET_SYNCOBJ_FD 1 #define AMDGPU_FENCE_TO_HANDLE_GET_SYNC_FILE_FD 2 From patchwork Wed Sep 12 09:50:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chunming Zhou X-Patchwork-Id: 10597247 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 953E6920 for ; Wed, 12 Sep 2018 09:51:27 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 81A7C296EE for ; Wed, 12 Sep 2018 09:51:27 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 73D25296FC; Wed, 12 Sep 2018 09:51:27 +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 2462F296EE for ; Wed, 12 Sep 2018 09:51:27 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id F15F76E4E3; Wed, 12 Sep 2018 09:51:25 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from NAM05-BY2-obe.outbound.protection.outlook.com (mail-eopbgr710060.outbound.protection.outlook.com [40.107.71.60]) by gabe.freedesktop.org (Postfix) with ESMTPS id 66BDC6E4DF; Wed, 12 Sep 2018 09:51:24 +0000 (UTC) Received: from DM3PR12CA0044.namprd12.prod.outlook.com (2603:10b6:0:56::12) by SN1PR12MB0429.namprd12.prod.outlook.com (2a01:111:e400:5863::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1122.15; Wed, 12 Sep 2018 09:51:22 +0000 Received: from DM3NAM03FT057.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e49::209) by DM3PR12CA0044.outlook.office365.com (2603:10b6:0:56::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1122.16 via Frontend Transport; Wed, 12 Sep 2018 09:51:22 +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 DM3NAM03FT057.mail.protection.outlook.com (10.152.83.45) 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:22 +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:21 -0500 From: Chunming Zhou To: Subject: [PATCH libdrm 3/5] [libdrm]: add timeline wait/query ioctl Date: Wed, 12 Sep 2018 17:50:46 +0800 Message-ID: <20180912095048.928-3-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)(396003)(376002)(136003)(346002)(39860400002)(2980300002)(428003)(199004)(189003)(486006)(76176011)(476003)(305945005)(53936002)(105586002)(106466001)(77096007)(356003)(26005)(2616005)(36756003)(2351001)(53416004)(7696005)(51416003)(336012)(50466002)(478600001)(48376002)(5660300001)(81156014)(72206003)(104016004)(81166006)(6916009)(86362001)(426003)(97736004)(11346002)(68736007)(446003)(16586007)(47776003)(54906003)(1076002)(4326008)(126002)(2906002)(50226002)(450100002)(316002)(8676002)(186003)(8936002)(6666003); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR12MB0429; H:SATLEXCHOV01.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoDomainNonexistent; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: 1; DM3NAM03FT057; 1:gZpQv4Lu9xZ+M41lmlDP5/G3U/pN8Qk2uTmoKbZ9VEqUFPIUwjEXvyRXNmo1CouWCNdCn1B4IGeTV8jsOKc1mfNPbVHDrDMPfVv0iebQ2pWz5vitcfwmnX+Q0LC9z3aO X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ba54cb0a-d9b7-4e93-2265-08d618954c01 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(2017052603328)(7153060); SRVR:SN1PR12MB0429; X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0429; 3:ZU+/9sqSwOpIrktYBAIRhEdLS7VnOIwwcdpCM15SJuYdwuE3y6DgIfoeCdbRL2+v2E8eRkh04FuGtDqXyrBndqk1hlj6djNjt3UVcFAe0DHVWMUF8auo7jTjFBj1Tblt5n63MtsY8Nf75nlEhO3lXSUCHHYuhCDDHLv2gtrKp/z62Co4FTGYJyjsBvZo0pfh6h6o4hJYgaXUcjiC4b7Ad44wQRbASFHNvxJuf1l/jjND9e80TQDxSkRVVvAK98evelPV2ylahO6tObWmwdFD1eymLcAWzSa1zesw/7lPXhv9Tvy1xyjNO5gyvqVGqm7dynHiE0Vv9JXZMj0x6X/C2gSP8DftwaSaljQ/LjYzEO8=; 25:3PQBG+tcPNQtf1XPK3jxQH5sl5yjl+MVbdOmODdwzs0WTfxU1OqQlrG3K4quS0I9T5gx2ZZLFAUQYrh5HRNqjEpSbvrVZ98FFd6R0nkQeFjbZYR7KXqphZJRFSagrDSjG7UMLsPdlfCZbkyA4pWUGWY7UvsEip3yvwWWWjtHLVudIcPGeL1Iu4yCN9SrrlQGUkdc6fM7ZuotijexNPmJQvmYD568G++/cAm5lKwoh/C43FzQN124u3xKcJE3l2ZK1MGZMX437yYCW2A0tAObk2QF/rdzEyKnN2Wh0RFNVn9+crZp57xBRsCeX7i9VMc1l1rVRB+tFLwKB1bMfOIbTQ== X-MS-TrafficTypeDiagnostic: SN1PR12MB0429: X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0429; 31:hVyGEpW0G+8RjX3A/No2+znuzN2dUhj5QBdg57/pxUkwQNDw5t7yRhX55K5tM39OTmBCGMphbglbHW7ZGNQtUA07ZaPsMFpfbWCX6U3aAXnxwl5wr5JtIBr6n3DXz9LCK0aPNHiqQHqsluhhtk1qGtsRbrLjwNkXhwlBFFGQ/INGe9ZMctUDKghj1OTzIbPXnIo+qA9VOu798usMz/umtUHYuswmaKPGGsxwiLlCfRE=; 20:11euUz+H9UnfAPmGxZET4jmHAQaZcEMbr14C7yRfvLs1vi8Zdpdn3KX8CVXWpJrXwxNAxMe6C7IvcJetUQYBsYrMZVPh1hAfsv9c6uhxaGSgJUsSDuoZe7jhPtcbtAtLZcCqs4OhcWkYOD794Lh3ZMP5h5s3M6H1nULSLYZ7GpAezQ1+gaFg8v+snGaYUXq73xDaQdJmRDYNX+Xbn/7EfsFrUsjOaf499O6fV8lZXTabPKC+VoANdwjLbQsp3qIciRozVij5kPwx6bXmMmaUAq+w0stKildHH3EDBqLgfZvKGvKiQlAhmbIVNPtmtZsv1CDo/lJoTGgzmUQSwEGGVwFzZuv5i5/+8O1O2yHRCr30LWturgTWg8qIfz0e5vd2NPT/6TUTDYIjmwhPoiJUiBbYwCuXKznFLiGKP/FU+5sutukouLCEumhrd4kwOWbnpBPwvAaEXOB2A1RtTHIK/3X5IpDWXCeU0zjkR3SQYo6u50vtDgZWxsnIZCeB5Ste 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)(3002001)(93006095)(93003095)(3231311)(944501410)(52105095)(10201501046)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123560045)(20161123564045)(20161123562045)(201708071742011)(7699050); SRVR:SN1PR12MB0429; BCL:0; PCL:0; RULEID:; SRVR:SN1PR12MB0429; X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0429; 4:l4OznZXtcb63qy+FrvfpaKyiA4jouaxTua0+yqrlETy0tQQ+/ToGEPXdz+T/n/dOxkj81mJiVlLhyH8W42f7awmCN7lAi7Ay/6s8BfsQJsTVvbRitlBAKbvQ2hLWxHPibgQumvXVAfQS1v7gvqgWNXY+mlxtSr1fazrGAYbkq7sBuDOPe+ft+G4sO3EtaVtTXUadib4Kksw5qGz8mt/5joij1SIKdZsgJNvt7XEF8/8DhPTFouUa5ZKqMqCt3VDghcPYM/CRWwtFA5RXttA2ud3cBSqUjJVbg4M1LVMkWoT+feHKQHNkBOQKWJLerPIo X-Forefront-PRVS: 07935ACF08 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN1PR12MB0429; 23:8ytZXYzAdw5roGXAvG814H5XVBlXQyvaENh34XXIn?= XPV4cY66xTAltUGAPKUZSGYL6ux8meWv3YNcnu1vsp4ZuF0eoczCyggV5gtiu6lA0lqIh8FmkhAbn3iEaRylUjJM61IFjXi6ZMPoPPj+Ai/svDtw6sfPBq+CwfV2slCSR2Sto81gorV68x2rXvYKKFTwmO5j9SjU8vxbZ7/OiAqevgkRyC+1B9/x7xO5YbhSESsVFSX0JWshUhdy084YwvtXETu/tVNwG+8cT64k3kqaW+eRJGG20RztuIeqYHThoYyo1N/EGQh4sdTz7+pV4R4nSsYbP7+2GvAdPu75MzXSC97dDR4ZO0sh8isMH8UvTfUZnQdhNLR9SpH7rri/4oZTzNHSeRkenzhz7eZ8gbqDxcjFNiQVAoqUTBoQ7DuBs+ewVGy7p+idXJ8ppt5M6FTiB12jG1XKVUgLbNQycqB1Et7+njTfw4qOWk5L4N0criJF6oIy/Xt37Qca1ZdAaIiH4dH15Z2KQuzl4pvPJqpOLGA5tVKzkFGGRozLqp6MbqCrlYPmD5jxyVTWJKIBWSRyoAUvTE4DLtqKzAhQSkYnUvO1yWiqwzJ5Eto1SCvYT9ri33XZc4XZtMROFzld3bRxRNKNm2q3llqcxXLJ1334oEmHxvreW1IanU0EqLrP5lbklaKU5puAgMUZTSLcIV6Yo8id2LgOu5I9PO9CvLacy4ZVM21hU57Mlb1ZXagQ2VJyO9xgZ+HV3Bm8Yh0/UzbBtARchp3UL/7JsyqGEgg7T7HHp1/WKvwccS7M+AMa/M/jkqt+mBp7PAFWnkN/g4C+atmp1HOV1dwdGn9HS9KW3gcWYkHwscwVcXMdCxDzn4tWWQPeI7Qq/Q+q+zuts5XnynnBVH373waUHPPpy+dTHSr48uo/vEZP5bVk8aGYO3yPpGqPNgaJFJHzauULVuIUdyhD4z+cKrbUcCsnsYSeg/1pWVtqNxhImtQNnZN/qPn8LhmzkItHlcKM5gWUMkANnEM9Zw7uGMg0feSiiTKNoyf7b+Cpt56QrujWxrRnAI9VJ/ULfkoYVPFaervazeF/qpbtGJjPSvnSe7UJTlEy3SowQc2Wh3adNYaAyvCtgz9oNFHeqlbYqIQyf1BrCduSc6q2Y+3LMqhmU0R0BhdB9YViLcYxyj5sE9DFhFXuVE4uu9EDRJNWekSMWy7LcSc X-Microsoft-Antispam-Message-Info: BxG5E3FHQXCQmN73byVf2dJZpp58EwnBzlHDAhXbs4Twr5f45qk+VixFLKqX7+FBq0IH/p5rlTqeQKef4q8Ew1ZYC9FS6dA2yEt1Ft7fk9KUY7yiEImx0Q+A8fxMQlTtyUCd8WwI4Lsz3EN9l13jwKOug6DEeo2dsLm55wp0t+XJjp2JJFDjtaFyD0q72Q9xiaJL5+OHLZ2cy0mqb2RrQ+QNbxB4goOV53f6sqfv0jd51y91zX3WI9YmTzeeYNGub0PUOSlvC84YFdwiULTHyKlVk33lUM8lB7UtjUmcpA53fjZyKisfbEY8EsTEqBjpnlUV8WpZYMuon9v+6HMOPjNJ0NETZiw1gWyTeCcUt04= X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0429; 6:3GYr7jj3y/rYkKm7BMGFI9+xHYMFIKun4zbD7mbhoidcv6a9gGYn5fR/Mx/RkOdAornerFE/POHdx9RKhFaLUZnK5XXJVrVddfQ1KD1c/V4ExscwXxamKvvjFjby5Ez1kF6LGA5lhC3sJJ0br3YrOw977+vEftj+9S2N55dDwnbiMWKpMIe8hBPgDtW4WpryGCIVt2/uCBSK4PI+7J+F8r0/gbhSQ7Uy/mufp7VuTf1ttmhTUONpY/mJeAxQ4VXSMU6KHZNKPivfzTIkwvtONS7ie5zU4n0ceuojZQ/e4SXc/HHbGht/a6Q6gwcAgEbIReY582kuy0rnj8Pwd6jW34mz0aF9hUSC46DfluigNbs9YqdAnU0lNs0zanDj8DwAyyzsn5hdi/D0Zbvaxkr8FDs/Ye7b94klu4Wm+eefwnGlZxD7zncyWpUXMzQzmbgON5RIgrJYdZdeG5hyIcjFzw==; 5:Na0gI9/qUvInX32xdfDj3B7YWrvhiWzDijs72EqH9/wuY04Ze5EH7rN9tFVaRfMT6B0cVR1eMtnTdmY/SW+8KGZgDn9k7evKVwqzoI/XuCfnj8lXH7xtj8frH+Xyj3pF/vwUyWagrYZK+JQymWCOsPUCpJeoS7ScLK995oogixY=; 7:QwmfGNuzfIxFw9Aakqb7RSS55Od8MyKgshhulljg10JSLYf34wEBo7Gcns/xLEopPj8UTPqW+zGER0O0RS/ylPTRoRiumE+26qUpnKTNOtuMseV1lLo3bK1qhz1WZvBzC5qt7REqN1Z7Ube5bJk5IgzH6QmJUc66m6mXXGzOiKL9OqGw4tOatVM35j916LHTTX5GzNs4x90kR31FY6n4xJQsdxVceOKMWS4FNru2sM/ip//K4iopQ8b/DoO65c5L SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0429; 20:g8KrRPPFetLvkErsdJ9qOBokYKeWITO3f5+kc9SJT28Ci05cXkOKq8IaOtDD8BBpL64djpaF9AZmb5EEYSys8gDFVpmN5ckpe/14kwCSCFxFbjBJqGQ+A0TdajgPzSLbfgMx7zz9mN+K/ikdZ5/I/W5kIYarQIyQqHhMXdIwE4aLNVPBCVfESgIKfHIa7GbaSq/CWtjXqfD9AljKEBdJF7wieApeQSIiPvs3UJRSe9CwnxF3XDMcZr6P+Mx8u+E3 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2018 09:51:22.2089 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ba54cb0a-d9b7-4e93-2265-08d618954c01 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: SN1PR12MB0429 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 --- xf86drm.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ xf86drm.h | 6 ++++++ 2 files changed, 50 insertions(+) diff --git a/xf86drm.c b/xf86drm.c index b2388194..0cd1cb75 100644 --- a/xf86drm.c +++ b/xf86drm.c @@ -4249,3 +4249,47 @@ int drmSyncobjSignal(int fd, const uint32_t *handles, uint32_t handle_count) ret = drmIoctl(fd, DRM_IOCTL_SYNCOBJ_SIGNAL, &args); return ret; } + +int drmSyncobjTimelineWait(int fd, uint32_t *handles, uint64_t *points, + unsigned num_handles, + int64_t timeout_nsec, unsigned flags, + uint32_t *first_signaled) +{ + struct drm_syncobj_timeline_wait args; + int ret; + + memclear(args); + args.handles = (uintptr_t)handles; + args.points = (uint64_t)(uintptr_t)points; + args.timeout_nsec = timeout_nsec; + args.count_handles = num_handles; + args.flags = flags; + + ret = drmIoctl(fd, DRM_IOCTL_SYNCOBJ_TIMELINE_WAIT, &args); + if (ret < 0) + return -errno; + + if (first_signaled) + *first_signaled = args.first_signaled; + return ret; +} + + +int drmSyncobjQuery(int fd, uint32_t *handles, uint64_t *points, + uint32_t handle_count) +{ + struct drm_syncobj_timeline_query 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_QUERY, &args); + if (ret) + return ret; + return 0; +} + + diff --git a/xf86drm.h b/xf86drm.h index 7773d71a..49a40633 100644 --- a/xf86drm.h +++ b/xf86drm.h @@ -875,6 +875,12 @@ 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 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); #if defined(__cplusplus) } 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) From patchwork Wed Sep 12 09:50:48 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chunming Zhou X-Patchwork-Id: 10597251 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 0E02D920 for ; Wed, 12 Sep 2018 09:52:33 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id F0F8F296EE for ; Wed, 12 Sep 2018 09:52:32 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E5031296FC; Wed, 12 Sep 2018 09:52:32 +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 392C1296EE for ; Wed, 12 Sep 2018 09:52:32 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id ADB706E4E8; Wed, 12 Sep 2018 09:52:30 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0068.outbound.protection.outlook.com [104.47.38.68]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7CBCB6E4E8; Wed, 12 Sep 2018 09:52:29 +0000 (UTC) Received: from DM5PR12CA0022.namprd12.prod.outlook.com (2603:10b6:4:1::32) by DM3PR12MB0745.namprd12.prod.outlook.com (2a01:111:e400:5984::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1122.16; Wed, 12 Sep 2018 09:52:27 +0000 Received: from BY2NAM03FT014.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e4a::204) by DM5PR12CA0022.outlook.office365.com (2603:10b6:4:1::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1122.16 via Frontend Transport; Wed, 12 Sep 2018 09:52:27 +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 BY2NAM03FT014.mail.protection.outlook.com (10.152.84.239) 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:52:27 +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:52:24 -0500 From: Chunming Zhou To: Subject: [PATCH libdrm 5/5] [libdrm] add syncobj timeline tests Date: Wed, 12 Sep 2018 17:50:48 +0800 Message-ID: <20180912095048.928-5-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)(136003)(376002)(39860400002)(346002)(396003)(2980300002)(428003)(199004)(189003)(6916009)(8936002)(478600001)(104016004)(6666003)(97736004)(81156014)(81166006)(53416004)(305945005)(2906002)(68736007)(76176011)(356003)(53936002)(106466001)(36756003)(2351001)(47776003)(50226002)(7696005)(51416003)(486006)(126002)(426003)(476003)(2616005)(11346002)(446003)(450100002)(72206003)(8676002)(316002)(77096007)(26005)(6346003)(105586002)(186003)(86362001)(336012)(4326008)(48376002)(1076002)(50466002)(54906003)(5660300001)(14444005)(16586007); DIR:OUT; SFP:1101; SCL:1; SRVR:DM3PR12MB0745; H:SATLEXCHOV01.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoDomainNonexistent; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: 1; BY2NAM03FT014; 1:n8Zilc+dcN2ZQYdiQLPoDe+NTV8+8Usxmv9ywkXQem3Xwpz/PyWTut7mgNKKHqfA2CtFkZYCRMHaAitA82q4v6InCcYVstCwpNFI2L+d1eJc1ywD4IbyHv++nGpGmxl1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 529a63c9-c65b-4e43-b48f-08d6189572ce X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(2017052603328)(7153060); SRVR:DM3PR12MB0745; X-Microsoft-Exchange-Diagnostics: 1; DM3PR12MB0745; 3:Vnf3Ycc80sX+0a0ZNuCuNaKLFh9xHLXCHoPAQeciTAC07BCoqSx1fzMNbvpSHQ9MDRWW4w3OS9FQghYNOKgFMHyxolE/sHujMSBupGcjT84HucBq1kq/GN/Wb5NQmhDjTGrta755EsquuRBeLz8LTX6W4Y+n+77i7qwVBmhQdEgYvCmCiAL3XbcogizsqYU3YOGqmjZuxLrl9/cFWpsgOnHgcm1oGH2D/wK4iBVyIFTIixWFJUSTwTSqy+sjxJQ21n4w02ZH1N90ntV0xjbJDYf9nCj38CGfYH5zfUTWcbCEBh+NsF/R0rcSAyDPFOC/MH332FyampIyhRfb/gbuxIxc3GUxgQrO5UkMFYvAakg=; 25:u6ymuft9kMWiaY81vr1TqUbkbQBpBWOVYsGmeD4MFcaPkuEgSV6PhvFQQfzdsIA20bd/aS12SwS6vd3U0FfagG2TH84s9+pmuiv1E5lzfFoXK1U1yM7vDliN38KR8tmSqUfAlGi6MGB20lXK42QSSL/DLYKnr5Q9Ao+eicB3K3M/Ilgxyxu2ab9HJmxypSOeXecpLeqq94ni8rP13N8slb16qVPUpEE7MtynwJTeN1InzadLeEWX255ufu8v1M8TYc1RyjiOTuWOnV7cTIE4Plevu7Ncw/Bi0BxIDFERP7dCR8nafJs/b1XyS3iXHp1fJ6CkH3X0wEhyriqvdAVa7A== X-MS-TrafficTypeDiagnostic: DM3PR12MB0745: X-Microsoft-Exchange-Diagnostics: 1; DM3PR12MB0745; 31:iR+px+Xl40/1856vgCHF/btoFTCAI5WYG8Wd91LYg/UYhiPO+J8G01KCP9yl1aJkUQ5cX/kjl+XU/RrKniCGnGIcgehgMPYikZE0Wmiz7WqETa4IdRzDILp+AcTWLtmwCM4jpIbmyyVhHqyxlDem3KzjKVtpYu8c82WX6U6SmsdDCA2A7mU9P57T3Hzg0s3xNpsM7INOlIPeOjQfyLfFW+tluZVG/FVQSybVzbW8i38=; 20:AI/LqqfAs/7+2OLlOaQ8pomJVz4U9L7jUfoDRJrfLNALHv5wPYGP6hsCLoYlBrpMbsJQTPyAmqvhQXJV6m/3gIvHReXUmEcP4Mqc49oQ1d1mMXS7+bUDqV33UcFbH1FNHOS/jzIAcLTFfgLFoOrHzc23HLUmb1fw+2hD0ZGITefxUBI0ebPKj0xphlDuLJWgL2Z5QQOAgAAnfeEuAvPZW37Ul4atr+uO1BCSZGT9n6BjhNg0lFtq6rgV/hN+TIn72YgHWp4A4rgKoZBA8jaPjVgywqiLSbvudjD6RYLeynXHgqwrqHcJuoyActONWDdMYNHadF7P4WaHLgldwsCVho69f0YHiOHosUEcb+QL32iCDXiUbumyyNeJHaBTs3hl1YYn2RDa/GJ98edu8/q6thpYXM1guWTwk5cMBt2inRFIOeLbz5boTGA6+Uv2fdzaMgK/XjWw8m1wAbvPmyHb2S0aI61r3HGwtsPMC8022XNP15tV1rUQs2Z1Fp4YTvSw 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)(8121501046)(5005006)(10201501046)(93006095)(93003095)(3231344)(944501410)(52105095)(3002001)(6055026)(149027)(150027)(6041310)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123558120)(201708071742011)(7699050)(76991041); SRVR:DM3PR12MB0745; BCL:0; PCL:0; RULEID:; SRVR:DM3PR12MB0745; X-Microsoft-Exchange-Diagnostics: 1; DM3PR12MB0745; 4:D95LfsF9riuxpj/8UKlpTd47eQGvMRF5EduNVYBmFntV6fJTabJ0EYLzOBy3aexwBrfCakUm7nnOJ8bho0ahTpjE6BXetQSBD/NiOfeuvsUZitj7XU0fnLNvGEB1dNI09C32cIuCZhqcAgiunHxarrXWLKAlF7slEXw4LgrwegD4rp/AkH9mLjWZPePiMoOVlJQ21p+GGdwRueKdIjksE6gv4BMK2Y/2uYSpFX5En8NjvUCbAuG8KjA36qpoDAeh7U1c3L/sJFKwgyVHlP0WbJjXC1oJj4e6MuyqQgcivobNS4K8wM3hXM32uxjFeMX6 X-Forefront-PRVS: 07935ACF08 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM3PR12MB0745; 23:XoDtG20VJ00bf4M78sLJoq06D/tu1lKkhiBAzMnZM?= qhKhvrlhiiJYKi1PxH5gch8TGyWR9CNSyNWt4aRhKy5COeMQr/3lJEa2AAPvv3EC5phucRutLYmR05NbjM8ecsBZDnDfVBjOwcP1dvWJ3lmEoxYrURBEOWDRPQFDQzFItBXBzXAj5Fnj/5MwgzNpEowlcYceNK1YmQb58IuSH92LNmNNuYdeWrKKH9r0GYm90YL/qBzMzG5mxyWUDlTBBS83Kbwc+6ua6iMc2bxMM/dVD+EjcIoEPF2lVoC/ADKQRSV15KpPhK7D9GMcTWSmmsGUwhUSjNq+g/YwRIrOnCz82OqwGhQnHzoU7Oq/3BNP2j3KgapVysNiSsUZ1Oaxb1k1ba99IOxpZ/G2/M43DxPj2CdbQ7aNUk+IOnknm+nl3C7rg7Dw3VCk6xkMvUiTX6zqYujjOgK5iDufH7oqdEl2fL5TrK9G2gdXtPoX/YaybkANrjAlhLnS94IPzZad/6a8+ZN5CRZl2tPI1PwOUhIn88RDCQD7ac3/PM35UgYAxEFCjcbIh2HxiSFt2d0nVn6/inTAOsvyBaL/vSXD0SVK7PmFSBtcLwDhm/dD61FCFgeaanNKBd3a0wz0ppiskNyBnYIw7aI/ElSyuWtsqVShGhnn5zcwkKpwK2rsNELABWqnge/nVA7MP3ztSs/XQySjtL8waMUG7ODoJdOdCxnUBAY9cQb+kiDF7XyRZIUQEsUi0kDdVAVFEt7s2Wd4LIrJJr/MXS1IXCkNkDbkAQH7pFk656VAqISplrbCEoVWNQTNGyBjTkU0W0sCJHSboe54yr5TgIs4amJzYr0BC/npY9QCCEzKvFjAo1AbxLGpIzfsv/lWrJs9Tlk52nePidc1E8lClHV95ms5QoXAdZ/qzqEt/oesDUNnIrcaVO+oU2QqSQkdNGx67vQs04FpFhkfYQlz9vDMHry9V8N2WkcheNx25VT7MVXFUopjRsKVqdtB1W/cTYkNgXyJ+fekY2KTlmrBR3WhH0nC22S8r2cewwdSURHGJ7BRKjeU5pvbVX7pDovmn/CgNU7WVMC9NAnDo6wk07eD4O46kcyGkK1Y5DO7oPrZRNVxEA58RfUom0jCktdCeiaQ0LGdDBxZ9VmaKuVqoL0QyHLt/gQ58xNDQmtSwUt6sN1Z+775/YW+Bvtk/Ores8sJ+ToNPL3Nr+wEsfIE3fmCPKLGmMUVKM4XJyMvBq3N7thouki8uuaNUs= X-Microsoft-Antispam-Message-Info: CY86fbbqFlydGdDqABr5laUWu/jLhnrkZkMzKNI7kp51LzRZZPfNa6bhHJ/sxvdTzOTbJTYs1kKza/S9Osrotf+tjBn4n+b8NhWQqnHOwnUakCjQ2okWm5i9qh6Mqw8UJMRBAex+peqjWfQUswt1rMAX6trz7Lx8z3KTqcHycAmPJh+mZulazEfgQk1KkmIGCpPpDdiRQnr8Pk6/j7Xralw+f47akr4HXbFUEJZblCd+B5CV/9npzvYSFZpaYPIaeVogENN7YsFl7hUWmtaGhXjbPGz9Y5F5MFIBDhIqtiH1TLRnzWKorN+5rd06ZP4KfF7zr1IDmsAbzm3rQl8oepKxJZBeJtn6pSHivh+FkDc= X-Microsoft-Exchange-Diagnostics: 1; DM3PR12MB0745; 6:kLxTTCdRsiofEW+XoI1ejlvmodmkjEtGymWfLELTpanS3J5NJI5eKZ+KXaE4owWBJK9NLIP2GvLV7c7y0TIpX5tSaAASYZ9JFtEUyPOhXA4e+KN5HPlWLLAL4vIGddZGCRCThbPaDnF1LHU7r4IR/C+WtemArrgYYDApv9npxQxjwbi3CMn17c5v99ZyLyXCUwRhUyod+OBaSIJo2KOkPpLluHAtTJEXJlveovRfKv5k4Nt/psubQ16Li1nUc0NojUy8WSn/cJoFj4v1JtK8CQa0r98upKfE04+pYkH/OuMx3VphUAFD3TC4Gjni8Jy/Rh4zU68dNIsp4Di9zbwTAXOggWILPdgYB0pimExyljO55+BugwhEYomwNo3ooK7BIdhXUh0JUfwGilYtSNk74uHRZNKbVIGmgb1Ca74pMhRIHlOvNJUfdrFceY2o93f9Ntfe53gi3gszT9qwUpsNTw==; 5:q8IqqGF4gJ9Df9+x7okjC3Vy819+wEchwTC5gVuxrXwnqOdilmIOuqULdS2ve8ZepIH0WJ84YxC3uAc0rZ4Z7KU4y3qq8db14BRb5ckOZ01r6S1RHwImaBJM1yBWeN58nHIdl+Ri1yLURFI1iOLoaidNaDO+83evpJmgydakeP4=; 7:eqyRdBxwkVhlG+Jcr6M0ysw0s7neuiF4ENNp1V/fL1RCXAikjtSh6M1f1GJerdq/dvnP/TH84rdzG/uPRcriSVYwQklDFiS98O2iBKzG7qpEUHFX+q2YC1Cy8UjkJVPO8YYtmoc3j8GVjb6x3tQFqAb2+YsaGxSUDGyArJNthzPUSZhpsJiPrvNZRHjTWweM7o6+tQqJmK6ixl7m3GQllOdyRwvO+1mdphJ0qUF/i54jSl+hq9S9wbtSmBDV/lU9 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM3PR12MB0745; 20:2JUGQ0oYUTlWuojORXDkXeFDBlOncJrcZKiMCi7e5rYIvthmPEB3O8Kc/stjgCRHLfS7bEC8Y4cHs4TOieyhDOqYUylyA7K922wT/5gNu/nnBSDBw+2D/LaqETlhuaMASWE5RZ/K3SFIDJuAfvw/sVlB1AjNX2hIQxNMKBnhBTa3q9uQXOqpQ5eLJTXJjjk/92JdaiW/g8oMOejgXndoUaElpx0sz5i3RSj78VyHneCS8F7tDzdeymuLPUPs+NIf X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2018 09:52:27.2971 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 529a63c9-c65b-4e43-b48f-08d6189572ce 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: DM3PR12MB0745 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 --- tests/amdgpu/Makefile.am | 3 +- tests/amdgpu/amdgpu_test.c | 12 ++ tests/amdgpu/amdgpu_test.h | 21 +++ tests/amdgpu/meson.build | 2 +- tests/amdgpu/syncobj_tests.c | 258 +++++++++++++++++++++++++++++++++++ 5 files changed, 294 insertions(+), 2 deletions(-) create mode 100644 tests/amdgpu/syncobj_tests.c diff --git a/tests/amdgpu/Makefile.am b/tests/amdgpu/Makefile.am index e79c1bd3..61f2b426 100644 --- a/tests/amdgpu/Makefile.am +++ b/tests/amdgpu/Makefile.am @@ -32,4 +32,5 @@ amdgpu_test_SOURCES = \ vcn_tests.c \ uve_ib.h \ deadlock_tests.c \ - vm_tests.c + vm_tests.c \ + syncobj_tests.c diff --git a/tests/amdgpu/amdgpu_test.c b/tests/amdgpu/amdgpu_test.c index 96fcd687..cdcb93a5 100644 --- a/tests/amdgpu/amdgpu_test.c +++ b/tests/amdgpu/amdgpu_test.c @@ -56,6 +56,7 @@ #define UVD_ENC_TESTS_STR "UVD ENC Tests" #define DEADLOCK_TESTS_STR "Deadlock Tests" #define VM_TESTS_STR "VM Tests" +#define SYNCOBJ_TIMELINE_TESTS_STR "SYNCOBJ TIMELINE Tests" /** * Open handles for amdgpu devices @@ -116,6 +117,12 @@ static CU_SuiteInfo suites[] = { .pCleanupFunc = suite_vm_tests_clean, .pTests = vm_tests, }, + { + .pName = SYNCOBJ_TIMELINE_TESTS_STR, + .pInitFunc = suite_syncobj_timeline_tests_init, + .pCleanupFunc = suite_syncobj_timeline_tests_clean, + .pTests = syncobj_timeline_tests, + }, CU_SUITE_INFO_NULL, }; @@ -165,6 +172,11 @@ static Suites_Active_Status suites_active_stat[] = { .pName = VM_TESTS_STR, .pActive = suite_vm_tests_enable, }, + { + .pName = SYNCOBJ_TIMELINE_TESTS_STR, + .pActive = suite_syncobj_timeline_tests_enable, + }, + }; diff --git a/tests/amdgpu/amdgpu_test.h b/tests/amdgpu/amdgpu_test.h index f2ece3c3..960df046 100644 --- a/tests/amdgpu/amdgpu_test.h +++ b/tests/amdgpu/amdgpu_test.h @@ -194,6 +194,27 @@ CU_BOOL suite_vm_tests_enable(void); */ extern CU_TestInfo vm_tests[]; +/** + * Initialize syncobj timeline test suite + */ +int suite_syncobj_timeline_tests_init(); + +/** + * Deinitialize syncobj timeline test suite + */ +int suite_syncobj_timeline_tests_clean(); + +/** + * Decide if the suite is enabled by default or not. + */ +CU_BOOL suite_syncobj_timeline_tests_enable(void); + +/** + * Tests in syncobj timeline test suite + */ +extern CU_TestInfo syncobj_timeline_tests[]; + + /** * Helper functions */ diff --git a/tests/amdgpu/meson.build b/tests/amdgpu/meson.build index 4c1237c6..3ceec715 100644 --- a/tests/amdgpu/meson.build +++ b/tests/amdgpu/meson.build @@ -24,7 +24,7 @@ if dep_cunit.found() files( 'amdgpu_test.c', 'basic_tests.c', 'bo_tests.c', 'cs_tests.c', 'vce_tests.c', 'uvd_enc_tests.c', 'vcn_tests.c', 'deadlock_tests.c', - 'vm_tests.c', + 'vm_tests.c', 'syncobj_tests.c', ), dependencies : [dep_cunit, dep_threads], include_directories : [inc_root, inc_drm, include_directories('../../amdgpu')], diff --git a/tests/amdgpu/syncobj_tests.c b/tests/amdgpu/syncobj_tests.c new file mode 100644 index 00000000..196c66d2 --- /dev/null +++ b/tests/amdgpu/syncobj_tests.c @@ -0,0 +1,258 @@ +/* + * Copyright 2017 Advanced Micro Devices, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * +*/ + +#include "CUnit/Basic.h" + +#include "amdgpu_test.h" +#include "amdgpu_drm.h" +#include "amdgpu_internal.h" +#include + +static amdgpu_device_handle device_handle; +static uint32_t major_version; +static uint32_t minor_version; + +static void amdgpu_syncobj_timeline_test(void); + +CU_BOOL suite_syncobj_timeline_tests_enable(void) +{ + return CU_TRUE; +} + +int suite_syncobj_timeline_tests_init(void) +{ + int r; + + r = amdgpu_device_initialize(drm_amdgpu[0], &major_version, + &minor_version, &device_handle); + + if (r) { + if ((r == -EACCES) && (errno == EACCES)) + printf("\n\nError:%s. " + "Hint:Try to run this test program as root.", + strerror(errno)); + return CUE_SINIT_FAILED; + } + + return CUE_SUCCESS; +} + +int suite_syncobj_timeline_tests_clean(void) +{ + int r = amdgpu_device_deinitialize(device_handle); + + if (r == 0) + return CUE_SUCCESS; + else + return CUE_SCLEAN_FAILED; +} + + +CU_TestInfo syncobj_timeline_tests[] = { + { "syncobj timeline test", amdgpu_syncobj_timeline_test }, + CU_TEST_INFO_NULL, +}; + +#define GFX_COMPUTE_NOP 0xffff1000 +#define SDMA_NOP 0x0 +static int syncobj_command_submission_helper(uint32_t syncobj_handle, bool + wait_or_signal, uint64_t point) +{ + amdgpu_context_handle context_handle; + amdgpu_bo_handle ib_result_handle; + void *ib_result_cpu; + uint64_t ib_result_mc_address; + struct drm_amdgpu_cs_chunk chunks[2]; + struct drm_amdgpu_cs_chunk_data chunk_data; + struct drm_amdgpu_cs_chunk_syncobj syncobj_data; + struct amdgpu_cs_fence fence_status; + amdgpu_bo_list_handle bo_list; + amdgpu_va_handle va_handle; + uint32_t expired, flags; + int i, r; + uint64_t seq_no; + static uint32_t *ptr; + + r = amdgpu_cs_ctx_create(device_handle, &context_handle); + CU_ASSERT_EQUAL(r, 0); + + r = amdgpu_bo_alloc_and_map(device_handle, 4096, 4096, + AMDGPU_GEM_DOMAIN_GTT, 0, + &ib_result_handle, &ib_result_cpu, + &ib_result_mc_address, &va_handle); + CU_ASSERT_EQUAL(r, 0); + + r = amdgpu_get_bo_list(device_handle, ib_result_handle, NULL, + &bo_list); + CU_ASSERT_EQUAL(r, 0); + + ptr = ib_result_cpu; + + for (i = 0; i < 16; ++i) + ptr[i] = wait_or_signal ? GFX_COMPUTE_NOP: SDMA_NOP; + + chunks[0].chunk_id = AMDGPU_CHUNK_ID_IB; + chunks[0].length_dw = sizeof(struct drm_amdgpu_cs_chunk_ib) / 4; + chunks[0].chunk_data = (uint64_t)(uintptr_t)&chunk_data; + chunk_data.ib_data._pad = 0; + chunk_data.ib_data.va_start = ib_result_mc_address; + chunk_data.ib_data.ib_bytes = 16 * 4; + chunk_data.ib_data.ip_type = wait_or_signal ? AMDGPU_HW_IP_GFX : + AMDGPU_HW_IP_DMA; + chunk_data.ib_data.ip_instance = 0; + chunk_data.ib_data.ring = 0; + chunk_data.ib_data.flags = 0; + + chunks[1].chunk_id = wait_or_signal ? + AMDGPU_CHUNK_ID_SYNCOBJ_TIMELINE_WAIT : + AMDGPU_CHUNK_ID_SYNCOBJ_TIMELINE_SIGNAL; + chunks[1].length_dw = sizeof(struct drm_amdgpu_cs_chunk_syncobj) / 4; + chunks[1].chunk_data = (uint64_t)(uintptr_t)&syncobj_data; + syncobj_data.handle = syncobj_handle; + syncobj_data.point = point; + + r = amdgpu_cs_submit_raw(device_handle, + context_handle, + bo_list, + 2, + chunks, + &seq_no); + CU_ASSERT_EQUAL(r, 0); + + + memset(&fence_status, 0, sizeof(struct amdgpu_cs_fence)); + fence_status.context = context_handle; + fence_status.ip_type = wait_or_signal ? AMDGPU_HW_IP_GFX: + AMDGPU_HW_IP_DMA; + fence_status.ip_instance = 0; + fence_status.ring = 0; + fence_status.fence = seq_no; + + r = amdgpu_cs_query_fence_status(&fence_status, + AMDGPU_TIMEOUT_INFINITE,0, &expired); + CU_ASSERT_EQUAL(r, 0); + + r = amdgpu_bo_list_destroy(bo_list); + CU_ASSERT_EQUAL(r, 0); + + r = amdgpu_bo_unmap_and_free(ib_result_handle, va_handle, + ib_result_mc_address, 4096); + CU_ASSERT_EQUAL(r, 0); + + r = amdgpu_cs_ctx_free(context_handle); + CU_ASSERT_EQUAL(r, 0); + + return r; +} + +struct syncobj_point { + uint32_t syncobj_handle; + uint64_t point; +}; + +static void *syncobj_wait(void *data) +{ + struct syncobj_point *sp = (struct syncobj_point *)data; + int r; + + r = syncobj_command_submission_helper(sp->syncobj_handle, true, + sp->point); + CU_ASSERT_EQUAL(r, 0); + + return (void *)r; +} + +static void *syncobj_signal(void *data) +{ + struct syncobj_point *sp = (struct syncobj_point *)data; + int r; + + r = syncobj_command_submission_helper(sp->syncobj_handle, false, + sp->point); + CU_ASSERT_EQUAL(r, 0); + + return (void *)r; +} + +static void amdgpu_syncobj_timeline_test(void) +{ + static pthread_t wait_thread; + static pthread_t signal_thread; + static pthread_t c_thread; + struct syncobj_point sp1, sp2, sp3; + uint32_t syncobj_handle; + uint64_t payload; + uint64_t wait_point; + int r; + void *tmp; + + r = amdgpu_cs_create_syncobj2(device_handle, DRM_SYNCOBJ_CREATE_TYPE_TIMELINE, + &syncobj_handle); + CU_ASSERT_EQUAL(r, 0); + + // wait on point 5 + sp1.syncobj_handle = syncobj_handle; + sp1.point = 5; + r = pthread_create(&wait_thread, NULL, syncobj_wait, &sp1); + CU_ASSERT_EQUAL(r, 0); + + // signal on point 10 + sp2.syncobj_handle = syncobj_handle; + sp2.point = 10; + r = pthread_create(&signal_thread, NULL, syncobj_signal, &sp2); + CU_ASSERT_EQUAL(r, 0); + + r = pthread_join(wait_thread, &tmp); + CU_ASSERT_EQUAL(r, 0); + CU_ASSERT_EQUAL(tmp, 0); + + r = pthread_join(signal_thread, &tmp); + CU_ASSERT_EQUAL(r, 0); + CU_ASSERT_EQUAL(tmp, 0); + + //query timeline payload + r = amdgpu_cs_syncobj_query(device_handle, &syncobj_handle, &payload, 1); + CU_ASSERT_EQUAL(r, 0); + CU_ASSERT_EQUAL(payload, 10); + + //signal on point 16 + sp3.syncobj_handle = syncobj_handle; + sp3.point = 16; + r = pthread_create(&c_thread, NULL, syncobj_signal, &sp3); + CU_ASSERT_EQUAL(r, 0); + //CPU wait on point 16 + wait_point = 16; + r = amdgpu_cs_syncobj_timeline_wait(device_handle, &syncobj_handle, + &wait_point, 1, + 0x10000000000, //10s + DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL, + NULL); + CU_ASSERT_EQUAL(r, 0); + r = pthread_join(c_thread, &tmp); + CU_ASSERT_EQUAL(r, 0); + CU_ASSERT_EQUAL(tmp, 0); + + r = amdgpu_cs_destroy_syncobj(device_handle, syncobj_handle); + CU_ASSERT_EQUAL(r, 0); + +}