From patchwork Wed May 11 12:15:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajay Kumar X-Patchwork-Id: 12846972 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 79DF5C433EF for ; Thu, 12 May 2022 03:41:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=BQeBH/40N8wffKiqgl1KnfEf3P5ygl2UelhheJf8Nh0=; b=0cj6qjTcYe2/67 MeNAdax5YQVGKzSKIjIqGifl+atHuMd1BaVg2yfZye8Ve00fZRKDpFLiQqAOCs2yF+elEcavlBXTT Elh0HJUqWHpYOooozGes/ACjQt9uGUyKy/w1Kizvqk/8z6h+MnNBh5mUTQsSluXfSY9AIawYS0gIi FrA0hefAShpDQaPeqsIw7jvsg5P84X3HEjiZQntczVGb7/1dDPUDZ6zNM3pPdMkd4ZDXyJdZ7k1qq 0gw504kpCYnMb3bFP7Tb4IcFNCqXJdV4ZCTfSNJlOaMp3ZfXETakOzi4Ais3n3uPQbz7PFAMB3orq JlsBt67eqrcVL14abT9A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nozfs-009hyZ-Tz; Thu, 12 May 2022 03:39:37 +0000 Received: from mailout2.samsung.com ([203.254.224.25]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nozfg-009htk-GI for linux-arm-kernel@lists.infradead.org; Thu, 12 May 2022 03:39:26 +0000 Received: from epcas5p4.samsung.com (unknown [182.195.41.42]) by mailout2.samsung.com (KnoxPortal) with ESMTP id 20220512033917epoutp02b4ca275430b5c47648818a7e71ec246d~uPm6P33B30237702377epoutp02j for ; Thu, 12 May 2022 03:39:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.samsung.com 20220512033917epoutp02b4ca275430b5c47648818a7e71ec246d~uPm6P33B30237702377epoutp02j DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1652326757; bh=+wT2r4n3TIMDY8os27KAPUHZaWrqx3jti6oNFiaafgc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=P8l7klNEkk6qJT2amCXZBM2AYdv9yBS5HJx51zsUA2xhVNM5jlFl1wNKp/xXOm+6b Gc0H0LjM6Jx3oAkMnnfe+ZkhQxPddOgjZg/SJsLMeNxfYh7q7OsYlQ2M0zmFEmZK5Z SYTiE5rnR60wXeQr0dw82ZBWKfwatZIwJ7Z4UFbY= Received: from epsnrtp4.localdomain (unknown [182.195.42.165]) by epcas5p2.samsung.com (KnoxPortal) with ESMTP id 20220512033917epcas5p29b0e82b814f01c966c2b7957c72b01bc~uPm5y7ZNG1580715807epcas5p2l; Thu, 12 May 2022 03:39:17 +0000 (GMT) Received: from epsmges5p2new.samsung.com (unknown [182.195.38.177]) by epsnrtp4.localdomain (Postfix) with ESMTP id 4KzHZT32dMz4x9Q1; Thu, 12 May 2022 03:39:13 +0000 (GMT) Received: from epcas5p1.samsung.com ( [182.195.41.39]) by epsmges5p2new.samsung.com (Symantec Messaging Gateway) with SMTP id BE.2E.09827.D518C726; Thu, 12 May 2022 12:39:10 +0900 (KST) Received: from epsmtrp1.samsung.com (unknown [182.195.40.13]) by epcas5p2.samsung.com (KnoxPortal) with ESMTPA id 20220511121429epcas5p2d91f585a555e51b1c11e9e02c1b8dc15~uC-c0GfsI1315313153epcas5p2g; Wed, 11 May 2022 12:14:29 +0000 (GMT) Received: from epsmgms1p1new.samsung.com (unknown [182.195.42.41]) by epsmtrp1.samsung.com (KnoxPortal) with ESMTP id 20220511121429epsmtrp1d6e1d59945032e59c23b97e22581f223~uC-czKEd80052800528epsmtrp1E; Wed, 11 May 2022 12:14:29 +0000 (GMT) X-AuditID: b6c32a4a-b3bff70000002663-00-627c815d5f70 Received: from epsmtip2.samsung.com ( [182.195.34.31]) by epsmgms1p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 18.0F.11276.5A8AB726; Wed, 11 May 2022 21:14:29 +0900 (KST) Received: from Jaguar.sa.corp.samsungelectronics.net (unknown [107.108.73.139]) by epsmtip2.samsung.com (KnoxPortal) with ESMTPA id 20220511121428epsmtip27174326ce33b5a4649137f1123356a2e~uC-bTft4s0270302703epsmtip26; Wed, 11 May 2022 12:14:27 +0000 (GMT) From: Ajay Kumar To: linux-arm-kernel@lists.infradead.org, iommu@lists.linux-foundation.org, joro@8bytes.org, will@kernel.org, robin.murphy@arm.com Cc: alim.akhtar@samsung.com, pankaj.dubey@samsung.com, ajaykumar.rs1989@gmail.com, Marek Szyprowski , Ajay Kumar Subject: [PATCH V2 1/6] dma-mapping: add DMA_ATTR_LOW_ADDRESS attribute Date: Wed, 11 May 2022 17:45:39 +0530 Message-Id: <20220511121544.5998-2-ajaykumar.rs@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220511121544.5998-1-ajaykumar.rs@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrGKsWRmVeSWpSXmKPExsWy7bCmum5cY02Swe+ZjBZfT/xmszjw/iCL xYN529gsFuy3tuicvYHdYtPja6wWa4/cZbdYtPULu8XBD09YLVrumDpweTw5OI/JY828NYwe O2fdZffYtKqTzWPzknqPyTeWM3r0bVnFGMAelW2TkZqYklqkkJqXnJ+SmZduq+QdHO8cb2pm YKhraGlhrqSQl5ibaqvk4hOg65aZA3SdkkJZYk4pUCggsbhYSd/Opii/tCRVISO/uMRWKbUg JafApECvODG3uDQvXS8vtcTK0MDAyBSoMCE7o6Gli63gIVfFmYXLmBsYP3J0MXJwSAiYSJz8 nNjFyMUhJLCbUaK58TlbFyMnkPOJUeLTSj+IxDdGiVVvTrOCJEAaZv1dzgaR2Msoca51E5TT wiTx5P4adpAqNgFtiW3Tb7KA2CICLYwSc6fZgxQxC6xklFhyqwOsSFjAXWLDsx6wfSwCqhLT 2+aDreAVsJH4/34hG8Q6eYnVGw4wg9icArYSk3b8ZQQZJCHwll3i+KNdLBBFLhKTP/2Guk9Y 4tXxLewQtpTEy/42KLta4tyt/WwQzR2MEh0P10El7CUOXJnDAgoNZgFNifW79CHCshJTT61j ArGZBfgken8/YYKI80rsmAdigwJPTWLrCj+IsIzEmYNXoMIeErdvBEICZQKjRMvHO6wTGOVm ISxYwMi4ilEytaA4Nz212LTAKC+1HB5pyfm5mxjBCVDLawfjwwcf9A4xMnEwHmKU4GBWEuHd 31eRJMSbklhZlVqUH19UmpNafIjRFBh+E5mlRJPzgSk4ryTe0MTSwMTMzMzE0tjMUEmc93T6 hkQhgfTEktTs1NSC1CKYPiYOTqkGptSwx4drzT9EzGsXX3MvZ5lQcebcdxtfcC49/vyg9ZRO RvuGBd9ffZlyOHRieElvrlGlJ4eZoJKDJJO7yib5w3abbhw9yprMuKg8NuH23ioz8f9519dM 09ebpS/0hk3m8dOCrQ+ucr5bGtEyc9mRefdajr5lNkl9PHWnbtez78d8pqixBWyd/H+9hfPS Iyp3Ope9vxb1j2+HcNmEE49nBhh/35ym/enKc+XJElNi36uvPJAq9fVrreRRo/z2r8Iluie2 FbvwZizWfrHx+NKY62bTqwS5o67LbqpJ+honteiU72f29yty55lX29/eu2rLkZ2Zp9xTpBbv XWe/QSIxuVOC/5NvMOu6+xvNPaSYz9grsRRnJBpqMRcVJwIAttaZnQkEAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrALMWRmVeSWpSXmKPExsWy7bCSvO7SFdVJBp1XFSy+nvjNZnHg/UEW iwfztrFZLNhvbdE5ewO7xabH11gt1h65y26xaOsXdouDH56wWrTcMXXg8nhycB6Tx5p5axg9 ds66y+6xaVUnm8fmJfUek28sZ/To27KKMYA9issmJTUnsyy1SN8ugSujoaWLreAhV8WZhcuY Gxg/cnQxcnJICJhIzPq7nK2LkYtDSGA3o8TzdTcZIRIyEs93PGWBsIUlVv57zg5R1MQk8WHZ ErAiNgFtiW3Tb7KAJEQEuhglrl7dywriMAusZZR41QhRJSzgLrHhWQ8biM0ioCoxvW0+K4jN K2Aj8f/9QjaIFfISqzccYAaxOQVsJSbt+AvWKwRUM+fzUeYJjHwLGBlWMUqmFhTnpucWGxYY 5qWW6xUn5haX5qXrJefnbmIEB6qW5g7G7as+6B1iZOJgPMQowcGsJMK7v68iSYg3JbGyKrUo P76oNCe1+BCjNAeLkjjvha6T8UIC6YklqdmpqQWpRTBZJg5OqQamKL2y9fNPzvfvM6lvq/ZV DLz+gTvlqFoBS3bjlIAl8bWs5cvmW3IGTWg6VP57faLFSa8lRpWW8t/sRKbM+2t0f35w/STV Fd8OmKqu2vi5gFXw5c+gycwmPmY7lWzkF8VJ5WZfL7y7NfqasLGvTYrizEXB2WH9nN9W2zsq CYlaPWQSNQ2Jvzhb7PClL/vvatn988ttN2A6J/DD0bnrqrU816Vv0+w+2By9qvbFNqrwyeRt 0pcnuFzu5ay8Vf76ivUNrRN/v5hWTejwON8f1vj1u7rE36VTzlrnhO3x6GBz2lsRGVTXtsw2 Re7wxQjZ/im5Z37fKton+LQ05+wtf3v5l9Eh0lPmVW75+/LU2gQlluKMREMt5qLiRACMPfpe wwIAAA== X-CMS-MailID: 20220511121429epcas5p2d91f585a555e51b1c11e9e02c1b8dc15 X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20220511121429epcas5p2d91f585a555e51b1c11e9e02c1b8dc15 References: <20220511121544.5998-1-ajaykumar.rs@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220511_203924_963026_A00B2853 X-CRM114-Status: GOOD ( 16.53 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Marek Szyprowski Some devices require to allocate a special buffer (usually for the firmware) just at the beginning of the address space to ensure that all further allocations can be expressed as a positive offset from that special buffer. When IOMMU is used for managing the DMA address space, such requirement can be easily fulfilled, simply by enforcing the 'first-fit' IOVA allocation algorithm. This patch adds a DMA attribute for such case. Signed-off-by: Marek Szyprowski Signed-off-by: Ajay Kumar --- include/linux/dma-mapping.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h index dca2b1355bb1..3cbdf857edd1 100644 --- a/include/linux/dma-mapping.h +++ b/include/linux/dma-mapping.h @@ -60,6 +60,12 @@ * at least read-only at lesser-privileged levels). */ #define DMA_ATTR_PRIVILEGED (1UL << 9) +/* + * DMA_ATTR_LOW_ADDRESS: used to indicate that the buffer should be allocated + * at the lowest possible DMA address, usually just at the beginning of the + * DMA/IOVA address space ('first-fit' allocation algorithm). + */ +#define DMA_ATTR_LOW_ADDRESS (1UL << 10) /* * A dma_addr_t can hold any valid DMA or bus address for the platform. It can