From patchwork Wed Jul 12 05:29:27 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Felix Kuehling X-Patchwork-Id: 9836001 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id F17C5602A0 for ; Wed, 12 Jul 2017 07:02:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E13CE2074F for ; Wed, 12 Jul 2017 07:02:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D5B2C285A7; Wed, 12 Jul 2017 07:02:18 +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=-2.6 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED, RCVD_IN_SORBS_WEB, T_DKIM_INVALID 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 67ABA2074F for ; Wed, 12 Jul 2017 07:02:18 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 41C5E6E35B; Wed, 12 Jul 2017 07:02:17 +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-bl2nam02on0088.outbound.protection.outlook.com [104.47.38.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id A82426E355 for ; Wed, 12 Jul 2017 07:02:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=kXb8wKK06Vg88aD8ASb61umCxdPYdJMkfZH6syAqd+g=; b=hj/5oKGgN83/zgUGe+lQ/Cq/P5Fu19LaEXtkatTYu5/soB1nlxsW9A2pu7wZjPV7TMVYRooGp182wTAA4HNMPwevEZyJqjh+fkCYMkupAyjk22o0ZwBODUrJNqJz02VcXO31VuUOSevbTi4qsAuRFWgU9oAQab9/8hpb3clZfXY= Authentication-Results: lists.freedesktop.org; dkim=none (message not signed) header.d=none; lists.freedesktop.org; dmarc=none action=none header.from=amd.com; Received: from Harpoon.amd.com (165.204.55.251) by BN6PR1201MB0225.namprd12.prod.outlook.com (10.174.115.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1261.13; Wed, 12 Jul 2017 05:30:15 +0000 From: Felix Kuehling To: amd-gfx@lists.freedesktop.org Subject: [PATCH 6/6] drm/amdgpu: enable foreign DMA-buf objects v2 Date: Wed, 12 Jul 2017 01:29:27 -0400 Message-Id: <1499837367-8368-7-git-send-email-Felix.Kuehling@amd.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1499837367-8368-1-git-send-email-Felix.Kuehling@amd.com> References: <1499837367-8368-1-git-send-email-Felix.Kuehling@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.55.251] X-ClientProxiedBy: BN6PR19CA0083.namprd19.prod.outlook.com (10.175.197.21) To BN6PR1201MB0225.namprd12.prod.outlook.com (10.174.115.21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 99903415-caaa-4fe0-2fe9-08d4c8e71342 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:BN6PR1201MB0225; X-Microsoft-Exchange-Diagnostics: 1; BN6PR1201MB0225; 3:bffQiYpMvcC7mkK6Mvj2mjpUs/0UQkBzZ1Zq6Y0UdAbtj5Nr2ZD6SucKtZhC0RVNu16zYbGZRDivqKGJ3hb2B6HgRRkZ/rxG+hnEiU97+ql7VQvPHGPII4zWnrILjoa+3jWW5FDXuo9LIEhW3jSscb3UtP+S+swxUu7P/aDoHTOohsfrzNyA88l1wRUAa5pUK5rzSvTSvGFIZLF368qYyVP2U3j9C38dKP2r6k35sPebhU8O5eI3ztX2eP5MNi42VpwevS0gQZQtD3jsO966P/fPwKNKqDc3VH1pN2OQxPGQWHMjGXfE9kaAFlSq1CnfF9BENKkexLLRQbU2EKUmGv9pE6DpTt0QnLERFkUVLyvi9T2dihA+oyKG1xlomMxrBgzUHBVqM3Uhv48/4vH2WljIMTDxX0A1JI2Ap3c0KzNivfe9+nj6OF8ziiw4+/nAOHSmFy5TStbBK5vLhAMxG5yeWJcBfcfJ+tk7C2BSbuRDSpMxWNWwASiVwLC/YIlMTTwrrNGBQ6YADRa9GZ+pMBlR18QfpGWLe6NcjIEz104WkLGQvLoPigetZsXcxDN8xH2KvToi1tM4LTdDIEQMx9gtQztyn8sfFgZLqnUawqo43G+IR5BOSvj3T097xi502+hVG0SzPZcv08dZ+69cn7lBestyqBaC9RqahdqarTwisq3KEjemiY3zU6yRed3gRDRL9HSWexBY0hRyUpe3+LtLggefKCb66OEtE2bTU3JLZ6OkaGishXfLOOD0uuzXvXgzVOuEXJJEwmrqprM+Pw== X-MS-TrafficTypeDiagnostic: BN6PR1201MB0225: X-Microsoft-Exchange-Diagnostics: 1; BN6PR1201MB0225; 25:3SlPUlgT2+8/jQturgcsNxCN3FWKEPupE9YNDUsIaXP1lvYPT3lep7DAn5ACN49PLDeG+5uXn+5Z8giGvZnbhYgW9gXTD2N/RgpqDFczVQIKNxjStLohtyAurWCDITDUEYuVj9sm799LWs9NsJBjwgQh/GX/1G8sCKl5shIMgVYzEoCJwzhr045lAKrzWxNsaiyK1Xa1V/GCA1oNE867TagMb0C7skmWnGKMfs5KIVR/3mmIdylXvdzaNyzsAqWH9sMG2GnfwpJavQ4WCsjG6Iljo932WwT83KwXrWy3UXZAMvSjSw1dvwibv0vX3cElH9u6F/WWlAHsmMUhBKAkIAHE6meYabyDJTy+gps9vRANfg4T6Vw+fwI4avocPP7q/M1TZ42YiO6jG6RdZvhrmsRJDlnxh2pZ5rPI3BHFfTTeVrZAk6D9pkVQcA3sv6vcXdyAwslg5MTe6QXidgX09UWJt44OAAMXlwHYayN6mu2acrvjomchG2ZwT4MOqBQnGYZmNJTXFE7EGD2rFIveSj68vvHDtnsA+cIz8zIz0T608G1VPqLzbZWTwY3B7+e9+V1fwXRDsdXEKV0eGib7MYQ3tNmb+H8cyE+qIAbJBhP3ukqviXfhunWr6rlI1xSIFPptIxz4KoKidQ1UOIMnV1SNrGaEPMPSZwHLNgIzoFDleAtdzkkAZjuaN46MPlQ8DG/U+NTHVyKiq7GwJ85gJapAvAsJUYN5OdHlA2B9QHEuwANZCu2AZxZ2CZe4n70iV+ACXXRpw+rGlOdFdD0dr1j8XFJKjgcMTq3Mzlk6Zwj55IZFkzznVfUlFATbQo3WFRQDMMzXH+5D7EXS5/R8yx0YfuLBJdEfcfRGPGU0xV6Gz1v5WqbUxjtme1dbbiBjVJKfid87cPFjtwqd5eZKxC+h2MqZACaxA3hIRO+iiJI= X-Microsoft-Exchange-Diagnostics: 1; BN6PR1201MB0225; 31:FwIdmq8qKxDghUusaj6H4+Kq52boaqyzJqYT4hC7TPY+Lf7APATOMCsrk17oHGdHdRPWy4s9+61xOhoRzdDx7bk7CWSVPRUxaR8vH1SK7MWoUxrXxuaiBmlpY39iphc5TlhyLABoaQCwiozXMQwf40dCz19ksvMnOoGvzuY6qvunYH8lHyO5BkaWxoBkD68JU0UlYcXTo7h/Ri0tDu8Jfqt9PdzcXp/Uua73EWkCXuWYHjzTbefwAiNbTGzDv4lovI84GD8C0SoS4sDIdAU+9XVil2o2OAz2u3pxpSdBN7ZDrO26PWe54Y433FQb55Vyp5K2dV0KMuTtirQ52WR2fklk9wxV3TFWuvqPQmxrpeJ5A4ln7ftWO9+lLrpTiUTRyGuEZG59M0nY9CGt3aJFs2h1OOBvVDnNPMmfMBIcEsd0cgW8bR1i7KRZHNeBCPEkTEvdlXurYs5RpmpDRhWfCH/SsXSqccGbI0mEl2YtqV/5h6K+MNAbbBGzdMGpzMRngTNxIgCNKKPUblTc2WKZ+pq1AWV2mvjn3qBlVKpuFi9wSB8JfT9H6MxGWunHa5ftYdoDwSwP0OwI7rJu361+QxYJQBD3MD1UMNRwBPBSI4NiA4txXQAfMPv4XWoTqMKTDjX99SRtggG7tY4XhYTx11M9SA+gU+k4awBkkH3dW3Y= X-Microsoft-Exchange-Diagnostics: 1; BN6PR1201MB0225; 20:X4mhUOFbg2YKVMFLa1Qfs2EkSEFI9+beAl7PHnCOW+Yam+sPPTQTmSAuowvcVja+6215fxm/cQ5hcaQ2MSPoK66ZttXyv/uTbT6hOGCMqRLM6ip8VUczepfI7ONud7qRtaPZuoxZgLlToYKpWhmu3YKMMNYDIB34SnnKy9pxoZKgQvcFYkhrPUYI1lC0vkjHeToEnhG3BiGaYTbdJdMvu/9c1oYnmEjCFuWALJ8LfF+olpoVJiX2cvXdabYz631r91DAn4oRi5//7fWMTLsSk+q7GsnE5OzIxJKX0qm/LQYgTANiGuLhrGqEi5hRA6rwgzuGZeosqWWrLWeMe7KqFYXWJyC2S2Lqt4m4xq+Q57lZSh/qndCqu2xZZ2GRR8mJne2nquvSSdqf6VbuzJT+YSS/8JAKwYa8GscaOxGCVQf6BSb88nG0NDxXtkHN85Kw2aYg9UmU/ovFVOL5zUDKFvSNVRkX6hExQ+aStQT78nauyXnUD7J7kjttk0tF6XKn X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(767451399110)(148574349560750); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(2017060910075)(93006095)(93001095)(10201501046)(3002001)(100000703101)(100105400095)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123555025)(20161123560025)(20161123558100)(20161123562025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BN6PR1201MB0225; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BN6PR1201MB0225; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjZQUjEyMDFNQjAyMjU7NDpoQUhwZ2xxUlE2cmdwWkJVUmg5MVNFVi9W?= =?utf-8?B?SThkNWFMMFhOUE9qak5TNXpFQ1puNnNwZXRrYy9VUXJQcnJCMXNXQkgrMXRH?= =?utf-8?B?SGxjQkxqK0xJdWxldTRDZWc3bXNIYzQxaFBxcVBrQWluOEtiNlRPMzlqTmhP?= =?utf-8?B?SjRPVFVjOFIzRWRLY2s1UkJETFJ4UVlqbzVQRlpFV3pkN3FMVitjcjMrMGV0?= =?utf-8?B?bmhrRTQveW1zRTdiVENKeGJPWlJyT3V1c0pRQm5SVXdVOUVpQUtsbVFiRWJG?= =?utf-8?B?Qk9vZnlIS3h3NXlnWkIvbXprSk9pZVROVnVQVmZIS2JiME1nOTNzd3BPNFVu?= =?utf-8?B?Z3A2Zk5XUTRtblFBYXhwTThEcFR0eVZyZjEyRS9KRjFTNTNqT04yRURyaERv?= =?utf-8?B?T0cyaXpEcmJVVkIrQmw1dnlRY3R0am8wYWtwK2tYZStXd0o5TkdJc0I4Rklk?= =?utf-8?B?T0xEN1hNNE9GNWltbFFPSkRaWk8xZFMvVFZTWXJrUTNVZCs1R2lKK0xIZElp?= =?utf-8?B?UE5NdEFsOWYxSXlIUzkxMDBDVzE2QXZ6WTl3ckxqNGVNdGhHMDhoa1lnellv?= =?utf-8?B?dzZnY0tIeW5UVjJKbVNPSVdhY2Jab1lUZHAxYzl5QWNmY0lxLyt5SGJPT0lY?= =?utf-8?B?TnNiL3RyMDVLMlE0Ukh0bTVzSVpHZmxNYXFGa0JIVkJjYk1Db2VLYklaL0hi?= =?utf-8?B?d0pYZGYxdTYxb0hleFRWaEJBdmdrSTE1V2lWQWRMRmJmdktHNlNPUjFFaktn?= =?utf-8?B?dGF4RlFyb0lTUnd6ZEpTblFzQXQ2Q0JGTDRIazN1MUtURUhiNEc4dWtBTHM0?= =?utf-8?B?RXZzYkhvb3ZWd0UxSmZzS2xjSzJDTUgwbnA5cXJyOGNHdkhEVVhETkhRTmF2?= =?utf-8?B?SDdnM2FIR1RjaTFEUXhyZlF6ZEVVc3pRRUorRDk1SG00R2N3Ty9xTGJ5YWdi?= =?utf-8?B?V2RJSHlHbGZiS0VselRJVUZqZEVHZUlJbmRPU3V2SHQyQ2FWbE95OExQUUJx?= =?utf-8?B?ZjFPeEdiSjc2WnJILzZLaUNISStwQkhTT2RpeDBBQ0pOTFJ1RXBYbjJTSUZQ?= =?utf-8?B?aE1CZlJrM0hKd0MrSWpvUXh3M0Nac1RmVTdLNkJWbWdSaFcybjgxN0RoQkQy?= =?utf-8?B?cjZCd2t2NXlLaGxHUHFWT3pISVMwNkIzc1hxaklNNmZOQkRaa2NWY21ORFB5?= =?utf-8?B?MDgvTjVLSGNRbHV3OUNROTNnOUd0MUJnOTFyb1hldWFoM0YwVU1ieWpGMHlw?= =?utf-8?B?bEdwVW5UU0RocGNyKzdWOW9YcURVNmR0TEZyRjA0L3IwMXNoUkNhenRZZkJa?= =?utf-8?B?ZjZSZnBxdnRWK0NiNTArcjBPV3lQZHNacCtwY2NGZzhoYzlWL29TMmNSUk43?= =?utf-8?B?aUN3U2pFa3dHaTBYQVlsMmhiWDQvcnNBS1FVTlQrQnp2MFJhSkZVbGMwc3FK?= =?utf-8?B?dUgyR2ZFaXNTSlRTR0pNSzJRQll1V1Q1enAxUkVoZWhvdENudU1rU3JyUHMy?= =?utf-8?B?K3lPRnV0ZGdtdlo2c2JYRm1Ba3lEQUVWOTNKVGU3SlhVQWhzTEVmUUxxcktM?= =?utf-8?B?MzMvd3JQZ0tVdG41MXV5RHJVRXMyRTdpSGpEUkpPRXR3YzE2Y3FoOXhFK04v?= =?utf-8?B?L0tRZVJtQ2JhQ0NDWTZKYXdHcWtEakYyYU9Gc0NPTmZWL3pwdDgwa091QzVZ?= =?utf-8?B?SXQvYWl3U1daeXF4ZmVxZ21OdU8wM051NjdpVFRETzRuZ253R1V6WXc5OFdB?= =?utf-8?Q?UDqPp4YB5oeXdr6LOJGG+frz/SPJOJpqBNjZeg=3D?= X-Forefront-PRVS: 036614DD9C X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(7370300001)(6009001)(39400400002)(39860400002)(39850400002)(39410400002)(39840400002)(39450400003)(50986999)(50466002)(50226002)(6486002)(8676002)(2906002)(2870700001)(110136004)(38730400002)(81166006)(76176999)(2351001)(66066001)(2361001)(47776003)(7350300001)(23676002)(189998001)(53416004)(42186005)(36756003)(6116002)(3846002)(305945005)(450100002)(4326008)(86362001)(7736002)(25786009)(53936002)(54906002)(5660300001)(2950100002)(72206003)(6916009)(6666003)(478600001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR1201MB0225; H:Harpoon.amd.com; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjZQUjEyMDFNQjAyMjU7MjM6TjZuWnJyUUxtUnlPTkNvejBNYUo2dHdC?= =?utf-8?B?MENFUEN5cldSbTh0S1hZeTNETC9ucjcvTzQ3QXUzNHRFVHpOQVpzSGgxQ2Vn?= =?utf-8?B?elc4WlphZGtudGxjS290bGZaRDgxSVYwaW1XZUJUZmpUaWtZNmtQWldacTVR?= =?utf-8?B?VlZaT2NOaWVoK0pOU0pxUEgraFZib1dpUG9kZ21DVXdFdTltWjJOQ1dyQlNp?= =?utf-8?B?WnFDRzNhWHlxTmtJRURTOFVmTU5JdTB6Mnc3QWhSSzUyMVFQNHNZeXpTeDQ3?= =?utf-8?B?eEF6Y1NCYS96cGNTS2ttSlZhTlJ2RlIyeHJyYlI1M295Ukw3MXpSWVd1bTh5?= =?utf-8?B?SDQ4VjcvLzltcmtMVlhSNGh5U1ROKzBYM1R0YmhUeFg1czBzZlNkK01TQ3R0?= =?utf-8?B?Mm1Fb3ViTGFleFE5amY2cEhqcDU1MUw5K2ZjckFJZ2dlenEyVkpJM0dQdjdU?= =?utf-8?B?RTYza29LNkpSVEo4WnFCZkdCbW5ONFI0UjVMdnlScytrUFFReVBaTSticUFR?= =?utf-8?B?RThHSnk5TEJCZjdJQXVRbEVrVmpYdlB4eWZtbFpDS1lUQnJ0M2VENmxXRUYw?= =?utf-8?B?TzRSS054WlRhdkhlKzRmWDc4aTVYcTNGMzM2cGxCbzRScmEzT1Z0eW16aG1t?= =?utf-8?B?cEpiSXBHZHRWM2QrTEtKZHhQaER3NkNqK2VWdFhsMWxVRkZKRjd5QkdLT0sz?= =?utf-8?B?VGpTS3pzd0RZdnNieXk3ci9wak5SdW0rRjNRL3QwbmwxdXlnM3VEdThUc0RC?= =?utf-8?B?MDQwWjVQeVI3RUZqTFpJZWEzMUdRcEhjYmZORkJUVHEwbE1yemh3b0xsNG1N?= =?utf-8?B?aHRMejNhZ1ZDellDazBpNWorNXh5YjNIdHp5MEZHcXlza1ZndyswMFViUlZi?= =?utf-8?B?YVk2VVdvYXpGbHE3UGFqK29OUmh3aExRay9JQW5qZ1RDeFNzcVNnQlJ0Ry9T?= =?utf-8?B?bHVNZWtWWmlUTmhzbldkMGpHVWVFeVlLNUlFWVdDeUtTb200YXhaL0R0NGR1?= =?utf-8?B?NkJSaFJ2VEVhUnhpWXRtYUVUcEdjOWlZdGdEM3pNWWY4UkFmVTc2RjNudEVR?= =?utf-8?B?aHcrUzNsT1diVENJajRoVENxNldydHNZbmorZEY2VEpoNmpQaXhJL01vWEhI?= =?utf-8?B?SmhqclNVdTJnakFCa0tpZ3V4SGtCTTNMYVpFbTZwd2d1ZGtZSkRFMkpSNlNr?= =?utf-8?B?T01pQndHUXZKZjE5THl3NUwreW16ZDlBRy8reTVwNzdkVEFFOHlSdXBQL1RT?= =?utf-8?B?MFVhSUN5S3Yvak95ZDNYTkhxdFRrUWxrQ2JzZ1RPS09CaFViZmZDR3FWaTQ3?= =?utf-8?B?RVBaZVdXNUJyNGFBWTR3OWZla0RnVTloM3plcUNQVEd3aTY4MnpONmZncXM1?= =?utf-8?B?dklsVkNFV2c3Y2JHakdIWk9lNThnU3RkRTNWMTdEVEMzWlhsR01uUzBzOGtn?= =?utf-8?B?a1c3OWFtRWErNTZEOFN5dVhvU2lHSEFkUnRGTmN6NWZSYnJkanlaUnhDOTJV?= =?utf-8?B?dWF0bG1UYzcrZXZYUnRSZm5jdld4YXQ5T2k1VmVXUUJBR1VCaXA5U3E3d3Nx?= =?utf-8?B?Vm1ERUhiM0JaKzJYTmZZNGtEY3dXSnhKUT09?= X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjZQUjEyMDFNQjAyMjU7Njp6clF0TEcyUE8yektCYUVzNFY1c3dhdC9G?= =?utf-8?B?OGxFK0h6b0pnblpMbkhpT0sxdWMzZTBiZzhTV1R2OUdEaHFRaWtNYzNrNGpW?= =?utf-8?B?dmhOS2Y5NWpqL0VyeVpaenYvTjNrZjdIelplMkc4L2s1cWxtc2xXbi80OHNT?= =?utf-8?B?RzhTTzQ1MDUrZlpmY1hNY3hPTE9ER3BzbFo2aDdST3NRSG0vdTFwUUxUTmRh?= =?utf-8?B?TjdDTjhVdVdiNkRoa0prT3hQVTQ3OFV2RTU1bWp6K3RIanQ1a0t5c1hIanpp?= =?utf-8?B?dHRPS1RSRTVrNVFrR1VMZHJvZVdEVGNyWXhNNjZpbzRQZnZ5VkxEd3l3dU1Q?= =?utf-8?B?Yy83cWJ3WTd4RXM0b0JBN3IxNHdzYzYrMnRSLytmY3Y4dEg3dlJ0OVZsbWpn?= =?utf-8?B?cUxOMDI4L0tocC9CZkpwM3h5N0MzOG1iSDdqdS8xUzZYRDdqUy9GYVZMdnY1?= =?utf-8?B?bHZMNjBXYnN5cEY2MFBQTFpBNlJjeVhzYS9JTmVzbFlRaXVueU5NeDdyaG9l?= =?utf-8?B?aUhPNlBZZUR0Q0JCWG5TZWQ3eExWVmd2NzAwMDV1LzMzZEhJTEZvRFAzdlhh?= =?utf-8?B?MXRVUzVrQ1h0MnBBRUt1Tm1ORThVcXhjUEFDMDdGd0ZJWno0eDBNVW15OE8y?= =?utf-8?B?elBFZ2JObUV2QTExQVA3UGVaemxjK1ZVREVVSEpjODRmYkJSTFdNZDhLM3dw?= =?utf-8?B?S0E4cWtVYmpld0JycnRQeE80N2JWL0RBOGpKdk5jemlhMDl6ZHZiVWMvYklO?= =?utf-8?B?NWp2Vm5jZlppSUhFWThTRXRldUJZRDZyVERGeXA3bFp1bDJLWEw4OVhSMUlz?= =?utf-8?B?SGFxRitHZWJ2MTlkZVhnUi9yMG5xc0thUkJ4S2cyOTV5blpyRTRnQ0lrcE10?= =?utf-8?B?QzIyNC81aDNqb3hYTkJwYXJ0OUF0UHZra20vdVkrK1lmYmYzSFBhNnlncElW?= =?utf-8?B?S0Z0d1l4dWtCV2l6OUdvL0xDYjNkMUFTNW9zcnpOSm8rSXpxMk5JUVFKOEw0?= =?utf-8?B?TENKMDBjd05YYVRKai9OWVk0TTFIMTdnZ1RlUkxxYlJiN2FEdS9SZTM4emN0?= =?utf-8?B?b09WM0ZHb05nUGdCUEljRkc0UkwzS201bmR0ZDZvNHBXbDcxRHRNOE5XY3Vi?= =?utf-8?B?Tk1lVlRnNjBFTys4WWJnRUpkMUdNVXJhdDE1T0M0TUlMb05iR3FWRk1sbkhi?= =?utf-8?B?cXRydXM4Ukk3U0l1aDdXWWtGQklVMVJFcTllMVh0M3dKajk4bzRWYTNVTjQ0?= =?utf-8?B?SFh0dXBxWkM4d0JBcjVmVWZmQjFMdjVkNzF3Q1Nqc1pPaFIyWU1FN1JYNmlU?= =?utf-8?B?bnBFcmtFNkM5aTcrTUpqODBEOXQ3MnhHclRId3F3NzE4bGN1TDQ0ZGhKS0JT?= =?utf-8?Q?e0140LKcH?= X-Microsoft-Exchange-Diagnostics: 1; BN6PR1201MB0225; 5:76TlczUKeg4zwifupeE+0Kd8g1eDZi66+AfQzsPUDKQGPi+F+Q+a3jgfu6p0avZlfTCfwmFI0wgUckZtUr/B/0LwdPJI0WL2dir0HdW4IELsjT74hBLj031qaW1VtybHDmrUhGWx4EZnM4w/GY44G9n1Ba/K+n7jEAOXecDdxSWB7Zq8GYTVl/PYWJSF0cR3L6q/6hQjQb1KFHI/N2COF5rh+DWjA+PAsTj+39hGD/hhDRZtjQRUQs8tSs1QmzDOXpLrLl1IgUh3uOrfCCUaGptiAMy601MI98Osb2J6bCIooE2Sg4U8BnWdm/Xl7LDYWH1MZdHn+SgDn+sb93Gvj2hbrSY4yiYm1cFxze4jzLz1LjIeVfFKNkQWppycLR+M+Tt61CqzM4Z0j7TrxMemVTXxc86kJ2LvYY9OcBMed2dKJP5Bd/Zqm5JsmdnL3Nsrr2MrPD9lMBEoOWhNaKaknogLb+FVVV1uVjfQ0ZzEHNLUQj8LS+uQTR0WrIcjL3Ed; 24:YyGI8YBMOTwlfOo3gtrPOKO0yOXbE9wVwM5n3kH17eTubbr5n/FfS6Q4zW7y1sLY6wCZcoYjhoyWlti5BpU4d9DaT22NWN7BJ8MN974PiK0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR1201MB0225; 7:RGceao2XxOh8ift+5oULaueWhoyK7MjporVPgGiqMccFE4NraMUy4JY/Owm9gI9Z3hjnrTs26MR+iEn1t9kj62jRb5EXc/Dln3qn08n6+t4GzI4bmUJb/EU1ucHo9Cw+hHSXSSDtCL1GNLTzn+nyqjPeAxcxRYkZk/dtu7NsRA5zPWHGXCVd34fscKFcgACoLMq4PQ+ROdeGPyJJbgmf+3/1dByYTSq3KEE6M9FdnSFqkKjJov6B2fJ/71SHrUxQkm4Wttt3E1q4rZs15dMcjri81GKxTx7ynWNS1aN9n6+Ay8BIwnHRyW82qYdddghcYEFFPa7N7TS8togVo4/5kMTpNsV29eL2PClvUdyXjlSZFBwvXsoBf9yA6+hBEN/NzQqORE2cjbC5Sfp3E2gTw6diP7C/o6W78PUd+rF4XjoC0d9VNP4LZOVK4Jc48/vlt4uaG8aUIzFu7e0B+1iPyodYllgS6pPmSMPHFOjQ7NQ/qS2lWjrtUCPgUza0dwvRtvKi3Y12T/7X2FYNxcRt+L+CW9tTdi4uTCWqNRbdqffZvzbs9NNCOxtkp2kqSPZTh7Gh+YSU4zP+nH4P6H19Kpx+TzNKZ+urD+9wO29gRWtL1RFSt5DzntGaj8XY2sBTdrHBWauWISWoqhtrOtGkMD3WZWP/noyIshkZOHtfnP1ED7tN4ZZG9Oa//vjZG5J2Dyk64JJr5TI4LGQjCqSSEryGJfbeuxarJ1WJmzvyU7vJyGItSfjcATZfoY6YPPCbjOdhymjLm80x2uOWc0Qb3KFX49qpZ9GXtdsFUMxZMrQ= X-Microsoft-Exchange-Diagnostics: 1; BN6PR1201MB0225; 20:2eslJILhFTZPbT9oi7FG38Blbej2kf7FSZZJI6NpXcWAsxHD+GohruAVsBHJnYNQO6Kky4ESmnRDT5kIQIZBBdVWrmu+ognVsWHQetxCOO1OgWRzfxXgb7FkPBxqE1D3e5LXPxWvbFI3IsSoNPs8dnC3YgVIIJSIzaxQj3XtYp9g/aXvdnyya7i1ZYnsIrJM6g+ca/zzoRNoENabAKQhCYYfLq5UkmFkKPKil1Z7HToMEcyDDO5+l0IrzHvePWKA X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jul 2017 05:30:15.0312 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR1201MB0225 Cc: Felix Kuehling , =?UTF-8?q?Christian=20K=C3=B6nig?= , dri-devel@lists.freedesktop.org X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 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 From: Christian König We should be able to handle BOs from other instances as well. v2: * Add a module option that is off-by-default * Use new DRM helper function to check the exporting driver Signed-off-by: Christian König Signed-off-by: Felix Kuehling --- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 4 +++ drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 6 +++- drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c | 60 +++++++++++++++++++++++++++++++ 3 files changed, 69 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index 9fa3cee..46d9aeb 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h @@ -129,6 +129,8 @@ extern int amdgpu_cik_support; #endif +extern int amdgpu_p2p_sharing; + #define AMDGPU_DEFAULT_GTT_SIZE_MB 3072ULL /* 3GB by default */ #define AMDGPU_WAIT_IDLE_TIMEOUT_IN_MS 3000 #define AMDGPU_MAX_USEC_TIMEOUT 100000 /* 100 ms */ @@ -471,6 +473,8 @@ struct drm_gem_object * struct dma_buf *amdgpu_gem_prime_export(struct drm_device *dev, struct drm_gem_object *gobj, int flags); +struct drm_gem_object *amdgpu_gem_prime_import(struct drm_device *dev, + struct dma_buf *dma_buf); int amdgpu_gem_prime_pin(struct drm_gem_object *obj); void amdgpu_gem_prime_unpin(struct drm_gem_object *obj); struct reservation_object *amdgpu_gem_prime_res_obj(struct drm_gem_object *); diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c index 2cdf844..ab00864 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -120,6 +120,7 @@ int amdgpu_param_buf_per_se = 0; int amdgpu_job_hang_limit = 0; int amdgpu_lbpw = -1; +int amdgpu_p2p_sharing = 0; MODULE_PARM_DESC(vramlimit, "Restrict VRAM for testing, in megabytes"); module_param_named(vramlimit, amdgpu_vram_limit, int, 0600); @@ -289,6 +290,9 @@ module_param_named(cik_support, amdgpu_cik_support, int, 0444); #endif +MODULE_PARM_DESC(p2p_sharing, "Enable P2P buffer sharing (1 = enabled, 0 = disabled (default))"); +module_param_named(p2p_sharing, amdgpu_p2p_sharing, int, 0444); + static const struct pci_device_id pciidlist[] = { #ifdef CONFIG_DRM_AMDGPU_SI @@ -835,7 +839,7 @@ long amdgpu_drm_ioctl(struct file *filp, .prime_handle_to_fd = drm_gem_prime_handle_to_fd, .prime_fd_to_handle = drm_gem_prime_fd_to_handle, .gem_prime_export = amdgpu_gem_prime_export, - .gem_prime_import = drm_gem_prime_import, + .gem_prime_import = amdgpu_gem_prime_import, .gem_prime_pin = amdgpu_gem_prime_pin, .gem_prime_unpin = amdgpu_gem_prime_unpin, .gem_prime_res_obj = amdgpu_gem_prime_res_obj, diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c index b9425ed..21a34ba 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c @@ -159,3 +159,63 @@ struct dma_buf *amdgpu_gem_prime_export(struct drm_device *dev, return drm_gem_prime_export(dev, gobj, flags); } + +static struct drm_gem_object * +amdgpu_gem_prime_foreign_bo(struct amdgpu_device *adev, struct amdgpu_bo *bo) +{ + struct amdgpu_gem_object *gobj; + int r; + + ww_mutex_lock(&bo->tbo.resv->lock, NULL); + + list_for_each_entry(gobj, &bo->gem_objects, list) { + if (gobj->base.dev != adev->ddev) + continue; + + ww_mutex_unlock(&bo->tbo.resv->lock); + drm_gem_object_reference(&gobj->base); + return &gobj->base; + } + + + gobj = kzalloc(sizeof(struct amdgpu_gem_object), GFP_KERNEL); + if (unlikely(!gobj)) { + ww_mutex_unlock(&bo->tbo.resv->lock); + return ERR_PTR(-ENOMEM); + } + + r = drm_gem_object_init(adev->ddev, &gobj->base, amdgpu_bo_size(bo)); + if (unlikely(r)) { + kfree(gobj); + ww_mutex_unlock(&bo->tbo.resv->lock); + return ERR_PTR(r); + } + + list_add(&gobj->list, &bo->gem_objects); + gobj->bo = amdgpu_bo_ref(bo); + bo->flags |= AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED; + + ww_mutex_unlock(&bo->tbo.resv->lock); + + return &gobj->base; +} + +struct drm_gem_object *amdgpu_gem_prime_import(struct drm_device *dev, + struct dma_buf *dma_buf) +{ + struct amdgpu_device *adev = dev->dev_private; + + if (amdgpu_p2p_sharing) { + struct drm_gem_object *obj = + drm_gem_prime_dmabuf_to_object(dma_buf, dev->driver); + + if (obj && obj->dev != dev) { + /* It's a amdgpu_bo from a different driver instance */ + struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); + + return amdgpu_gem_prime_foreign_bo(adev, bo); + } + } + + return drm_gem_prime_import(dev, dma_buf); +}