From patchwork Fri Dec 7 09:57:57 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Chunming Zhou X-Patchwork-Id: 10717777 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 1189113BF for ; Fri, 7 Dec 2018 09:58:21 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 000852E747 for ; Fri, 7 Dec 2018 09:58:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E84292E75E; Fri, 7 Dec 2018 09:58:20 +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=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 9669A2E747 for ; Fri, 7 Dec 2018 09:58:20 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 7AAA66E700; Fri, 7 Dec 2018 09:58:18 +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-eopbgr750081.outbound.protection.outlook.com [40.107.75.81]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0DDBB6E700; Fri, 7 Dec 2018 09:58:17 +0000 (UTC) Received: from BN6PR1201CA0021.namprd12.prod.outlook.com (2603:10b6:405:4c::31) by BN4PR12MB0835.namprd12.prod.outlook.com (2a01:111:e400:59bd::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1404.22; Fri, 7 Dec 2018 09:58:15 +0000 Received: from BY2NAM03FT029.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e4a::205) by BN6PR1201CA0021.outlook.office365.com (2603:10b6:405:4c::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1404.17 via Frontend Transport; Fri, 7 Dec 2018 09:58:14 +0000 Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) Received: from SATLEXCHOV02.amd.com (165.204.84.17) by BY2NAM03FT029.mail.protection.outlook.com (10.152.84.213) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1404.17 via Frontend Transport; Fri, 7 Dec 2018 09:58:14 +0000 Received: from zhoucm1.amd.com (10.34.1.3) by SATLEXCHOV02.amd.com (10.181.40.72) with Microsoft SMTP Server id 14.3.389.1; Fri, 7 Dec 2018 03:58:13 -0600 From: Chunming Zhou To: , , Subject: [PATCH libdrm 1/7] new syncobj extension v2 Date: Fri, 7 Dec 2018 17:57:57 +0800 Message-ID: <20181207095803.2155-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)(346002)(39860400002)(136003)(396003)(2980300002)(428003)(189003)(199004)(54906003)(426003)(47776003)(2616005)(476003)(486006)(316002)(336012)(36756003)(5820100001)(105586002)(68736007)(77096007)(26005)(5660300001)(186003)(126002)(478600001)(305945005)(7696005)(72206003)(110136005)(23676004)(50466002)(106466001)(97736004)(86362001)(2201001)(356004)(6666004)(4326008)(8676002)(81156014)(81166006)(8936002)(50226002)(104016004)(53416004)(2906002)(450100002)(53936002)(2870700001)(1076002); DIR:OUT; SFP:1101; SCL:1; SRVR:BN4PR12MB0835; H:SATLEXCHOV02.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoDomainNonexistent; MX:1; A:1; X-Microsoft-Exchange-Diagnostics: 1; BY2NAM03FT029; 1:0WwymBU7KU7RLcq87ZYnSQn9W6DBBteHqGxtbLXy2mBXoBWAeSe827O1337iixsjQ3Q6QKezLk+iyoWhwQ7atNhZjeymdBewM3wqDNA5tMBray4TrtzVGxIHOwsFDWow X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 857c5482-af5a-4fa9-44cb-08d65c2a8111 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390098)(7020095)(4652040)(8989299)(5600074)(711020)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060); SRVR:BN4PR12MB0835; X-Microsoft-Exchange-Diagnostics: 1; BN4PR12MB0835; 3:e8NqsUCBAGog334Evor8AOk3rgkeOt7s1b46SqHhs1zW1724N9bT7GXclOG9Tu/+4oqiqNWqA7eEuPHnuouvmgvzC9wX+fGHT98we8mPF02I2Vz/qtYW6Yo07b7J/MJ9X16MH3/gFHhAONffNiRCReGqBueiVOjoW041cQOSPCDXxCfmYsGaCrE++LysYdgevQVKPUp4YNgQ/J2LrS/Y4soTtCMxD7rznGn5oMbRh4wnC+7l7LVOJEorFpoybJ5onLFjvPTIUTBs4s572jV/vT6MLEo8SyLSEPhCEaQU3P7OnrOnEsj/iwHDU3A+UNcE5DPQWhZlJm4qK54RcU+NKSJau70XVF7KPyfy3mFdCdg=; 25:PUsbBJcu8ZlLA6hLOk6YHBKqEZt4adwMLfypTeUro2XqxvIZG7QeKHsKQ14LLO3E4BwTKmhWPo+V2HLKKou3g7oKh5ySAZ7tQctj49viY3MrccibHgTkktv8E6Q83HO90sxGLk1cw/BQ+c0c0kBvWgfVb4mfAD63g6JeEulwvSFHXtXiCfocdYcosvUYX5JC3ytm8C+CBoa6Kyg732PCTrI3F7I3frRbgN3a5DtXFfn44ZkpZRN2j/xBM1Tm/PA9wPTIxvj2bL27l2flKQS/tTGKWWelDIDHWUtKUhOEOWum8im9gqCItYT2DbDjKMUV5oEVv26S85Rnc5HyY2HvnA== X-MS-TrafficTypeDiagnostic: BN4PR12MB0835: X-Microsoft-Exchange-Diagnostics: 1; BN4PR12MB0835; 31:V7GpNKSyNiG4FLIDXsQ5K2uu4CpPyshXKABYTpdRi+VDG9J3LjtaWHUnth1Wz2PPSewY1vMnYF2fubs9G3Owgb0cxA79SOwPesZKmFAOXH5PYmFu/wku/Bg9tM1UdzIMfIL05TwPGx95GoyOxRgcSIYvNOaZvCGjy9QeQXEH0okA0vpMooc/vpGHOwFXFk+7A6qUtGFWqWmDcDM7MMfkxdD6G39zwHk0VGO1k3mTNzk=; 20:QSyQgmTsPgwyjc+Kr+HO7mcg0HkaxMWB1h1B9fZEl7Dwq/PfBsQT52TXTx/2gmRRgJ80CQoQC2P3rbecJc6avyEDu+qixusNRlZBF5bUN6QE2K4ElyprV2yFVLL2FPwUrogyWWXSErLAehiauT3i7gV2TCoMSFdtVgv/KlChMEbwseehzaVdum0pJse3C/rNAkhLEEo70s4R5Tus09PhKlShTnP6KuW8fKEM+TZ2IS7y0LkIXN8GGKd7VL404+6bS34bXCy+qJixtC9ppWBg+gLvbdQgZFaT3PUdcBVSlSlg3aVUQVChKVWqd45qXOzaYtXwA32AGV5h7JsDGEJtkk1147apEph3VBw6n8xFMVf3bjjKfqfSLlj5yF8AWW+VtJUP+OC7DW473Ue5md64BbkhJ8oz+0yviL5Yfp0hW4y88TxeXduPJY3ohc8r6Qwrs+mm9gBeoQeGJBFE/gnH2pL7xfpiC1D4UdAUM8gyejwcGswiLvEQc/Zr3gB6J/Kq 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)(3231455)(999002)(944501520)(52105112)(93006095)(93003095)(3002001)(10201501046)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123560045)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:BN4PR12MB0835; BCL:0; PCL:0; RULEID:; SRVR:BN4PR12MB0835; X-Microsoft-Exchange-Diagnostics: 1; BN4PR12MB0835; 4:hX6ByzpEeFVBg88ZVTbpcQcJmczz+LDCMAx9K60ptpsC7QoaFtPFf2uzcHlHldyA0P0e+6o2HgPb5qvHwUq3QuTOp96ZnpPSpYjr8XADNg6XS8nY4oSRTx3disxNou+FSj6fN8uFN0r1ty15AA85D3S+mKEU4rhXzf27b/MEXwfi7x5pkOPtBzKZ4c388rPepWMw9pUg17o48zIsWKNCAAyBWLqYVBJ/gOZLHXq9AYpNONl7E5IocaW9QdEwlDq7yOmDi7ipkc5PiXJU1gSDWA== X-Forefront-PRVS: 0879599414 X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BBN4PR12MB0835=3B23=3ArLxcp18?= =?utf-8?q?OU2gd0/TCTkhBW2HSvIBzJDQ1aIwpmvzgqdAGh0dKWelBJfcJwCbptpVtbkBXqQ9e?= =?utf-8?q?GHFU8MX0rjOcSuLMkq5OANCx6K2RcMiiRF5Lqcr+it3H1D+utaKMqqd4h95xJIIwe?= =?utf-8?q?O99t6SIx6meeoVRsZX+mPzxNuxHwY+Fs1aVqFnBqqLhs5TUJRXkJbilXEfvKCei6D?= =?utf-8?q?pVpZKMfzAncL78WAUlUR+UHK9MeV0aGsFh2b3uZKBgLIKr96e85xfeo72KAxk+hxV?= =?utf-8?q?bgizRzB+QvIy/QKet+UJX+ymASdZGUQmlP4oD758HsnPZlSBmMit+iYgmUT+zBXbD?= =?utf-8?q?njBKst7DgkUuxkbIsGiDzvHY9zUMECJDGnHiPRwezVozZZtQGB9I5AEkeLOCqVKDM?= =?utf-8?q?XTkhHYFYKOpX4Js5/HvFdgs7m/uz/UiqwBDapBttXwAUSoffyF/Fzg5hv/GX0m7UR?= =?utf-8?q?18JE1xvvD4oKjsgQ2f4+5zfv65nz1dA44Y9KByuyvCAdqmw0A0QcboEOz8QgiWnVQ?= =?utf-8?q?NSowf3nAHtqAiMHUWqB/Dr4kWIVN2xHHe1WdZXYJ3k68DYmgvUFJZE2DN5RPRp5YK?= =?utf-8?q?lQ9YiERCpj1axh5jmMzvjMXn4k+7E9rQZJpTNMswzCJeTgefakGTivokF5tP7TZFu?= =?utf-8?q?SqrR9gIKLcjyeXZBCnVU9WEYVAojMytpLGllYY4OqIO9aIbz7hbpHqi6ibUL1BAsd?= =?utf-8?q?g6dILb4G26B1VJd6LR7KkSPjF/2WTe4g2V7AiJeydR9RNJGj6jX5Vo/B0VM2HetdL?= =?utf-8?q?Ru3H6DKUhc/6dNbmin4/ksKAVfUhzBkgnHLCGy+POFfrk9MeXFUpJ5Y5jk6BBJIdc?= =?utf-8?q?PpKO6h7QPTFunwIpMIki8C3jzk80Vm2gQTKoJ5j1aU3IV4/MKseW5vcmSb+hNwu5F?= =?utf-8?q?UU6UHmBx0/QfuHVmLK+zUqYh7Vjv2Qyhkt4bDG+FLfosGDKejYGOvF43gWiuGPNVj?= =?utf-8?q?xW5kVku4ia/8QXq0dSE1YbDfTEqayoXkvxlAm0jqiJAQFGDnVWTcx5B0bafKIYlmz?= =?utf-8?q?TBTaxm0Y+cc9KljuonTzNnVA8ppLftKP2+LA90ZK6KPJ5VFjwMGRd2pT6PbpnJGCE?= =?utf-8?q?CGndX7YMKmKUYZaNXAE6zCVAkSI3E+3XUJkBa3ylT6Q+2JDXAE0lLnu37cU1Fw=3D?= =?utf-8?q?=3D?= X-Microsoft-Antispam-Message-Info: uDIS1mkrS/Su2+XwCJOJm1q//g8vjdjN1uhlG7JzmtZxeo+jY6ZFsf2Kg3NMXlfyW9PMJ0FqORmsnGBig0HDvJ65lrAxiNn0lAFC1b3zchgPDbxnEO58gEeG6MRdRr1i7c+WbQwE27hEatfuh3bfOsw1pel+OfwJrc14b7YZbR10MDkFVPEf6AZgC+WQ7rcWnrgXZaVU20Wj5JfxgvlUMOKBYyY2gERv5qHfnRzhA5ergI3x6pnw03aO9vZnGmHLNk8j2fQzrr6wVhCBKUDW78IdBr/FFjFxoucHUUc2A9nUXNR+eS/l4/RJ5zHpffdja2ep32sHfNh5FRF6CIRiTEY/LbIfohfnQRTdY5afBKs= X-Microsoft-Exchange-Diagnostics: 1; BN4PR12MB0835; 6:ra6aPiArXHhF36hK6PK+NzZ3c53my1It+pVyWPub7tEVxuUl4WlExK9Nfvaqyeg1VCsq8nHHilNp4g6ktZchb6xVmcGTAWJ7X+QHNG5zLjWQGsS12UmBydawaqaWCt/1bG02AXSVwhgkry+hqtXKV8LTj/c2WGFUXcS4sBk+b46pEOJJB+Hiqj/SCfC5ErWm2yiSgYQvSUrCb/rpReM1vw38oMEnWgJ+gH53JkwpsDMCanJxTtsHoWEEAsahxfFLxlxZBpEakFp8dttvVmvVMEsYu6qlGC8OvkFhhjuuD82VzpiU67zPrLXjUrxl3nLgoG8jjkNo1IagbjpLVwe3QpNfPpKNN50vyEDPGQq7rJKgLQ594Bd/A5gCd+egxIBO+Aavcv8cSus5/TZVZXtpl1EavaqH1F91RiMZq9DVvDamuTeF4VgQbUOzPlv1ZHQJ1Jw9DIFzxtFtijg3c+f+sA==; 5:gDQtkrL6pO43C1zkhApKxAGi0VUsk4XqalDPseYTQRBGf7pwumeU7cIx7rGpZwX+X5aiBkGEDLhy4k94+zVh6TkkuqJldRz8fArvU9qLaGfhh7gNhw94A63iaO+Y4QQBVeMtdZB1Hv2I9lIwPWd/rnAPF2Xg1szT8awXnAjIdvY=; 7:OGWD3o/5jtHGXRUdrg0exAavYcTiYSNJMQI5hDygeFIsrcIIcKUUzHAtR2ZJJaIlCrtBXNeLwH2kxbKbfSWLKiYdZtbeyzMQwMS1g5j6fi4UGbcchrUY0d+9dRosvEiP2lwkLP3bm+dQQOS9oaQXSQ== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN4PR12MB0835; 20:WeXNhmzDwt2LuJ6IjnoF409JukbTGnBkqA9YyoV3/V6fYK8/9OD0nwURzd7GDNDKPP6gh0Zpc755lV0YqqFO68sHxCq211rgRzG9jd9SM8D+7pfXeAYfQ4hg+llixXOESgZP7g6E0DyxmJyS39X9xQxiY7jOIQlmkC31AjKEjo8RkSCTYPPV8YeGmPqoxDzaWeCxTDKLKGf96eiNltAIjIhkOw7cWyq05m/GkZ6fOs3wcWTrF+NYYOadxB78h7VR X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2018 09:58:14.0934 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 857c5482-af5a-4fa9-44cb-08d65c2a8111 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXCHOV02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN4PR12MB0835 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: =?utf-8?q?Christian_K=C3=B6nig?= Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP v2: drop not implemented IOCTLs and flags Signed-off-by: Chunming Zhou Signed-off-by: Christian König --- include/drm/drm.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/include/drm/drm.h b/include/drm/drm.h index 85c685a2..9ef6b9d0 100644 --- a/include/drm/drm.h +++ b/include/drm/drm.h @@ -729,8 +729,17 @@ struct drm_syncobj_handle { __u32 pad; }; +struct drm_syncobj_transfer { + __u32 binary_handle; + __u32 timeline_handle; + __u64 point; + __u32 flags; + __u32 pad; +}; + #define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL (1 << 0) #define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT (1 << 1) +#define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE (1 << 2) struct drm_syncobj_wait { __u64 handles; /* absolute timeout */ @@ -741,12 +750,31 @@ 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_array { + __u64 handles; + __u64 points; + __u32 count_handles; + __u32 pad; +}; + /* Query current scanout sequence number */ struct drm_crtc_get_sequence { __u32 crtc_id; /* requested crtc_id */ @@ -903,6 +931,13 @@ 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_array) +#define DRM_IOCTL_SYNCOBJ_BINARY_TO_TIMELINE DRM_IOWR(0xCC, struct drm_syncobj_transfer) +#define DRM_IOCTL_SYNCOBJ_TIMELINE_TO_BINARY DRM_IOWR(0xCD, struct drm_syncobj_transfer) +#define DRM_IOCTL_SYNCOBJ_TIMELINE_SIGNAL DRM_IOWR(0xCE, struct drm_syncobj_timeline_array) + + /** * Device specific ioctls should only be in their respective headers * The device specific ioctl range is from 0x40 to 0x9f. From patchwork Fri Dec 7 09:57:58 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chunming Zhou X-Patchwork-Id: 10717779 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 D414817DB for ; Fri, 7 Dec 2018 09:58:24 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C1DA42E748 for ; Fri, 7 Dec 2018 09:58:24 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B66502E75F; Fri, 7 Dec 2018 09:58:24 +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 750FA2E748 for ; Fri, 7 Dec 2018 09:58:24 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 315BA6E707; Fri, 7 Dec 2018 09:58:22 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from NAM04-BN3-obe.outbound.protection.outlook.com (mail-eopbgr680051.outbound.protection.outlook.com [40.107.68.51]) by gabe.freedesktop.org (Postfix) with ESMTPS id A2CD56E707; Fri, 7 Dec 2018 09:58:21 +0000 (UTC) Received: from MWHPR1201CA0015.namprd12.prod.outlook.com (2603:10b6:301:4a::25) by BN1PR12MB0049.namprd12.prod.outlook.com (2a01:111:e400:52::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1404.19; Fri, 7 Dec 2018 09:58:19 +0000 Received: from BY2NAM03FT018.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e4a::207) by MWHPR1201CA0015.outlook.office365.com (2603:10b6:301:4a::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1404.17 via Frontend Transport; Fri, 7 Dec 2018 09:58:18 +0000 Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) Received: from SATLEXCHOV02.amd.com (165.204.84.17) by BY2NAM03FT018.mail.protection.outlook.com (10.152.84.231) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1404.17 via Frontend Transport; Fri, 7 Dec 2018 09:58:17 +0000 Received: from zhoucm1.amd.com (10.34.1.3) by SATLEXCHOV02.amd.com (10.181.40.72) with Microsoft SMTP Server id 14.3.389.1; Fri, 7 Dec 2018 03:58:16 -0600 From: Chunming Zhou To: , , Subject: [PATCH libdrm 2/7] addr cs chunk for syncobj timeline Date: Fri, 7 Dec 2018 17:57:58 +0800 Message-ID: <20181207095803.2155-2-david1.zhou@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181207095803.2155-1-david1.zhou@amd.com> References: <20181207095803.2155-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)(39860400002)(136003)(346002)(376002)(2980300002)(428003)(199004)(189003)(2906002)(97736004)(450100002)(4326008)(8936002)(68736007)(426003)(50226002)(53936002)(50466002)(47776003)(104016004)(48376002)(36756003)(316002)(16586007)(110136005)(53416004)(76176011)(486006)(11346002)(5660300001)(51416003)(2201001)(86362001)(7696005)(81156014)(336012)(478600001)(26005)(8676002)(72206003)(81166006)(476003)(2616005)(1076002)(6666004)(105586002)(356004)(77096007)(305945005)(186003)(126002)(446003)(106466001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN1PR12MB0049; H:SATLEXCHOV02.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoDomainNonexistent; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: 1; BY2NAM03FT018; 1:1IcvWVnBfWtBnhyv8IdXdke6burvpegeOeZQeeGcbPT1BCWS77QPnIYnojyDe5nJJyaaAlNOpVCX5d6NkKunXzNntWLGh0+5SgLTC8c2sdtB/vfRDHVnzMyISz8ovy19 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a39d8179-8208-45f9-6832-08d65c2a8343 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390098)(7020095)(4652040)(8989299)(5600074)(711020)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060); SRVR:BN1PR12MB0049; X-Microsoft-Exchange-Diagnostics: 1; BN1PR12MB0049; 3:je9E6e6XMI9GOEONUZWjB0X6GnZcxtwJkKLnMP1P3OeoR31UxMde7BX5GvIszA5sfbq2uPgPNigAVtOavKyUbhqZ3/CyZ7NZQ0oMl/IXIEE3I68iX1fNg7JcEZgaoaQ4VQZ0NY4Xgm5H3k0vgstGhdjzW+/g6IJT7XGBol+pluzESQmkUoZkvHKtxNvYUZL/gbOJi54rGNCywWhIQa1dKDrBluUdigUesoSuDbNbem6E3cw3B6L3V0gH2R91wRuY2t3v4v/WEiVEqnqbuMZ4SAF+TvAMCsJNBYnX4/GsmHspOvdYnRAVNNPN4uSBhI1LOyVrwkmnA2D21B7tH9/sN/kWscd4j09Np8RFVd832Uk=; 25:czlkIoyuzDy+XvgwAfL1nnu+dP1n0sq5KBS5ZPYvD90zlUjZ4urAwmL0DFzjpKpzcZnr0yRbHbTgNO8OjdTjdpYwnGf4ZvlRT7WZnmMD2wBuJwBr6Kp+jDyabnIT2eAErmBi2b2lkqLDwoIat22sekLT11isN2f40fLpm88XIWvw1u4oB26LyQ0fwTBhbzMcdNOkhCiAkG5Ayoz/r4/UlJOzQALh/Fd7xmNGDYF1p2p8xRvJIQlY5038YwAQBYfi3lMlnXF7DM8RNs0yFL6XhkC5IvmK5oeXhqJFvulgMwXbW5bFZ2DPrsctJhuls53Qsuht7o79Nw98tOmjoa8rWQ== X-MS-TrafficTypeDiagnostic: BN1PR12MB0049: X-Microsoft-Exchange-Diagnostics: 1; BN1PR12MB0049; 31:nQWPyEhQwnaky2dIn0wIvtSCBrbtTz3MBfiFOZDEnBQJG2WC6XM89GIJlVOa37hfR01X9zwDzIzm+tIVnSJDxwxzZxIB2L8CCS12PFkzgvPebel9iaFHdrpncXsl+OW05gr92HbYmL9EqxXjm2HU+KdR7IA99FIm4hlrAyos8sSP7oIe8Mnjdq3PIbO7njszYI4vvlOF6BrzsvBeXM3GGOCumr//t6GiaIAVC41ncCM=; 20:Bb6YABXBxSic+sxqB9dGaBHUAxEYcndQcgp4r6BUpGuYAj/bYaRRXaEZMiGHr+iDWwN1Xs4gysAftATurEwuOueGNCj3CaW5d9RrlJicNBxqIecfx1bFHXpEJIToMbX2A//jPXNu8g/kXB0t79MIfuSekaWCUstY/OY61oulPUtkf8LvnlSRRaqhhav1/P4Mxc9yrTGlgsO3gVomAQ4j4RDqNBCylggu0s0PIDTXJKO3XcFauHHQrOVOHo+Y8X3CplDE/zNUbfUZoMloyGGe9jgaYXCmXjoVITO4c2qZz2XBz8R8MuIdMFSf3JjGqUcEyuT18NMD1NOtlFEGEJcza/ZHx1IFKr2SMFSDWTwT0hXrkO2VW80IAZSMCcSmrX4WJ0qt0ncx0jNAWq0U/gmPWVNYnqSdoPjThH4yE+zTX0u7Bi1TVCzQBXFtX/LFu41Goy3Usrej8hMhWOTjrh6Ug286posm6W/2TB2MLadCtMVKWZbT0vFN15iNxF+mDD0w 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)(3231455)(999002)(944501520)(52105112)(93006095)(93003095)(3002001)(10201501046)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:BN1PR12MB0049; BCL:0; PCL:0; RULEID:; SRVR:BN1PR12MB0049; X-Microsoft-Exchange-Diagnostics: 1; BN1PR12MB0049; 4:7pThEB4Hq4u9D+QdEEIVMRwLPNhYxS+tq5J2ZXKcHv3fD90pw7YwwGFRVlnLHOnsc1xbNvCao16zkLr5Iazi72eCeSbkyPLhDzVLoSP+CG1qJnXvAUVict71+SKCdbLyCa2gPUoY+ZLGp951pOMLcvuFAOcBgfI/7HnUzbmG9r8cxJdHK9sYGd3WK8YVtMy3o5YNADULGqWvaMma+UxV9Ctlyf9P0Hq0OjbBgizsikLN9nS0bhRVzJgW45J7jWGqvgwNRjEe2TLqOZhY9zzq/A== X-Forefront-PRVS: 0879599414 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN1PR12MB0049; 23:vokLFGFiO3GeF1tD+Ihmxj5xKUBIUHVvcDdRcqysD?= +WgDPDEeLeYKkrMdxNVru+oRlwCInReqWZBvRW2PZ9yJzDtJ9c3FEPZCh+49WHeWIZt69hd7/B/i8KYKaOlK55YmNoO/5fDuFl3Ma1yjqy+PUC3UkXOEJYn8frjOWFbygfkb9AOrirWpyOsf4CyhpEAeY/5GLOb76jzKDko1ky6FREFRfgIBY8df7OZpnVbEdGlJqhq4n4yWz4xdnsn6giRw/a1AWg7ct/C8Ata6QGAP6c3tW+04tFqdrPVxcXtktoRczR+lOdWv3YLEFX70aUuWptdtKJsLAL/MpkEO5110ZKilxekBx7aBCl9XPTysm/P2YEI3ca1fi47BgCmgfW6EIiyNezygrHbFJxrCR5DR7LgWHmHcsza9Z9btRRW0Rd7ehDwo+c1xNWlKqGdox3Hw3aQcLSqoBJ2L2tKyLhBLEjvTJyCZ2mpeJkeHcK1kroLtlwgt19p0b5JLQRrc5C/XJ32kmcqnrLUaGzG8Z3V04HWEtWY52YHksGE1c92Bkw27eSZOogSvT8VNAdS6+DioTaiW2HmWlPgn1FtZ1iJ7S5N3HlixX8OS4Ye8A0UFPMhDSEHMcK3vtjeI66zauTEJy3pBdvRonFYhEpW6U7noQIOaix/qOdnHHjArc1AfbNiV+VkJiWLupWHg5yY0dGGAC9xVgmagIupykZaJzHc6Ku+Nir43Bz+IM6Vlfhqy4lY7FZmmIDjefkt1sExFsOvSRAaWcMfWfYNe5f2oO/mexfzZ2m/lNuNgnpn8/YFxbUUaPIKUD/Kr75dTlL9EwVGnLPbSa+ti58thKMGS76xJ3DFq45IYWSvlcefYP7RmG17/af6yLbbemQIVqUc/TjG4mqBvPf6YqCTZzRKxvF0eI6PqCk7orXlNzhwFTxbBaymuhAJmbNOW8VvtFtF3fBFXFiBe2AZJGJ0enUUmtw8p2SONXffpE/4PTmF4KXp0nrkKAidZCOHZRDQX9wXD37avYGsNYo2txHTLEegdjJd316TuAGNAPOUh5c/GNRXJNZDqe2V+miC1Knn3r17x45UZn7QFx84CEbuXjZY3V3RssrmCMzFyJN3a9PUJtslpLMPLmc5f4UDQne0TwAQBgQG+Tv71I/K9PPfB8Se7klvTFalcxNhlq5CJvMscsaPTaE/N+X10pCQN/4bV0UmsPLF X-Microsoft-Antispam-Message-Info: a9JNtAHXiiSfmbrCzYHD+aAWPa/lFudyvFqEx8UuEMFa3bkaN2r2OjFI/2XW7mFgqF/yVd6f2Zg91g2kFXITYuY3unZY/g5OhgQg1eXtPdB+2MdQFub0ih1QrLUc5vYlW4p2yG+IGqLaNvOKKXBJE/wdMK75dcHsR/wfdKFFtziGeK35ZHcc6GgDLyQt9J5k/iL0/Wk1jbXNEfqG7q7Ol0MglxRZLNEnLPla+QZYZMK5MyVKi9WBhFIw8aVR5kj9yEKfnH3oH+9WIfGoCqSIMCHdYOk3Mk5gy+33CnZL3OaPxk9B/d6yP+4H3XI4IwL0VjcAlO1U2N5Lo+vbnLnD/qQNIzB+MSFVECiWXvPrc7g= X-Microsoft-Exchange-Diagnostics: 1; BN1PR12MB0049; 6:lGjIz3WIcb2vufHELXdNE+4+ifD/inW7qnIKe6l7t6JgTR57RZrxN3Zlic18sEu5vnkACh7e0vxjziaCX7vzUzkw2Pw19XGQ+lM8BClxycs5Bcry5oCbOxZKckqOV25lV6Xg6lNnicN9/9HMJrGlTsWaI8ybkp6NXPtWyGso1Z/qJKpXBCbSl3ItazJUE3dblRL9qusbTKpa+AAGNC7akIXMLHXD3PG+MZWqwg24J9O7Gs968tzwwxkS1nhH6XFiGRo0J7IgLEmIIuly7Pfgo1/7PjxFppJmyvPZ3kiX1Vh1o9B+LwACkS8n+gvsBqVnBy/A78UopIvKSBNbKcDWDN1oDxrzbHKEL7J+YXKCv5CehS8FAUikn0Df2lKXHfCb2mzSLDB81rHVhrAfujnEXQOV23KXz/bLqFcTK9yVn8YhXUTY7W84Qhf4CbBaFSyxW5FgH2SxJqpfXjr0IjXlJw==; 5:55rsxIY0lA8/mn3+SyHzUfuGHUdFZE1RR6LghWWUIil3UjQqutjo2xUVidzrNHLOj7UQ6PENEoSfejX1prSTyc5z7mvFEaUWWh1qRuhp1HAXLSoRGLPt1NCDlANXFfxDtQIqYQkHZgZi51mHAEcgUuXANO9G14KrMIRxs3jQjVs=; 7:TMSqCPnTWwqMHilF3ZusZeijLndJDYtjvyiPcx/z2/ABaWD/iOOGx8DAc2fekID3RuCPTazuaSuOujBdlHPF+pb9IF+gUGWxGVopqzdQWOMf5QpCzbn0i2MHMVNOsNiSH9Borgn7nOEKI/jNgCyPXg== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN1PR12MB0049; 20:HAZfd6B99ZarqjtIXzAojVka1IpdYZ3Vxo1r9S0F6Si95c2RjUsG8Y95ceYOWIp4mIbDzSXkFIuJM3+l3wQ088qtSGgN3f2DJY9m228eGJ5gcuOe12rqjXydnHY++P2ad96wlhMDn+xygy+Jc/3ICF8lj2KG5i7AjRKrhAnInYEqOKKD24GzcFoMtkKO59kaC1VCdhcJYbAYV0W3Z1xHeXrOAaXdEXIcGufMult0/fe8s/AXPqhoUrP0E2/V5ddz X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2018 09:58:17.8243 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a39d8179-8208-45f9-6832-08d65c2a8343 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXCHOV02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN1PR12MB0049 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: , 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 1ceec56d..a3c067dd 100644 --- a/include/drm/amdgpu_drm.h +++ b/include/drm/amdgpu_drm.h @@ -517,6 +517,8 @@ struct drm_amdgpu_gem_va { #define AMDGPU_CHUNK_ID_SYNCOBJ_IN 0x04 #define AMDGPU_CHUNK_ID_SYNCOBJ_OUT 0x05 #define AMDGPU_CHUNK_ID_BO_HANDLES 0x06 +#define AMDGPU_CHUNK_ID_SYNCOBJ_TIMELINE_WAIT 0x07 +#define AMDGPU_CHUNK_ID_SYNCOBJ_TIMELINE_SIGNAL 0x08 struct drm_amdgpu_cs_chunk { __u32 chunk_id; @@ -592,6 +594,13 @@ struct drm_amdgpu_cs_chunk_sem { __u32 handle; }; +struct drm_amdgpu_cs_chunk_syncobj { + __u32 handle; + __u32 flags; + __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 Fri Dec 7 09:57:59 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chunming Zhou X-Patchwork-Id: 10717783 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 2479713BF for ; Fri, 7 Dec 2018 09:58:27 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 129262E711 for ; Fri, 7 Dec 2018 09:58:27 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 066672E748; Fri, 7 Dec 2018 09:58: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 AB11F2E747 for ; Fri, 7 Dec 2018 09:58:26 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 05A136E70D; Fri, 7 Dec 2018 09:58:24 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-eopbgr780042.outbound.protection.outlook.com [40.107.78.42]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4481C6E708; Fri, 7 Dec 2018 09:58:22 +0000 (UTC) Received: from MWHPR1201CA0015.namprd12.prod.outlook.com (2603:10b6:301:4a::25) by SN6PR12MB2637.namprd12.prod.outlook.com (2603:10b6:805:6f::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1404.22; Fri, 7 Dec 2018 09:58:20 +0000 Received: from BY2NAM03FT018.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e4a::207) by MWHPR1201CA0015.outlook.office365.com (2603:10b6:301:4a::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1404.17 via Frontend Transport; Fri, 7 Dec 2018 09:58:20 +0000 Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) Received: from SATLEXCHOV02.amd.com (165.204.84.17) by BY2NAM03FT018.mail.protection.outlook.com (10.152.84.231) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1404.17 via Frontend Transport; Fri, 7 Dec 2018 09:58:20 +0000 Received: from zhoucm1.amd.com (10.34.1.3) by SATLEXCHOV02.amd.com (10.181.40.72) with Microsoft SMTP Server id 14.3.389.1; Fri, 7 Dec 2018 03:58:18 -0600 From: Chunming Zhou To: , , Subject: [PATCH libdrm 3/7] add timeline wait/query ioctl v2 Date: Fri, 7 Dec 2018 17:57:59 +0800 Message-ID: <20181207095803.2155-3-david1.zhou@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181207095803.2155-1-david1.zhou@amd.com> References: <20181207095803.2155-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)(396003)(376002)(39860400002)(346002)(2980300002)(428003)(189003)(199004)(105586002)(305945005)(186003)(104016004)(426003)(336012)(51416003)(26005)(77096007)(76176011)(106466001)(5660300001)(50466002)(53936002)(48376002)(4326008)(7696005)(450100002)(97736004)(110136005)(53416004)(316002)(16586007)(2616005)(68736007)(1076002)(11346002)(486006)(126002)(476003)(72206003)(8936002)(2201001)(86362001)(50226002)(446003)(478600001)(47776003)(81166006)(356004)(8676002)(81156014)(6666004)(36756003)(2906002); DIR:OUT; SFP:1101; SCL:1; SRVR:SN6PR12MB2637; H:SATLEXCHOV02.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoDomainNonexistent; MX:1; A:1; X-Microsoft-Exchange-Diagnostics: 1; BY2NAM03FT018; 1:6HrDpID/LLWpNf/spllPIGOKffdVYBml+NVXd+Th+NF2iMNoAMcxZUaqCOe+5AeYi4DhL8CTNLYrywreHCLSbvvFar/ZyqBzQGrdurpXdk2O86il0dKxn6Wf70OFmLI7 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6a40d538-620f-4b33-48eb-08d65c2a84a4 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390098)(7020095)(4652040)(8989299)(5600074)(711020)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060); SRVR:SN6PR12MB2637; X-Microsoft-Exchange-Diagnostics: 1; SN6PR12MB2637; 3:lbtSEAawWXA//66X41rmsO+U39BN2K5kll07UG56IbW5THl+5hXfuQ0OC5Iho8R8sAH8UcawRbF9Mmz+l/w2sefdVHpLiNKdhnnvsBj1M2A0XrIrJ21zrSdznLBaoFq2ImXoRmt4VcOxjIW/3Mjwa0MK9CmdITru/3rcbDKsXQ6Q6+F/h0WCS1REAZ4FiYyxEHkCExtnonye4jJAz1atfUwa1DIlLI/jFjtGZeIz7dPFaRghJJged/XrdkNC5tHQI8TIVxOzFoyOv2IO0yMDpkgUd4jV72MlgtRhjcU3zVrEL2II8ZsW7CRziPIpAUL9T6xc9bqyURwaS2TSL0XUW0QDR8nxdzmUbp+99oWpHwM=; 25:pVE4Vvp8BcKu2Kk2OvPqy6oVGA8Ehma3jFClnNFENjQzy6+ZOgj3LJUwnKvAHlnXE8JWNtH5pLDxN6WyqV8wkeb3TGVKVIfl++Z1+jksIXinjCWPaKKO2Sb4vZArAF2lBWEL6qcZACfzVhSzfb5DWUb8Bu4cnlZgMz0SDw+kPEDB9O7Rv7ofJAHhvraAqRPdJpm8GaGHSFYeLtPnIDJxAEWUm+WMhjfZ8tEMs6V7g8g03v/0uwDt7qEVGYKGR1gX0pdW0BGoRF/cAc7Lclh1EcB1zni/0AG+Ks1JwpWzUfvK9VHp2fcSu8bBKwGUEGuq8JPASeBmZXOcPcN2kRNSnw== X-MS-TrafficTypeDiagnostic: SN6PR12MB2637: X-Microsoft-Exchange-Diagnostics: 1; SN6PR12MB2637; 31:gQjYzB0MlK+kaxKJdMjjzQw/Uoe7k7y7bwiMoHeicbvAXUWpsn2HNnJ+49Kq5GmFIsKf3k4chkrVKJ1+gjh4c6Ip6IBns8vlqps6HizYtk3lZmcSu3ypBRanyVEVind795XDErsMxogUiiHp50VtWHokOtYg02fRoN93PCxqMZfv2GuFaSJb6w2K0cZkffgmM17VJIDtqOchxL/IypcJWTrjtbaTX43ErxLuVBx9TVI=; 20:di9h8PycjtfbgDWHVlfCZiDM3LFatwamll0HEmX8Fn9nullCBjXo2m0fu2K3ZlPQXmYTcQMyIYr/JM5xPbrtStCAAY+DiRJEZ7RTWh+weK4HUc8KPpJ3l8PO1tGXvhSbT6yZshoSOAglz3Qh/DFB/cWm3+1rYCOTD0vHWcBUsFT6nGJB+BDb/XVgBCXzffhj+7v+PgSvw5ij02I9MzHgcLaFAAkfmUvAxJz0w3TcQczIkgbhqVleyJezyTILhnpwFKr/1svwfrK3XmSlNuaLAXhwVnD7vAZ7Rg9Vsi7bzPcdeU3VmatXUytiETO953Wr0Q3SEpaOuJUTUgJdhEl+iJiHGCXMUzvT/yBBPJZ4lKKbFQz2X5tMVUCuP10yiZq90GpdbQqV8IIyEqGbRM14ioRGwrK8GY1+OPLqQHbZgrhnyK0QDYooqv70tGaBRoo5Yl2Aa362rAm4RmZ+kuf5hc7tpZCAqlALAHr8BOwIvQyE+3yJdNuLnaiXWLBoj7MY X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93003095)(3231455)(999002)(944501520)(52105112)(6055026)(148016)(149066)(150057)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(20161123560045)(20161123564045)(201708071742011)(7699051)(76991095); SRVR:SN6PR12MB2637; BCL:0; PCL:0; RULEID:; SRVR:SN6PR12MB2637; X-Microsoft-Exchange-Diagnostics: 1; SN6PR12MB2637; 4:jSwrxqBFahNZb7KepV4y0vx+lca++Hdo58ldpwDcFp+kgdKe6XFznFAVpW2utUJ7SRJkr6cApShFDo2x+LiIDs2JZjebnQ+xXRQSM49eMyEX25YJpB8cLhg6QJ5i+Ga8HUvlZhwb2PfdCOMMVbunim6a2ZnectWYf/K3cGYr7tvtpAaIOtiDoIKk3DBOuI67e9CGFH4Kv9caj6J5jBY93Tecr8tFJ2O26H7ibcvAQxPbxZ4HuO2B7PM8KX+dFii/HS7uytXCr6LF9ohI3TdXYg== X-Forefront-PRVS: 0879599414 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN6PR12MB2637; 23:XNmwotHcdsggEHDwXAdOX5K4h1jpeecyupSJd8nAU?= W8Fr80wgn5G15L0/Ur3YyTbALOxrR0XKQc+sMC0cKO+s/YV08IXv9/5jqw5zKQAjaSGXJoUPXJpQOCAN8TH4AYS3Jtqf6NOfR1tCx8DRdnojKguVi5DGPDYHUr19eh9Kl3wBtqvkyqfl4h7ZVzNCqbksbvVTiJtpm8GGliyLAayKvinByJcqL0ZxBLzTYuVsvHp8YKLb4F3B8aSWJihCm764g9FyPbocSXi2kwesrMBAe+RK9m7Bto26j0TrR2VfE4qFp/6UdChY8JcLRpCY7AWMmMLMHxr+MleXD8y1yt5FjgtFXQIkutc8xIhHgnFPWR2Ng1stHrS1uaqAXS/t/292gD0HY7zBlzIO3mVXTm5UczYHnTyFvVF6G8dMDsqBHLx0zz3C1noM+l0CkD4HNrt52+ELCH9f/vjYS7RqbLakVHL0SL+CBn4YAy++DyGo9dFYT0urWi93x1Azr0WQtxln2Cn0j6mqB3/cxwQeIzJcbq1lRJL87VwVIIjvFfsssnDUlbvono6UmA0IuGk4ztiLPHvGJ+ixmF6rOVICMN7dGXRDKIaSQYSm480wDccb10J7VHQil45JBLKv8UMKKSW7jCYzuMhkr129cb4ytz/YvkT3isNhgCrxV8I9k82yYGk3su3p9LdDKKUnut1LaJh9PDtVvg6jGleemw125FNL7JeRHKOy/xEXQAvIsOnRsnYMPiUnRBs023fT6zTe0rCv96lnZr8oDjo9btB1nqznAt5zx6ZN2yLjWfZPlBPSwQe8BKtpsai7r/PrCw85/Szd6TDzZ7wBv+SkbaktZJ8Pe1dyE9RZxZtMpsXjKjoTPhu+p5C7nlWdIH+NKSPjgDUKou1AJ4zf8r2qPvr5zgb9LWywRcPDVw+IxB0cDcB9kRc1Q5uSKAbM+7ZXDgrCbIwyZdeAJ9gDJ437a3iBlsb8LRcl1H6B1lOiZ7zebPr5zq1IMNWP7tpnVgXwiKZIceZp4z9N4C/KV2W30RNlOOkux+mP6lmHJu9EQwikNZDVceitkMC5BzBHBc8h6dGz4jf9zI0BmAUT9W1WTddOalc35B3xFiAii8IP67bBR1z6j47anLsvFcU/3qwCvLwlKdeRwRXcgyHXWmB/2qOV7yWp/Sof4ocTZBOHEdJHE4ULIjGiNUkUbsYO1KzvnImqBU6 X-Microsoft-Antispam-Message-Info: MyqLxHcVsn6mNLO1Q9LML7Qc0sys/pJ7bxYl0e6a8Za8UsbKU+4DNeHXHMS0lUprZVWHwV42d7Vock4sxzhrPr7WTEg0kmFC3yz56lwOekHcLGut3+JKnbGh6KwBesjXTRqZKw/s15pA5cJpTLqlwWB7NR3emZvkKfE82As9GjIToDxpevjkLSRFqu3Dgqa2jiawSBhIU5Zd9gKgkUTZOM36g4NwtVfwx3P+I1qrGWNv46M7ilmg74U4O4dLCZxRY+3CByT4trRZ6cogFX0Mptj1oLPX+k20sX/DSbKnmJZZ7hKVluxBeQHvCa/H81JVsjh8CGxCaswSk60ttcHflHXoC0ABDHyvYgd54k6YgLA= X-Microsoft-Exchange-Diagnostics: 1; SN6PR12MB2637; 6:kkqgzCXLFbVV4N1k0BxZJa/Mf0JMT+WNW6xdIXSkciUOsxwnn+fdmZipf73PdxQ00u+vOTeRk0hNcw126fk/mBzw4wm3NPQVRkPqmCv+LVFAHfDiOtMSpGZvVE9ww5PDRSK0dgdLzfI+SVDD0bj/ThSs3ITAM5fPHOGBJDEv7Q5Ob01qHGsiPhqd91zfFSXW50EdyKOhWzu+aTE642mPrThCNCPEHQbvkvOHu4yWcOTIwpY6LGvrrX7soHd9ytaDQhmNB3gbLtkPjZ+ir2xJhDEyfUCsRQ13LDj8Vxhe56nNUQVPb9rzD+Mbwhi+C3wLjzE71NVAq0dPKuB8NRC3mJq7rfUDimCSrNPQxJuCRlsDlFKjKmcIvf+Xl9fYO+fdgKbee33sLsYaQTNAH9Wq8nyuBycjg4zhevvgJnknNHszljeWLljyEfXmN5SidNuDphUpgH0Ee5PwY2/64hHcmQ==; 5:IMEvPLIi224C+O1kiiVYXVMvo9c8lZWf3X6tlSpUhjgQSXNtvjazh77gMQwkwXaEKT5w0J1kQpaR9PqfLULJNbfeshoNCbfkKI5fDwTZI2jY6MAHgIGGkePKubSTgQTqne1oAAPprUa2L0NbzR46aAGjj1NLLyXqCWbzuDC7N5U=; 7:9AtCBCelL3t1B9dy0hHFTWkLnlF1QybJNrXW8dGyWdcSwuVKhNXNIhCF3d8cdJB9yKwTkPRW/HQYyea3cF6bTuDcL1frdWjeZNOxGsm1oO1kVEH8yblulcJgletbaCFFJrElkUOwORxZDIMTwpH+qA== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN6PR12MB2637; 20:xoD8dqLbWkUT3erp+gbp3Y+Gz5drvhvqO83Up94Zh5uZpNp4mDFHpLMkiGEsUJ6V2erezzS+5f/KC9fr1JudIkPGRnNBwHyqaTw4qeFoupMpVRII3mwrWNswkRLfuIJVKSF9ZKs/U0Cg0EqXHVZznithOIVhwInblDUu5r1KvszHFyhUDBU2bCJtsHJ5nkqvrlGMkaRZMXRQFlauIrZyJBYdxE9RxfvMGBEarSSnxsJtWLYINwNXgfMVg/ZuBqtK X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2018 09:58:20.1369 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6a40d538-620f-4b33-48eb-08d65c2a84a4 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXCHOV02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR12MB2637 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: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP v2: drop export/import 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 71ad54ba..9816b3b2 100644 --- a/xf86drm.c +++ b/xf86drm.c @@ -4277,3 +4277,47 @@ drm_public int drmSyncobjSignal(int fd, const uint32_t *handles, ret = drmIoctl(fd, DRM_IOCTL_SYNCOBJ_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, + 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; +} + + +drm_public int drmSyncobjQuery(int fd, 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_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 Fri Dec 7 09:58:00 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Chunming Zhou X-Patchwork-Id: 10717785 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 6FD9917DB for ; Fri, 7 Dec 2018 09:58:33 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5D8152E711 for ; Fri, 7 Dec 2018 09:58:33 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5160E2E748; Fri, 7 Dec 2018 09:58:33 +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=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 DF3C62E711 for ; Fri, 7 Dec 2018 09:58:32 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C1C376E704; Fri, 7 Dec 2018 09:58:31 +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-eopbgr730079.outbound.protection.outlook.com [40.107.73.79]) by gabe.freedesktop.org (Postfix) with ESMTPS id 482EB6E704; Fri, 7 Dec 2018 09:58:30 +0000 (UTC) Received: from DM3PR12CA0114.namprd12.prod.outlook.com (2603:10b6:0:55::34) by DM2PR12MB0062.namprd12.prod.outlook.com (2a01:111:e400:3c11::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1404.19; Fri, 7 Dec 2018 09:58:28 +0000 Received: from BY2NAM03FT040.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e4a::202) by DM3PR12CA0114.outlook.office365.com (2603:10b6:0:55::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1404.19 via Frontend Transport; Fri, 7 Dec 2018 09:58:28 +0000 Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) Received: from SATLEXCHOV02.amd.com (165.204.84.17) by BY2NAM03FT040.mail.protection.outlook.com (10.152.85.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1404.17 via Frontend Transport; Fri, 7 Dec 2018 09:58:27 +0000 Received: from zhoucm1.amd.com (10.34.1.3) by SATLEXCHOV02.amd.com (10.181.40.72) with Microsoft SMTP Server id 14.3.389.1; Fri, 7 Dec 2018 03:58:26 -0600 From: Chunming Zhou To: , , Subject: [PATCH libdrm 4/7] wrap syncobj timeline query/wait APIs for amdgpu v3 Date: Fri, 7 Dec 2018 17:58:00 +0800 Message-ID: <20181207095803.2155-4-david1.zhou@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181207095803.2155-1-david1.zhou@amd.com> References: <20181207095803.2155-1-david1.zhou@amd.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:165.204.84.17; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(376002)(39860400002)(136003)(396003)(346002)(2980300002)(428003)(199004)(189003)(8676002)(77096007)(575784001)(2201001)(5820100001)(86362001)(36756003)(81166006)(450100002)(23676004)(72206003)(105586002)(104016004)(68736007)(66574011)(1076002)(97736004)(81156014)(106466001)(14444005)(5660300001)(11346002)(53416004)(53936002)(476003)(6666004)(126002)(2616005)(316002)(2906002)(8936002)(446003)(76176011)(50466002)(110136005)(426003)(486006)(54906003)(356004)(26005)(47776003)(4326008)(7696005)(2870700001)(336012)(186003)(305945005)(478600001)(50226002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR12MB0062; H:SATLEXCHOV02.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoDomainNonexistent; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: 1; BY2NAM03FT040; 1:UsDo8lsONobS9fD266X/8W4V8Vlbd4qbC+Y003Ow7FhUD5LrGhMPIyGB67bfxtljpe0gXw0KE6qfvYAZo8l5VPh/VM9O3GOnkK3di4CMQ9mkOdJke9apd5ahRe8VUmsY X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f02f6d2e-8b0a-4791-d485-08d65c2a8936 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390098)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(2017052603328)(7153060); SRVR:DM2PR12MB0062; X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0062; 3:EAHVGavmAUJ4m5ewdXTAe1i2m3UXB9yVi0O1k+8c6LbjPAmsyTqnCEiUoUkHuj1948VX6LDprklgpfyeaqt9+kDgIltGIv69prDGejAK1Xjg3nrZI1JYvLru+tlV4qOAUM78TTC+SAxTXeh1MZMVAKdTJWg7UBJJsbWkUGwLjOx9jd6ypXkx8b2I1nkDdYhvxVYCj+RZCfaiLYtg0/BBrVUjL4eEBcaXcr50Qk5QffA67qT7ILbaZlx3nI3km3TzogstCPv0QCTYlABHy6ynvrPrwv0UHQDungThJT6w4E2kDHzyRhKRtZrEaPIgqNpQvwEzdIld1TuyEfk46vhSfVQt+wo79yuJzLXFrAKdeIo=; 25:/sWG663WkY7hsOp2T+5Givsea0Y74Pdv2HtjxoeY8Eudc/LwGhYYjT9K5pfITLotnhBd4SvEYAsvq0cGftsTX06/q099OeGM7W1zglFfHopPKV0LncGCP6KJVlATn1BK9psuUmb6HqvHhk88FNeot1+d5L8EgfJtGMBbrDHcSBfeM5QZmPqe9QkHcTi7QnmdjSpctxpMxTLJ5fkzHKpRGQpRamKlwi21JBXPesNqxqKu2bYdhASrlEKfgw6pKZzBAlBqTAfpPm0z+2bK1vIy1f4HWPNlL2sj4SBDMWTTf3tWWw3nKRmAm3Jom4d7bd/8WJ3yWEp8IW0JYhMZaDevMg== X-MS-TrafficTypeDiagnostic: DM2PR12MB0062: X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0062; 31:T8NdsLNZxNIy2/EsUQ7/IcMGj1QCUo/WPT3S4N4UAsC+jKbi8Nuey0yI6cUNtNIc9BVg/vCWJLoMI3jf4qO8W1K0xPaW4M6H23UMDHaQJ3MFfdnsgGUDUwyMZl1ilYh+Wrr4Ek+c6kwWxi9ckGEr6JkT+htjxBSEH71AmQB8XWdToKyLmIwP20pAQYtQBataxEJ//8ZAJuCRQO0BKO/r6EWYdjbc6WeQ6Bt9ckXjVKw=; 20:m1/DNemFSO+5eCfREIShzNeLPhDjPAd9MA6cs+2Tyy87mu9XN5KaCdoHZL+zWu9iEuWXKPN2mLjjEQe/DttCdsky0V8hYW3fo19O2Nj85m+eye4o0fb6G5FdQrnqCgjFGW0/wpIoLAh6nAlM/ZB0JFTzckUivR7f1DZ8ScKRL3H5ZjGqsP6tppCiZfiuHlk+3SEYDE3+qCvwS/DfwKck0AqnQ4p9x4KI1GYU9aYuQpzkXsD1qbs1vmGWWlBobAhk5VifSt+mtYA+AnNVoVOrRfPeY6fgpiw5vx9aSwDEBN9ftGf7IbARwmJgqYQ9k+0H30KhSDzcBVGqjvFEc9tdlJ4g0vTSNajOFC+Xd9wXZEsyhHgHkTRwOnR3hz5M9eIEFS2ao8S6/8s2BEFqtJYnvCI1LRM6+YB+qEqSCAt/DTsR5b6QNIogKavCoF8ZpBwxwt26s2OB8oQFdGOzEfVTQ3UoYRzaSAG7dWCbWceZp74fCdL+3Rvtqk8CgbWL00Jw X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(3002001)(93006095)(93003095)(3231455)(999002)(944501520)(52105112)(6055026)(148016)(149066)(150057)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(20161123560045)(20161123564045)(201708071742011)(7699051)(76991095); SRVR:DM2PR12MB0062; BCL:0; PCL:0; RULEID:; SRVR:DM2PR12MB0062; X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0062; 4:p5NW4uz9AWh2OHyydv7q+zRvaH+eNZwbZgr7mA5IssFuAGAvdFbZ/rS2XN95R2RClmsfBBrlbJfYuP/hKKgCEoEUhGg/pzmJSLI5jpJk2paNPxenC2tSKCArSgn6ixaDUsoRvDyNtsxaFS+OMRUZSQPtvhJFFYJnN/MyJhWFBbi7BpwEag6fSjUs6do2vhKae/Xxi/MffGJ48+KU5IXjhIPAPtXkwKhpWwIespfH4TXOtsKiz4Fnbt9uz3pRT7TkHWNzLaO06AX8YTtgXbMtuw== X-Forefront-PRVS: 0879599414 X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BDM2PR12MB0062=3B23=3AYske9Vp?= =?utf-8?q?iNObPzcmnCj1ov/xToz7zxUl2tUfkFJFR4ByxnihbzE5NXRLw+4IuKdOPjnZdDW2R?= =?utf-8?q?NEhuvy28T4ONBm1l06CZUHiK4lgAu/yU9D5/F3vTednpfysd0p5OYhzp/kd3PrYfn?= =?utf-8?q?MK/Vck5rTh7RAVyGrmfn5GDP28eQ75OmwN+WgPMg3c0VEK4lzyOYvkMe5yvONlTec?= =?utf-8?q?rymXaGN0FrJpAcZ5HnO3CfAxyfnJhydZLLCi+mTCviJl7MeJyvzQIvSHhVf9/gung?= =?utf-8?q?4qOEiBBckGW9Qd4U71rcKELFLEhZzhG6LaGabgm2QkcV24YpgQ4zCsUV9rKj9ROX6?= =?utf-8?q?YlaV1pZV72xVK/8zk7eEyNKOGkjWl4Rx00GxVrgmMZbWTEL4LK+RUZyM1SWYtUUG3?= =?utf-8?q?TvTDLTH5M73ayI7JIcFAEQs+gl1aixeM3orv/TE5B7TC/fgHIZpkAvejdjfJlU/vZ?= =?utf-8?q?f9CHCymc54wEY8kgsgSVkF0NLbKha5zA84f6ygg4q1jhGmDf9OAwZgEufihcU80c0?= =?utf-8?q?jqEEZZzy69CGNXKU7AH3gkhZd0r8UUH3pH11QSJSxCcvCJPytOA4gNsdn/j2qLOnG?= =?utf-8?q?YcMdd+nvZA8V0umfpGmenFlH30V3kbluh6YPQK72CfQMfyMzlmzTHkNe3Ip38hUic?= =?utf-8?q?qHZftn80zG2fqPxd2hjy54GUKcfxyFd7yv+iP4S1oWMHSGynTfVTaGXrZmS/hJWXI?= =?utf-8?q?hBjCg9sALZISUsCclZMVl+maFUqGHxFP9zcOgIdwxv5ylqYd9fMoDcx+R67T+6CQV?= =?utf-8?q?RzKfOs1W/9gwkDLs7ngVldJ5QnVZahZx6HgezdBe7RlWmeQKiIrzOql3rFTLb0sA2?= =?utf-8?q?egWPWL13odcB4B4HydTdmf89mvfaxnGC9Dcu1H7V9ly7/65z3DQRMyzhv5P2EOqlS?= =?utf-8?q?vY9EbDo3GDATL1OyEwuKjIZT6b6I39cYdczl3Yr4dAqXhHdPsx396iajc15qpeUkM?= =?utf-8?q?JSaKD+y3V27lrZTRXh392cEt4uBAKp6eP4+ZPTXkPrvooJkUIO/zYjLvCXD2YNK/A?= =?utf-8?q?sv03yEztZQY2SkcsgS32RBkz/RRii23A5veZiunC1L9N2iYaryF+ZDaKZLiYaKPzE?= =?utf-8?q?H5wUjaskdPpxXHExUzDWRsnunBWj+benS7mOZqSk3SDcs7o3n6/i8rnyudny/q2GT?= =?utf-8?q?R4LFzWhVDvdykj+7DAZLusOqM35z4vyjDKINLSSUlE7VspJpNrW2ikQAW92hlbJRA?= =?utf-8?q?yjtHVgy1heN4BvyjJ906A92VDll4v8VcHzqsSTuDhNcbADsTeZAhu/r3NmjA=3D?= =?utf-8?q?=3D?= X-Microsoft-Antispam-Message-Info: sma5XbNvoXMjcD6WwmVxUg23qy/SmPDfslGpoJCNxKZ1jZMRbcLgHEAjDhCOvOmo3bLb6TFyjRaenmJLhRVufiz9Pr+2vRhiuu1MLJueYgQq5LEsJSDcmXjNcvumGCCfkOS0YCUQEPsmp0BDbghXBq7zvEpd7s3xsYeR3MDsr2EMJeZFi7nt0cMaGaeMjIBR3vGjWA4iqLn4pJmSHR2dTWkCR1EqVr9F8IESG6ZVgGqkA08jRm9kIyL5lUTCWpFMq0tZSUGs40SzRJLlBjWbBCBjuixlZ0HNg3Y3u3Mmc9hiTisfiSm/RsMYSbgVyQQDvLZ5Sabvyf/LcQcl8LP5PFxJ0t0+kvOpfcqD/+icFo0= X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0062; 6:7cQ26FP9P4m9cHMGa8iLGm6urEmPrGPxmhWDGprWLUPfpr9x1soSJGewiiAHMPe5iJ8KVrYkxpGwGsbaBj3LxhUfNk3u1jeu8mKWgwt86HrkYfeFmlFqqY3S8cFLM7tF08myKRx443dICxYpFApna0j6xu5SP4Oe/qd9EVRG40+X3l41Hd0ce7SsIvtUGw522Hv6RWXb3CQcOpDe+WfHVY2nyXvuMHVmeo5LeBMVe7BYNSS2wv7bA3eVE+pn504tP/L68jUfadq9kvoirJllNZ2/eRjQGgwNip7yBl9CZLMgY19Zv+OLq8HV9YJqyayGqYE/mNENpVNdgKg3F19oQOLM6xrzU+zzqSqDRrA4QbDELU/muxD0gpBDWY5qxia6pn+HUkJhL3u4Lvur0ht3v4J/HcePAxhd7zwZR6EaExNkNcJZ6nDw6Li3mwh4XCuV2dWKN+daNo9LkRgHAkBE3A==; 5:eCHn1kui5Eg9s0dMY6OcVhVarU/GVfnnYPvpQfsGrfLf+5h+A9cbj/XiAOI73Fp17hpNFbdX+oOAHegey0IbjqbrtZL7Vf0DhM/mG4nGs7S+2v8L8AoJqjITp1jqdnbRdNfonDcclrukY47YwfkA8Fzni4BMUfFBJ8n5ezMXF78=; 7:MbL98HRMdkVGBsF4D0W2SFK55Frgrq5u+jdlfcGoGdX6wZadn6zkzag9LiC4TwQPi6inUu94X5/Hxeo9DKSvGlvE+dsh156lDudBAktKaEUB3T3OK7t7yQ8lzyXDPF+j49AUzDSWdLjyHKxsdgCwvw== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0062; 20:TbzCcTsD4PHvlR43yMZXmwNwDvL1W4ksxZDuzjnjD7OHOIYGPMMN0TLWfghCoyXJHeOtPTMjw1M4/bTDibyEOCElNGH8Lm3uoaH/7+soESPIY9sajwRlWmfttzfaOvaQmlX1NzVkMYVa1fVR79+TrhV90KkrXiuXhch7vifCI3vatRplrTwMNbst1WucqjT6I4WmECSbo97A+6IVbXMaxKr9plPQNxx8WYXzM0CA2wPGU7ujsh9l1WrWIlbvZXHZ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2018 09:58:27.7926 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f02f6d2e-8b0a-4791-d485-08d65c2a8936 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXCHOV02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR12MB0062 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: =?utf-8?q?Christian_K=C3=B6nig?= Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP v2: symbos are stored in lexical order. v3: drop export/import and extra query indirection Signed-off-by: Chunming Zhou Signed-off-by: Christian König --- amdgpu/amdgpu-symbol-check | 2 ++ amdgpu/amdgpu.h | 39 ++++++++++++++++++++++++++++++++++++++ amdgpu/amdgpu_cs.c | 23 ++++++++++++++++++++++ 3 files changed, 64 insertions(+) diff --git a/amdgpu/amdgpu-symbol-check b/amdgpu/amdgpu-symbol-check index 6f5e0f95..4553736f 100755 --- a/amdgpu/amdgpu-symbol-check +++ b/amdgpu/amdgpu-symbol-check @@ -49,8 +49,10 @@ amdgpu_cs_submit amdgpu_cs_submit_raw amdgpu_cs_syncobj_export_sync_file amdgpu_cs_syncobj_import_sync_file +amdgpu_cs_syncobj_query amdgpu_cs_syncobj_reset amdgpu_cs_syncobj_signal +amdgpu_cs_syncobj_timeline_wait amdgpu_cs_syncobj_wait amdgpu_cs_wait_fences amdgpu_cs_wait_semaphore 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 3b8231aa..e4a547c6 100644 --- a/amdgpu/amdgpu_cs.c +++ b/amdgpu/amdgpu_cs.c @@ -661,6 +661,29 @@ drm_public int amdgpu_cs_syncobj_wait(amdgpu_device_handle dev, flags, first_signaled); } +drm_public 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); +} + +drm_public 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); +} + drm_public int amdgpu_cs_export_syncobj(amdgpu_device_handle dev, uint32_t handle, int *shared_fd) From patchwork Fri Dec 7 09:58:01 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chunming Zhou X-Patchwork-Id: 10717787 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 79ED313BF for ; Fri, 7 Dec 2018 09:58:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3BC7628906 for ; Fri, 7 Dec 2018 09:58:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2CBD4288A9; Fri, 7 Dec 2018 09:58:37 +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 B368828782 for ; Fri, 7 Dec 2018 09:58:36 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id BC0C06E713; Fri, 7 Dec 2018 09:58:35 +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-eopbgr710087.outbound.protection.outlook.com [40.107.71.87]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5E30B6E70E; Fri, 7 Dec 2018 09:58:33 +0000 (UTC) Received: from BN4PR12CA0016.namprd12.prod.outlook.com (2603:10b6:403:2::26) by BYAPR12MB2632.namprd12.prod.outlook.com (2603:10b6:a03:69::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1404.19; Fri, 7 Dec 2018 09:58:31 +0000 Received: from BY2NAM03FT028.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e4a::206) by BN4PR12CA0016.outlook.office365.com (2603:10b6:403:2::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1404.18 via Frontend Transport; Fri, 7 Dec 2018 09:58:31 +0000 Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) Received: from SATLEXCHOV02.amd.com (165.204.84.17) by BY2NAM03FT028.mail.protection.outlook.com (10.152.84.238) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1404.17 via Frontend Transport; Fri, 7 Dec 2018 09:58:30 +0000 Received: from zhoucm1.amd.com (10.34.1.3) by SATLEXCHOV02.amd.com (10.181.40.72) with Microsoft SMTP Server id 14.3.389.1; Fri, 7 Dec 2018 03:58:29 -0600 From: Chunming Zhou To: , , Subject: [PATCH libdrm 5/7] add timeline signal/transfer ioctls Date: Fri, 7 Dec 2018 17:58:01 +0800 Message-ID: <20181207095803.2155-5-david1.zhou@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181207095803.2155-1-david1.zhou@amd.com> References: <20181207095803.2155-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)(979002)(39860400002)(346002)(376002)(136003)(396003)(2980300002)(428003)(199004)(189003)(446003)(126002)(16586007)(2616005)(426003)(476003)(11346002)(68736007)(5660300001)(47776003)(81156014)(81166006)(8936002)(7696005)(51416003)(76176011)(53936002)(8676002)(50226002)(450100002)(316002)(305945005)(486006)(110136005)(4326008)(106466001)(105586002)(36756003)(2201001)(97736004)(86362001)(50466002)(77096007)(478600001)(1076002)(53416004)(6666004)(104016004)(2906002)(356004)(336012)(186003)(72206003)(48376002)(26005)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR12MB2632; H:SATLEXCHOV02.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoDomainNonexistent; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: 1; BY2NAM03FT028; 1:IAPMCYLefZoGlt+0CBBtumtUMhB9GX4qAopDW2dO9dG2wwqT6LfpN4fkUtdpF9CaVIR5PwVp9Befh5g3me/sUoYvE515cOjux9BDP/ZxRApCF0QpJ/82pR0YnvWYJHUw X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 933d970e-1922-43be-a7bd-08d65c2a8aa3 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390098)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(2017052603328)(7153060); SRVR:BYAPR12MB2632; X-Microsoft-Exchange-Diagnostics: 1; BYAPR12MB2632; 3:yD0f3Ncxj/SSghNkT/r0IJXxUP8oVpx49sVeOi+lQTzz0jpHfEs5BU0gcoROLsnWBK4EGlxKzF1ac2KCbtPFqX+6mp5t+5j40mXW1O+8ZiZnRfy+1JLzGhOFwoS/7+GWBcBj44EuWbcnsPt86iETT+ctllq1ohXAkJ3hwkJDXz/z/N/X2NjrEmNfVvnMu2rvJ2r+aaCX37CzP8lesm8dL/VdxYPj6jZ6TCVYhiKt0cYAQhzV2fDf2ghhzG+jc+iI+l8i4rJguISzO1T6jdQirJka/jg1zlXUXbk0Wy5HtVsmrLeCb/v6EU7rz2YibWw3SnIL5YC0jYEi4PWZv12DOkeW3ebpmAsN01prMsiH/ZY=; 25:nTSjCUBVfjhYE/eW7SCNLnhC8wpBMLqtBtpA3yEx3mYX3MYP3kkEDh1ql/sioq/TzsDsJ1tzFdueZIDG2w7xhKoe9GIPcEkdi0PygydpvXNsJurDvFt3VRauFO10FzltJ4Y+jRKeVxWN5ZcFaP5bHvj34Fc/VQv+QSj1/0/uQ+e0DyI7Kdkv9ta6noLucpaC+QF04fwt4fps0Oaufarj2pBIs4+/O9N16nC84BX5/Gu99SWAUno9xRcQS5UEHzXba4NPrVTwboToe7sL0CZUgr1korMBss2l1hTmLbWt8+tfuDWS0o32TPBSXy/R+qkdvZuqm3+IL+FyEZ9WaASJxw== X-MS-TrafficTypeDiagnostic: BYAPR12MB2632: X-Microsoft-Exchange-Diagnostics: 1; BYAPR12MB2632; 31:vujjgLexNyzEcRnzt+GmMHaeUnj3QqEh9YbH9AiFDneIbIqAePa8VryJJVFJEqKX/UgHT3LO45t/sZ4FLnsyK4B7eECRGzsEmXpVtDS/UYM1KJnVfRrj9YY87dCBQEIytOznKmvoJ5eKSe/0YRER1zm1+Hc7wvmQQHoUm+nLDjxwo571yWjTGhCObDJeD4yoLnnc8HPr1u9vpVVc5i4eVf/YvCMC8+beeJjjv3UqE3s=; 20:CiQMC1gV4BSIjgRaA13dBhYqMwsGYS/ihZOC1+4UdL12OdkKJaVKv1gK+7viYJT2GJZD6vqIb7w8VLpSmuJ8raAZNgyMhdOabXZ9Sl4XKKM3axvx5e66sgJef17lsfuBKQobuvSsWKEUZngu6JVwlfqO2Laycbk9JbFeYnee5b6Ri+fkYebYabVmDq0crTsMwpEmMaNF5zIF35Nf3NLvp+Hqg+7FqLEGbXe5zm1Ln1XAvCKGNQsnjf2U+OJb+bXbP4ki7Ijc8c3DJ19a009t5QnNiX7QOkZX21mO2fMJL3EyvyJRN1Kp8ZRYyR1kaScGRVWo9UuiThf6qYcf9hHxZ5p3QHMcjZRgSCz9ov6ZR+OFzIRm2CpYdM40yHSbiPcA46fQIXFydtJCOWypo9OhoO5aIuoTsfNWvancaTlThAyde1Y/0Mfants48dyEluYSrd/z39pwet2+wavsOPLzMB1TRCqQPxLP5ilc1GuaHOd+6H9j+7Jit6jUFS2oU10e 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)(3231455)(999002)(944501520)(52105112)(93006095)(93003095)(3002001)(10201501046)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123560045)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:BYAPR12MB2632; BCL:0; PCL:0; RULEID:; SRVR:BYAPR12MB2632; X-Microsoft-Exchange-Diagnostics: 1; BYAPR12MB2632; 4:Z+xFAhl+SGtsVJ34xVLePcFwHcmJFOgdaZecgoAQ25auUBfeKO25seb0bWCAn14MPuX8JOfzhrCd1v0jKW/ZdL3VbN6rpeGI472qSCvaw7rVyUp+4anUBx0Y+RNsWJBl46bCTrS/uA66yMVO2QCWUtbB1dn6epDLfyMjIrDctLYZPjghk+OYfWxe6tMs1DgLwxEnezaQsqNlbaplxu2YsVUWkp0KNoD0YetY4u0rZ96xI2TQIpu+y6GkYLgpOyLB+7NSATHpBR5kFS0fDyeXdA== X-Forefront-PRVS: 0879599414 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BYAPR12MB2632; 23:/oTqDby4cO2QA3nc5UXdqEkxVdnj12515L09Phyny?= ArPFEa6wm1XOWy+zZel/vrKBH1lkqV8ZL5i2NWHm/41xmyd9dwJBSfNnLzI4N6QmHB472piPqE3+AYXTE5eoThg+HsfPzj2kgXqjRZr+H6/vuCHxed0VaQQzz1XH0YViLT7+cK8ol0GGLQjv54X6+3aQ4aPA7xlbR/eztDa8kG4EtkzP1cXgqepk0a+gtkMYPAwlrc1yvG+hDqA/8wpbLHa8/ft5XvYmlTeXPS0CfWiYMiUFRC9kPQZE5xfgf6piv8rYUCZPPme8niJvT0yqvs0aFRN0d8n/0+ncyA2oXEZ6VirGQ49CCwoQN8WpVyfvFxD8wBhe/4rIIYXOroXZG1uPveeCETMrHWIRHPcRXOztWDhzTPJv4acBPd/W+zDu2lrAm0VGHulAu+5WH+4N/Z1pL7UN0bBBZC8HjLSGX67WC5PXoIqsAlNKyNsGr7HeEnmc+Z/vhco1wRSr9QpZXU3VDaARC2kZfVCp/HEfLNJZixWIFKFD9cqECo91B2Z6lkwX/KChxcaKoF66uPhDJNksGeRnOc9A0Hek8VoDEVzmc7Aq1oPV3Fr7/HB+zeMbz7usmF3jvp7R780MwxuzK5qd9jQoQ9VZlq4Bxhx2xc5KIni+FIKWUCK4DWHdNVJFqpgokd+Irc8XDsMV6v97/QN22ThBurS90hQTmQNin6j00Xr09yqFpHz1H8AZr4xvBCAerGF6/fCaOTLvNUAabmOR8uh3uXVXHN9GW8DKJ23f2fyLVcRNn3u1ycZU2MKEWY+V6gddCC9qgQsJrSJ9gzAuAR06xscBj5vAEjiDHML585m2OVu1GNhb79Zf8UTl0D2l+jxdP3bzUi/VZ34UUAKal1mPjKuWZCkrz0SoyeYAp/leHIpVuIbQldHPKB0qUiZbeOtSopXq7tNGnXx+I73IoEIJDMha/oA0dZOhqdES6l5HEj9rfEgMpJogGEQZqgzm3DkCMNgsWUU7TDdWYwZeoS3zOGa7uEdJZtqfZFlIORVS46fn0uQXBGmlEL9DEVbv3JQsIijt5FOxwmYPVvaKr7CTpExxjOSbxSHhVcOiCU8V6mhpoB/TMMyBgMBGOjtHMcPjfxg8QAI75fP48a3mXLUwmo0GNZG3fC3ZnMRxF1/sqeHFEENRx1ffM1QLf9lGglRIDHlGQi5Fz+JlXc4IMqJ8UW6QvMBjmTkewN4Bn3nPk98WO1qoZCDvXw7iUFK/TcXAbbQmnUkn7A7shy8WXeHU5Pp+uBW6QUrcBFTAQ== X-Microsoft-Antispam-Message-Info: LVon1Oel7UqCgjXuC98k0MD78QbOjpiPQCo7QvikjkFK/aYWvvbN4rQdleUTC0zi+hrz9VZZ+5O9Jjfg7/TVT5bFLXlDX3AmaH1BXByhw1WWhiiax6VcUNwYI9yGmfsXi4+lvRK1eGVU8HlntD/FGXvR/LT3g6Hj1jTBAWL26ucXxTEgmUAgTSMQ6wm77q7dZVVHCgrUcO1WtHSxpS3li/Li1oO0rN3Eeh1JGaERWyqDpnqKxQrECJSNBq6+9oQ+AmORxk4cYQcMm9uLzEKPaYmH9PIargh5II2Ff6upGWKS2XPn9raisn1z4IaosOdePBZ94fNa6Bp4EK7+w8wQE/AYUA4ig4Upv/fWXogYls4= X-Microsoft-Exchange-Diagnostics: 1; BYAPR12MB2632; 6:EW1ME0zbKyMBAB8RBIVEtn3Lsgxn0bMYY3aJ3DIgAxeyK48gc/up0MTAmNtG9hEqB8PGv59mUjZCfMYFAX7i6eZfi7l2bBhunIhw5qDaQDVHFfol0w6T+pgbWNUH2Qrvbp3KOTzUFlhMiMRDeXxwonwrf7Aox621SwhXAX2w56gljMyR5m+XfRFRGFKsauhn5sU/RscbuVN2cJr0ZEfvAu0UIXRA0oUzZXz/aVeQLUCtmDzAgHgaY5F3/V7/a7Kog4rH83chpl6fMH1XfxIflSQm2B+zjvpSsIvms5iV6Y6anZk2z+AjDn0z/cOO8H2meXyPffTIEo0vN/WSaBl1Bbdn1YXX78S8pRb3a53BUOwMZRIaPrKL8B7Au6hDGzVdNefitpnb0hAs1m0I9NHO1aywDySDqrnN95S+WKFJa7nmX4T+LbeIopfCO1Fi+nRQywz791R+VjN6YDje3F+KDg==; 5:o9Nf67u6ESieXMCpGpPAh39n6iLHC9w6i8LFxOrS+d+EDwjpgZcThu+Lzjb/niHgqiSY+rFTQDWBjObGbARbbhVms+4KKMWSJfgnlneMJmwWocL8qHUDp1BZItnIdbPY23gyLKH/Yrjn7254zJvPRZXPufT623OmUv7hCXlboJQ=; 7:uqOWRy7KjHSbiVdzxLPITx8PazW7MAJgckTUaHVvDG1rk/OnVd6bD6e5s0wWRu/anAlkJ0qSUd6nyfqZBRm98z7+BXyzrQKIeNpPwod0aSnWvUX9CZhGy6JhZlC3SN3EPsdn7nxmfOysVHUSqlzAVQ== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BYAPR12MB2632; 20:QMBGHcxR5vwUgm+AVJQNqlPGIenXTZBsGMv05x1fhe7n2LzQlqf8c7fmqavIEXALRMoEquW/fR0ER0s2l7hys1sN/7xn6lt/FfJffJ7p5FVBNSNwN8pJDvZdOUpQrXlmHBXnncupxf3H/iY01uiNjgi/T7oJVCtycFJqLXneQG7q3C1EItxZjiFcOwa6VDNQamWCTsILjqJJ25j+lsZkcHUuivRbIy2lRKonPVhXVOE8WvepVZAJioCVCxHI3wzb X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2018 09:58:30.2147 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 933d970e-1922-43be-a7bd-08d65c2a8aa3 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXCHOV02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB2632 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: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP Signed-off-by: Chunming Zhou --- xf86drm.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ xf86drm.h | 8 ++++++++ 2 files changed, 57 insertions(+) diff --git a/xf86drm.c b/xf86drm.c index 9816b3b2..9cf01d38 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,38 @@ drm_public int drmSyncobjQuery(int fd, uint32_t *handles, uint64_t *points, return 0; } +drm_public int drmSyncobjBinaryToTimeline(int fd, uint32_t binary_handle, + uint32_t timeline_handle, + uint64_t point) +{ + struct drm_syncobj_transfer args; + int ret; + memclear(args); + args.binary_handle = binary_handle; + args.timeline_handle = timeline_handle; + args.point = point; + + ret = drmIoctl(fd, DRM_IOCTL_SYNCOBJ_BINARY_TO_TIMELINE, &args); + + return ret; +} + +drm_public int drmSyncobjTimelineToBinary(int fd, uint32_t binary_handle, + uint32_t timeline_handle, + uint64_t point, + uint32_t flags) +{ + struct drm_syncobj_transfer args; + int ret; + + memclear(args); + args.binary_handle = binary_handle; + args.timeline_handle = timeline_handle; + args.point = point; + args.flags = flags; + + ret = drmIoctl(fd, DRM_IOCTL_SYNCOBJ_TIMELINE_TO_BINARY, &args); + + return ret; +} diff --git a/xf86drm.h b/xf86drm.h index 49a40633..1b7d8a32 100644 --- a/xf86drm.h +++ b/xf86drm.h @@ -875,12 +875,20 @@ 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 drmSyncobjBinaryToTimeline(int fd, uint32_t binary_handle, + uint32_t timeline_handle, + uint64_t point); +extern int drmSyncobjTimelineToBinary(int fd, uint32_t binary_handle, + uint32_t timeline_handle, + uint64_t point, uint32_t flags); #if defined(__cplusplus) } From patchwork Fri Dec 7 09:58:02 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chunming Zhou X-Patchwork-Id: 10717789 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 D0DB413BF for ; Fri, 7 Dec 2018 09:58:40 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id BFB552D7F6 for ; Fri, 7 Dec 2018 09:58:40 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B39152D873; Fri, 7 Dec 2018 09:58:40 +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 3E7062D7F6 for ; Fri, 7 Dec 2018 09:58:40 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 65B006E715; Fri, 7 Dec 2018 09:58:39 +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-eopbgr820045.outbound.protection.outlook.com [40.107.82.45]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9805A6E70E; Fri, 7 Dec 2018 09:58:35 +0000 (UTC) Received: from BN4PR12CA0016.namprd12.prod.outlook.com (2603:10b6:403:2::26) by BY2PR12MB0055.namprd12.prod.outlook.com (2a01:111:e400:2c80::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1404.17; Fri, 7 Dec 2018 09:58:33 +0000 Received: from BY2NAM03FT028.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e4a::206) by BN4PR12CA0016.outlook.office365.com (2603:10b6:403:2::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1404.18 via Frontend Transport; Fri, 7 Dec 2018 09:58:33 +0000 Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) Received: from SATLEXCHOV02.amd.com (165.204.84.17) by BY2NAM03FT028.mail.protection.outlook.com (10.152.84.238) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1404.17 via Frontend Transport; Fri, 7 Dec 2018 09:58:32 +0000 Received: from zhoucm1.amd.com (10.34.1.3) by SATLEXCHOV02.amd.com (10.181.40.72) with Microsoft SMTP Server id 14.3.389.1; Fri, 7 Dec 2018 03:58:31 -0600 From: Chunming Zhou To: , , Subject: [PATCH libdrm 6/7] expose timeline signal/export/import interfaces Date: Fri, 7 Dec 2018 17:58:02 +0800 Message-ID: <20181207095803.2155-6-david1.zhou@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181207095803.2155-1-david1.zhou@amd.com> References: <20181207095803.2155-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)(189003)(199004)(76176011)(53936002)(7696005)(51416003)(336012)(50226002)(486006)(2616005)(81156014)(68736007)(81166006)(126002)(47776003)(48376002)(476003)(8936002)(86362001)(2906002)(305945005)(2201001)(356004)(6666004)(106466001)(450100002)(8676002)(16586007)(110136005)(1076002)(316002)(97736004)(72206003)(104016004)(5660300001)(105586002)(77096007)(36756003)(26005)(50466002)(6346003)(478600001)(11346002)(4326008)(446003)(186003)(53416004)(426003); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR12MB0055; H:SATLEXCHOV02.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoDomainNonexistent; MX:1; A:1; X-Microsoft-Exchange-Diagnostics: 1; BY2NAM03FT028; 1:lNFDSLyDo1nlpMk61gma7GQ657lrY4x9+fP1zxXradDmgCQ9nDNytxWLjN9aHhBqvFVjP9fXeS5mryqFggzByG69eGdq8FItAxUEusfZXQ/KWQU3vVNqas93T+GJ6Gp6 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6b1f79f6-c5f1-4947-8808-08d65c2a8be5 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390098)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(2017052603328)(7153060); SRVR:BY2PR12MB0055; X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0055; 3:9+pufzWrCIIryac3bFf8jUv3wmGpjr8wcbXS8G2eJr/NWn1P4yFBpJ1vrnif5ioTEbteLxB2rMdXU9vdOdarjvQpRnJZuZlkCTL8oW/v/ctftctDxxD/fLSQS5o57HbK6NjwympehzP6P0m1cHriBVHJkJdpUNCHBzyFpi6dZOLxwAmwVbI5Klo5g0uP5zRUMP1rLqouBbSDj7L6mvgsudYn1dlc7SSLqQRIqvOE9cH8Ar0RFRId6oUDLZOzxZsyLoSW5g9m42FAwP+OaDz1ghOzc+RsiyU5f7woN9ERMTKLUvuoT1J9LMKAEEemsHNznOFAfzCHe3E45QSgSRo7T6Kq2DjBRqFWtckPF/JFVFQ=; 25:Htc42GGOBsh/L490Ce8c7sCjlzpiUOhXCvQO/awasgvyLeD/7kLRsdvIe7R1Uk/exAfxJ+sVwS92IC01WaqqykgDcXZYT0tIuxCE3rOW8hVuUzqxVvF3+FtfeHI9tQgCY19vTWpKfLdt/gPbvp/SSfUj0xa4fnw/CuGthEYFgUTM6B3/dUTXrNH/UVLWco1OwJCK0t3PtcSB2P4QiiMSxTViDrJuSrlg5CKE8pgIEknwbl+YpJhOKmhftzb24XzPYRirR7DNQWhi7iz6ODF6nMPeBIQy+MLDMJX+drU/Vr3ugxx0BM79qCD+W0V8plwpc8NkjidjXAugZzBjnKc7jg== X-MS-TrafficTypeDiagnostic: BY2PR12MB0055: X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0055; 31:lupqHXfUdNqOKDm3DrjCWBnA7yxpbCpbJklmwloPTYIMo49we96QgDBLmrwDFwJ0HcMIPOQK+Adx54RSgGEqXtiAVLDHzFaFeFiKYhKMBXEDbDI5iCgEgnvvA2w2RP72lHbJ+ZAB7JmHmvpZwEcOFrWc/hRgV4kwJBVj8BNV2B5vJSsRHsX5Jk5wddOodl+hPpsCt1Lo3pgkwx9KqNWB63/2wgY4IVMl1SVRapIckMs=; 20:IAPlXT2UdlatCbRZps0lvGYxyGVFsbUwY96btL8O7fdxksFIjkeRQGYuqINFLA7A0p42AbTk99S25pe+ttQKqXe04kuVibs99feQ6tFKW4SxVPIlkbTkDVEB3OyGYF0eoy/OUR01dOoOQghI4qnyJiC5n2YJ5Q6ON+mrenPu+R7RpXg3KAFzY1DI4k/mJ2n884A2CmeG80IgA9vFaPzbOIpsw/F5dctK2H2EqlzJiIVakdI5xCzINZZNRndLCj/KQq+O7ZILuDepFtyItOjaa6cNMMDJf3LmdC8OQNs2ZygelciuzDHIkq6u1i0hywx2xc178RucuyhJozYmZwvxPsp2e5HcBAFUd8ingd4Z1PNuQw/rOlvpoovCsCwPruWkdyjGKoNYj9AN5Cq2xPtsppvqyuJLEnF4kSXNVr/ObtHVrvz715I0ahZTK3XcBs7JghSx67p0r6pUXC2le8XN2sC/BBdUIX0tmAsMGl+hzjFe+/vWnViOXUmnr2gVnuzl X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93003095)(3231455)(999002)(944501520)(52105112)(6055026)(148016)(149066)(150057)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(20161123560045)(20161123564045)(201708071742011)(7699051)(76991095); SRVR:BY2PR12MB0055; BCL:0; PCL:0; RULEID:; SRVR:BY2PR12MB0055; X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0055; 4:5z8xioko4auQ7d0k+F8ZkTeh4ehreCzqlb6ueOJCp2dncrKNJ8UIEfTwBI+vPTjMpim+G2cJlLUAjwQJZXLtUqPFj3Mc7zkUwFh1Xger5+8PgvuOR/4fgdHPa7zZO/reVzKHc9v1fXiVClGifggXQyJojXLVgHF+nt6SbOlH2C2IaUYaFwKPmXHCHCm8A0lr/GD7UT68ZnQotcpq5UD7FRc3LWYlqeIByzp4UVWiNnP14xxGMkOVqvBs+aG+sfWcZoPgOiZoJXTfLZ0GlufxaQ== X-Forefront-PRVS: 0879599414 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR12MB0055; 23:PqJKVNePQX/DslHc91mXS5zVzY/tNXSeos2NqEMLf?= fs3y8cVqx/Vbs+ajA2xUeGxg5DSxg98Y6kd69yydUT8tVTXDe+Ao6IbfA/zJjpuOzmJDJcaKnt12zVwVlgB17CjdUKVUaKukCSHhjJ4zHkeM3r31gvDgTNtHuUJKcqmlBE4hLRiu1rK6qKLGuVT6CLganKHWbx3h8YXzIyoBHloLSPrZMk4LnPSjVLUfZ6RLSP5AoommzFziq6GUoa1H8ITOCxJRZKTGKgNIUMcAyemGeFr+eXo9fwIe5b958VV3aH/pu1wfsvVnlWJCyM5MuGk8pVEgub+XeyYsW0JDV/u8/vIh97r21hjU7uWlqX5VF7+SsUKk9+maZ9onayCDxoaGhpquVGX2qqcK/xY6xC+MJdXN35w87/PhQW+E2c8ZYHOLukVb9CG2ijK/XaKStrRMSMeydYAuNNWsy8g8S27vvuy5NnaZVnr6Twz6TOQHSBsjUDhTaFejmBhnTe4201cjn5ZVF0NZ7z6Xxa6QKK/MMupunajqqOK/SeW0QHo3zlMDzh+ORNChpN2SXp1AF4gZc7CAv77bIjmOsglwyXXDCGWrK4YVAJwNf1fG9QIvSx9jB/j8O6G+Uihf4S84tlAAmiDfIfLV1sGIapEG/9Yexg1jtRRxrg9UVh5wyIlhxlJNCglRArMDid+bBOesdcGL+i1tFAtwj9VXkHjKd+9YqFhpvYolG69FF2YP1Nlk4Z9NO72VTgQPXzFJ/dI93FR8Ri6mwW5Ha5JRpM4kYi3Z9Wf5ZJeEuOtks11TspJveyQSlnBcJGbQrHbl+RzBZF7B7I1iG2LBm4n45Egin63JfIIf0bgkfPUwRapmsHg22rExbKfKbO+Dzhaa2HPofi1ZIrU/wlsaEFziRj1F+bzPV6B3DFynU+q/dg98T8f4M9nWEW01DP2r6UgkUPI2AKX5lW62IhxRdUy5StMSQXFbWY5iTL8KHXkUDcJk++K5ccKcDSj5nd+W+N3qzA/kS/lemalZPEbjTeG5nZT7kMG3qk0QGftvoLF/cxX8xlrilTtvRYSdm367tZJBFkp0C6cjtQUBQCXH09a/M6pL+QFqf67KWH5N/rxPttdbFjd/4gdF3a9bQwnt96z1QQVzIaPyS6U+sU4RKGD3QEeRI0rsKaxCtIMnwmC/2FVH57wROllau8xIyUg6l0N+9BGFeH8 X-Microsoft-Antispam-Message-Info: UoP+f4gu4C76aL684yd2YIRDnk9+G5SxkE7Zkjz7sWXkOXeqaXLTJu8re3w5XiUtylLrg4mwh7jTeluITM3Da+Ro52eIg6poS8VIxYD8fsKRT+Cvew1zOFTB7xnFBhieLgKvfMra4pqLN+o/eWaZD9vbTCqAGvcz/LIYNA5y9ioXZrajFVrZviYNxKZEiE9hKSjbdKibV520V013xPAgXTGGAU98LVrtWf+bJ1Qap06coiHvisvMIxIRkcVI0F60s2qtLMhshWe5IKI4VuSkOUYFzFGsQQGuEnStdYERcfKZqhpqz4mTZH4jq/RSh+9jGRJ2pfS47tlkajN5zFTCy9byBgfE5qH4uDJJ8kLFznY= X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0055; 6:xslwK8pTBsAc4eSHB3P0XQyyJmCZ4SQ0qRDBQyG/gcCkDV1QhMNSxFt7nIgFHvqiyFty3f+2aKtjduOdmWgoR7mYCcfhAOb9oTjHt8Mc0tDc+ZgJrRlAgqG95apD2boAcVyZ62J5XT3hQFXI3yNG15lUQRNL8L2DbEvQKjkHiloLWJ/y4DNjffr+fWoq+sYto3lCZbrVLb395yAmCeVV6mhnqBDmez7ZOkb7W8kvr2Fr8NrXfTpzJmprXaqddBC0Wyeak5zn1dtZ2aydaD6orVvciZ+RGk/VaGZHXvJeyuBx3JHrSDvpRg71zv1/8YT3+XFaDTyyJDBNz+L1p4WkKObKjpa16rmGreQohuRqSE2cbKKy01daW08bwogOePZlOWPtAXVvkKekHs2OtJGg6/edie/rizULiBEw/AENU3Qml5kiEGIA1iIjFoDdPISQYqB0QpMDtGdjhnJE+cmTwQ==; 5:ZoU2AgBpg59EDfo6dhnYZXIJFqD/ExQtmTmxhlq98lHifSlf9JxDCqPGfzX8gPLjkwyXNbj6sea4DG1A2n2Ls4TU5c36pfYroM95duXWmniorefYH7an1vb2Q838WH4Tboa+E+SaL1T4NdpxUnLi6EN6VHMMMQ7BRizZgYu9s2g=; 7:ffUd7EhxokkQEGmHo4Dvx/ldaAmkNx1vWahMU28ETmvwZd0M9YkmXw1pLRgx5TgnGA69mGMO/LS0dutn2YN1x8qG3sj1DWehn4lZoFFOteR5fC+fwwaM5wGsxOEwB+Sxv5lOdkxZ8aDyAiv6CdxkQA== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0055; 20:N1Fhw0JDoVSo2HsLGaMqRhqcquvx7Wc+awijOKUpgrYYJqM3/88H3nyY9dmtrdj1SvWCTYOEsbVmJfnjIqvkrmivyUeWIUfHRZmf+y/84D5dTOTIlSJDrscTGeXjE5H7BT+XiH2iGiVj30ARKR4lvpyBLSZljT/VEhekr6Mh0UqM9OE4E48OEkmMQ7B1FV19T3c/gqLXtX+BtOrWFI7eTafFVrJFQYImM9TkrWB1P79vnHP2bdaJa1KarDdBFxp/ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2018 09:58:32.3086 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6b1f79f6-c5f1-4947-8808-08d65c2a8be5 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXCHOV02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR12MB0055 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: , 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 | 3 ++ amdgpu/amdgpu.h | 51 +++++++++++++++++++++++++++++++ amdgpu/amdgpu_cs.c | 61 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 115 insertions(+) diff --git a/amdgpu/amdgpu-symbol-check b/amdgpu/amdgpu-symbol-check index 4553736f..255d25e5 100755 --- a/amdgpu/amdgpu-symbol-check +++ b/amdgpu/amdgpu-symbol-check @@ -48,10 +48,13 @@ amdgpu_cs_signal_semaphore amdgpu_cs_submit amdgpu_cs_submit_raw amdgpu_cs_syncobj_export_sync_file +amdgpu_cs_syncobj_export_sync_file2 amdgpu_cs_syncobj_import_sync_file +amdgpu_cs_syncobj_import_sync_file2 amdgpu_cs_syncobj_query amdgpu_cs_syncobj_reset amdgpu_cs_syncobj_signal +amdgpu_cs_syncobj_timeline_signal amdgpu_cs_syncobj_timeline_wait amdgpu_cs_syncobj_wait amdgpu_cs_wait_fences diff --git a/amdgpu/amdgpu.h b/amdgpu/amdgpu.h index 330658a0..5536d2d5 100644 --- a/amdgpu/amdgpu.h +++ b/amdgpu/amdgpu.h @@ -1469,6 +1469,23 @@ int amdgpu_cs_syncobj_reset(amdgpu_device_handle dev, int amdgpu_cs_syncobj_signal(amdgpu_device_handle dev, const uint32_t *syncobjs, uint32_t syncobj_count); +/** + * Signal kernel timeline sync objects. + * + * \param dev - \c [in] device handle + * \param syncobjs - \c [in] array of sync object handles + * \param points - \c [in] array of timeline points + * \param syncobj_count - \c [in] number of handles in syncobjs + * + * \return 0 on success\n + * <0 - Negative POSIX Error code + * +*/ +int amdgpu_cs_syncobj_timeline_signal(amdgpu_device_handle dev, + const uint32_t *syncobjs, + uint64_t *points, + uint32_t syncobj_count); + /** * Wait for one or all sync objects to signal. * @@ -1586,7 +1603,41 @@ int amdgpu_cs_syncobj_export_sync_file(amdgpu_device_handle dev, int amdgpu_cs_syncobj_import_sync_file(amdgpu_device_handle dev, uint32_t syncobj, int sync_file_fd); +/** + * Export kernel timeline sync object to a sync_file. + * + * \param dev - \c [in] device handle + * \param syncobj - \c [in] sync object handle + * \param point - \c [in] timeline point + * \param flags - \c [in] flags + * \param sync_file_fd - \c [out] sync_file file descriptor. + * + * \return 0 on success\n + * <0 - Negative POSIX Error code + * + */ +int amdgpu_cs_syncobj_export_sync_file2(amdgpu_device_handle dev, + uint32_t syncobj, + uint64_t point, + uint32_t flags, + int *sync_file_fd); +/** + * Import kernel timeline sync object from a sync_file. + * + * \param dev - \c [in] device handle + * \param syncobj - \c [in] sync object handle + * \param point - \c [in] timeline point + * \param sync_file_fd - \c [in] sync_file file descriptor. + * + * \return 0 on success\n + * <0 - Negative POSIX Error code + * + */ +int amdgpu_cs_syncobj_import_sync_file2(amdgpu_device_handle dev, + uint32_t syncobj, + uint64_t point, + int sync_file_fd); /** * Export an amdgpu fence as a handle (syncobj or fd). * diff --git a/amdgpu/amdgpu_cs.c b/amdgpu/amdgpu_cs.c index e4a547c6..0ff34446 100644 --- a/amdgpu/amdgpu_cs.c +++ b/amdgpu/amdgpu_cs.c @@ -649,6 +649,18 @@ drm_public int amdgpu_cs_syncobj_signal(amdgpu_device_handle dev, return drmSyncobjSignal(dev->fd, syncobjs, syncobj_count); } +drm_public int amdgpu_cs_syncobj_timeline_signal(amdgpu_device_handle dev, + const uint32_t *syncobjs, + uint64_t *points, + uint32_t syncobj_count) +{ + if (NULL == dev) + return -EINVAL; + + return drmSyncobjTimelineSignal(dev->fd, syncobjs, + points, syncobj_count); +} + drm_public int amdgpu_cs_syncobj_wait(amdgpu_device_handle dev, uint32_t *handles, unsigned num_handles, int64_t timeout_nsec, unsigned flags, @@ -724,6 +736,55 @@ drm_public int amdgpu_cs_syncobj_import_sync_file(amdgpu_device_handle dev, return drmSyncobjImportSyncFile(dev->fd, syncobj, sync_file_fd); } +drm_public int amdgpu_cs_syncobj_export_sync_file2(amdgpu_device_handle dev, + uint32_t syncobj, + uint64_t point, + uint32_t flags, + int *sync_file_fd) +{ + uint32_t binary_handle; + int ret; + + if (NULL == dev) + return -EINVAL; + + ret = drmSyncobjCreate(dev->fd, 0, &binary_handle); + if (ret) + return ret; + + ret = drmSyncobjTimelineToBinary(dev->fd, binary_handle, syncobj, point, + flags); + if (ret) + goto out; + ret = drmSyncobjExportSyncFile(dev->fd, binary_handle, sync_file_fd); +out: + drmSyncobjDestroy(dev->fd, binary_handle); + return ret; +} + +drm_public int amdgpu_cs_syncobj_import_sync_file2(amdgpu_device_handle dev, + uint32_t syncobj, + uint64_t point, + int sync_file_fd) +{ + uint32_t binary_handle; + int ret; + + if (NULL == dev) + return -EINVAL; + + ret = drmSyncobjCreate(dev->fd, 0, &binary_handle); + if (ret) + return ret; + ret = drmSyncobjImportSyncFile(dev->fd, binary_handle, sync_file_fd); + if (ret) + goto out; + ret = drmSyncobjBinaryToTimeline(dev->fd, binary_handle, syncobj, point); +out: + drmSyncobjDestroy(dev->fd, binary_handle); + return ret; +} + drm_public int amdgpu_cs_submit_raw(amdgpu_device_handle dev, amdgpu_context_handle context, amdgpu_bo_list_handle bo_list_handle, From patchwork Fri Dec 7 09:58:03 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Chunming Zhou X-Patchwork-Id: 10717791 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 1B72517DB for ; Fri, 7 Dec 2018 09:58:47 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 07CD52D873 for ; Fri, 7 Dec 2018 09:58:47 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id EFD952D9FA; Fri, 7 Dec 2018 09:58:46 +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=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 E02D02D9EF for ; Fri, 7 Dec 2018 09:58:45 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1EDF36E714; Fri, 7 Dec 2018 09:58:45 +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-eopbgr730050.outbound.protection.outlook.com [40.107.73.50]) by gabe.freedesktop.org (Postfix) with ESMTPS id DE4126E714; Fri, 7 Dec 2018 09:58:43 +0000 (UTC) Received: from CY4PR12CA0035.namprd12.prod.outlook.com (2603:10b6:903:129::21) by BYAPR12MB2630.namprd12.prod.outlook.com (2603:10b6:a03:69::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1404.17; Fri, 7 Dec 2018 09:58:42 +0000 Received: from BY2NAM03FT016.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e4a::203) by CY4PR12CA0035.outlook.office365.com (2603:10b6:903:129::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1404.19 via Frontend Transport; Fri, 7 Dec 2018 09:58:41 +0000 Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) Received: from SATLEXCHOV02.amd.com (165.204.84.17) by BY2NAM03FT016.mail.protection.outlook.com (10.152.84.215) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1404.17 via Frontend Transport; Fri, 7 Dec 2018 09:58:40 +0000 Received: from zhoucm1.amd.com (10.34.1.3) by SATLEXCHOV02.amd.com (10.181.40.72) with Microsoft SMTP Server id 14.3.389.1; Fri, 7 Dec 2018 03:58:39 -0600 From: Chunming Zhou To: , , Subject: [PATCH libdrm 7/7] add syncobj timeline tests v3 Date: Fri, 7 Dec 2018 17:58:03 +0800 Message-ID: <20181207095803.2155-7-david1.zhou@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181207095803.2155-1-david1.zhou@amd.com> References: <20181207095803.2155-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)(396003)(376002)(136003)(346002)(2980300002)(428003)(199004)(189003)(8676002)(47776003)(76176011)(7696005)(23676004)(50226002)(1076002)(53416004)(72206003)(2870700001)(2906002)(66574011)(6666004)(356004)(2201001)(4744004)(6346003)(186003)(26005)(8936002)(104016004)(77096007)(336012)(81156014)(81166006)(5820100001)(50466002)(106466001)(575784001)(97736004)(110136005)(54906003)(105586002)(86362001)(14444005)(478600001)(305945005)(36756003)(68736007)(53936002)(5660300001)(316002)(446003)(11346002)(476003)(450100002)(486006)(126002)(4326008)(2616005)(426003); DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR12MB2630; H:SATLEXCHOV02.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoDomainNonexistent; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: 1; BY2NAM03FT016; 1:eXIswb+5VBNKQSfnhclDUoUD9OaDoycOimbw0XYQArM2Ipq8uIMb2aiYm4hyzp1NIscdVke8qMaSyxng929M/RlM02s4S4o7mN1dVcc23Y/b4ruC2LQYIQNnRiWVwdWx X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 76414dba-0618-4d7d-568a-08d65c2a910b X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390098)(7020095)(4652040)(8989299)(5600074)(711020)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060); SRVR:BYAPR12MB2630; X-Microsoft-Exchange-Diagnostics: 1; BYAPR12MB2630; 3:HvasKdH3j9dgFyrSQMpIrHVX9+R0nhvj97XjLyqZ26/SVffU6pvBv9eawBDQ/SUhxUSOrqdazJGoqfFDHmWlhWe2RJA0FIhhqdSYHoMnjg2M1nwSre4p9/UJAZ8f+ow+SqQ/ueLGMSPxi+oHp17ZSLq3HGomg5magBJF6hVEBlWq6VHLByKRi6c9JzEY0KT/nFJSowXrVSXjRRpwfnjVM3tDEea4F9cvm6ooZlUiKZmEAi2xvEAb2+yxGLEtIgAlwCCbk/1yEtzvt4QElUaEoqv59XoZ3LmlyeXSeSvZvcRSgB3DIVfkrVt+Ooue61JTcX+baRMzacCBFfAkvmzQjiZ+9iqW6LdkPxCesYxeXnI=; 25:XuUoCp6kqpC2Qj8ohybpNhfe0IgC7O7pI2X6VQKlSpgwGDtm0WhWpOY8Rye1oI9NB640pLbmuFv8dN4JNvX9q4ZDffQXG1eDuQMcWeuLO34mi4/JFi5cA0NK3so21gC0htRNghQ/2ZCpbuOBl7hNA+Y98yBMlybLyyUFbeZhTC8Z5PbCL73mb8a5zOEee0c96F4rVt5BEW4i3X7Uez42wrFAkp+gPtvx+nGZ9enVlgNMiv7fVflwMjDEx1zUMwKsHj6Lv822s1ZUvYYxPvDqwZgSoBD5tmdo/Nks/RvPEwUW72Q8lytvnzlW6Z8DQ+XPXNkEvmA0y7UsPMxOnWQLgw== X-MS-TrafficTypeDiagnostic: BYAPR12MB2630: X-Microsoft-Exchange-Diagnostics: 1; BYAPR12MB2630; 31:wa23PdAKA6hTIUl4TQd7bAX8K/2BoyBh1N4gbhBKc67Vep8fMRo6Mk9eO0eT3jbsPtF5q83gavd+ZpdRbk/PR/XKihMombN9eflPevhUgj6TSbuPODkFHb/pOq/A9NJC/uGuc2I8YmE4Ww05DVIEWUX5LrNj7nLSfssXN31WAHj2I9O/JAiiZykBWf34Z4O0KZB5NJ40K4ZPE7on9UIJut9YplPHI49FsjgOKvQ5a+w=; 20:h6QKULEiLDt297qgT9p4oWs4U8m6REOXy3qCjowPdyetXPmuA+pUJQZlLICo7X1pGwTgN+Kr/gQxbPKWWZJ4EtzNTRUh6bQ1ttPKTMi2cLd0zMC6XRodatGh1yIVduJrSehsXqOxPte7CsL6bDpWiQ+NYufzGG/8SBX6EDfZHxEZ5N41PpsTSDQe0VgKLDKaA3fLZNKf8iFmUdq0y2lLGaBKJAzVPc++Ef3GQ/0YtPCu7HopvdJ+Q4jWhx2r83tb21YbRZMEgfc6BdbJ03fJMpTadVXzTNj+rigVrxShkshXv7kJNacOyC4k8ahQY5vd9wQdtnW+SIzkUtWiqd9PKjzOBsa8I6JULZFaydveceMxhN44ozcJcHBlyVXqySs+8Ro0EDn/saEoPazxy077Qb7y7yYw8FvO04sb2JKL/5NwE6u3Gm8oJfjv4zpmGekdcU3PgJE5OMlDAy6ZlsNImtCbTpSpPAikVq+i+kD7QOxkJl2jhaVpUWT9/snv+8/j X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3002001)(93006095)(93003095)(3231455)(999002)(944501520)(52105112)(10201501046)(6055026)(148016)(149066)(150057)(6041310)(20161123558120)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(201708071742011)(7699051)(76991095); SRVR:BYAPR12MB2630; BCL:0; PCL:0; RULEID:; SRVR:BYAPR12MB2630; X-Microsoft-Exchange-Diagnostics: 1; BYAPR12MB2630; 4:6MmE9GZgaGjtb268UAhzc/rJfUp2w4g9MZdYsNncoxX7jHN/axfJ2MO3X8AZjSGdruw6vbezHV3TQjZIGT43FJOLF4n82T+j+4ZdX7b3gGMfUwV7xvkSmRMgHL5KCKzatGSAHN6Xf134Ftao9tDYD+cZOcc3o1QEitTfHkc/a3zTbrpdNriaE9fWM9rEYvsn75r5uH+ajWKnwa1TZ89VtSScv7tO2nuspQi0z5ggXdvRJsBwa+IEWjaCuArZGKZ5Ssj0mi4NJqWMFsf7dHKg3Q== X-Forefront-PRVS: 0879599414 X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BBYAPR12MB2630=3B23=3AYydyY5M?= =?utf-8?q?RJ7X0AnT1iEt6K1W4Rh5JuvxOFdVmhSSExJyijxWfUegeeF4VH3agdfwq9oq2ZGvo?= =?utf-8?q?VusQgjzAtkzdwNys9Zanu8aKKB9d95IT4Xe+AvldzjHpOjYIolRbQeACqM4gsbH1A?= =?utf-8?q?hlYpWJpHGnw6Aalqvs+6FeDf8SIuT4GRjIjJ80ffWbPBRm3krJYNmoj/giSrwBAtb?= =?utf-8?q?KZ1VVDzmDVMYBlBgMFbf6hT3oHe2uv49IZKSgaD831vdhMgrYBLcdoaWqCnbi1yL+?= =?utf-8?q?c4mxnfN9TBYzvbZO9TTL8qPf11WnBkMDOEZWQ5alAtMKiysKVnGeYN1vm3DBMjZkU?= =?utf-8?q?6CgxoLACxwFsLIjkNdkY3BQeSbXhQNtNvQ3DpDg24EKVSiyPeMwtiM4LrijK8hbjM?= =?utf-8?q?jAgJBdENKFEv0s8IPqqCiQT65larIYW6J9bKZnRYrZsZ1eL2HtLDhaJZuU+YNm28T?= =?utf-8?q?SDjR6hQaTjlXC3+InvxBOmMDNUblPgsutbm98tWa+i6FU+CS8c1zH1/nDW8ffPdE6?= =?utf-8?q?H0mxQjDWwOpaSqoGc9eeXIE+e4N0RyVuucpzup3m0xoXKLNUchh4RY1y9rY42+qkr?= =?utf-8?q?4VoJXQ3P5Oxhr6YRH7YrQM7Oz0zsBxwkl9ndld2AQ6VJ1rhrUfbgrJAGvKkzE5TCu?= =?utf-8?q?qqauYAgH8U1cYGSimGght0R5igJzCPMpdCDoqP1nUxwZeJp23JtA4udc2xNguy4tO?= =?utf-8?q?/TrZvxP3WNv+4YPyQvZj7hAL0B525Y0uEK+nEnyX3Gus6mqqgywO4WwdZjoYfPGV3?= =?utf-8?q?m3dlIC810QI+fOneWBgBG3K6LJx5HXAGz5k/QYNMJBgcz7JU/Rj04evOTjnDKvlfk?= =?utf-8?q?yCz7FaKTReF9WKO9fRzrclC3tZj9BTY/fWtqrvFBAWNTwRI1weCq8NXGBGvUVsoh3?= =?utf-8?q?2FEgtyF4nx3ZELrg7kRl9j0+oQBYpTyviHnVV2XUhQ5gaQE9VSbmJboAcLTnCMfv+?= =?utf-8?q?JeoJyWvUUYmMu381vrTkx1RUpJ1hC3LCA3i3R7qu9Kqkyl166N4dznc0roSsdpNcG?= =?utf-8?q?HuWcnx2Nes9JupT1LkKFRjaDPNYKkEp+jT8a+4KksHMSDZDKv+X+nWEjjCud3cMq9?= =?utf-8?q?Ta9G2SfTX/ljZIEnrBpdcSr/8d7uwyVbei2oq3ftiZXLtZaGKtx62I6GaIJVFJRaS?= =?utf-8?q?V+bX97s3+FZjseTCpJpCJiDcdfwSW576CKbk+97+cNCE/WvTWCU3RKMG3hjEiNekW?= =?utf-8?q?eizuOOpOaN+Q7WIarSHE9JKRRWK4prn6ZslA4YkqNHrxJ57L2ko2Fo8u7Gb1mIHuA?= =?utf-8?q?jranADROshhfn81tKzJ61r5HQ81/+IdB2gfh1?= X-Microsoft-Antispam-Message-Info: T55IaPgaXBN/4orPOgXs9jlwaF4FRlG8NGSHTvTgaaX6svV1vzVLWbNg+hPFxaUXBo+OFIJmhqgeGCiiTOKD2bUHvG6KofUvKCStGJSkI/LbB6yaGelRF0mFKhBxtoUMRtPjHxpSMgsCDJs4gVubaiqVkNA5RlUzarCLRsVFw0gBW7Em+CAJ/4ZdRxERYaQkRE7Ibqqjwmt38CwJAfQoh+Ds4pVPnsMHWYEgE1//oZ4o4oVR2AoHkkN3+kObioXjNS6IL1qXsgimP0Ov6EpLsWcGr8AT4Rq66nibd2uZPtT5xtBGUM+EABQ8QCdJvRJYdjjsvHtTR+OtX8avkmiNNovy96H30+HpT1/CUpcQz6Y= X-Microsoft-Exchange-Diagnostics: 1; BYAPR12MB2630; 6:5I2O+tZpZG9SNIHvxNR1hsPuEtC9gLT1PK07Yp1Se/4rJfVTRL+mluNnBvgGbVEeMfhldNu3fyA3m5IhI0Sig5j2IsMdPHIEEGDamzy1cbwoshweqTMnCgbyYAYGZgCr9wWnBCRVdmRhJT6QpVlLp1hIw+h1Mn3Z9XL6VRsNmS+A0tkDuTgTrr1fx5zwQk73xVrfaC3MEalnko8boYr471no2L43rwAfHRtk7vRCMNn83P+iJrO+Lclnd+g1wNSaesyFE6sGD/i0tq4/rSGFI+9isD0lBfPy+CFxM8G4FcH/MQIRbCrmEfAoLIEMau3ULW1nBduuMtH/LLpyS1o7OXtnW3HnFrB6hnLXY83O0h+3mvZqWCet6GNGxitjGuYh0eqxek+VcYHIOz90uIe55kSTiEP/utv5HQstnS17BBX9ti5p3ivI5rV9SlOC3IcaEtk9YyJMX99sTVmxVMpw0g==; 5:PMaZD9NVM/8XnzBSqJFjcf0NW4PXpO+ktJFsyWdZj5n36ZoGBGX/BvEwhP93/KPfWxmOhyx9632Zie6Yl2fBgSXXKn3eVb0tuix5T6BiqbF6QuGD2UCaV0u9TtD2nJuqJwNSecrcLCIm78YqLpMe8sEoEaWYFXjmobcEqKB6mlM=; 7:B1LZNDeHG7IQAwciPvjyUJDOLwZ1brg+RqGB3M6fOh4Fj9/b69A+wiABHZx9cPpDKqe3RprdzquOxuNuQ/Sgh02SGl01pgpVx8q5LtAz4ZyKYG0p18fygsDc194eTZksRxO+MzWc08iIHMozYZO0Yw== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BYAPR12MB2630; 20:XD878GBY27JAKNM3KV0kNW+EeJviCgCWeckhNqL6a50zoFKmXNm9OPz+rTnCI/oY4u662MZJTYcAv6ZS7CvP11sbDwctJzZxE4UOx2gPKCv+hRyPqHRJBtZf8xTiy0gWLkpOf4mJEL9ihbiXk75NgVKpDF8eYRhMLf1aMJxtAnIrQzgh3QwV/sc3UvZ/tHw4bd8Dprq6IeThT85nbacrVMNzlOYiAOT2dFnyfw31AszGxsDz559QaDPCdng7IeAr X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2018 09:58:40.8668 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 76414dba-0618-4d7d-568a-08d65c2a910b X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXCHOV02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB2630 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: =?utf-8?q?Christian_K=C3=B6nig?= Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP v2: drop DRM_SYNCOBJ_CREATE_TYPE_TIMELINE, fix timeout calculation, fix some warnings v3: add export/import and cpu signal testing cases Signed-off-by: Chunming Zhou Signed-off-by: Christian König --- 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 | 290 +++++++++++++++++++++++++++++++++++ 5 files changed, 326 insertions(+), 2 deletions(-) create mode 100644 tests/amdgpu/syncobj_tests.c diff --git a/tests/amdgpu/Makefile.am b/tests/amdgpu/Makefile.am index 447ff217..d3fbe2bb 100644 --- a/tests/amdgpu/Makefile.am +++ b/tests/amdgpu/Makefile.am @@ -33,4 +33,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 ebf44098..ff1448f3 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 af81eea8..24d64b64 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..a0c627d7 --- /dev/null +++ b/tests/amdgpu/syncobj_tests.c @@ -0,0 +1,290 @@ +/* + * 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; + syncobj_data.flags = DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT; + + 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 *)(long)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 *)(long)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, signal_point; + uint64_t timeout; + struct timespec tp; + int r, sync_fd; + void *tmp; + + r = amdgpu_cs_create_syncobj2(device_handle, 0, &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; + timeout = 0; + clock_gettime(CLOCK_MONOTONIC, &tp); + timeout = tp.tv_sec * 1000000000ULL + tp.tv_nsec; + timeout += 0x10000000000; //10s + r = amdgpu_cs_syncobj_timeline_wait(device_handle, &syncobj_handle, + &wait_point, 1, timeout, + DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL | + DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT, + NULL); + + CU_ASSERT_EQUAL(r, 0); + r = pthread_join(c_thread, &tmp); + CU_ASSERT_EQUAL(r, 0); + CU_ASSERT_EQUAL(tmp, 0); + + // export point 16 and import to point 18 + r = amdgpu_cs_syncobj_export_sync_file2(device_handle, syncobj_handle, + 16, + DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT, + &sync_fd); + CU_ASSERT_EQUAL(r, 0); + r = amdgpu_cs_syncobj_import_sync_file2(device_handle, syncobj_handle, + 18, sync_fd); + CU_ASSERT_EQUAL(r, 0); + r = amdgpu_cs_syncobj_query(device_handle, &syncobj_handle, + &payload, 1); + CU_ASSERT_EQUAL(r, 0); + CU_ASSERT_EQUAL(payload, 18); + + // CPU signal on point 20 + signal_point = 20; + r = amdgpu_cs_syncobj_timeline_signal(device_handle, &syncobj_handle, + &signal_point, 1); + CU_ASSERT_EQUAL(r, 0); + r = amdgpu_cs_syncobj_query(device_handle, &syncobj_handle, + &payload, 1); + CU_ASSERT_EQUAL(r, 0); + CU_ASSERT_EQUAL(payload, 20); + + r = amdgpu_cs_destroy_syncobj(device_handle, syncobj_handle); + CU_ASSERT_EQUAL(r, 0); + +}