Re: + arc-convert-to-dma_map_ops.patch added to -mm tree

2015-12-16 Thread Andrew Morton
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

2015-12-16 Thread Vineet Gupta
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

2015-12-16 Thread Andrew Morton
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

2015-12-16 Thread Vineet Gupta
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

2015-11-25 Thread Michael Ellerman
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

2015-11-25 Thread Michael Ellerman
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

2015-11-24 Thread Vineet Gupta
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

2015-11-24 Thread Michael Ellerman
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

2015-11-24 Thread Vineet Gupta
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

2015-11-24 Thread Michael Ellerman
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

2015-11-24 Thread Vineet Gupta
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

2015-11-24 Thread Vineet Gupta
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

2015-11-23 Thread h...@lst.de
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

2015-11-23 Thread Vineet Gupta
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 

Re: + arc-convert-to-dma_map_ops.patch added to -mm tree

2015-11-23 Thread Vineet Gupta
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
> 

Re: + arc-convert-to-dma_map_ops.patch added to -mm tree

2015-11-23 Thread h...@lst.de
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/