From patchwork Thu Aug 23 08:25:40 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chunming Zhou X-Patchwork-Id: 10573543 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 DD2CD13B8 for ; Thu, 23 Aug 2018 08:27:02 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CAADA2BA16 for ; Thu, 23 Aug 2018 08:27:02 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BD3CD2BA1B; Thu, 23 Aug 2018 08:27:02 +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 5D83F2BA16 for ; Thu, 23 Aug 2018 08:27:02 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4C7776E4EC; Thu, 23 Aug 2018 08:27:01 +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-bl2nam02on0072.outbound.protection.outlook.com [104.47.38.72]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5750D6E4EA; Thu, 23 Aug 2018 08:26:59 +0000 (UTC) Received: from DM5PR12CA0018.namprd12.prod.outlook.com (2603:10b6:4:1::28) by BN6PR1201MB2498.namprd12.prod.outlook.com (2603:10b6:404:a9::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1080.15; Thu, 23 Aug 2018 08:26:57 +0000 Received: from BY2NAM03FT005.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e4a::209) by DM5PR12CA0018.outlook.office365.com (2603:10b6:4:1::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1080.14 via Frontend Transport; Thu, 23 Aug 2018 08:26:56 +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 BY2NAM03FT005.mail.protection.outlook.com (10.152.84.94) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.20.1080.9 via Frontend Transport; Thu, 23 Aug 2018 08:26:56 +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; Thu, 23 Aug 2018 03:26:54 -0500 From: Chunming Zhou To: Subject: [PATCH 3/5] drm: expand drm_syncobj_find_fence to support timeline point Date: Thu, 23 Aug 2018 16:25:40 +0800 Message-ID: <20180823082542.2998-3-david1.zhou@amd.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20180823082542.2998-1-david1.zhou@amd.com> References: <20180823082542.2998-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)(346002)(396003)(136003)(2980300002)(428003)(199004)(189003)(53416004)(105586002)(81156014)(8676002)(106466001)(68736007)(53936002)(575784001)(54906003)(316002)(86362001)(36756003)(16586007)(1076002)(81166006)(305945005)(356003)(4326008)(77096007)(450100002)(104016004)(26005)(6916009)(186003)(426003)(6666003)(2906002)(50226002)(8936002)(336012)(47776003)(97736004)(72206003)(2351001)(51416003)(7696005)(50466002)(478600001)(446003)(476003)(2616005)(11346002)(126002)(486006)(5660300001)(48376002)(76176011); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR1201MB2498; H:SATLEXCHOV02.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoDomainNonexistent; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: 1; BY2NAM03FT005; 1:7mu7rTnbQoz9jaD0PTew4EUj56E6KVK0ZFo9e6lx9mEp1gRuEvPm7KAUW0WoFpsh77CGASSBH4MqXpoeRT28wpandcIyaBsQ861NE1McFwnP1i3JtTxCb3vitxISks1I X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a1571c14-b3bf-45f2-3e72-08d608d23039 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(2017052603328)(7153060); SRVR:BN6PR1201MB2498; X-Microsoft-Exchange-Diagnostics: 1; BN6PR1201MB2498; 3:cqkBCsvi4Wn4TVYFOEtWfsiTCNd0r24odYGljbDzjmC3rRSvKgfmxOYKpXtRjYzBZt/feG2v+I4qXpmdnfD9fWLDTZYLqAl70Wx6xuVg5iUE54mO+b+Hp0d0Zvk+7Y5n+rY0HtgDmkhb8PFM9nZ1GkaKc7Z30UiRIRJdjPpQoIUqayLF+wXyiqwo1Ak8kcmewXe0PkpGT+RjRboRCTGbudgjKwrqqcXpXtxiAJs0v3A1TJ2fcTr0RT41kGEH5iSt82l57PALsPD1yTAo/WiNj+hHWUnOwcRmTuLCPFvh6fPnclayhCnxK1wKqCfWQkJD4b5qWgSHw0PnjQfBBFIfG/VmIgJkHS4VoDA2qNirJbo=; 25:HxEX0NzAQYuxNRC90ktFgS/TFdYdp7INZOxdWiHy66XeucRvnOIvcH2uUkvsmrUPBTl6bEpSWz+tFZAAGOtkyffmOYsz+N/8tGt4hEbt0OEIyw3IQdxvwKm2nDyMfsqzAAssg39Ubx2JLwCziozNg7oTIg09VzA5rcCxUwMCCHFkz/Ypy0kaHN8DPgQyNijUmlnn1eQSy0RuRlK4QXLeg8IPZHIo1OGCW4CFUxwGoh+JL+QuKVjNAZkWFBKKv9du+tFQbt1cwbs/CQ3nE/XYF6zMTL3iJkwaCB3O8SXer6OPq9l0+yBdi3hrqE/KMJMnWhDIB2yuolYDXmQadH+CIQ== X-MS-TrafficTypeDiagnostic: BN6PR1201MB2498: X-Microsoft-Exchange-Diagnostics: 1; BN6PR1201MB2498; 31:uztOpqa7178Aj7SppnWVTpB1toe4Wn8qtWHdoRCPj4IfdnA6D9sP9PicsAXY+Gv/D0mvF7PtUmENDUx+Q60ums7uFiSzxs8bjFmF9/qGYnSj2DzqChYUiRebLILT7ns68Sw8rw8USsGVfZZxPOuVqNiqaoOpgnLVvnO+MnhUAAq8AchS34y7SiMo/pr3wUAy3AWWBxG6KX/n0o3Om79OUqW+bvdbqDg2NF0zbUisSlc=; 20:n39SmXa8Q71aoJx2VL4g6Y6YHDyJtJYoa3tb5mk2An1HTvZqYkrAyLvscft4SSZGJw0APAgjvyVdM8gFo0iYk4cvxhsp7ZVC3UvHnMKeReBaLBRthvGgmE2By6tTgxWFgAL1Nig0odWNfh3FtPwR9JaDn8yW0niIFB6YoVrNpkNwX1/1GiZjSHRO06Gd3TZ2zfTtsi5uc9NVWBc6FebRy91YjGxfDyIRs39J1FJj/a5H72/SrNP15mgC/fCaPX1KRqWc+a5DdCTHRD3sLOOWYvqB4ZQYVJ04gDHFZ4mYd2wNN1d17OxQ3htjGhYTUo/CCtOnNpXKJ0dZgSSebMDJiQHI54hLVHfVVFNOjZ9Vj/K2SUohFnF6AtXv38T4huZ6UxQVfS9XG0uZO6RFa7mf2VY0nrPdeNr/QDKPh54B/dKy/tC/QdqiY4uydks/0eQSVrSY+44aLkekU3/slUhcQnzVjr/pX6USNcDCdX1PIOjZKFDxt9GbjHYqmOrlmCcq X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(10201501046)(3231311)(944501410)(52105095)(93006095)(93003095)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(201708071742011)(7699016); SRVR:BN6PR1201MB2498; BCL:0; PCL:0; RULEID:; SRVR:BN6PR1201MB2498; X-Microsoft-Exchange-Diagnostics: 1; BN6PR1201MB2498; 4:OVmK9hxPytQYw7FtUcningh+bP0s5K67evPSNEMNdUFvWWdo2fjP1nzfXC0ZvAFQNCM21KKyknsB9vboM3TK7mUGaJuebmdzuzVqIOecxkZMWtd8NeqHrc7fLew4O21dQLMvyVoauiWAYWGGZ8U2lTvrIMnumLYWGmStnmSuGPT/o+AMvvukT1QbA8zodTbWq3Ab6mS8pDQP0USGlP15edS0c6SuyYVqJucjv56nYCsbyLcYK54cnrT2kR8FBwciql0yxW+jiWFxbgq70isSQIrv5Y8DAQz/zTPHZyEOyAO0OywTFtHKOuLxUZVJjmxR X-Forefront-PRVS: 0773BB46AC X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR1201MB2498; 23:gwQiV0V02k8ck+rcIoi9NsJ6Lz+mWKjIMCwcbbd?= DrR2bKtRBQO8UbHkK5g75i+YzFspY9mix3hl5BqYLgCLAMWlw0daTuyNlpy/6isGx0ueCFaTsswnLSRJbnS6q897LvoGq8pXejM7evYsKGjXbc6OxRR35OlN4WJOwZsrPJRfdFP+TCDFjnaqX8aHYGcchzGLkhHqCEl/BKnFNm7skWHo4JQeXK19FJ8q9Y7RnyGjuxRM91a1WrCajCYkUJCrnUF1vCHwwLX0kHUhHCg4toR72LY+G7FY4jqLrc0+US4JkZ6S2Er+tMfHXYmd1u7TmWNHJ/Yy+MIgaoJjl3wjlvswrG0lLLxCV5IlbSHnGMCRfpZYGzAwj5v0Zm7yqqEfoLuWwQn+x+TI0L9lZ3P9Rqqp/dzio7nSgj2wKhqmg0hp444i/I+tUk0c8UuiqtJKExxJ4NrTSctYwJ/MrSGPoxutLtXxIFpbTp3WiHWllSkVNBGNbXT0tCzwkj8MSUqNYZXs3EClqC5UiQ3EROnln7W5hBdq1117GuAO5uLbopb5grztjMup640Z1bdZiTG8Zc1Awo5Hb7arBbqZfa8ANL0ux84RpEWKKE7miYyVxI7lBKNuFK1qq6Z0/r8UQ5EaHYVguP2xhqRsfujimdgPkeH38+iAZMxRJSorUbQ5fgCkWlqN1KElaaJg5VdXan5KFsRgMXmnlq79V4amabAq3vYoJXHgRcs0xvrcNblHtcJ9OMbU7GXgjil5sGiYbW9Y+YcEOW3H0SVH6QSP3EHn1xfqyU7GH2SoC27WNoMnGNc3ggCp8EoZvsu2BmxDxASEZztm9cRvZsyvcqffI/SIXjmSveCHZrDxfaQ6jDdY+3LjWTQ1CupyXnePit54fJ7rmo3ErlgRJZdAfHRmyB1HJzZ4cHGKLgNQv1Ya9zbSpLNHTGM+AyDwM0a6pEvtoxfMAqFF1tfmcDcDmc9GvNZKXi8pWsNhAyAqo4cJ0CMU8PUeCtj4Al2hUBHzjjI3w9ljxD0Va6pMqI/ePBWcIZRTsjk+LtsOpDjSAi0N+s/vp3xfaXo9EYw9g877xMpAYubmmWttO353qjYdGom3aflPSl4mc4sBt/tyTrEDvcDg584iw/1faigNbjdUTVZbial3UfBzos9Y3+bHyGQUSTfY4LlveO2CwpHKehYCqK8UorrqZuzHIgoUWg2IgHAcQqo+TUcOXeZK90iPSYMUG9y/Lf2vlXpAbpRS8XP07mSDrX/c= X-Microsoft-Antispam-Message-Info: KILbxgR08vHmCzXoMotxVHKF9al6cgRgd0EJRXGjHUopjUjddWrClsrQiI69EdKnu82bOzfG1g7LOkMjEEg9TfXV+FVRY2GB3q+eETVgPxLSkotYQv9rkkxCYjf5o4NLH0+M+Pp6ZMg/9uwbBFnEp4zi9gLFEAgevSrc8GEluYdYAxLcB0CujFFUyl86dMnfu8Rkp+L7RF9YvKKt4r/Uuz1AM2/fxyDdGCX6+4vUKTMFjADFG0k7/iGR+9bA3oXi04BpnORncNuZvJ8r3tXluRfEn017AWEblOaUeQADeP/Wf9ho2WX7VVdA/9qB94mnDnpjT2oBdcPz3Z2Vh1UuFZckstnuyorxyhELqAu1nKE= X-Microsoft-Exchange-Diagnostics: 1; BN6PR1201MB2498; 6:heBqjn8CyPUVZ+ZSRo48mJqrxGodV/PZ9AWGZSoLAAew4a5n2eUJohi+SY6mxZIA9mrlT291raf95nq3d4UJQw+QoI0FgXFuDuQHPIyTkNypWy1grFprP6YuT3GDDaM2JGvbXA/KWjte/IG8W3rXUOKeIdnUgQLU1+Rg4yr+kVGNto9I8UbbLfKf/kMorhXrD9gzHT0px0dOgHZs2FRhLMzhTFhPn4R1Ph48WyGXSZM9BfM2CoQWJu2aUIijRNyB9KddIkq1kN2/rFtFcgxLW5r8ShBNP8Dkh4AzG4DhxRC9Kbd9tUsEUOdC2o6dI15SD6oRQEiY8d7CGESbNJzhppvDhjdgYvkIlg3ZEW3O2VqVFKl82210C3vpctZNlWMajxtV96BHUiOCNkOeLPMCbLFiA6AcxjmP2D+Do30KcTG0xW0yAwN86j+j+6m+6+o/ZYzEqyv8k5LizKpQkHmyhg==; 5:LSyhS6Qr6atXlDTCj5y/RsP+lLchqs9+ClBoPuABjkTZetMefhViWEzDmOalSWsWJJcifXglPlP6CLu9XKi1fQTpRL3Tz/2zMW/hBb50tFw9XpBlgO1bvWetLFzO83qbjrftMeAjiMxnqB2nuWLJYAEqrs+7NyT0NtIJTmq+QsQ=; 7:AfMjZuc2E5lEhBfP0/mB1B0ZoISLznQKsjh7gDUizsNiY5+evtNijIYYjgqZoOyvAChlQYz5NBO9Gae5DuCmKaNNHg5Tt/b1QdLFU+TqlZACU5s9KRf8brDmxT1Q9FQqFtM7dZ6sQQcf5RkZZNzKzYZH8wYl9o23jzQG7grNEOiMbqFvfTuK91qBSjGuP/+IkAuiz1VyDWwAZlizk2rP3GsQi1kHvjtQGhdg1x/Cuvnff1pRtWtCGzol2cfgo3M3 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR1201MB2498; 20:6OKhCF2a/e0gbg27fDplrsHsYX2F/rTOc/WoqQ9+p3DinAHknrmqKGcoLSy2JdGFvJUKjtr17+SrqlMkF5hYWuFMX4Za37gcqYnKp/lxrQzjvY/u4cgXvhDG0u9MrOL/KIsi47QM85QrW3/uNpggYTPpDlCoSlhoN2ELBAkUF2tpVQO57ljOZLQKxBk8CZyRc1Bfi2JT66c+qxh2RP0ETvJSte500txUrKLDhsr2Sl+J68DAWwQyBiUBcKJL7dmY X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2018 08:26:56.2684 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a1571c14-b3bf-45f2-3e72-08d608d23039 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: BN6PR1201MB2498 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: amd-gfx@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP we can fetch timeline point fence after expanded. Signed-off-by: Chunming Zhou --- drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 2 +- drivers/gpu/drm/drm_syncobj.c | 6 ++++-- drivers/gpu/drm/v3d/v3d_gem.c | 4 ++-- drivers/gpu/drm/vc4/vc4_gem.c | 2 +- include/drm/drm_syncobj.h | 2 +- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c index 7a625f3989a0..4d3f1a6ee078 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c @@ -1062,7 +1062,7 @@ static int amdgpu_syncobj_lookup_and_add_to_sync(struct amdgpu_cs_parser *p, { int r; struct dma_fence *fence; - r = drm_syncobj_find_fence(p->filp, handle, &fence); + r = drm_syncobj_find_fence(p->filp, handle, &fence, 0); if (r) return r; diff --git a/drivers/gpu/drm/drm_syncobj.c b/drivers/gpu/drm/drm_syncobj.c index d4b48fb410a1..3aac0b50a104 100644 --- a/drivers/gpu/drm/drm_syncobj.c +++ b/drivers/gpu/drm/drm_syncobj.c @@ -218,6 +218,7 @@ static int drm_syncobj_assign_null_handle(struct drm_syncobj *syncobj) * @file_private: drm file private pointer * @handle: sync object handle to lookup. * @fence: out parameter for the fence + * @point: timeline point * * This is just a convenience function that combines drm_syncobj_find() and * drm_syncobj_fence_get(). @@ -228,7 +229,8 @@ static int drm_syncobj_assign_null_handle(struct drm_syncobj *syncobj) */ int drm_syncobj_find_fence(struct drm_file *file_private, u32 handle, - struct dma_fence **fence) + struct dma_fence **fence, + u64 point) { struct drm_syncobj *syncobj = drm_syncobj_find(file_private, handle); int ret = 0; @@ -498,7 +500,7 @@ static int drm_syncobj_export_sync_file(struct drm_file *file_private, if (fd < 0) return fd; - ret = drm_syncobj_find_fence(file_private, handle, &fence); + ret = drm_syncobj_find_fence(file_private, handle, &fence, 0); if (ret) goto err_put_fd; diff --git a/drivers/gpu/drm/v3d/v3d_gem.c b/drivers/gpu/drm/v3d/v3d_gem.c index e1fcbb4cd0ae..f6dfb8140a62 100644 --- a/drivers/gpu/drm/v3d/v3d_gem.c +++ b/drivers/gpu/drm/v3d/v3d_gem.c @@ -521,12 +521,12 @@ v3d_submit_cl_ioctl(struct drm_device *dev, void *data, kref_init(&exec->refcount); ret = drm_syncobj_find_fence(file_priv, args->in_sync_bcl, - &exec->bin.in_fence); + &exec->bin.in_fence, 0); if (ret == -EINVAL) goto fail; ret = drm_syncobj_find_fence(file_priv, args->in_sync_rcl, - &exec->render.in_fence); + &exec->render.in_fence, 0); if (ret == -EINVAL) goto fail; diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c index 7910b9acedd6..f7b4971342e8 100644 --- a/drivers/gpu/drm/vc4/vc4_gem.c +++ b/drivers/gpu/drm/vc4/vc4_gem.c @@ -1173,7 +1173,7 @@ vc4_submit_cl_ioctl(struct drm_device *dev, void *data, if (args->in_sync) { ret = drm_syncobj_find_fence(file_priv, args->in_sync, - &in_fence); + &in_fence, 0); if (ret) goto fail; diff --git a/include/drm/drm_syncobj.h b/include/drm/drm_syncobj.h index e419c79ba94d..9962f7a1672c 100644 --- a/include/drm/drm_syncobj.h +++ b/include/drm/drm_syncobj.h @@ -135,7 +135,7 @@ void drm_syncobj_replace_fence(struct drm_syncobj *syncobj, struct dma_fence *fence); int drm_syncobj_find_fence(struct drm_file *file_private, u32 handle, - struct dma_fence **fence); + struct dma_fence **fence, u64 point); void drm_syncobj_free(struct kref *kref); int drm_syncobj_create(struct drm_syncobj **out_syncobj, uint32_t flags, struct dma_fence *fence);