From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.5 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_MUTT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C3017C43381 for ; Fri, 1 Mar 2019 00:21:31 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 88D6E20851 for ; Fri, 1 Mar 2019 00:21:31 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="PzWcYnf2"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b="rcDc3oKN" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 88D6E20851 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=xilinx.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=rN+zfNcduuPqatB+ViqnDGZ4GLyd2pmpUf5X0v9Pwjw=; b=PzWcYnf2vmyOoc wRClN64gwuWez7ES6wkPfK5YFA8bzPBty7rN88jGGOkTZPqSVB0z+E9gsRFlMKrhlGYpU/1X6XMbj CRDqXysnUa7x++ubq5QQBXna3w2j/7t/ELPZ0GBzzSkB0rAYQIw23rRlHPEkoACkLbpeWj2okoloI d4X7mOu42JgdQnx+7m7uuLMNPYqYY5uZZ15boN1/egEew3DVnelgtkhqsZZeTD7uqpEWqfCFolxRQ 1tPbVsH0I/Lc9bSGYvTBtxeXUmhX3Jiir1WjUb2VsGegwnIibh87qWd/SBDDQMAGYw9xTr0p4otBW 2LkRMkDirrQkMLnJ0Iww==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gzVvX-0006nj-KS; Fri, 01 Mar 2019 00:21:23 +0000 Received: from mail-cys01nam02on0623.outbound.protection.outlook.com ([2a01:111:f400:fe45::623] helo=NAM02-CY1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gzVvS-0006nD-5r for linux-arm-kernel@lists.infradead.org; Fri, 01 Mar 2019 00:21:20 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Zn/jg9E33Ays6eZ+lfrVFH2j4k7oiQ0KhQUBa5t7pbY=; b=rcDc3oKNbrje0R8Ctf1WETxSiDwliGqwHLq7NeiuJQZLixvw58vi5TF3ludpxSkb7luuGg9QA8bCY2NajzHwxmRxFSTs6dpqS1uhYVUPxluff6VcpP9rgNlajBnvv1LkqohqjmqsKevH66OiRA/WxQoddgMTk26gsYX3FLndLkg= Received: from DM6PR02CA0069.namprd02.prod.outlook.com (2603:10b6:5:177::46) by MWHPR02MB2272.namprd02.prod.outlook.com (2603:10b6:300:5b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1665.16; Fri, 1 Mar 2019 00:21:11 +0000 Received: from BL2NAM02FT032.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e46::205) by DM6PR02CA0069.outlook.office365.com (2603:10b6:5:177::46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1622.18 via Frontend Transport; Fri, 1 Mar 2019 00:21:10 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.100) smtp.mailfrom=xilinx.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.100 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.100; helo=xsj-pvapsmtpgw02; Received: from xsj-pvapsmtpgw02 (149.199.60.100) by BL2NAM02FT032.mail.protection.outlook.com (10.152.77.169) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.1643.11 via Frontend Transport; Fri, 1 Mar 2019 00:21:10 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66]:40610 helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63) (envelope-from ) id 1gzVvJ-0004OM-Fx; Thu, 28 Feb 2019 16:21:09 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1gzVvE-0004po-Bg; Thu, 28 Feb 2019 16:21:04 -0800 Received: from xsj-pvapsmtp01 (mailhost.xilinx.com [149.199.38.66]) by xsj-smtp-dlp2.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id x210L1O3009041; Thu, 28 Feb 2019 16:21:02 -0800 Received: from [172.19.2.244] (helo=localhost) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1gzVvB-0004od-R7; Thu, 28 Feb 2019 16:21:01 -0800 Date: Thu, 28 Feb 2019 16:18:57 -0800 From: Hyun Kwon To: Daniel Vetter Subject: Re: [PATCH RFC 1/1] uio: Add dma-buf import ioctls Message-ID: <20190301001856.GA20971@smtp.xilinx.com> References: <1550953697-7288-1-git-send-email-hyun.kwon@xilinx.com> <1550953697-7288-2-git-send-email-hyun.kwon@xilinx.com> <20190226115311.GA4094@kroah.com> <20190226221817.GB10631@smtp.xilinx.com> <20190228003606.GA1063@smtp.xilinx.com> <20190228100146.GK2665@phenom.ffwll.local> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20190228100146.GK2665@phenom.ffwll.local> User-Agent: Mutt/1.5.24 (2015-08-30) X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23620.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.100; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(376002)(346002)(136003)(39860400002)(396003)(2980300002)(199004)(51914003)(189003)(33656002)(50466002)(2486003)(6916009)(6666004)(356004)(1076003)(76506005)(57986006)(6306002)(14444005)(63266004)(106466001)(52396003)(23676004)(106002)(4326008)(76176011)(587094005)(229853002)(6246003)(53386004)(53546011)(305945005)(8936002)(81166006)(8676002)(81156014)(126002)(44832011)(11346002)(446003)(476003)(486006)(426003)(9786002)(336012)(186003)(26005)(77096007)(54906003)(316002)(58126008)(16586007)(93886005)(478600001)(966005)(47776003)(2906002)(36386004)(5660300002)(18370500001)(107986001)(5001870100001); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR02MB2272; H:xsj-pvapsmtpgw02; FPR:; SPF:Pass; LANG:en; PTR:unknown-60-100.xilinx.com,xapps1.xilinx.com; A:1; MX:1; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e5e099bc-162e-4be5-010d-08d69ddbce4b X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4608103)(4709054)(2017052603328)(7153060); SRVR:MWHPR02MB2272; X-MS-TrafficTypeDiagnostic: MWHPR02MB2272: X-MS-Exchange-PUrlCount: 6 X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Microsoft-Exchange-Diagnostics: 1; MWHPR02MB2272; 20:r98kEuR6Qe5VkGK5D1qx6ItqwXKBH2mqvpMI+lHUAZpG5f6LB2FxAXeijKboUeOVJzahUdvmzNa57cSFMOd5bdrz6pZSabIm/8vOcivSSIH0WLfq6FRZmFqBRrYRumrjmO1+lyq8+rWQESaUReSR+nsxz/kgD2uqil/nVyt8hl6TAKQvAp2WaTOs9mETi5aaA4vXhnRl6MTUk+3ihIs7Con3PDI/DaGsSoA22FEjebZQmZVNf4dAXfPLBaqr3UaLcfuiD7OpNErABV4cJbmngg91YHLtV/NCEIRweOl+soqks2M0JckTN3FmdMK8ahPVp9cdZpoqFt3SvGBQdECBE6WwYz3XttYVctdz+8RI8bxR4J6/RsyvntDNncSkyHvbvQwIUTNk+826wyaFo7VF5L+2m5kWRm5jOCCie9RE67Uzo16iHxCzl2BLmsByPGHHtWgl7/aawJO09iTbbkTpA+ISWRZQiXXropjTULpXDEsyaiuszFjnmRVQIEYTR6Ni X-Microsoft-Antispam-PRVS: X-Forefront-PRVS: 09634B1196 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjAyTUIyMjcyOzIzOjRBMGJkL0U0b1RUWHpIQWZDaXBmZFE1Vmty?= =?utf-8?B?a1FJdzFWNkhxdkVJbzZGQVZkRmFOZllDMWhBa2xGMUhGQ25NS1NVUmsySlJm?= =?utf-8?B?ZlZ5Szlnc3E5dTZXUUtrWkVmKzIyUTZJYkNBaGZ0T2JwenhiVERoS2Z3Yjhp?= =?utf-8?B?YzBrTXNsTlNjTWJBQjRaSEJMZEx5alhCa3U2K3pyaU5kdktkQm15bGwzekI1?= =?utf-8?B?Vlh5dzE0WEFCQkhwVHNEc2tVSlFBR2hmelhkaXBhc0R0dk8rOTRPb0lpOVly?= =?utf-8?B?QVc1NVpBNlQvcEkzNnhCUFAzSG9jeGRDMWpKSG5RRzR3eEV2eW01dS83bEs1?= =?utf-8?B?aFgzQTZZSVo5Z0pyUWV0cVhpNTUyTW80NjFQdENJckQyTDZVZmJFRVpBY2FN?= =?utf-8?B?MEhWdHJ4RUhKdXJ5eEgvNlh1L01pYjBqalE0L2pWa2NEY2JETnNrR0dza2pY?= =?utf-8?B?V1RKamlhZy84aEF2eUlkbWx0MHRFcVJ2Zlp2aTRlOXRBTmlXV2hBc3ZhMFcv?= =?utf-8?B?NForRDZoaitUU3hOdzcxV2dRLzhKWFAxNkJCSHI1My8wRmlOMzFXd3BRaCtr?= =?utf-8?B?cFR2WGI1M2xLbG9kVlBNbXZCNmE5QUVhUzVJbTd6MGJ6ajhHVGw4RS9vNXk1?= =?utf-8?B?Z0wrY3loeFN6c3liTmd6MEhxZFB4U0RkWGxRY05PNlFRV1BPc3pPcmIyRjR0?= =?utf-8?B?cmpPZ3BENW1NZ1BHZk1PdCtDZGNCN3FzZWF2cWloaFE4NUhkck00Njk4NXlN?= =?utf-8?B?OWhNNndjQWEzbmY0TElYQi9iSHFXTFRwY3FZWEltNGQ0K2VDQ2lLd2xncEhI?= =?utf-8?B?S0FtdEJ3QXhvRUc5TzVVckpWbzc0amczWWJWckV5KzE5aGZLSExyL2hTb1pt?= =?utf-8?B?dDBHRTF4MkNvMXZSTkROMUxTZWM0QkZKZXcvNmhXMTFZQzhGUy9wUmpZcFps?= =?utf-8?B?ZXpUMmVnaW16VFpJK3RVK3hOVWZOblVUUGFqTUcyUGdScEJCbjkwekc4dS93?= =?utf-8?B?aWNjMkJTeGZvaXlyTUJNa1JJZ2lOQ0VIZXpOd0pOcVBCK29zMEp6QU0yRU5T?= =?utf-8?B?M3pmbXpvZ0hlK1JZdjN5eitudUpjY2Vkd3NSdlJCbzdzNHhKVzcyV2s4eG94?= =?utf-8?B?dFd1K0lWWkYybnVpZ1I3MGduNGNwNmhrNUdDL0NVRnBCRS9xUk04L0hXYW93?= =?utf-8?B?aWhUSTUwY3kxbWh6dG5pNVJVZW1RMzVYNE5DOFBJK0ZTb0FpRkwyOE0yZWJo?= =?utf-8?B?YVdFN2E2RFdSc1Q4QUV3YlRrYlcweGo1VnZrd2RKQ0hxMVZ6WEFKWStXVTcr?= =?utf-8?B?RnNRMUZuQ2VqQnR6eXBOc1FmbU13TkZWVVdmZVgxRWFWZSsrUS90dGRRdHZS?= =?utf-8?B?REsvSFFGSFJmMUdyRUwyeHcybnlrOFROY3FRSUs0OHdUcUtQT2tIQlk2djU5?= =?utf-8?B?NU1ST1BENGlPL1FRUWZvOThrcHRSWG1XMzA1UmVDaWV0OTdSa0tTVlk2ck1S?= =?utf-8?B?d1hBQVp6VjhhQVJibDBuT3RsMHJ6dHU2LzlqS3E2V2RCazZvbExYdVZRKzhw?= =?utf-8?B?MUs3Q2tWZ0dvbjh0bC9JaEhyTU1aOVpMaDBMY1I1STNROGtibVNJdlo5YkpJ?= =?utf-8?B?R3g2RVpFVGVhQzA2cVlDeEQxWmxBTDRkMVBQbHJ3bWM0d1UwYUUwL3h3eUh0?= =?utf-8?B?YTBESUxXTW1DMVk1YzVhTm1GNzc2YkkrMDljc2h5WXlTUzZGYWVkem52RW4w?= =?utf-8?B?VGdVQXJmVE5vWjdObjM4ejRKKzRESmdHeEpjdEhzTkQ5aTNrYTA2c2dLM3l4?= =?utf-8?B?b2RIbWRIQ0RXN1ROeGxWd3VSVHFnVTZudU13QW02c29vb1BHazlqVkFlQUFK?= =?utf-8?Q?kqXldVoYAqSCCvXudpt16cmDJ40zaFsg?= X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info: ro6ymHdUx1hU7+3RB3TmmWLMe2Jl059bUcGgLZOm/ENBb2OL6R+AAqmbpRDZbG3fUtzjSaOXgcDcZAiQGSO6NqvCeOYwgVo5iVt3KaQkQKkUQB7h4t3q1fxUoZSDqYiT8AyN7jrjrnPfE6O4GOF7yyJ+HnhBXsk6Ql7f8Ou7Kodgf6qvPQ418VFTAx/5gc1jTfBAy+Z3yTZB9fgaQyZJ5kpaJNwXKDMkeR1xzKGZFeEKQ5ArTi2ZK1nuoz2rdlMEKVETSAqdXj8johOwzzcpM9/DfD+BZYYQAuQxpj60VjkALbNg5B2LKCiNDPF1QDvJMbsXjcAX7h8ktENhJBgdLcpf2V0UBq+sc1RIUnK6aX0cH9ZZicqGnsNT6K5JyxMooC9B3oOPGv/BoMw+NuMfSXvJKWlj9dhycWhXxjegEAU= X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2019 00:21:10.1106 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e5e099bc-162e-4be5-010d-08d69ddbce4b X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.100]; Helo=[xsj-pvapsmtpgw02] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR02MB2272 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190228_162118_453560_B8AE6098 X-CRM114-Status: GOOD ( 39.72 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Stefano Stabellini , Hyun Kwon , Sonal Santan , Greg Kroah-Hartman , Cyril Chemparathy , Jiaying Liang , dri-devel , Linux Kernel Mailing List , "moderated list:DMA BUFFER SHARING FRAMEWORK" , Michal Simek , Linux ARM , "open list:DMA BUFFER SHARING FRAMEWORK" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi Daniel, On Thu, 2019-02-28 at 02:01:46 -0800, Daniel Vetter wrote: > On Wed, Feb 27, 2019 at 04:36:06PM -0800, Hyun Kwon wrote: > > Hi Daniel, > > > > On Wed, 2019-02-27 at 06:13:45 -0800, Daniel Vetter wrote: > > > On Tue, Feb 26, 2019 at 11:20 PM Hyun Kwon wrote: > > > > > > > > Hi Daniel, > > > > > > > > Thanks for the comment. > > > > > > > > On Tue, 2019-02-26 at 04:06:13 -0800, Daniel Vetter wrote: > > > > > On Tue, Feb 26, 2019 at 12:53 PM Greg Kroah-Hartman > > > > > wrote: > > > > > > > > > > > > On Sat, Feb 23, 2019 at 12:28:17PM -0800, Hyun Kwon wrote: > > > > > > > Add the dmabuf map / unmap interfaces. This allows the user driver > > > > > > > to be able to import the external dmabuf and use it from user space. > > > > > > > > > > > > > > Signed-off-by: Hyun Kwon > > > > > > > --- > > > > > > > drivers/uio/Makefile | 2 +- > > > > > > > drivers/uio/uio.c | 43 +++++++++ > > > > > > > drivers/uio/uio_dmabuf.c | 210 +++++++++++++++++++++++++++++++++++++++++++ > > > > > > > drivers/uio/uio_dmabuf.h | 26 ++++++ > > > > > > > include/uapi/linux/uio/uio.h | 33 +++++++ > > > > > > > 5 files changed, 313 insertions(+), 1 deletion(-) > > > > > > > create mode 100644 drivers/uio/uio_dmabuf.c > > > > > > > create mode 100644 drivers/uio/uio_dmabuf.h > > > > > > > create mode 100644 include/uapi/linux/uio/uio.h > > > > > > > > > > > > > > diff --git a/drivers/uio/Makefile b/drivers/uio/Makefile > > > > > > > index c285dd2..5da16c7 100644 > > > > > > > --- a/drivers/uio/Makefile > > > > > > > +++ b/drivers/uio/Makefile > > > > > > > @@ -1,5 +1,5 @@ [snip] > > > > > Frankly looks like a ploy to sidestep review by graphics folks. We'd > > > > > ask for the userspace first :-) > > > > > > > > Please refer to pull request [1]. > > > > > > > > For any interest in more details, the libmetal is the abstraction layer > > > > which provides platform independent APIs. The backend implementation > > > > can be selected per different platforms: ex, rtos, linux, > > > > standalone (xilinx),,,. For Linux, it supports UIO / vfio as of now. > > > > The actual user space drivers sit on top of libmetal. Such drivers can be > > > > found in [2]. This is why I try to avoid any device specific code in > > > > Linux kernel. > > > > > > > > > > > > > > Also, exporting dma_addr to userspace is considered a very bad idea. > > > > > > > > I agree, hence the RFC to pick some brains. :-) Would it make sense > > > > if this call doesn't export the physicall address, but instead takes > > > > only the dmabuf fd and register offsets to be programmed? > > > > > > > > > If you want to do this properly, you need a minimal in-kernel memory > > > > > manager, and those tend to be based on top of drm_gem.c and merged > > > > > through the gpu tree. The last place where we accidentally leaked a > > > > > dma addr for gpu buffers was in the fbdev code, and we plugged that > > > > > one with > > > > > > > > Could you please help me understand how having a in-kernel memory manager > > > > helps? Isn't it just moving same dmabuf import / paddr export functionality > > > > in different modules: kernel memory manager vs uio. In fact, Xilinx does have > > > > such memory manager based on drm gem in downstream. But for this time we took > > > > the approach of implementing this through generic dmabuf allocator, ION, and > > > > enabling the import capability in the UIO infrastructure instead. > > > > > > There's a group of people working on upstreaming a xilinx drm driver > > > already. Which driver are we talking about? Can you pls provide a link > > > to that xilinx drm driver? > > > > > > > The one I was pushing [1] is implemented purely for display, and not > > intended for anything other than that as of now. What I'm refering to above > > is part of Xilinx FPGA (acceleration) runtime [2]. As far as I know, > > it's planned to be upstreamed, but not yet started. The Xilinx runtime > > software has its own in-kernel memory manager based on drm_cma_gem with > > its own ioctls [3]. > > > > Thanks, > > -hyun > > > > [1] https://patchwork.kernel.org/patch/10513001/ > > [2] https://github.com/Xilinx/XRT > > [3] https://github.com/Xilinx/XRT/tree/master/src/runtime_src/driver/zynq/drm > > I've done a very quick look only, and yes this is kinda what I'd expect. > Doing a small drm gem driver for an fpga/accelarator that needs lots of > memories is the right architecture, since at the low level of kernel > interfaces a gpu really isn't anything else than an accelarater. > > And from a very cursory look the gem driver you mentioned (I only scrolled > through the ioctl handler quickly) looks reasonable. Thanks for taking time to look and share input. But still I'd like to understand why it's more reasonable if the similar ioctl exists with drm than with uio. Is it because such drm ioctl is vendor specific? Thanks, -hyun > -Daniel > > > > > Thanks, Daniel > > > > > > > Thanks, > > > > -hyun > > > > > > > > [1] https://github.com/OpenAMP/libmetal/pull/82/commits/951e2762bd487c98919ad12f2aa81773d8fe7859 > > > > [2] https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers > > > > > > > > > > > > > > commit 4be9bd10e22dfc7fc101c5cf5969ef2d3a042d8a (tag: > > > > > drm-misc-next-fixes-2018-10-03) > > > > > Author: Neil Armstrong > > > > > Date: Fri Sep 28 14:05:55 2018 +0200 > > > > > > > > > > drm/fb_helper: Allow leaking fbdev smem_start > > > > > > > > > > Together with cuse the above patch should be enough to implement a drm > > > > > driver entirely in userspace at least. > > > > > > > > > > Cheers, Daniel > > > > > -- > > > > > Daniel Vetter > > > > > Software Engineer, Intel Corporation > > > > > +41 (0) 79 365 57 48 - http://blog.ffwll.ch > > > > > > > > > > > > -- > > > Daniel Vetter > > > Software Engineer, Intel Corporation > > > +41 (0) 79 365 57 48 - http://blog.ffwll.ch > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hyun Kwon Subject: Re: [PATCH RFC 1/1] uio: Add dma-buf import ioctls Date: Thu, 28 Feb 2019 16:18:57 -0800 Message-ID: <20190301001856.GA20971@smtp.xilinx.com> References: <1550953697-7288-1-git-send-email-hyun.kwon@xilinx.com> <1550953697-7288-2-git-send-email-hyun.kwon@xilinx.com> <20190226115311.GA4094@kroah.com> <20190226221817.GB10631@smtp.xilinx.com> <20190228003606.GA1063@smtp.xilinx.com> <20190228100146.GK2665@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-eopbgr760045.outbound.protection.outlook.com [40.107.76.45]) by gabe.freedesktop.org (Postfix) with ESMTPS id 43CF06E235 for ; Fri, 1 Mar 2019 00:21:14 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190228100146.GK2665@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Stefano Stabellini , Sonal Santan , Greg Kroah-Hartman , Cyril Chemparathy , Jiaying Liang , dri-devel , Linux Kernel Mailing List , "moderated list:DMA BUFFER SHARING FRAMEWORK" , Michal Simek , Linux ARM , "open list:DMA BUFFER SHARING FRAMEWORK" List-Id: dri-devel@lists.freedesktop.org SGkgRGFuaWVsLAoKT24gVGh1LCAyMDE5LTAyLTI4IGF0IDAyOjAxOjQ2IC0wODAwLCBEYW5pZWwg VmV0dGVyIHdyb3RlOgo+IE9uIFdlZCwgRmViIDI3LCAyMDE5IGF0IDA0OjM2OjA2UE0gLTA4MDAs IEh5dW4gS3dvbiB3cm90ZToKPiA+IEhpIERhbmllbCwKPiA+IAo+ID4gT24gV2VkLCAyMDE5LTAy LTI3IGF0IDA2OjEzOjQ1IC0wODAwLCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+ID4gPiBPbiBUdWUs IEZlYiAyNiwgMjAxOSBhdCAxMToyMCBQTSBIeXVuIEt3b24gPGh5dW4ua3dvbkB4aWxpbnguY29t PiB3cm90ZToKPiA+ID4gPgo+ID4gPiA+IEhpIERhbmllbCwKPiA+ID4gPgo+ID4gPiA+IFRoYW5r cyBmb3IgdGhlIGNvbW1lbnQuCj4gPiA+ID4KPiA+ID4gPiBPbiBUdWUsIDIwMTktMDItMjYgYXQg MDQ6MDY6MTMgLTA4MDAsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPiA+ID4gPiBPbiBUdWUsIEZl YiAyNiwgMjAxOSBhdCAxMjo1MyBQTSBHcmVnIEtyb2FoLUhhcnRtYW4KPiA+ID4gPiA+IDxncmVn a2hAbGludXhmb3VuZGF0aW9uLm9yZz4gd3JvdGU6Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IE9u IFNhdCwgRmViIDIzLCAyMDE5IGF0IDEyOjI4OjE3UE0gLTA4MDAsIEh5dW4gS3dvbiB3cm90ZToK PiA+ID4gPiA+ID4gPiBBZGQgdGhlIGRtYWJ1ZiBtYXAgLyB1bm1hcCBpbnRlcmZhY2VzLiBUaGlz IGFsbG93cyB0aGUgdXNlciBkcml2ZXIKPiA+ID4gPiA+ID4gPiB0byBiZSBhYmxlIHRvIGltcG9y dCB0aGUgZXh0ZXJuYWwgZG1hYnVmIGFuZCB1c2UgaXQgZnJvbSB1c2VyIHNwYWNlLgo+ID4gPiA+ ID4gPiA+Cj4gPiA+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogSHl1biBLd29uIDxoeXVuLmt3b25A eGlsaW54LmNvbT4KPiA+ID4gPiA+ID4gPiAtLS0KPiA+ID4gPiA+ID4gPiAgZHJpdmVycy91aW8v TWFrZWZpbGUgICAgICAgICB8ICAgMiArLQo+ID4gPiA+ID4gPiA+ICBkcml2ZXJzL3Vpby91aW8u YyAgICAgICAgICAgIHwgIDQzICsrKysrKysrKwo+ID4gPiA+ID4gPiA+ICBkcml2ZXJzL3Vpby91 aW9fZG1hYnVmLmMgICAgIHwgMjEwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKPiA+ID4gPiA+ID4gPiAgZHJpdmVycy91aW8vdWlvX2RtYWJ1Zi5oICAgICB8ICAy NiArKysrKysKPiA+ID4gPiA+ID4gPiAgaW5jbHVkZS91YXBpL2xpbnV4L3Vpby91aW8uaCB8ICAz MyArKysrKysrCj4gPiA+ID4gPiA+ID4gIDUgZmlsZXMgY2hhbmdlZCwgMzEzIGluc2VydGlvbnMo KyksIDEgZGVsZXRpb24oLSkKPiA+ID4gPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZl cnMvdWlvL3Vpb19kbWFidWYuYwo+ID4gPiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJp dmVycy91aW8vdWlvX2RtYWJ1Zi5oCj4gPiA+ID4gPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBp bmNsdWRlL3VhcGkvbGludXgvdWlvL3Vpby5oCj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy91aW8vTWFrZWZpbGUgYi9kcml2ZXJzL3Vpby9NYWtlZmlsZQo+ ID4gPiA+ID4gPiA+IGluZGV4IGMyODVkZDIuLjVkYTE2YzcgMTAwNjQ0Cj4gPiA+ID4gPiA+ID4g LS0tIGEvZHJpdmVycy91aW8vTWFrZWZpbGUKPiA+ID4gPiA+ID4gPiArKysgYi9kcml2ZXJzL3Vp by9NYWtlZmlsZQo+ID4gPiA+ID4gPiA+IEBAIC0xLDUgKzEsNSBAQAoKW3NuaXBdCgo+ID4gPiA+ ID4gRnJhbmtseSBsb29rcyBsaWtlIGEgcGxveSB0byBzaWRlc3RlcCByZXZpZXcgYnkgZ3JhcGhp Y3MgZm9sa3MuIFdlJ2QKPiA+ID4gPiA+IGFzayBmb3IgdGhlIHVzZXJzcGFjZSBmaXJzdCA6LSkK PiA+ID4gPgo+ID4gPiA+IFBsZWFzZSByZWZlciB0byBwdWxsIHJlcXVlc3QgWzFdLgo+ID4gPiA+ Cj4gPiA+ID4gRm9yIGFueSBpbnRlcmVzdCBpbiBtb3JlIGRldGFpbHMsIHRoZSBsaWJtZXRhbCBp cyB0aGUgYWJzdHJhY3Rpb24gbGF5ZXIKPiA+ID4gPiB3aGljaCBwcm92aWRlcyBwbGF0Zm9ybSBp bmRlcGVuZGVudCBBUElzLiBUaGUgYmFja2VuZCBpbXBsZW1lbnRhdGlvbgo+ID4gPiA+IGNhbiBi ZSBzZWxlY3RlZCBwZXIgZGlmZmVyZW50IHBsYXRmb3JtczogZXgsIHJ0b3MsIGxpbnV4LAo+ID4g PiA+IHN0YW5kYWxvbmUgKHhpbGlueCksLCwuIEZvciBMaW51eCwgaXQgc3VwcG9ydHMgVUlPIC8g dmZpbyBhcyBvZiBub3cuCj4gPiA+ID4gVGhlIGFjdHVhbCB1c2VyIHNwYWNlIGRyaXZlcnMgc2l0 IG9uIHRvcCBvZiBsaWJtZXRhbC4gU3VjaCBkcml2ZXJzIGNhbiBiZQo+ID4gPiA+IGZvdW5kIGlu IFsyXS4gVGhpcyBpcyB3aHkgSSB0cnkgdG8gYXZvaWQgYW55IGRldmljZSBzcGVjaWZpYyBjb2Rl IGluCj4gPiA+ID4gTGludXgga2VybmVsLgo+ID4gPiA+Cj4gPiA+ID4gPgo+ID4gPiA+ID4gQWxz bywgZXhwb3J0aW5nIGRtYV9hZGRyIHRvIHVzZXJzcGFjZSBpcyBjb25zaWRlcmVkIGEgdmVyeSBi YWQgaWRlYS4KPiA+ID4gPgo+ID4gPiA+IEkgYWdyZWUsIGhlbmNlIHRoZSBSRkMgdG8gcGljayBz b21lIGJyYWlucy4gOi0pIFdvdWxkIGl0IG1ha2Ugc2Vuc2UKPiA+ID4gPiBpZiB0aGlzIGNhbGwg ZG9lc24ndCBleHBvcnQgdGhlIHBoeXNpY2FsbCBhZGRyZXNzLCBidXQgaW5zdGVhZCB0YWtlcwo+ ID4gPiA+IG9ubHkgdGhlIGRtYWJ1ZiBmZCBhbmQgcmVnaXN0ZXIgb2Zmc2V0cyB0byBiZSBwcm9n cmFtbWVkPwo+ID4gPiA+Cj4gPiA+ID4gPiBJZiB5b3Ugd2FudCB0byBkbyB0aGlzIHByb3Blcmx5 LCB5b3UgbmVlZCBhIG1pbmltYWwgaW4ta2VybmVsIG1lbW9yeQo+ID4gPiA+ID4gbWFuYWdlciwg YW5kIHRob3NlIHRlbmQgdG8gYmUgYmFzZWQgb24gdG9wIG9mIGRybV9nZW0uYyBhbmQgbWVyZ2Vk Cj4gPiA+ID4gPiB0aHJvdWdoIHRoZSBncHUgdHJlZS4gVGhlIGxhc3QgcGxhY2Ugd2hlcmUgd2Ug YWNjaWRlbnRhbGx5IGxlYWtlZCBhCj4gPiA+ID4gPiBkbWEgYWRkciBmb3IgZ3B1IGJ1ZmZlcnMg d2FzIGluIHRoZSBmYmRldiBjb2RlLCBhbmQgd2UgcGx1Z2dlZCB0aGF0Cj4gPiA+ID4gPiBvbmUg d2l0aAo+ID4gPiA+Cj4gPiA+ID4gQ291bGQgeW91IHBsZWFzZSBoZWxwIG1lIHVuZGVyc3RhbmQg aG93IGhhdmluZyBhIGluLWtlcm5lbCBtZW1vcnkgbWFuYWdlcgo+ID4gPiA+IGhlbHBzPyBJc24n dCBpdCBqdXN0IG1vdmluZyBzYW1lIGRtYWJ1ZiBpbXBvcnQgLyBwYWRkciBleHBvcnQgZnVuY3Rp b25hbGl0eQo+ID4gPiA+IGluIGRpZmZlcmVudCBtb2R1bGVzOiBrZXJuZWwgbWVtb3J5IG1hbmFn ZXIgdnMgdWlvLiBJbiBmYWN0LCBYaWxpbnggZG9lcyBoYXZlCj4gPiA+ID4gc3VjaCBtZW1vcnkg bWFuYWdlciBiYXNlZCBvbiBkcm0gZ2VtIGluIGRvd25zdHJlYW0uIEJ1dCBmb3IgdGhpcyB0aW1l IHdlIHRvb2sKPiA+ID4gPiB0aGUgYXBwcm9hY2ggb2YgaW1wbGVtZW50aW5nIHRoaXMgdGhyb3Vn aCBnZW5lcmljIGRtYWJ1ZiBhbGxvY2F0b3IsIElPTiwgYW5kCj4gPiA+ID4gZW5hYmxpbmcgdGhl IGltcG9ydCBjYXBhYmlsaXR5IGluIHRoZSBVSU8gaW5mcmFzdHJ1Y3R1cmUgaW5zdGVhZC4KPiA+ ID4gCj4gPiA+IFRoZXJlJ3MgYSBncm91cCBvZiBwZW9wbGUgd29ya2luZyBvbiB1cHN0cmVhbWlu ZyBhIHhpbGlueCBkcm0gZHJpdmVyCj4gPiA+IGFscmVhZHkuIFdoaWNoIGRyaXZlciBhcmUgd2Ug dGFsa2luZyBhYm91dD8gQ2FuIHlvdSBwbHMgcHJvdmlkZSBhIGxpbmsKPiA+ID4gdG8gdGhhdCB4 aWxpbnggZHJtIGRyaXZlcj8KPiA+ID4gCj4gPiAKPiA+IFRoZSBvbmUgSSB3YXMgcHVzaGluZyBb MV0gaXMgaW1wbGVtZW50ZWQgcHVyZWx5IGZvciBkaXNwbGF5LCBhbmQgbm90Cj4gPiBpbnRlbmRl ZCBmb3IgYW55dGhpbmcgb3RoZXIgdGhhbiB0aGF0IGFzIG9mIG5vdy4gV2hhdCBJJ20gcmVmZXJp bmcgdG8gYWJvdmUKPiA+IGlzIHBhcnQgb2YgWGlsaW54IEZQR0EgKGFjY2VsZXJhdGlvbikgcnVu dGltZSBbMl0uIEFzIGZhciBhcyBJIGtub3csCj4gPiBpdCdzIHBsYW5uZWQgdG8gYmUgdXBzdHJl YW1lZCwgYnV0IG5vdCB5ZXQgc3RhcnRlZC4gVGhlIFhpbGlueCBydW50aW1lCj4gPiBzb2Z0d2Fy ZSBoYXMgaXRzIG93biBpbi1rZXJuZWwgbWVtb3J5IG1hbmFnZXIgYmFzZWQgb24gZHJtX2NtYV9n ZW0gd2l0aAo+ID4gaXRzIG93biBpb2N0bHMgWzNdLgo+ID4gCj4gPiBUaGFua3MsCj4gPiAtaHl1 bgo+ID4gCj4gPiBbMV0gaHR0cHM6Ly9wYXRjaHdvcmsua2VybmVsLm9yZy9wYXRjaC8xMDUxMzAw MS8KPiA+IFsyXSBodHRwczovL2dpdGh1Yi5jb20vWGlsaW54L1hSVAo+ID4gWzNdIGh0dHBzOi8v Z2l0aHViLmNvbS9YaWxpbngvWFJUL3RyZWUvbWFzdGVyL3NyYy9ydW50aW1lX3NyYy9kcml2ZXIv enlucS9kcm0KPiAKPiBJJ3ZlIGRvbmUgYSB2ZXJ5IHF1aWNrIGxvb2sgb25seSwgYW5kIHllcyB0 aGlzIGlzIGtpbmRhIHdoYXQgSSdkIGV4cGVjdC4KPiBEb2luZyBhIHNtYWxsIGRybSBnZW0gZHJp dmVyIGZvciBhbiBmcGdhL2FjY2VsYXJhdG9yIHRoYXQgbmVlZHMgbG90cyBvZgo+IG1lbW9yaWVz IGlzIHRoZSByaWdodCBhcmNoaXRlY3R1cmUsIHNpbmNlIGF0IHRoZSBsb3cgbGV2ZWwgb2Yga2Vy bmVsCj4gaW50ZXJmYWNlcyBhIGdwdSByZWFsbHkgaXNuJ3QgYW55dGhpbmcgZWxzZSB0aGFuIGFu IGFjY2VsYXJhdGVyLgo+IAo+IEFuZCBmcm9tIGEgdmVyeSBjdXJzb3J5IGxvb2sgdGhlIGdlbSBk cml2ZXIgeW91IG1lbnRpb25lZCAoSSBvbmx5IHNjcm9sbGVkCj4gdGhyb3VnaCB0aGUgaW9jdGwg aGFuZGxlciBxdWlja2x5KSBsb29rcyByZWFzb25hYmxlLgoKVGhhbmtzIGZvciB0YWtpbmcgdGlt ZSB0byBsb29rIGFuZCBzaGFyZSBpbnB1dC4gQnV0IHN0aWxsIEknZCBsaWtlIHRvCnVuZGVyc3Rh bmQgd2h5IGl0J3MgbW9yZSByZWFzb25hYmxlIGlmIHRoZSBzaW1pbGFyIGlvY3RsIGV4aXN0cyB3 aXRoIGRybQp0aGFuIHdpdGggdWlvLiBJcyBpdCBiZWNhdXNlIHN1Y2ggZHJtIGlvY3RsIGlzIHZl bmRvciBzcGVjaWZpYz8KClRoYW5rcywKLWh5dW4KCj4gLURhbmllbAo+ID4gCj4gPiA+IFRoYW5r cywgRGFuaWVsCj4gPiA+IAo+ID4gPiA+IFRoYW5rcywKPiA+ID4gPiAtaHl1bgo+ID4gPiA+Cj4g PiA+ID4gWzFdIGh0dHBzOi8vZ2l0aHViLmNvbS9PcGVuQU1QL2xpYm1ldGFsL3B1bGwvODIvY29t bWl0cy85NTFlMjc2MmJkNDg3Yzk4OTE5YWQxMmYyYWE4MTc3M2Q4ZmU3ODU5Cj4gPiA+ID4gWzJd IGh0dHBzOi8vZ2l0aHViLmNvbS9YaWxpbngvZW1iZWRkZWRzdy90cmVlL21hc3Rlci9YaWxpbnhQ cm9jZXNzb3JJUExpYi9kcml2ZXJzCj4gPiA+ID4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBjb21taXQg NGJlOWJkMTBlMjJkZmM3ZmMxMDFjNWNmNTk2OWVmMmQzYTA0MmQ4YSAodGFnOgo+ID4gPiA+ID4g ZHJtLW1pc2MtbmV4dC1maXhlcy0yMDE4LTEwLTAzKQo+ID4gPiA+ID4gQXV0aG9yOiBOZWlsIEFy bXN0cm9uZyA8bmFybXN0cm9uZ0BiYXlsaWJyZS5jb20+Cj4gPiA+ID4gPiBEYXRlOiAgIEZyaSBT ZXAgMjggMTQ6MDU6NTUgMjAxOCArMDIwMAo+ID4gPiA+ID4KPiA+ID4gPiA+ICAgICBkcm0vZmJf aGVscGVyOiBBbGxvdyBsZWFraW5nIGZiZGV2IHNtZW1fc3RhcnQKPiA+ID4gPiA+Cj4gPiA+ID4g PiBUb2dldGhlciB3aXRoIGN1c2UgdGhlIGFib3ZlIHBhdGNoIHNob3VsZCBiZSBlbm91Z2ggdG8g aW1wbGVtZW50IGEgZHJtCj4gPiA+ID4gPiBkcml2ZXIgZW50aXJlbHkgaW4gdXNlcnNwYWNlIGF0 IGxlYXN0Lgo+ID4gPiA+ID4KPiA+ID4gPiA+IENoZWVycywgRGFuaWVsCj4gPiA+ID4gPiAtLQo+ ID4gPiA+ID4gRGFuaWVsIFZldHRlcgo+ID4gPiA+ID4gU29mdHdhcmUgRW5naW5lZXIsIEludGVs IENvcnBvcmF0aW9uCj4gPiA+ID4gPiArNDEgKDApIDc5IDM2NSA1NyA0OCAtIGh0dHA6Ly9ibG9n LmZmd2xsLmNoCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IC0tIAo+ID4gPiBEYW5pZWwgVmV0 dGVyCj4gPiA+IFNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgo+ID4gPiArNDEg KDApIDc5IDM2NSA1NyA0OCAtIGh0dHA6Ly9ibG9nLmZmd2xsLmNoCj4gCj4gLS0gCj4gRGFuaWVs IFZldHRlcgo+IFNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgo+IGh0dHA6Ly9i bG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bA== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.5 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_MUTT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DCF89C43381 for ; Fri, 1 Mar 2019 00:21:26 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 8D7AE20851 for ; Fri, 1 Mar 2019 00:21:26 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b="rcDc3oKN" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732346AbfCAAVU (ORCPT ); Thu, 28 Feb 2019 19:21:20 -0500 Received: from mail-eopbgr760043.outbound.protection.outlook.com ([40.107.76.43]:10947 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729880AbfCAAVT (ORCPT ); Thu, 28 Feb 2019 19:21:19 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Zn/jg9E33Ays6eZ+lfrVFH2j4k7oiQ0KhQUBa5t7pbY=; b=rcDc3oKNbrje0R8Ctf1WETxSiDwliGqwHLq7NeiuJQZLixvw58vi5TF3ludpxSkb7luuGg9QA8bCY2NajzHwxmRxFSTs6dpqS1uhYVUPxluff6VcpP9rgNlajBnvv1LkqohqjmqsKevH66OiRA/WxQoddgMTk26gsYX3FLndLkg= Received: from DM6PR02CA0069.namprd02.prod.outlook.com (2603:10b6:5:177::46) by MWHPR02MB2272.namprd02.prod.outlook.com (2603:10b6:300:5b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1665.16; Fri, 1 Mar 2019 00:21:11 +0000 Received: from BL2NAM02FT032.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e46::205) by DM6PR02CA0069.outlook.office365.com (2603:10b6:5:177::46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1622.18 via Frontend Transport; Fri, 1 Mar 2019 00:21:10 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.100) smtp.mailfrom=xilinx.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.100 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.100; helo=xsj-pvapsmtpgw02; Received: from xsj-pvapsmtpgw02 (149.199.60.100) by BL2NAM02FT032.mail.protection.outlook.com (10.152.77.169) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.1643.11 via Frontend Transport; Fri, 1 Mar 2019 00:21:10 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66]:40610 helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63) (envelope-from ) id 1gzVvJ-0004OM-Fx; Thu, 28 Feb 2019 16:21:09 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1gzVvE-0004po-Bg; Thu, 28 Feb 2019 16:21:04 -0800 Received: from xsj-pvapsmtp01 (mailhost.xilinx.com [149.199.38.66]) by xsj-smtp-dlp2.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id x210L1O3009041; Thu, 28 Feb 2019 16:21:02 -0800 Received: from [172.19.2.244] (helo=localhost) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1gzVvB-0004od-R7; Thu, 28 Feb 2019 16:21:01 -0800 Date: Thu, 28 Feb 2019 16:18:57 -0800 From: Hyun Kwon To: Daniel Vetter CC: Hyun Kwon , Greg Kroah-Hartman , Stefano Stabellini , Sonal Santan , Cyril Chemparathy , Jiaying Liang , dri-devel , Linux Kernel Mailing List , "moderated list:DMA BUFFER SHARING FRAMEWORK" , Michal Simek , Linux ARM , "open list:DMA BUFFER SHARING FRAMEWORK" Subject: Re: [PATCH RFC 1/1] uio: Add dma-buf import ioctls Message-ID: <20190301001856.GA20971@smtp.xilinx.com> References: <1550953697-7288-1-git-send-email-hyun.kwon@xilinx.com> <1550953697-7288-2-git-send-email-hyun.kwon@xilinx.com> <20190226115311.GA4094@kroah.com> <20190226221817.GB10631@smtp.xilinx.com> <20190228003606.GA1063@smtp.xilinx.com> <20190228100146.GK2665@phenom.ffwll.local> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline In-Reply-To: <20190228100146.GK2665@phenom.ffwll.local> User-Agent: Mutt/1.5.24 (2015-08-30) X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23620.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.100;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(376002)(346002)(136003)(39860400002)(396003)(2980300002)(199004)(51914003)(189003)(33656002)(50466002)(2486003)(6916009)(6666004)(356004)(1076003)(76506005)(57986006)(6306002)(14444005)(63266004)(106466001)(52396003)(23676004)(106002)(4326008)(76176011)(587094005)(229853002)(6246003)(53386004)(53546011)(305945005)(8936002)(81166006)(8676002)(81156014)(126002)(44832011)(11346002)(446003)(476003)(486006)(426003)(9786002)(336012)(186003)(26005)(77096007)(54906003)(316002)(58126008)(16586007)(93886005)(478600001)(966005)(47776003)(2906002)(36386004)(5660300002)(18370500001)(107986001)(5001870100001);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR02MB2272;H:xsj-pvapsmtpgw02;FPR:;SPF:Pass;LANG:en;PTR:unknown-60-100.xilinx.com,xapps1.xilinx.com;A:1;MX:1; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e5e099bc-162e-4be5-010d-08d69ddbce4b X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4608103)(4709054)(2017052603328)(7153060);SRVR:MWHPR02MB2272; X-MS-TrafficTypeDiagnostic: MWHPR02MB2272: X-MS-Exchange-PUrlCount: 6 X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Microsoft-Exchange-Diagnostics: 1;MWHPR02MB2272;20:r98kEuR6Qe5VkGK5D1qx6ItqwXKBH2mqvpMI+lHUAZpG5f6LB2FxAXeijKboUeOVJzahUdvmzNa57cSFMOd5bdrz6pZSabIm/8vOcivSSIH0WLfq6FRZmFqBRrYRumrjmO1+lyq8+rWQESaUReSR+nsxz/kgD2uqil/nVyt8hl6TAKQvAp2WaTOs9mETi5aaA4vXhnRl6MTUk+3ihIs7Con3PDI/DaGsSoA22FEjebZQmZVNf4dAXfPLBaqr3UaLcfuiD7OpNErABV4cJbmngg91YHLtV/NCEIRweOl+soqks2M0JckTN3FmdMK8ahPVp9cdZpoqFt3SvGBQdECBE6WwYz3XttYVctdz+8RI8bxR4J6/RsyvntDNncSkyHvbvQwIUTNk+826wyaFo7VF5L+2m5kWRm5jOCCie9RE67Uzo16iHxCzl2BLmsByPGHHtWgl7/aawJO09iTbbkTpA+ISWRZQiXXropjTULpXDEsyaiuszFjnmRVQIEYTR6Ni X-Microsoft-Antispam-PRVS: X-Forefront-PRVS: 09634B1196 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjAyTUIyMjcyOzIzOjRBMGJkL0U0b1RUWHpIQWZDaXBmZFE1Vmty?= =?utf-8?B?a1FJdzFWNkhxdkVJbzZGQVZkRmFOZllDMWhBa2xGMUhGQ25NS1NVUmsySlJm?= =?utf-8?B?ZlZ5Szlnc3E5dTZXUUtrWkVmKzIyUTZJYkNBaGZ0T2JwenhiVERoS2Z3Yjhp?= =?utf-8?B?YzBrTXNsTlNjTWJBQjRaSEJMZEx5alhCa3U2K3pyaU5kdktkQm15bGwzekI1?= =?utf-8?B?Vlh5dzE0WEFCQkhwVHNEc2tVSlFBR2hmelhkaXBhc0R0dk8rOTRPb0lpOVly?= =?utf-8?B?QVc1NVpBNlQvcEkzNnhCUFAzSG9jeGRDMWpKSG5RRzR3eEV2eW01dS83bEs1?= =?utf-8?B?aFgzQTZZSVo5Z0pyUWV0cVhpNTUyTW80NjFQdENJckQyTDZVZmJFRVpBY2FN?= =?utf-8?B?MEhWdHJ4RUhKdXJ5eEgvNlh1L01pYjBqalE0L2pWa2NEY2JETnNrR0dza2pY?= =?utf-8?B?V1RKamlhZy84aEF2eUlkbWx0MHRFcVJ2Zlp2aTRlOXRBTmlXV2hBc3ZhMFcv?= =?utf-8?B?NForRDZoaitUU3hOdzcxV2dRLzhKWFAxNkJCSHI1My8wRmlOMzFXd3BRaCtr?= =?utf-8?B?cFR2WGI1M2xLbG9kVlBNbXZCNmE5QUVhUzVJbTd6MGJ6ajhHVGw4RS9vNXk1?= =?utf-8?B?Z0wrY3loeFN6c3liTmd6MEhxZFB4U0RkWGxRY05PNlFRV1BPc3pPcmIyRjR0?= =?utf-8?B?cmpPZ3BENW1NZ1BHZk1PdCtDZGNCN3FzZWF2cWloaFE4NUhkck00Njk4NXlN?= =?utf-8?B?OWhNNndjQWEzbmY0TElYQi9iSHFXTFRwY3FZWEltNGQ0K2VDQ2lLd2xncEhI?= =?utf-8?B?S0FtdEJ3QXhvRUc5TzVVckpWbzc0amczWWJWckV5KzE5aGZLSExyL2hTb1pt?= =?utf-8?B?dDBHRTF4MkNvMXZSTkROMUxTZWM0QkZKZXcvNmhXMTFZQzhGUy9wUmpZcFps?= =?utf-8?B?ZXpUMmVnaW16VFpJK3RVK3hOVWZOblVUUGFqTUcyUGdScEJCbjkwekc4dS93?= =?utf-8?B?aWNjMkJTeGZvaXlyTUJNa1JJZ2lOQ0VIZXpOd0pOcVBCK29zMEp6QU0yRU5T?= =?utf-8?B?M3pmbXpvZ0hlK1JZdjN5eitudUpjY2Vkd3NSdlJCbzdzNHhKVzcyV2s4eG94?= =?utf-8?B?dFd1K0lWWkYybnVpZ1I3MGduNGNwNmhrNUdDL0NVRnBCRS9xUk04L0hXYW93?= =?utf-8?B?aWhUSTUwY3kxbWh6dG5pNVJVZW1RMzVYNE5DOFBJK0ZTb0FpRkwyOE0yZWJo?= =?utf-8?B?YVdFN2E2RFdSc1Q4QUV3YlRrYlcweGo1VnZrd2RKQ0hxMVZ6WEFKWStXVTcr?= =?utf-8?B?RnNRMUZuQ2VqQnR6eXBOc1FmbU13TkZWVVdmZVgxRWFWZSsrUS90dGRRdHZS?= =?utf-8?B?REsvSFFGSFJmMUdyRUwyeHcybnlrOFROY3FRSUs0OHdUcUtQT2tIQlk2djU5?= =?utf-8?B?NU1ST1BENGlPL1FRUWZvOThrcHRSWG1XMzA1UmVDaWV0OTdSa0tTVlk2ck1S?= =?utf-8?B?d1hBQVp6VjhhQVJibDBuT3RsMHJ6dHU2LzlqS3E2V2RCazZvbExYdVZRKzhw?= =?utf-8?B?MUs3Q2tWZ0dvbjh0bC9JaEhyTU1aOVpMaDBMY1I1STNROGtibVNJdlo5YkpJ?= =?utf-8?B?R3g2RVpFVGVhQzA2cVlDeEQxWmxBTDRkMVBQbHJ3bWM0d1UwYUUwL3h3eUh0?= =?utf-8?B?YTBESUxXTW1DMVk1YzVhTm1GNzc2YkkrMDljc2h5WXlTUzZGYWVkem52RW4w?= =?utf-8?B?VGdVQXJmVE5vWjdObjM4ejRKKzRESmdHeEpjdEhzTkQ5aTNrYTA2c2dLM3l4?= =?utf-8?B?b2RIbWRIQ0RXN1ROeGxWd3VSVHFnVTZudU13QW02c29vb1BHazlqVkFlQUFK?= =?utf-8?Q?kqXldVoYAqSCCvXudpt16cmDJ40zaFsg?= X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info: ro6ymHdUx1hU7+3RB3TmmWLMe2Jl059bUcGgLZOm/ENBb2OL6R+AAqmbpRDZbG3fUtzjSaOXgcDcZAiQGSO6NqvCeOYwgVo5iVt3KaQkQKkUQB7h4t3q1fxUoZSDqYiT8AyN7jrjrnPfE6O4GOF7yyJ+HnhBXsk6Ql7f8Ou7Kodgf6qvPQ418VFTAx/5gc1jTfBAy+Z3yTZB9fgaQyZJ5kpaJNwXKDMkeR1xzKGZFeEKQ5ArTi2ZK1nuoz2rdlMEKVETSAqdXj8johOwzzcpM9/DfD+BZYYQAuQxpj60VjkALbNg5B2LKCiNDPF1QDvJMbsXjcAX7h8ktENhJBgdLcpf2V0UBq+sc1RIUnK6aX0cH9ZZicqGnsNT6K5JyxMooC9B3oOPGv/BoMw+NuMfSXvJKWlj9dhycWhXxjegEAU= X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2019 00:21:10.1106 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e5e099bc-162e-4be5-010d-08d69ddbce4b X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.60.100];Helo=[xsj-pvapsmtpgw02] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR02MB2272 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Hi Daniel, On Thu, 2019-02-28 at 02:01:46 -0800, Daniel Vetter wrote: > On Wed, Feb 27, 2019 at 04:36:06PM -0800, Hyun Kwon wrote: > > Hi Daniel, > > > > On Wed, 2019-02-27 at 06:13:45 -0800, Daniel Vetter wrote: > > > On Tue, Feb 26, 2019 at 11:20 PM Hyun Kwon wrote: > > > > > > > > Hi Daniel, > > > > > > > > Thanks for the comment. > > > > > > > > On Tue, 2019-02-26 at 04:06:13 -0800, Daniel Vetter wrote: > > > > > On Tue, Feb 26, 2019 at 12:53 PM Greg Kroah-Hartman > > > > > wrote: > > > > > > > > > > > > On Sat, Feb 23, 2019 at 12:28:17PM -0800, Hyun Kwon wrote: > > > > > > > Add the dmabuf map / unmap interfaces. This allows the user driver > > > > > > > to be able to import the external dmabuf and use it from user space. > > > > > > > > > > > > > > Signed-off-by: Hyun Kwon > > > > > > > --- > > > > > > > drivers/uio/Makefile | 2 +- > > > > > > > drivers/uio/uio.c | 43 +++++++++ > > > > > > > drivers/uio/uio_dmabuf.c | 210 +++++++++++++++++++++++++++++++++++++++++++ > > > > > > > drivers/uio/uio_dmabuf.h | 26 ++++++ > > > > > > > include/uapi/linux/uio/uio.h | 33 +++++++ > > > > > > > 5 files changed, 313 insertions(+), 1 deletion(-) > > > > > > > create mode 100644 drivers/uio/uio_dmabuf.c > > > > > > > create mode 100644 drivers/uio/uio_dmabuf.h > > > > > > > create mode 100644 include/uapi/linux/uio/uio.h > > > > > > > > > > > > > > diff --git a/drivers/uio/Makefile b/drivers/uio/Makefile > > > > > > > index c285dd2..5da16c7 100644 > > > > > > > --- a/drivers/uio/Makefile > > > > > > > +++ b/drivers/uio/Makefile > > > > > > > @@ -1,5 +1,5 @@ [snip] > > > > > Frankly looks like a ploy to sidestep review by graphics folks. We'd > > > > > ask for the userspace first :-) > > > > > > > > Please refer to pull request [1]. > > > > > > > > For any interest in more details, the libmetal is the abstraction layer > > > > which provides platform independent APIs. The backend implementation > > > > can be selected per different platforms: ex, rtos, linux, > > > > standalone (xilinx),,,. For Linux, it supports UIO / vfio as of now. > > > > The actual user space drivers sit on top of libmetal. Such drivers can be > > > > found in [2]. This is why I try to avoid any device specific code in > > > > Linux kernel. > > > > > > > > > > > > > > Also, exporting dma_addr to userspace is considered a very bad idea. > > > > > > > > I agree, hence the RFC to pick some brains. :-) Would it make sense > > > > if this call doesn't export the physicall address, but instead takes > > > > only the dmabuf fd and register offsets to be programmed? > > > > > > > > > If you want to do this properly, you need a minimal in-kernel memory > > > > > manager, and those tend to be based on top of drm_gem.c and merged > > > > > through the gpu tree. The last place where we accidentally leaked a > > > > > dma addr for gpu buffers was in the fbdev code, and we plugged that > > > > > one with > > > > > > > > Could you please help me understand how having a in-kernel memory manager > > > > helps? Isn't it just moving same dmabuf import / paddr export functionality > > > > in different modules: kernel memory manager vs uio. In fact, Xilinx does have > > > > such memory manager based on drm gem in downstream. But for this time we took > > > > the approach of implementing this through generic dmabuf allocator, ION, and > > > > enabling the import capability in the UIO infrastructure instead. > > > > > > There's a group of people working on upstreaming a xilinx drm driver > > > already. Which driver are we talking about? Can you pls provide a link > > > to that xilinx drm driver? > > > > > > > The one I was pushing [1] is implemented purely for display, and not > > intended for anything other than that as of now. What I'm refering to above > > is part of Xilinx FPGA (acceleration) runtime [2]. As far as I know, > > it's planned to be upstreamed, but not yet started. The Xilinx runtime > > software has its own in-kernel memory manager based on drm_cma_gem with > > its own ioctls [3]. > > > > Thanks, > > -hyun > > > > [1] https://patchwork.kernel.org/patch/10513001/ > > [2] https://github.com/Xilinx/XRT > > [3] https://github.com/Xilinx/XRT/tree/master/src/runtime_src/driver/zynq/drm > > I've done a very quick look only, and yes this is kinda what I'd expect. > Doing a small drm gem driver for an fpga/accelarator that needs lots of > memories is the right architecture, since at the low level of kernel > interfaces a gpu really isn't anything else than an accelarater. > > And from a very cursory look the gem driver you mentioned (I only scrolled > through the ioctl handler quickly) looks reasonable. Thanks for taking time to look and share input. But still I'd like to understand why it's more reasonable if the similar ioctl exists with drm than with uio. Is it because such drm ioctl is vendor specific? Thanks, -hyun > -Daniel > > > > > Thanks, Daniel > > > > > > > Thanks, > > > > -hyun > > > > > > > > [1] https://github.com/OpenAMP/libmetal/pull/82/commits/951e2762bd487c98919ad12f2aa81773d8fe7859 > > > > [2] https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers > > > > > > > > > > > > > > commit 4be9bd10e22dfc7fc101c5cf5969ef2d3a042d8a (tag: > > > > > drm-misc-next-fixes-2018-10-03) > > > > > Author: Neil Armstrong > > > > > Date: Fri Sep 28 14:05:55 2018 +0200 > > > > > > > > > > drm/fb_helper: Allow leaking fbdev smem_start > > > > > > > > > > Together with cuse the above patch should be enough to implement a drm > > > > > driver entirely in userspace at least. > > > > > > > > > > Cheers, Daniel > > > > > -- > > > > > Daniel Vetter > > > > > Software Engineer, Intel Corporation > > > > > +41 (0) 79 365 57 48 - http://blog.ffwll.ch > > > > > > > > > > > > -- > > > Daniel Vetter > > > Software Engineer, Intel Corporation > > > +41 (0) 79 365 57 48 - http://blog.ffwll.ch > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch