Re: [PATCH 02/15] swiotlb: remove dma_mark_clean
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: Tony Luck <tony.luck@xxxxxxxxx>
- Subject: Re: [PATCH 02/15] swiotlb: remove dma_mark_clean
- From: Christoph Hellwig <hch@xxxxxx>
- Date: Thu, 3 Jan 2019 08:23:56 +0100
- Cc: Christoph Hellwig <hch@xxxxxx>, iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>, Jesper Dangaard Brouer <brouer@xxxxxxxxxx>, Tariq Toukan <tariqt@xxxxxxxxxxxx>, Ilias Apalodimas <ilias.apalodimas@xxxxxxxxxx>, Toke Høiland-Jørgensen <toke@xxxxxxx>, Robin Murphy <robin.murphy@xxxxxxx>, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>, Fenghua Yu <fenghua.yu@xxxxxxxxx>, Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>, Keith Busch <keith.busch@xxxxxxxxx>, Jonathan Derrick <jonathan.derrick@xxxxxxxxx>, linux-pci@xxxxxxxxxxxxxxx, "linux-ia64@xxxxxxxxxxxxxxx" <linux-ia64@xxxxxxxxxxxxxxx>, X86-ML <x86@xxxxxxxxxx>, Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>
- In-reply-to: <CA+8MBb+9prWYSmp25K-LMUv1_0eekvFqXhoj87CV9zcaXfMDGg@mail.gmail.com>
- References: <20181207190720.18517-1-hch@lst.de> <20181207190720.18517-3-hch@lst.de> <CA+8MBb+9prWYSmp25K-LMUv1_0eekvFqXhoj87CV9zcaXfMDGg@mail.gmail.com>
- User-agent: Mutt/1.5.17 (2007-11-01)
On Wed, Jan 02, 2019 at 01:53:33PM -0800, Tony Luck wrote:
> On Fri, Dec 7, 2018 at 11:08 AM Christoph Hellwig <hch@xxxxxx> wrote:
> >
> > Instead of providing a special dma_mark_clean hook just for ia64, switch
> > ia64 to use the normal arch_sync_dma_for_cpu hooks instead.
> >
> > This means that we now also set the PG_arch_1 bit for pages in the
> > swiotlb buffer, which isn't stricly needed as we will never execute code
> > out of the swiotlb buffer, but otherwise harmless.
>
> ia64 build based on arch/ia64/configs/zx1_defconfig now fails with undefined
> symbols arch_dma_alloc and arch_dma_free (used by kernel/dma/direct.c).
>
> This config doesn't define CONFIG_SWIOTLB, so we don't get the
> benefit of the routines in arch/ia64/kernel/dma-mapping.c
I think something like the patch below should fix it:
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index ccd56f5df8cd..8d7396bd1790 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -31,7 +31,7 @@ config IA64
select HAVE_MEMBLOCK_NODE_MAP
select HAVE_VIRT_CPU_ACCOUNTING
select ARCH_HAS_DMA_COHERENT_TO_PFN if SWIOTLB
- select ARCH_HAS_SYNC_DMA_FOR_CPU
+ select ARCH_HAS_SYNC_DMA_FOR_CPU if SWIOTLB
select VIRT_TO_BUS
select ARCH_DISCARD_MEMBLOCK
select GENERIC_IRQ_PROBE
[Index of Archives]
[Linux Kernel]
[Sparc Linux]
[DCCP]
[Linux ARM]
[Yosemite News]
[Linux SCSI]
[Linux x86_64]
[Linux for Ham Radio]