From: Robin Murphy <robin.murphy@arm•com>
To: Krzysztof Kozlowski <k.kozlowski@samsung•com>,
Andrew Morton <akpm@linux-foundation•org>
Cc: hch@infradead•org,
Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung•com>,
Jonathan Corbet <corbet@lwn•net>,
Vineet Gupta <vgupta@synopsys•com>,
Russell King <linux@armlinux•org.uk>,
Stefano Stabellini <sstabellini@kernel•org>,
Catalin Marinas <catalin.marinas@arm•com>,
Will Deacon <will.deacon@arm•com>,
Haavard Skinnemoen <hskinnemoen@gmail•com>,
Hans-Christian Egtvedt <egtvedt@samfundet•no>,
Tony Luck <tony.luck@intel•com>,
Fenghua Yu <fenghua.yu@intel•com>,
James Hogan <james.hogan@imgtec•com>,
Ralf Baechle <ralf@linux-mips•org>,
Jonas Bonn <jonas@southpole•se>,
"James E.J. Bottomley" <jejb@parisc-linux•org>,
Helge Deller <deller@gmx•de>, Arnd Bergmann <arnd@arndb•de>,
Benjamin Herrenschmidt <benh@kernel•crashing.org>,
Paul Mackerras <paulus@samba•org>,
Michael Ellerman <mpe@ellerman•id.au>,
Mark Yao <mark.yao@rock-chips•com>,
David Airlie <airlied@linux•ie>, Heiko Stuebner <heiko@sntech•de>,
Joerg Roedel <joro@8bytes•org>, Pawel Osciak <pawel@osciak•com>,
Marek Szyprowski <m.szyprowski@samsung•com>,
Kyungmin Park <kyungmin.park@samsung•com>,
Mauro Carvalho Chehab <mchehab@osg•samsung.com>,
Andrea Gelmini <andrea.gelmini@gelma•net>,
Alexey Brodkin <abrodkin@synopsys•com>,
Rabin Vincent <rabin@rab•in>,
Alexandre Courbot <acourbot@nvidia•com>,
Doug Anderson <armlinux@m•disordat.com>,
Jisheng Zhang <jszhang@marvell•com>,
"Suthikulpanit, Suravee" <Suravee.Suthikulpanit@amd•com>,
Mel Gorman <mgorman@techsingularity•net>,
Vlastimil Babka <vbabka@suse•cz>, Michal Hocko <mhocko@suse•com>,
Max Filippov <jcmvbkbc@gmail•com>,
Guenter Roeck <linux@roeck-us•net>,
Alex Smith <alex.smith@imgtec•com>,
Qais Yousef <qais.yousef@imgtec•com>,
Matt Redfearn <matt.redfearn@imgtec•com>,
Akinobu Mita <akinobu.mita@gmail•com>,
"Luis R. Rodriguez" <mcgrof@suse•com>,
Christian Borntraeger <borntraeger@de•ibm.com>,
Zhen Lei <thunder.leizhen@huawei•com>,
linux-doc@vger•kernel.org, linux-kernel@vger•kernel.org,
linux-snps-arc@lists•infradead.org,
linux-arm-kernel@lists•infradead.org,
xen-devel@lists•xenproject.org, linux-ia64@vger•kernel.org,
linux-metag@vger•kernel.org, linux-mips@linux-mips•org,
linux-parisc@vger•kernel.org, linuxppc-dev@lists•ozlabs.org,
dri-devel@lists•freedesktop.org,
linux-rockchip@lists•infradead.org,
iommu@lists•linux-foundation.org, linux-media@vger•kernel.org
Subject: Re: [PATCH v4 43/44] dma-mapping: Remove dma_get_attr
Date: Fri, 10 Jun 2016 11:58:53 +0100 [thread overview]
Message-ID: <575A9D6D.9040808@arm.com> (raw)
In-Reply-To: <1465553521-27303-44-git-send-email-k.kozlowski@samsung.com>
On 10/06/16 11:12, Krzysztof Kozlowski wrote:
> After switching DMA attributes to unsigned long it is easier to just
> compare the bits.
>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung•com>
> [for avr32]
> Acked-by: Hans-Christian Noren Egtvedt <egtvedt@samfundet•no>
> ---
[...]
> arch/arm64/mm/dma-mapping.c | 10 +++----
[...]
> drivers/iommu/dma-iommu.c | 2 +-
[...]
> diff --git a/arch/arm64/mm/dma-mapping.c b/arch/arm64/mm/dma-mapping.c
> index a7686028dfeb..06c068ca3541 100644
> --- a/arch/arm64/mm/dma-mapping.c
> +++ b/arch/arm64/mm/dma-mapping.c
> @@ -32,7 +32,7 @@
> static pgprot_t __get_dma_pgprot(unsigned long attrs, pgprot_t prot,
> bool coherent)
> {
> - if (!coherent || dma_get_attr(DMA_ATTR_WRITE_COMBINE, attrs))
> + if (!coherent || (attrs & DMA_ATTR_WRITE_COMBINE))
> return pgprot_writecombine(prot);
> return prot;
> }
> @@ -702,7 +702,7 @@ static dma_addr_t __iommu_map_page(struct device *dev, struct page *page,
> dma_addr_t dev_addr = iommu_dma_map_page(dev, page, offset, size, prot);
>
> if (!iommu_dma_mapping_error(dev, dev_addr) &&
> - !dma_get_attr(DMA_ATTR_SKIP_CPU_SYNC, attrs))
> + (attrs & DMA_ATTR_SKIP_CPU_SYNC) == 0)
> __iommu_sync_single_for_device(dev, dev_addr, size, dir);
>
> return dev_addr;
> @@ -712,7 +712,7 @@ static void __iommu_unmap_page(struct device *dev, dma_addr_t dev_addr,
> size_t size, enum dma_data_direction dir,
> unsigned long attrs)
> {
> - if (!dma_get_attr(DMA_ATTR_SKIP_CPU_SYNC, attrs))
> + if ((attrs & DMA_ATTR_SKIP_CPU_SYNC) == 0)
> __iommu_sync_single_for_cpu(dev, dev_addr, size, dir);
>
> iommu_dma_unmap_page(dev, dev_addr, size, dir, attrs);
> @@ -752,7 +752,7 @@ static int __iommu_map_sg_attrs(struct device *dev, struct scatterlist *sgl,
> {
> bool coherent = is_device_dma_coherent(dev);
>
> - if (!dma_get_attr(DMA_ATTR_SKIP_CPU_SYNC, attrs))
> + if ((attrs & DMA_ATTR_SKIP_CPU_SYNC) == 0)
> __iommu_sync_sg_for_device(dev, sgl, nelems, dir);
>
> return iommu_dma_map_sg(dev, sgl, nelems,
> @@ -764,7 +764,7 @@ static void __iommu_unmap_sg_attrs(struct device *dev,
> enum dma_data_direction dir,
> unsigned long attrs)
> {
> - if (!dma_get_attr(DMA_ATTR_SKIP_CPU_SYNC, attrs))
> + if ((attrs & DMA_ATTR_SKIP_CPU_SYNC) == 0)
> __iommu_sync_sg_for_cpu(dev, sgl, nelems, dir);
>
> iommu_dma_unmap_sg(dev, sgl, nelems, dir, attrs);
[...]
> diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c
> index 6c1bda504fb1..08a1e2f3690f 100644
> --- a/drivers/iommu/dma-iommu.c
> +++ b/drivers/iommu/dma-iommu.c
> @@ -306,7 +306,7 @@ struct page **iommu_dma_alloc(struct device *dev, size_t size, gfp_t gfp,
> } else {
> size = ALIGN(size, min_size);
> }
> - if (dma_get_attr(DMA_ATTR_ALLOC_SINGLE_PAGES, attrs))
> + if (attrs & DMA_ATTR_ALLOC_SINGLE_PAGES)
> alloc_sizes = min_size;
>
> count = PAGE_ALIGN(size) >> PAGE_SHIFT;
[...]
These all look appropriate to me; thanks!
For arm64 and dma-iommu:
Acked-by: Robin Murphy <robin.murphy@arm•com>
prev parent reply other threads:[~2016-06-10 10:59 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-10 10:11 [PATCH v4 00/44] dma-mapping: Use unsigned long for dma_attrs Krzysztof Kozlowski
2016-06-10 10:11 ` [PATCH v4 21/44] powerpc: " Krzysztof Kozlowski
2016-06-10 10:12 ` [PATCH v4 43/44] dma-mapping: Remove dma_get_attr Krzysztof Kozlowski
2016-06-10 10:55 ` Vineet Gupta
2016-06-10 10:58 ` Robin Murphy [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=575A9D6D.9040808@arm.com \
--to=robin.murphy@arm$(echo .)com \
--cc=Suravee.Suthikulpanit@amd$(echo .)com \
--cc=abrodkin@synopsys$(echo .)com \
--cc=acourbot@nvidia$(echo .)com \
--cc=airlied@linux$(echo .)ie \
--cc=akinobu.mita@gmail$(echo .)com \
--cc=akpm@linux-foundation$(echo .)org \
--cc=alex.smith@imgtec$(echo .)com \
--cc=andrea.gelmini@gelma$(echo .)net \
--cc=armlinux@m$(echo .)disordat.com \
--cc=arnd@arndb$(echo .)de \
--cc=b.zolnierkie@samsung$(echo .)com \
--cc=benh@kernel$(echo .)crashing.org \
--cc=borntraeger@de$(echo .)ibm.com \
--cc=catalin.marinas@arm$(echo .)com \
--cc=corbet@lwn$(echo .)net \
--cc=deller@gmx$(echo .)de \
--cc=dri-devel@lists$(echo .)freedesktop.org \
--cc=egtvedt@samfundet$(echo .)no \
--cc=fenghua.yu@intel$(echo .)com \
--cc=hch@infradead$(echo .)org \
--cc=heiko@sntech$(echo .)de \
--cc=hskinnemoen@gmail$(echo .)com \
--cc=iommu@lists$(echo .)linux-foundation.org \
--cc=james.hogan@imgtec$(echo .)com \
--cc=jcmvbkbc@gmail$(echo .)com \
--cc=jejb@parisc-linux$(echo .)org \
--cc=jonas@southpole$(echo .)se \
--cc=joro@8bytes$(echo .)org \
--cc=jszhang@marvell$(echo .)com \
--cc=k.kozlowski@samsung$(echo .)com \
--cc=kyungmin.park@samsung$(echo .)com \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
--cc=linux-doc@vger$(echo .)kernel.org \
--cc=linux-ia64@vger$(echo .)kernel.org \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=linux-media@vger$(echo .)kernel.org \
--cc=linux-metag@vger$(echo .)kernel.org \
--cc=linux-mips@linux-mips$(echo .)org \
--cc=linux-parisc@vger$(echo .)kernel.org \
--cc=linux-rockchip@lists$(echo .)infradead.org \
--cc=linux-snps-arc@lists$(echo .)infradead.org \
--cc=linux@armlinux$(echo .)org.uk \
--cc=linux@roeck-us$(echo .)net \
--cc=linuxppc-dev@lists$(echo .)ozlabs.org \
--cc=m.szyprowski@samsung$(echo .)com \
--cc=mark.yao@rock-chips$(echo .)com \
--cc=matt.redfearn@imgtec$(echo .)com \
--cc=mcgrof@suse$(echo .)com \
--cc=mchehab@osg$(echo .)samsung.com \
--cc=mgorman@techsingularity$(echo .)net \
--cc=mhocko@suse$(echo .)com \
--cc=mpe@ellerman$(echo .)id.au \
--cc=paulus@samba$(echo .)org \
--cc=pawel@osciak$(echo .)com \
--cc=qais.yousef@imgtec$(echo .)com \
--cc=rabin@rab$(echo .)in \
--cc=ralf@linux-mips$(echo .)org \
--cc=sstabellini@kernel$(echo .)org \
--cc=thunder.leizhen@huawei$(echo .)com \
--cc=tony.luck@intel$(echo .)com \
--cc=vbabka@suse$(echo .)cz \
--cc=vgupta@synopsys$(echo .)com \
--cc=will.deacon@arm$(echo .)com \
--cc=xen-devel@lists$(echo .)xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox