From patchwork Tue Aug 18 08:04:13 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hyesoo Yu X-Patchwork-Id: 11722713 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 3EB0A1744 for ; Wed, 19 Aug 2020 06:57:26 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 1D2A722BEB for ; Wed, 19 Aug 2020 06:57:26 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="JIxK4juO" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1D2A722BEB Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=samsung.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 623876E1C0; Wed, 19 Aug 2020 06:57:03 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mailout4.samsung.com (mailout4.samsung.com [203.254.224.34]) by gabe.freedesktop.org (Postfix) with ESMTPS id C141189DDD for ; Tue, 18 Aug 2020 07:52:09 +0000 (UTC) Received: from epcas2p1.samsung.com (unknown [182.195.41.53]) by mailout4.samsung.com (KnoxPortal) with ESMTP id 20200818074554epoutp04c0d0336bfbec8b572fe6af41567cb4fa~sTR0L_NrX3248532485epoutp04E for ; Tue, 18 Aug 2020 07:45:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout4.samsung.com 20200818074554epoutp04c0d0336bfbec8b572fe6af41567cb4fa~sTR0L_NrX3248532485epoutp04E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1597736755; bh=WSuAFDWoURcxmiALpbK+J/YL247Y+9wNans04ihmNTY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JIxK4juOdTwa+mcUtfqa4EmWuH8Vz6XU9olKFkfcAx+IJTAL11mDDb5xpUxwIQuaw IkOe7M9thqXne6IGJ6xhqKuxln/SY1HpUv4uCt3RcAHAG6wx9YEV2as2nYsddjfs9A /f9GtH6l5dAhAZIbxTZcxzhB1Dt3rdiRAxihPAvY= Received: from epsnrtp1.localdomain (unknown [182.195.42.162]) by epcas2p1.samsung.com (KnoxPortal) with ESMTP id 20200818074554epcas2p19f579b82774797c41f96c2c7fe4e9759~sTRzoJm6b0149301493epcas2p1z; Tue, 18 Aug 2020 07:45:54 +0000 (GMT) Received: from epsmges2p2.samsung.com (unknown [182.195.40.190]) by epsnrtp1.localdomain (Postfix) with ESMTP id 4BW2yl1BvLzMqYlr; Tue, 18 Aug 2020 07:45:51 +0000 (GMT) Received: from epcas2p2.samsung.com ( [182.195.41.54]) by epsmges2p2.samsung.com (Symantec Messaging Gateway) with SMTP id 69.10.18874.E278B3F5; Tue, 18 Aug 2020 16:45:50 +0900 (KST) Received: from epsmtrp1.samsung.com (unknown [182.195.40.13]) by epcas2p1.samsung.com (KnoxPortal) with ESMTPA id 20200818074550epcas2p1e12121bc6e38086277766f08a59767ff~sTRwKzPO62831228312epcas2p1h; Tue, 18 Aug 2020 07:45:50 +0000 (GMT) Received: from epsmgms1p2.samsung.com (unknown [182.195.42.42]) by epsmtrp1.samsung.com (KnoxPortal) with ESMTP id 20200818074550epsmtrp1d20be4cab1f36e79e6f352e53dbf616f~sTRwJPPI82704027040epsmtrp1r; Tue, 18 Aug 2020 07:45:50 +0000 (GMT) X-AuditID: b6c32a46-503ff700000049ba-82-5f3b872e2517 Received: from epsmtip2.samsung.com ( [182.195.34.31]) by epsmgms1p2.samsung.com (Symantec Messaging Gateway) with SMTP id F6.78.08303.E278B3F5; Tue, 18 Aug 2020 16:45:50 +0900 (KST) Received: from Dabang.dsn.sec.samsung.com (unknown [12.36.155.59]) by epsmtip2.samsung.com (KnoxPortal) with ESMTPA id 20200818074550epsmtip2b83c1a5c64259b06e112df6e7747129b~sTRv4_JW_2522925229epsmtip2N; Tue, 18 Aug 2020 07:45:50 +0000 (GMT) From: Hyesoo Yu To: sumit.semwal@linaro.org Subject: [PATCH 1/3] dma-buf: add missing EXPORT_SYMBOL_GPL() for dma heaps Date: Tue, 18 Aug 2020 17:04:13 +0900 Message-Id: <20200818080415.7531-2-hyesoo.yu@samsung.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200818080415.7531-1-hyesoo.yu@samsung.com> MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA02Te0xTVxzHc2577y2akmvFecQotY4tuPBot+IBYRJl5G4sER97hBDhDu5a XClNW2AwluEq5WVhjJcDQkkEBrXMyWuAjG0FAQER5CWbYAQxccJYQOaDIWspZvz3Ob/f95vv +f1ODo8jyCadedFKLatWMgoRsYXb1OHm7e6Zdijca+0UWujNJVHpZTOBvrb0Emi6dxCg+btX cWTsHMDRyPICgVYzBnFUk6Uj0JPyaQ7qX3FHNW1PMfR45B6GhltLCXT+x0YcTZnXcFR8fQxD VcsLJHph+A2g1J87SdQ7uUSivFvlBCo5mw0CdtKpt1YJ2lxmBvRwtgGjy+vi6DpTBkHXLX5L 0pnzIxh9Z6yNoHsurHDpu1ndGP3HixkOvdA+StDZDSZA95d3knT37Z8weqlubwgVqvCTs0wU qxayysjYqGilzF8UfDL8aLjU20vsLvZBB0VCJRPD+osC3w9xD4pWWFchEsYzijhrKYTRaESe b/upY+O0rFAeq9H6i1hVlEIlFqs8NEyMJk4p84iMjfEVe3lJpFZlhEI+N2TGVNf4nz/vuoKn gGtbM4EDD1JvwdF7OiwTbOEJqGYAp7LmOPbDIoD5FdkbnSUAWwwGzktL11MTaWMB1QrgXEqg XfQEwLHaFMLWIKjXYU9DFbCxE7UbFlVX4zYRh6rhwrG829YGj7edCoZ1xngbcilXOJETYUM+ 5QO7h8T2KBeYWzK5LnagfOHsJR9bmU9tg9e/u8+1Mccq0TWWrN8ZUt87wNRFHWH3BsKUdttk Nt4O/+xuIO3sDB/m6Dc4Ad44N43bzecAHCoc3TC/CYsfpK0Hcyg3eLnV04aQ2g87f9/IdYTp HaukvcyH6XqB3bgf/lJVxrXzLjhdm4bbmYalS5WEfVEGACd/KATfAGHxpnGKN41T/H9wOeCY wCusShMjYzUSlWTz89aB9Y9xIKgZ5M//7WEBGA9YAORxRE78T3oOhgv4UUxiEquODVfHKViN BUitm87lOO+IjLX+LKU2XCyVeHt7+UiR1FuCRDv5X+0bPC2gZIyW/YxlVaz6pQ/jOTinYN4J zaY9k6Z/ZBHjl97piB5v0v1beb9A+Z5DhShDxeRIRWf21fehrTOO9fo0h6HW1oDn/TmnZ7sn dFUdLnj1tmJhwU39cNhRqeuJiy5hZc+aPhLcccz6MGQpaLyo+rHsuGNHYmLCF6VZgSXtVz1i 5GEPfFrc2CPLa8cbTurmhMllYy6vjeTV7gIS9iiuDsiFeidT2RX3bNe9E/S7SW17gtM/PXax 8NVj+LP8tBNTu4FFHPrI8JcfX75sNJ6ZHSiNP9VyKFl72PxGjfnszb4C+GWvMRMWTe6wkM3k 4Rn9BzlM0uoFY/KvydrJh30fd+l8ByqII4/qQ6duJK40rjKVYedFXI2cER/gqDXMfxUIIF+h BAAA X-Brightmail-Tracker: H4sIAAAAAAAAA02Re0hTYRjG+c7Ozo6L0XEaHY2MVhIuXGmGX2omBPWhFUVYUuBcedKVzrWl pgWpZZHmSgNn0/QYZbZml5PWqGU1ZzoRcTqj27xVhqGsMkuSLk4J+u/H83t4eOEleWI77k8q VUcYjUqRJiGE+P0WyZJg2ZlI+WrH7QDo7igVwKrbJgIWWDsIONzRDeD4wCM+rLF18aFz0k3A X2e7+fBG8UkC/mCHebBzOhjesExh8JtzCIO9D6sIeO5OEx/2m/7wocH+AoN1k24B/F3yDMDC xzYB7HBNCODFHpaAlfk6ELMQFfb8IpCp2gRQr64EQyyXiTjjWQJxX8sEqGjciaG3LywEaq+Y xtFAcRuG3vx+x0Pu5j4C6RqNAHWyNgFqe/kAQxNcwHZqjzAqmUlTZjGaVdFJwtQxhwlTt4qO /nx+l58HWucVAS+SpsLo51NGQREQkmLKDGiHrZ+YE360YcKOzbEPPXDKxp8rTQJabzDzPYKg VtDtjXXAw77UIlpfXz9b4lEtON1y6+XMEkn6UHE0V5PlQZwKpF+dT/KgiFpHtzlC5uaX0KWV LuCJvagI+sPNdZ5YPNMwW8yzF4gob9p+6T3uYd5M/WRTJe8CoAz/KcN/igWYEfgxam16Sro2 RB2qYrJlWkW6NlOVItufkc6B2W9LpWZgMX6WWQFGAiugSZ7EV7SvPVwuFiUrcnIZTYZck5nG aK1gEYlLFoomDbWJYipFcYQ5xDBqRvPPYqSXfx5W8b6J3RwlKwXRmblcaIA0u098VP8tocA9 mrMq0Nc2ryxx/xf0qqSwxmm/DLt1MKE8PuKq+fvNranjT/SIlYTv7D9W8CgqQ+pUy/3nC5c3 GEZGwa7G6zVar/j1OSvX+JfuZg9M+y2OG3zWuznYO0E5v3pZc2zteNbd1k/ElbjEjF0Nrd7b ZAN9FWO6QP2WjVzxxM7BWz8PnvgY43sh4URP7TUy8bU0llDnlDF1eeuD7q09HuuSj/mEF486 LkZyC3bkW/cMP3Vkn8ovjzocck3RkGRLUwYNdm3wGaosX+EaZgddyg1TMRHRotOgWpWNm78P xVsOWMHI3rA7lqUjmyS4NlURIuVptIq/Intb4VwDAAA= X-CMS-MailID: 20200818074550epcas2p1e12121bc6e38086277766f08a59767ff X-Msg-Generator: CA X-Sendblock-Type: AUTO_CONFIDENTIAL CMS-TYPE: 102P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20200818074550epcas2p1e12121bc6e38086277766f08a59767ff References: <20200818080415.7531-1-hyesoo.yu@samsung.com> X-Mailman-Approved-At: Wed, 19 Aug 2020 06:56:51 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: dri-devel@lists.freedesktop.org, linux-mm@kvack.org, Hyesoo Yu , labbott@redhat.com, linux-media@vger.kernel.org, devicetree@vger.kernel.org, linaro-mm-sig@lists.linaro.org, robh+dt@kernel.org, pullip.cho@samsung.com, surenb@google.com, iamjoonsoo.kim@lge.com, vbabka@suse.cz, linux-kernel@vger.kernel.org, lmark@codeaurora.org, afd@ti.com, minchan@kernel.org, joaodias@google.com, akpm@linux-foundation.org, christian.koenig@amd.com Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" The interface of dma heap is used from kernel module to register dma heaps, otherwize we will get compile error. Signed-off-by: Hyesoo Yu --- drivers/dma-buf/dma-heap.c | 2 ++ drivers/dma-buf/heaps/heap-helpers.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/drivers/dma-buf/dma-heap.c b/drivers/dma-buf/dma-heap.c index afd22c9..cc6339c 100644 --- a/drivers/dma-buf/dma-heap.c +++ b/drivers/dma-buf/dma-heap.c @@ -189,6 +189,7 @@ void *dma_heap_get_drvdata(struct dma_heap *heap) { return heap->priv; } +EXPORT_SYMBOL_GPL(dma_heap_get_drvdata); struct dma_heap *dma_heap_add(const struct dma_heap_export_info *exp_info) { @@ -272,6 +273,7 @@ struct dma_heap *dma_heap_add(const struct dma_heap_export_info *exp_info) kfree(heap); return err_ret; } +EXPORT_SYMBOL_GPL(dma_heap_add); static char *dma_heap_devnode(struct device *dev, umode_t *mode) { diff --git a/drivers/dma-buf/heaps/heap-helpers.c b/drivers/dma-buf/heaps/heap-helpers.c index 9f964ca..741bae0 100644 --- a/drivers/dma-buf/heaps/heap-helpers.c +++ b/drivers/dma-buf/heaps/heap-helpers.c @@ -24,6 +24,7 @@ void init_heap_helper_buffer(struct heap_helper_buffer *buffer, INIT_LIST_HEAD(&buffer->attachments); buffer->free = free; } +EXPORT_SYMBOL_GPL(init_heap_helper_buffer); struct dma_buf *heap_helper_export_dmabuf(struct heap_helper_buffer *buffer, int fd_flags) @@ -37,6 +38,7 @@ struct dma_buf *heap_helper_export_dmabuf(struct heap_helper_buffer *buffer, return dma_buf_export(&exp_info); } +EXPORT_SYMBOL_GPL(heap_helper_export_dmabuf); static void *dma_heap_map_kernel(struct heap_helper_buffer *buffer) { From patchwork Tue Aug 18 08:04:14 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hyesoo Yu X-Patchwork-Id: 11722689 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 23532138C for ; Wed, 19 Aug 2020 06:57:09 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 0211F20825 for ; Wed, 19 Aug 2020 06:57:09 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="mUxAmzYy" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0211F20825 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=samsung.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C56EC6E1A8; Wed, 19 Aug 2020 06:56:52 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mailout3.samsung.com (mailout3.samsung.com [203.254.224.33]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8008789D77 for ; Tue, 18 Aug 2020 07:51:50 +0000 (UTC) Received: from epcas2p1.samsung.com (unknown [182.195.41.53]) by mailout3.samsung.com (KnoxPortal) with ESMTP id 20200818074555epoutp03aef8ad4f9f96f869dbdee7ba0bbad237~sTR0X_8W00307303073epoutp03A for ; Tue, 18 Aug 2020 07:45:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout3.samsung.com 20200818074555epoutp03aef8ad4f9f96f869dbdee7ba0bbad237~sTR0X_8W00307303073epoutp03A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1597736755; bh=Zxep55EI+fppSvUl8AKpPiN+7XzgmmMwtuEKgBYUiB0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mUxAmzYyDZXN2OVAnK8fTCoKkWip8Z8iRYkD9O7mrmmoP5+z5Tdqfn++6UPySz9Pj RliTkdCeTmZ3bd6VXHSjuOtXToXhD9WwSTEcDg9nKdPq8ln6vYlbULEUdAPqF0Jd4P V6tUQT+pm4lN53XzIDYMA1jIYtbv9QBVgcKzk+ts= Received: from epsnrtp4.localdomain (unknown [182.195.42.165]) by epcas2p1.samsung.com (KnoxPortal) with ESMTP id 20200818074554epcas2p1744ee5e7179005b3e00bb6e7d517dc66~sTRz3Wuvn1835918359epcas2p1D; Tue, 18 Aug 2020 07:45:54 +0000 (GMT) Received: from epsmges2p1.samsung.com (unknown [182.195.40.181]) by epsnrtp4.localdomain (Postfix) with ESMTP id 4BW2yn2rp7zMqYkb; Tue, 18 Aug 2020 07:45:53 +0000 (GMT) Received: from epcas2p2.samsung.com ( [182.195.41.54]) by epsmges2p1.samsung.com (Symantec Messaging Gateway) with SMTP id 27.CD.19322.1378B3F5; Tue, 18 Aug 2020 16:45:53 +0900 (KST) Received: from epsmtrp2.samsung.com (unknown [182.195.40.14]) by epcas2p2.samsung.com (KnoxPortal) with ESMTPA id 20200818074553epcas2p240c2129fb8186f53e03abb0a0725461c~sTRyXolaO2912929129epcas2p2J; Tue, 18 Aug 2020 07:45:53 +0000 (GMT) Received: from epsmgms1p1new.samsung.com (unknown [182.195.42.41]) by epsmtrp2.samsung.com (KnoxPortal) with ESMTP id 20200818074552epsmtrp2846013684148a5d9ba9ca9a6e668269c~sTRyWiEey3172931729epsmtrp2V; Tue, 18 Aug 2020 07:45:52 +0000 (GMT) X-AuditID: b6c32a45-797ff70000004b7a-eb-5f3b87318684 Received: from epsmtip2.samsung.com ( [182.195.34.31]) by epsmgms1p1new.samsung.com (Symantec Messaging Gateway) with SMTP id A7.6D.08382.0378B3F5; Tue, 18 Aug 2020 16:45:52 +0900 (KST) Received: from Dabang.dsn.sec.samsung.com (unknown [12.36.155.59]) by epsmtip2.samsung.com (KnoxPortal) with ESMTPA id 20200818074552epsmtip258a1346d0159ab3ee30e951ffa88b795~sTRyEiSmV2522325223epsmtip2d; Tue, 18 Aug 2020 07:45:52 +0000 (GMT) From: Hyesoo Yu To: sumit.semwal@linaro.org Subject: [PATCH 2/3] dma-buf: heaps: add chunk heap to dmabuf heaps Date: Tue, 18 Aug 2020 17:04:14 +0900 Message-Id: <20200818080415.7531-3-hyesoo.yu@samsung.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200818080415.7531-1-hyesoo.yu@samsung.com> MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA01Te0xTZxTfd297W3S4a0X8VuboypYNHNgWi1/RMo2M3bkRWIhbIsm6Du6A rK+0RWEki4gIIu9u6AAV9uBZwlYQ0FGZlY1aX7wkZKKMMpg6EQIDYQiu9GrGf79zzu93ft85 Xw4X5xVy+NwkjZHWa5QqIbGG1XLJPyRQnLVDIVp4QqJJRxEHlTeaCXTY5iCQ09EN0MTwz2x0 pvM6G/XPThJo6Vg3G9UezyDQowonjq4uBqLa9nkM/dM/gqG+8+UEyv3xLBvdMT9ho9LLAxiq mp3koOW8iwBlWjs5yHF7hoNMvRUEKkvPB7s2UZm9SwRlPm0GVF9+HkZVWJIpS90xgrJMF3Oo nIl+jBoaaCco+8lFFjV8vAujbi2P4tTkhZsEld9cB6irFZ0cqmuwFaNmLC9Hk/tVOxNpZTyt F9CaOG18kiZBLnwvRrFHIQ0RiQPFMrRdKNAo1bRcGP5+dGBEksq1C6HggFKV7EpFKw0G4daw nXptspEWJGoNRrmQ1sWrdGKxLsigVBuSNQlBcVp1qFgkkkhdzE9UiVW5YTqbPMX0Uz/rEMgL zgEeXEhug/W5c0QOWMPlkW0AzsyPcphgGsD7putsJpgD8ErrL+CZZKb+V4wpWAG8aE3HmeCR S9JQS6ywCPJ1aG+uciu8SB94oqbG3Qona1lwwDToLmwg98CJ9gx8BbPI12C23c5awZ6kDPZM lbAZO19YVHbbxedyPchQOFYvYyjr4eVv/nTTcRcl42yZ+xGQrPeAhSYLvsKHZDhsP/km02YD vN/VzGEwH848tBIMPgivHXGyGe0RAHtKbj4tBMPS8Sy3L076w8bzW5mWfrDz96e262D2pSUO k/aE2Ud5jNAPdlSdZjH4RehsyGIzFAqOlPgxm8oDcLrLyi4EgtJVw5SuGqb0f98KgNcBb1pn UCfQBolOvPp/LcB9GgFvtwHTxFSQDWBcYAOQiwu9PD+1b1fwPOOVqV/Qeq1Cn6yiDTYgdW26 COdvjNO6bktjVIilkpAQkUyKpCESJNzkqX6l+2MemaA00p/TtI7WP9NhXA/+ISwqEvSEhWoL qgNfCr3bsDf6+YwzP9SNXHv3XLH4gxPvfPXHPtbS2EP/yRZnsXTb7I60jgHf4oLRUxdS09VN EW8dfnW66BTm0xhXXhm1gNdd8fNSB8sXb8QexdcdTEmS3B35cGJwWLNL0hTebP+3sumzPin+ tczHNi+tHPy+fC5VkpZZIvJVVDs+Wu43U9/ZBW8Qt57z2owKrK29MuRxI3Fh7e5vhV1BW74s Hy94zNX+tU9dyb8XlQuF++36zd4pxoCNTv7jLS/EOmPHeL/xqwvP5YKhHIk5gWyLGa+Zmh83 FKzPdPwdUxV5J0L+YO8slhSpCF0Ia/EfPzCU9qC+495avbeQZUhUigNwvUH5H5NjC5ujBAAA X-Brightmail-Tracker: H4sIAAAAAAAAA02Ra0xSYRjHe885HI401gltvmqzRtOWW4Zl9VpptbY8NbNc37oZ1fFSogha SWWE2QXEVLqJldiK5WVdmJWl1QKaQMZMrdnSXHadaWpK6QxLZG19++/5/Z7n/+GhcMFzIpBK Tc9iZeniNCHJI+5ZhLPmi04uTxQVqSNRv6OYiy7dqiGRyuwgUbejGaC+rnoOKrc6OajN1U8i 9+lmDqrU5JHol6EbR01j81FlwwiGhtveY6j14SUSFdy+y0Hvav5wkN7+GkNGVz8XjWufApT/ yMpFjs4hLtK1GEhUdqwQrPJn8lvcJFNzpQYwrYVajDGYshlT1WmSMf0o4TLqvjaM6XjdQDK2 i2ME06VpxJi34x9wpv/xK5IprK0CTJPBymUa2+9jzJApeBO9hbdiD5uWup+VLYjZyUsxFsRI zdEHdXfaCCXQLlIDHwrSkXCo+hmmBjxKQNcDWPyygvCCAKgfsmPe7Au7jls5XskFYLlDw/UA kp4LbbVG4Ml+dBC8cOPGpITTFgJabraTHuBLr4F9DXm4JxN0CDxls0028Oko+HLgPMfbMAsW l3VOHKIoH3oZ/FQd5RkLJpS6hjrMq0+H9tKPk6v4hJ53twwvArT+P6T/DxkAVgUCWKlckiyR R0gj0tkD4XKxRJ6dnhy+O0NiApP/DptXB+5XDYSbAUYBM4AULvTj77ItTRTw94hzFKwsI1GW ncbKzSCIIoT+/PbMih0COlmcxe5jWSkr+0cxyidQiTUlLc9ykjO3hk11SBzHS066SWGMujrn Q+QXFVv2bU1C0JjhnTLiqWLUh3tG9PV79kpXbsgjRzxv/5ty1x/ntMWquJbS+lSdZmeFtrVS 81BZmRiqXyTNwfoWP1joTjqnTwiNFfHqZ3SonMrqsVErNjhSe/Z3HG2OXjc7cHWK0ZLrLF9n P1GYYVzvwm3JuXP8lRvzBzLj30cVDD+e8iaB/bn5VrDad8nS3ICuhMsdPbrg8OsdcV9CYjcQ n16datzuriih5/QeWhup0CqKUtngHlf3UXlvr+jzeZWzc29Sz5Fa9ALu1Rf4fbNP79nGb99x 7yq/eVD3JDbTojgcOoW9JiTkKeKIMFwmF/8F/6eiT14DAAA= X-CMS-MailID: 20200818074553epcas2p240c2129fb8186f53e03abb0a0725461c X-Msg-Generator: CA X-Sendblock-Type: AUTO_CONFIDENTIAL CMS-TYPE: 102P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20200818074553epcas2p240c2129fb8186f53e03abb0a0725461c References: <20200818080415.7531-1-hyesoo.yu@samsung.com> X-Mailman-Approved-At: Wed, 19 Aug 2020 06:56:51 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: dri-devel@lists.freedesktop.org, linux-mm@kvack.org, Hyesoo Yu , labbott@redhat.com, linux-media@vger.kernel.org, devicetree@vger.kernel.org, linaro-mm-sig@lists.linaro.org, robh+dt@kernel.org, pullip.cho@samsung.com, surenb@google.com, iamjoonsoo.kim@lge.com, vbabka@suse.cz, linux-kernel@vger.kernel.org, lmark@codeaurora.org, afd@ti.com, minchan@kernel.org, joaodias@google.com, akpm@linux-foundation.org, christian.koenig@amd.com Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" This patch adds support for a chunk heap that allows for buffers that are made up of a list of fixed size chunks taken from a CMA. Chunk sizes are configuratd when the heaps are created. Signed-off-by: Hyesoo Yu --- drivers/dma-buf/heaps/Kconfig | 9 ++ drivers/dma-buf/heaps/Makefile | 1 + drivers/dma-buf/heaps/chunk_heap.c | 222 +++++++++++++++++++++++++++++++++++++ 3 files changed, 232 insertions(+) create mode 100644 drivers/dma-buf/heaps/chunk_heap.c diff --git a/drivers/dma-buf/heaps/Kconfig b/drivers/dma-buf/heaps/Kconfig index a5eef06..98552fa 100644 --- a/drivers/dma-buf/heaps/Kconfig +++ b/drivers/dma-buf/heaps/Kconfig @@ -12,3 +12,12 @@ config DMABUF_HEAPS_CMA Choose this option to enable dma-buf CMA heap. This heap is backed by the Contiguous Memory Allocator (CMA). If your system has these regions, you should say Y here. + +config DMABUF_HEAPS_CHUNK + tristate "DMA-BUF CHUNK Heap" + depends on DMABUF_HEAPS && DMA_CMA + help + Choose this option to enable dma-buf CHUNK heap. This heap is backed + by the Contiguous Memory Allocator (CMA) and allocate the buffers that + are made up to a list of fixed size chunks tasken from CMA. Chunk sizes + are configurated when the heaps are created. diff --git a/drivers/dma-buf/heaps/Makefile b/drivers/dma-buf/heaps/Makefile index 6e54cde..3b2a0986 100644 --- a/drivers/dma-buf/heaps/Makefile +++ b/drivers/dma-buf/heaps/Makefile @@ -2,3 +2,4 @@ obj-y += heap-helpers.o obj-$(CONFIG_DMABUF_HEAPS_SYSTEM) += system_heap.o obj-$(CONFIG_DMABUF_HEAPS_CMA) += cma_heap.o +obj-$(CONFIG_DMABUF_HEAPS_CHUNK) += chunk_heap.o diff --git a/drivers/dma-buf/heaps/chunk_heap.c b/drivers/dma-buf/heaps/chunk_heap.c new file mode 100644 index 0000000..1eefaec --- /dev/null +++ b/drivers/dma-buf/heaps/chunk_heap.c @@ -0,0 +1,222 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * ION Memory Allocator chunk heap exporter + * + * Copyright (c) 2020 Samsung Electronics Co., Ltd. + * Author: for Samsung Electronics. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "heap-helpers.h" + +struct chunk_heap { + struct dma_heap *heap; + phys_addr_t base; + phys_addr_t size; + atomic_t cur_pageblock_idx; + unsigned int max_num_pageblocks; + unsigned int order; +}; + +static void chunk_heap_free(struct heap_helper_buffer *buffer) +{ + struct chunk_heap *chunk_heap = dma_heap_get_drvdata(buffer->heap); + pgoff_t pg; + + for (pg = 0; pg < buffer->pagecount; pg++) + __free_pages(buffer->pages[pg], chunk_heap->order); + kvfree(buffer->pages); + kfree(buffer); +} + +static inline unsigned long chunk_get_next_pfn(struct chunk_heap *chunk_heap) +{ + unsigned long i = atomic_inc_return(&chunk_heap->cur_pageblock_idx) % + chunk_heap->max_num_pageblocks; + + return PHYS_PFN(chunk_heap->base) + i * pageblock_nr_pages; +} + +static int chunk_alloc_pages(struct chunk_heap *chunk_heap, struct page **pages, + unsigned int order, unsigned int count) +{ + unsigned long base; + unsigned int i = 0, nr_block = 0, nr_elem, ret; + + while (count) { + /* + * If the number of scanned page block is the same as max block, + * the tries of allocation fails. + */ + if (nr_block++ == chunk_heap->max_num_pageblocks) { + ret = -ENOMEM; + goto err_bulk; + } + base = chunk_get_next_pfn(chunk_heap); + nr_elem = min_t(unsigned int, count, pageblock_nr_pages >> order); + ret = alloc_pages_bulk(base, base + pageblock_nr_pages, MIGRATE_CMA, + GFP_KERNEL, order, nr_elem, pages + i); + if (ret < 0) + goto err_bulk; + + i += ret; + count -= ret; + } + + return 0; + +err_bulk: + while (i-- > 0) + __free_pages(pages[i], order); + + return ret; +} + +static int chunk_heap_allocate(struct dma_heap *heap, unsigned long len, + unsigned long fd_flags, unsigned long heap_flags) +{ + + struct chunk_heap *chunk_heap = dma_heap_get_drvdata(heap); + struct heap_helper_buffer *helper_buffer; + struct dma_buf *dmabuf; + unsigned int count = DIV_ROUND_UP(len, PAGE_SIZE << chunk_heap->order); + int ret = -ENOMEM; + + helper_buffer = kzalloc(sizeof(*helper_buffer), GFP_KERNEL); + if (!helper_buffer) + return ret; + + init_heap_helper_buffer(helper_buffer, chunk_heap_free); + + helper_buffer->heap = heap; + helper_buffer->size = ALIGN(len, PAGE_SIZE << chunk_heap->order); + helper_buffer->pagecount = count; + helper_buffer->pages = kvmalloc_array(helper_buffer->pagecount, + sizeof(*helper_buffer->pages), GFP_KERNEL); + if (!helper_buffer->pages) + goto err0; + + ret = chunk_alloc_pages(chunk_heap, helper_buffer->pages, + chunk_heap->order, helper_buffer->pagecount); + if (ret < 0) + goto err1; + + dmabuf = heap_helper_export_dmabuf(helper_buffer, fd_flags); + if (IS_ERR(dmabuf)) { + ret = PTR_ERR(dmabuf); + goto err2; + } + + helper_buffer->dmabuf = dmabuf; + + ret = dma_buf_fd(dmabuf, fd_flags); + if (ret < 0) { + dma_buf_put(dmabuf); + return ret; + } + + return ret; + +err2: + while (count-- > 0) + __free_pages(helper_buffer->pages[count], chunk_heap->order); +err1: + kvfree(helper_buffer->pages); +err0: + kfree(helper_buffer); + + return ret; +} + +static void rmem_remove_callback(void *p) +{ + of_reserved_mem_device_release((struct device *)p); +} + +static const struct dma_heap_ops chunk_heap_ops = { + .allocate = chunk_heap_allocate, +}; + +static int chunk_heap_probe(struct platform_device *pdev) +{ + struct chunk_heap *chunk_heap; + struct reserved_mem *rmem; + struct device_node *rmem_np; + struct dma_heap_export_info exp_info; + unsigned int alignment; + int ret; + + ret = of_reserved_mem_device_init(&pdev->dev); + if (ret || !pdev->dev.cma_area) { + dev_err(&pdev->dev, "The CMA reserved area is not assigned (ret %d)", ret); + return -EINVAL; + } + + ret = devm_add_action(&pdev->dev, rmem_remove_callback, &pdev->dev); + if (ret) { + of_reserved_mem_device_release(&pdev->dev); + return ret; + } + + rmem_np = of_parse_phandle(pdev->dev.of_node, "memory-region", 0); + rmem = of_reserved_mem_lookup(rmem_np); + + chunk_heap = devm_kzalloc(&pdev->dev, sizeof(*chunk_heap), GFP_KERNEL); + if (!chunk_heap) + return -ENOMEM; + + chunk_heap->base = rmem->base; + chunk_heap->size = rmem->size; + chunk_heap->max_num_pageblocks = rmem->size >> (pageblock_order + PAGE_SHIFT); + + of_property_read_u32(pdev->dev.of_node, "alignment", &alignment); + chunk_heap->order = get_order(alignment); + + exp_info.name = rmem->name; + exp_info.ops = &chunk_heap_ops; + exp_info.priv = chunk_heap; + + chunk_heap->heap = dma_heap_add(&exp_info); + if (IS_ERR(chunk_heap->heap)) + return PTR_ERR(chunk_heap->heap); + + return 0; +} + +static const struct of_device_id chunk_heap_of_match[] = { + { .compatible = "dma_heap,chunk", }, + { }, +}; + +MODULE_DEVICE_TABLE(of, chunk_heap_of_match); + +static struct platform_driver chunk_heap_driver = { + .driver = { + .name = "chunk_heap", + .of_match_table = chunk_heap_of_match, + }, + .probe = chunk_heap_probe, +}; + +static int __init chunk_heap_init(void) +{ + return platform_driver_register(&chunk_heap_driver); +} +module_init(chunk_heap_init); +MODULE_DESCRIPTION("DMA-BUF Chunk Heap"); +MODULE_LICENSE("GPL v2"); From patchwork Tue Aug 18 08:04:15 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hyesoo Yu X-Patchwork-Id: 11722677 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 17040138C for ; Wed, 19 Aug 2020 06:56:57 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 E922420825 for ; Wed, 19 Aug 2020 06:56:56 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="AjkfkoJu" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E922420825 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=samsung.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0F4C56E1B2; Wed, 19 Aug 2020 06:56:52 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mailout1.samsung.com (mailout1.samsung.com [203.254.224.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8EBA389B01 for ; Tue, 18 Aug 2020 07:55:48 +0000 (UTC) Received: from epcas2p1.samsung.com (unknown [182.195.41.53]) by mailout1.samsung.com (KnoxPortal) with ESMTP id 20200818074556epoutp0154a3e005e16629349a9e59b05ff4e76c~sTR2EVuXW1141311413epoutp01H for ; Tue, 18 Aug 2020 07:45:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.samsung.com 20200818074556epoutp0154a3e005e16629349a9e59b05ff4e76c~sTR2EVuXW1141311413epoutp01H DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1597736757; bh=NYk4vyq4/Af59A9O7MoR71/hiPLvorK8FswSuJrxYj0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=AjkfkoJuNOTE90C4RP+PWEQApHAmmym/NgxeiJXkE5wXPBAQKz6sH67YU4blpc0lR stBa292lreWLA+Ln8I1wSB7AdVxYXo+dRyXeyGq2UsUMxsbN5KDKoWp3FPzo5pJ71/ aGb/7dhLy88ZWuPBMR3QRzk3lfOGgaJ0SR4pa+n8= Received: from epsnrtp4.localdomain (unknown [182.195.42.165]) by epcas2p3.samsung.com (KnoxPortal) with ESMTP id 20200818074556epcas2p3e533cf487e0aedafeb49bf98bb3f95af~sTR1fFhvt3189631896epcas2p3O; Tue, 18 Aug 2020 07:45:56 +0000 (GMT) Received: from epsmges2p4.samsung.com (unknown [182.195.40.190]) by epsnrtp4.localdomain (Postfix) with ESMTP id 4BW2yq0g06zMqYkw; Tue, 18 Aug 2020 07:45:55 +0000 (GMT) Received: from epcas2p2.samsung.com ( [182.195.41.54]) by epsmges2p4.samsung.com (Symantec Messaging Gateway) with SMTP id B2.7B.27013.2378B3F5; Tue, 18 Aug 2020 16:45:54 +0900 (KST) Received: from epsmtrp2.samsung.com (unknown [182.195.40.14]) by epcas2p2.samsung.com (KnoxPortal) with ESMTPA id 20200818074554epcas2p2702e648ba975ea6fbe33c84396b152a9~sTRz60yJF2912929129epcas2p2P; Tue, 18 Aug 2020 07:45:54 +0000 (GMT) Received: from epsmgms1p2.samsung.com (unknown [182.195.42.42]) by epsmtrp2.samsung.com (KnoxPortal) with ESMTP id 20200818074554epsmtrp2a90715301aa5475ea0eb05387cb4b51a~sTRz5weJW3172931729epsmtrp2Y; Tue, 18 Aug 2020 07:45:54 +0000 (GMT) X-AuditID: b6c32a48-d1fff70000006985-f0-5f3b8732f518 Received: from epsmtip2.samsung.com ( [182.195.34.31]) by epsmgms1p2.samsung.com (Symantec Messaging Gateway) with SMTP id 79.78.08303.2378B3F5; Tue, 18 Aug 2020 16:45:54 +0900 (KST) Received: from Dabang.dsn.sec.samsung.com (unknown [12.36.155.59]) by epsmtip2.samsung.com (KnoxPortal) with ESMTPA id 20200818074554epsmtip2c2421d264027b33b380a1078e7784644~sTRzmy3cy2522425224epsmtip2U; Tue, 18 Aug 2020 07:45:54 +0000 (GMT) From: Hyesoo Yu To: sumit.semwal@linaro.org Subject: [PATCH 3/3] dma-heap: Devicetree binding for chunk heap Date: Tue, 18 Aug 2020 17:04:15 +0900 Message-Id: <20200818080415.7531-4-hyesoo.yu@samsung.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200818080415.7531-1-hyesoo.yu@samsung.com> MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA01Te0xTVxze6e29LWrNteg4wh7dZUYhFlqk5YAwcBBzI86RYJzbEruO3hVm abu2sMmEuclDKiU8ssEKatkcUh5jIDgG4gRJCgQV5ZG6DRUQkjEBlTEmL9dSzPjv+32/7zvf +f1ODhfj53I8uQlqA6NTy1UUsY596ZqPVLgra7dMNPsmmu7O56DS2moCfdXeTaCR7l6AJu+1 4Ohcxw0c9c9OE2gpuxdH1tMnCTRnGcFQz4IQWS//y0J/9w+zUF9zKYFyfmrE0d3qZzgydw2y UPnsNActm9oAymjt4KDuoRkOKrxtIVDJl7kgwoPOuL1E0NVnqwHdl2ti0Zb6JLq+Mpug658U cGjjZD+L/mPwMkF3Fi+w6XunbSz69+VRjJ6+MkDQuQ2VgO6xdHBom/1nFj1T/0oM+Z4qNJ6R KxidgFHHaRQJamUYFR0ri5RJpCKxUByMgiiBWp7IhFFR+2OEexNUjlVQgmS5KslBxcj1esr/ jVCdJsnACOI1ekMYxWgVKq1YrPXTyxP1SWqlX5wmMUQsEgVIHMoPVPEFV8O1eRs/W776PfsE yFtvBG5cSAbCB8sXWUawjssnmwC8k58NXMUTADMvWVY7MwDWlJ7Cn1tMtYurqmYAax/XEK5i DsAm2wLHqSLI7bCzoRw48WbSCxZVVOBOEUZa2XCw0L7ScCcjYPv9h2wj4HLZ5DY4akt1Qh4Z DIe+/sIV9irMLxkCTtqNDIFjVcFOmkdugl3fPmA7MeaQnGwswZynQ7LKDbbUtaxeNApW5AwA F3aHE7YGjgt7wpmpVsKFP4XX00dwlzkdwFvfDKw2dkHzeNZKMEb6wNpmfyeEpDfs+G01dyM8 dW2J46J58FQm32X0hr+Wn2W78FY4UpOFuyQ0zJ70dy3KBGBXRhWWBwTmNdOY10xj/j/XArBK 8CKj1ScqGX2ANnDt89aDlY/hSzeBkslHfu2AxQXtAHIxajPvw84gGZ+nkB9LYXQamS5Jxejb gcSx6HzMc0ucxvGz1AaZWBIglYqCJUgiDUCUB28qpPcIn1TKDcxRhtEyuuc+FtfN8wQrIl8+ cShNYU/2k2YyNcepp4e/i8x522vfeVP0P1l9qj1CJqPI2ndQFX1G1LZ+aNR7UzR2N3Ouqm6n 8HxverjGOvURMQ/rqi+Is8cvVPi8cC61xdB2J6YTN1jHFjvD8al3cuy4Rf4wsNbQf2yWt4Qd 5aT88HhCp5p/ahN0vJb15yfvfvzWbpPUGJuRXur1etGPCv/5lNjQA/tv/mKXFbwv9A1IbeR6 e8zt3R5VtjSbrdySWsNJ9q3bs4Ha4X7r4pD3dW3xjcWgm1X8fQepwjM7hw+VbU0ua7zyqLg1 5eUjw2Xbij3/SnjWO55WQeyg7CNpn98/EIibm186bB87HslWGns2UGx9vFzsi+n08v8A7LoL oKEEAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA02Rf1CLcRzHfZ89e/YsNx4z16MusTtilErOlxyO476hi7+cSGY9CtvqtiKc XyUlmpQVG1rnRLVTJtplkZVr23XdbOlQ6bc4sqj8OIq2zp3/3vd+ve59n7sPyeJbcR/ygDyZ UcjFUiHhhT+qF/oHhmaGxwZnpc2BLttlDrxeoSdgmtlGwB6bHcDBzsdsWNTQzIYtoy4Cjp23 s2HphXQCftf1sGDTr0BYavqBwZGWbgw6a64T8GLlQzZ8q//DhhprKwZLRl0cOJ7zDMCM2gYO tHUMc2C+Q0dA7RkVWOeNMhxjBNLf1APkVOVgSGdIQYay8wQyfM3joOzBFgy1t5oIZLn6C0ed Fxox1Dbey0KuJy8JpKoqA6hJ18BBja+qMTRsmLONivZaHcdIDxxmFEvX7PVKyKtbm5Q7LXW8 7hZ+GuROzQZckqbC6JyK3yAbeJF8ygjojos/8Ekwm9YMW7HJPJPuPNvAnpRGAf210A7cgKAC aEtViScLKF+68O5dj8Si6nG6/t4rwg1mUutoc9eniVWSxKn5dG/jCXfkUSvpDvWpyX1/+rK2 A7hrLrWK7i9f6a75E4bRZPScwKNm0NZrfZ7TWBN6+kMtKxdQmv+Q5j+kA1gZmM0kKWXxMmVI UqicORKkFMuUKfL4IEmizAA83xaJjMBUNhRkBhgJzIAmWUIBb59lRSyfFyc+eoxRJMYqUqSM 0gx8SVzozRvVFO/hU/HiZOYQwyQxin8UI7k+p7FI+8ai2hL1o2W84N5v3WHjY9LjNznbi1cv 9+2P2NI1EusnjDqm2hHTXCMO97M6mdShrIH+Tcuf3pckcCK/tSnm7uYGU9LsnV/uaKPvH66y 3k4V7+/DZqkOvkdhi0UVix6MiLCM5JP7vSOW5Duu+aUVHIxOd0yb1Vf90izbOlD5dkqyrTRQ ov7JOztw43awZZeDWz03Kr92MOr5gvINn0NKTO/aT62qFmQp1JIrqd51QR9XnJsyvWcJg32o ZJoEXSkBgs3lkp3GcP2lQJAnfV1kjMgEP+O+L3SdccllFUPtMSKLITLzg7T7jX+cz4JmuH6t 0/60a15BZs2yF9qYd9ApxJUJ4hARS6EU/wVwY7QAXAMAAA== X-CMS-MailID: 20200818074554epcas2p2702e648ba975ea6fbe33c84396b152a9 X-Msg-Generator: CA X-Sendblock-Type: AUTO_CONFIDENTIAL CMS-TYPE: 102P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20200818074554epcas2p2702e648ba975ea6fbe33c84396b152a9 References: <20200818080415.7531-1-hyesoo.yu@samsung.com> X-Mailman-Approved-At: Wed, 19 Aug 2020 06:56:51 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: dri-devel@lists.freedesktop.org, linux-mm@kvack.org, Hyesoo Yu , labbott@redhat.com, linux-media@vger.kernel.org, devicetree@vger.kernel.org, linaro-mm-sig@lists.linaro.org, robh+dt@kernel.org, pullip.cho@samsung.com, surenb@google.com, iamjoonsoo.kim@lge.com, vbabka@suse.cz, linux-kernel@vger.kernel.org, lmark@codeaurora.org, afd@ti.com, minchan@kernel.org, joaodias@google.com, akpm@linux-foundation.org, christian.koenig@amd.com Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Document devicetree binding for chunk heap on dma heap framework Signed-off-by: Hyesoo Yu --- .../devicetree/bindings/dma-buf/chunk_heap.yaml | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 Documentation/devicetree/bindings/dma-buf/chunk_heap.yaml diff --git a/Documentation/devicetree/bindings/dma-buf/chunk_heap.yaml b/Documentation/devicetree/bindings/dma-buf/chunk_heap.yaml new file mode 100644 index 0000000..1ee8fad --- /dev/null +++ b/Documentation/devicetree/bindings/dma-buf/chunk_heap.yaml @@ -0,0 +1,46 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/dma-buf/chunk_heap.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Device tree binding for chunk heap on DMA HEAP FRAMEWORK + +maintainers: + - Sumit Semwal + +description: | + The chunk heap is backed by the Contiguous Memory Allocator (CMA) and + allocates the buffers that are made up to a list of fixed size chunks + taken from CMA. Chunk sizes are configurated when the heaps are created. + +properties: + compatible: + enum: + - dma_heap,chunk + +required: + - compatible + - memory-region + - alignment + +additionalProperties: false + +examples: + - | + reserved-memory { + #address-cells = <2>; + #size-cells = <1>; + + chunk_memory: chunk_memory { + compatible = "shared-dma-pool"; + reusable; + size = <0x10000000>; + }; + }; + + chunk_default_heap: chunk_default_heap { + compatible = "dma_heap,chunk"; + memory-region = <&chunk_memory>; + alignment = <0x10000>; + };