Re: + arc-convert-to-dma_map_ops.patch added to -mm tree
On Thu, 17 Dec 2015 10:58:55 +0530 Vineet Gupta wrote: > On Tuesday 24 November 2015 01:20 PM, h...@lst.de wrote: > > Hi Vineet, > > > > the original version went through the buildbot, which succeeded. It seems > > like the official buildbot does not support arc, and might benefit from > > helping to set up an arc environment. However in the meantime Guenther > > send me output from his buildbot and I sent a fix for arc. > > > > Hi Andrew, Christoph > > The dma mapping conversion build error fixlet (below) exists as a separate > patch > which will break bisectability. Will it be possible to squash it into the > orig commit. > That's the plan. In http://ozlabs.org/~akpm/mmots/series you'll see arc-convert-to-dma_map_ops.patch arc-convert-to-dma_map_ops-fix.patch I keep the base patch(es) and its fixes separate for various tacking/history/bookkeeping reasons and fold them all together just before sending things off to Linus. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: + arc-convert-to-dma_map_ops.patch added to -mm tree
On Tuesday 24 November 2015 01:20 PM, h...@lst.de wrote: > Hi Vineet, > > the original version went through the buildbot, which succeeded. It seems > like the official buildbot does not support arc, and might benefit from > helping to set up an arc environment. However in the meantime Guenther > send me output from his buildbot and I sent a fix for arc. > Hi Andrew, Christoph The dma mapping conversion build error fixlet (below) exists as a separate patch which will break bisectability. Will it be possible to squash it into the orig commit. Thx, -Vineet commit 7f33b4a409493b81c24741dbad6700aae99d8ed0 Author: Christoph Hellwig Date: Fri Dec 11 15:59:33 2015 +1100 arc: dma mapping fixes Signed-off-by: Christoph Hellwig Reported-by: Guenter Roeck Signed-off-by: Andrew Morton -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: + arc-convert-to-dma_map_ops.patch added to -mm tree
On Tue, 2015-11-24 at 17:09 +0530, Vineet Gupta wrote: > Hi Michael, > On Tuesday 24 November 2015 04:31 PM, Michael Ellerman wrote: > > On Tue, 2015-11-24 at 09:46 +, Vineet Gupta wrote: > > > > On Tuesday 24 November 2015 01:20 PM, h...@lst.de wrote: > > > > > > Hi Vineet, > > > > > > > > > > > > the original version went through the buildbot, which succeeded. > > > > > > It seems > > > > > > like the official buildbot does not support arc, and might benefit > > > > > > from > > > > > > helping to set up an arc environment. > > > > > > > > I have in the past asked kisskb service folks - but haven't heard back > > > > from them. > > > > Stephan, Michael could you please add ARC toolchain to kisskb build > > > > service. I can > > > > buy you guys a beer (or some other beverage of choice) next time we > > > > meet :-) > > Sure, where do I get a toolchain? Can I just build upstream binutils + GCC? > > > We are in the process of revamping upstream support for GNU tools (they were > added > many years ago, bit-rotted and now are being redone again). > > The current tools are hoisted on github. > https://github.com/foss-for-synopsys-dwc-arc-processors/ > > You could use upstream buildroot which automatically picks up relevant tools > branches from our github repos. > > Please note that ARC cores are based off two ISA: ARCompact and recently > announced > ARCv2. Thus it would be awesome if we could build following kernel configs on > regular basis: > - axs101_defconfig > - axs103_smp_defconfig > > This however needs 2 toolchain installs as we don't have multilibed tools > which > support both ISA. > > You can do following to generate the tools (this first pass builds the kernel > as > well which can be disabled if u so wish). > > $ wget http://buildroot.uclibc.org/downloads/buildroot-2015.08.1.tar.gz > $ tar -xvf buildroot-2015.08.1.tar.gz > $ cd buildroot-2015.08.1; mkdir arcv2 arcomp > > $ make O=arcv2 snps_axs103_defconfig ; cd arcv2; make ; cd .. # for ARCv2 > tools > $ make O=arcomp snps_axs101_defconfig ; cd arcomp; make # for ARCompact tools OK. In general I'm not inclined to support custom toolchains, simply because of the extra work required. But seeing as you asked nicely and gave me instructions I'll try and build it and see how I go :) cheers -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: + arc-convert-to-dma_map_ops.patch added to -mm tree
Hi Michael, On Tuesday 24 November 2015 04:31 PM, Michael Ellerman wrote: > On Tue, 2015-11-24 at 09:46 +, Vineet Gupta wrote: >> > On Tuesday 24 November 2015 01:20 PM, h...@lst.de wrote: >>> > > Hi Vineet, >>> > > >>> > > the original version went through the buildbot, which succeeded. It >>> > > seems >>> > > like the official buildbot does not support arc, and might benefit from >>> > > helping to set up an arc environment. >> > >> > I have in the past asked kisskb service folks - but haven't heard back >> > from them. >> > Stephan, Michael could you please add ARC toolchain to kisskb build >> > service. I can >> > buy you guys a beer (or some other beverage of choice) next time we meet >> > :-) > Sure, where do I get a toolchain? Can I just build upstream binutils + GCC? > > chers We are in the process of revamping upstream support for GNU tools (they were added many years ago, bit-rotted and now are being redone again). The current tools are hoisted on github. https://github.com/foss-for-synopsys-dwc-arc-processors/ You could use upstream buildroot which automatically picks up relevant tools branches from our github repos. Please note that ARC cores are based off two ISA: ARCompact and recently announced ARCv2. Thus it would be awesome if we could build following kernel configs on regular basis: - axs101_defconfig - axs103_smp_defconfig This however needs 2 toolchain installs as we don't have multilibed tools which support both ISA. You can do following to generate the tools (this first pass builds the kernel as well which can be disabled if u so wish). $ wget http://buildroot.uclibc.org/downloads/buildroot-2015.08.1.tar.gz $ tar -xvf buildroot-2015.08.1.tar.gz $ cd buildroot-2015.08.1; mkdir arcv2 arcomp $ make O=arcv2 snps_axs103_defconfig ; cd arcv2; make ; cd .. # for ARCv2 tools $ make O=arcomp snps_axs101_defconfig ; cd arcomp; make # for ARCompact tools There's another way to build them by hand - with finer grainer control of specific tools branches, target flags and so forth. Let me know if you prefer that and I can point you to same (they in toolchain repo on github) Many thx for looking into this. Please let me know if you run into any issues with above. -Vineet -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: + arc-convert-to-dma_map_ops.patch added to -mm tree
On Tue, 2015-11-24 at 09:46 +, Vineet Gupta wrote: > On Tuesday 24 November 2015 01:20 PM, h...@lst.de wrote: > > Hi Vineet, > > > > the original version went through the buildbot, which succeeded. It seems > > like the official buildbot does not support arc, and might benefit from > > helping to set up an arc environment. > > I have in the past asked kisskb service folks - but haven't heard back from > them. > Stephan, Michael could you please add ARC toolchain to kisskb build service. > I can > buy you guys a beer (or some other beverage of choice) next time we meet :-) Sure, where do I get a toolchain? Can I just build upstream binutils + GCC? chers -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: + arc-convert-to-dma_map_ops.patch added to -mm tree
On Tuesday 24 November 2015 01:20 PM, h...@lst.de wrote: > Hi Vineet, > > the original version went through the buildbot, which succeeded. It seems > like the official buildbot does not support arc, and might benefit from > helping to set up an arc environment. I have in the past asked kisskb service folks - but haven't heard back from them. Stephan, Michael could you please add ARC toolchain to kisskb build service. I can buy you guys a beer (or some other beverage of choice) next time we meet :-) > However in the meantime Guenther > send me output from his buildbot and I sent a fix for arc. Ok - perhaps Guenter didn't CC me and hence I didn't see you fix. Thx for doing this series BTW, I was meaning to do this myself as some customers asked for using dma_attr_t etc for their upcoming platform. -Vineet -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: + arc-convert-to-dma_map_ops.patch added to -mm tree
Hi Vineet, the original version went through the buildbot, which succeeded. It seems like the official buildbot does not support arc, and might benefit from helping to set up an arc environment. However in the meantime Guenther send me output from his buildbot and I sent a fix for arc. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: + arc-convert-to-dma_map_ops.patch added to -mm tree
On Wednesday 18 November 2015 03:08 AM, a...@linux-foundation.org wrote: > The patch titled > Subject: arc: convert to dma_map_ops > has been added to the -mm tree. Its filename is > arc-convert-to-dma_map_ops.patch > > This patch should soon appear at > http://ozlabs.org/~akpm/mmots/broken-out/arc-convert-to-dma_map_ops.patch > and later at > http://ozlabs.org/~akpm/mmotm/broken-out/arc-convert-to-dma_map_ops.patch > > Before you just go and hit "reply", please: >a) Consider who else should be cc'ed >b) Prefer to cc a suitable mailing list as well >c) Ideally: find the original patch on the mailing list and do a > reply-to-all to that, adding suitable additional cc's > > *** Remember to use Documentation/SubmitChecklist when testing your code *** > > The -mm tree is included into linux-next and is updated > there every 3-4 working days > > -- > From: Christoph Hellwig > Subject: arc: convert to dma_map_ops > > Signed-off-by: Christoph Hellwig > Cc: Vineet Gupta > Signed-off-by: Andrew Morton > --- > > arch/arc/Kconfig |1 > arch/arc/include/asm/dma-mapping.h | 187 --- > arch/arc/mm/dma.c | 151 +++-- > 3 files changed, 109 insertions(+), 230 deletions(-) > > diff -puN arch/arc/Kconfig~arc-convert-to-dma_map_ops arch/arc/Kconfig > --- a/arch/arc/Kconfig~arc-convert-to-dma_map_ops > +++ a/arch/arc/Kconfig > @@ -38,6 +38,7 @@ config ARC > select OF_EARLY_FLATTREE > select PERF_USE_VMALLOC > select HAVE_DEBUG_STACKOVERFLOW > + select HAVE_DMA_ATTRS > > config TRACE_IRQFLAGS_SUPPORT > def_bool y > diff -puN arch/arc/include/asm/dma-mapping.h~arc-convert-to-dma_map_ops > arch/arc/include/asm/dma-mapping.h > --- a/arch/arc/include/asm/dma-mapping.h~arc-convert-to-dma_map_ops > +++ a/arch/arc/include/asm/dma-mapping.h > @@ -11,192 +11,13 @@ > #ifndef ASM_ARC_DMA_MAPPING_H > #define ASM_ARC_DMA_MAPPING_H > > -#include > -#include > +extern struct dma_map_ops arc_dma_ops; > > -void *dma_alloc_noncoherent(struct device *dev, size_t size, > - dma_addr_t *dma_handle, gfp_t gfp); > - > -void dma_free_noncoherent(struct device *dev, size_t size, void *vaddr, > - dma_addr_t dma_handle); > - > -void *dma_alloc_coherent(struct device *dev, size_t size, > - dma_addr_t *dma_handle, gfp_t gfp); > - > -void dma_free_coherent(struct device *dev, size_t size, void *kvaddr, > -dma_addr_t dma_handle); > - > -/* drivers/base/dma-mapping.c */ > -extern int dma_common_mmap(struct device *dev, struct vm_area_struct *vma, > -void *cpu_addr, dma_addr_t dma_addr, size_t size); > -extern int dma_common_get_sgtable(struct device *dev, struct sg_table *sgt, > - void *cpu_addr, dma_addr_t dma_addr, > - size_t size); > - > -#define dma_mmap_coherent(d, v, c, h, s) dma_common_mmap(d, v, c, h, s) > -#define dma_get_sgtable(d, t, v, h, s) dma_common_get_sgtable(d, t, v, h, s) > - > -/* > - * streaming DMA Mapping API... > - * CPU accesses page via normal paddr, thus needs to explicitly made > - * consistent before each use > - */ > - > -static inline void __inline_dma_cache_sync(unsigned long paddr, size_t size, > -enum dma_data_direction dir) > -{ > - switch (dir) { > - case DMA_FROM_DEVICE: > - dma_cache_inv(paddr, size); > - break; > - case DMA_TO_DEVICE: > - dma_cache_wback(paddr, size); > - break; > - case DMA_BIDIRECTIONAL: > - dma_cache_wback_inv(paddr, size); > - break; > - default: > - pr_err("Invalid DMA dir [%d] for OP @ %lx\n", dir, paddr); > - } > -} > - > -void __arc_dma_cache_sync(unsigned long paddr, size_t size, > - enum dma_data_direction dir); > - > -#define _dma_cache_sync(addr, sz, dir) \ > -do { \ > - if (__builtin_constant_p(dir)) \ > - __inline_dma_cache_sync(addr, sz, dir); \ > - else\ > - __arc_dma_cache_sync(addr, sz, dir);\ > -}\ > -while (0); > - > -static inline dma_addr_t > -dma_map_single(struct device *dev, void *cpu_addr, size_t size, > -enum dma_data_direction dir) > -{ > - _dma_cache_sync((unsigned long)cpu_addr, size, dir); > - return (dma_addr_t)cpu_addr; > -} > - > -static inline void > -dma_unmap_single(struct device *dev, dma_addr_t dma_addr, > - size_t size, enum dma_data_direction dir) > -{ > -} > - > -static inline dma_addr_t > -dma_map_page(struct device *dev, struct page *page, > - unsigned long o