* [PATCH 3/3] powerpc/dma: Remove ZONE_DMA completely
@ 2015-02-20 8:35 Benjamin Herrenschmidt
2015-02-26 6:38 ` [3/3] " Michael Ellerman
2015-03-18 14:19 ` [PATCH 3/3] " Aneesh Kumar K.V
0 siblings, 2 replies; 7+ messages in thread
From: Benjamin Herrenschmidt @ 2015-02-20 8:35 UTC (permalink / raw)
To: linuxppc dev list; +Cc: Scott Wood, Anton Blanchard, Brian J King
We don't initialize it, we don't use it, remove it.
We can bring it back if we ever wish to have support for devices
who have smaller than 32-bit DMA limitations but I don't think
we care much anymore.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
arch/powerpc/Kconfig | 2 +-
arch/powerpc/kernel/dma.c | 10 +---------
2 files changed, 2 insertions(+), 10 deletions(-)
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 22b0940..4efbfba 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -712,7 +712,7 @@ config ISA
config ZONE_DMA
bool
- default y
+ default n
config NEED_DMA_MAP_STATE
def_bool (PPC64 || NOT_COHERENT_CACHE)
diff --git a/arch/powerpc/kernel/dma.c b/arch/powerpc/kernel/dma.c
index e24e0ae..6306d4e 100644
--- a/arch/powerpc/kernel/dma.c
+++ b/arch/powerpc/kernel/dma.c
@@ -63,16 +63,8 @@ void *dma_direct_alloc_coherent(struct device *dev, size_t size,
return NULL;
}
- switch (zone) {
- case ZONE_DMA:
- flag |= GFP_DMA;
- break;
-#ifdef CONFIG_ZONE_DMA32
- case ZONE_DMA32:
+ if (zone == ZONE_DMA32)
flag |= GFP_DMA32;
- break;
-#endif
- };
/* ignore region specifiers */
flag &= ~(__GFP_HIGHMEM);
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [3/3] powerpc/dma: Remove ZONE_DMA completely
2015-02-20 8:35 [PATCH 3/3] powerpc/dma: Remove ZONE_DMA completely Benjamin Herrenschmidt
@ 2015-02-26 6:38 ` Michael Ellerman
2015-02-27 3:39 ` Michael Ellerman
2015-03-18 14:19 ` [PATCH 3/3] " Aneesh Kumar K.V
1 sibling, 1 reply; 7+ messages in thread
From: Michael Ellerman @ 2015-02-26 6:38 UTC (permalink / raw)
To: Benjamin Herrenschmidt, linuxppc dev list
Cc: Scott Wood, Anton Blanchard, Brian J King
On Fri, 2015-20-02 at 08:35:44 UTC, Benjamin Herrenschmidt wrote:
> We don't initialize it, we don't use it, remove it.
>
> We can bring it back if we ever wish to have support for devices
> who have smaller than 32-bit DMA limitations but I don't think
> we care much anymore.
>
> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> ---
> arch/powerpc/Kconfig | 2 +-
> arch/powerpc/kernel/dma.c | 10 +---------
> 2 files changed, 2 insertions(+), 10 deletions(-)
>
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 22b0940..4efbfba 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -712,7 +712,7 @@ config ISA
>
> config ZONE_DMA
> bool
> - default y
> + default n
>
> config NEED_DMA_MAP_STATE
> def_bool (PPC64 || NOT_COHERENT_CACHE)
> diff --git a/arch/powerpc/kernel/dma.c b/arch/powerpc/kernel/dma.c
> index e24e0ae..6306d4e 100644
> --- a/arch/powerpc/kernel/dma.c
> +++ b/arch/powerpc/kernel/dma.c
> @@ -63,16 +63,8 @@ void *dma_direct_alloc_coherent(struct device *dev, size_t size,
> return NULL;
> }
>
> - switch (zone) {
> - case ZONE_DMA:
> - flag |= GFP_DMA;
> - break;
> -#ifdef CONFIG_ZONE_DMA32
> - case ZONE_DMA32:
> + if (zone == ZONE_DMA32)
> flag |= GFP_DMA32;
> - break;
> -#endif
> - };
You still need the ifdef, else eg. ppc6xx_defconfig:
arch/powerpc/kernel/dma.c:66:14: error: 'ZONE_DMA32' undeclared (first use in this function)
cheers
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [3/3] powerpc/dma: Remove ZONE_DMA completely
2015-02-26 6:38 ` [3/3] " Michael Ellerman
@ 2015-02-27 3:39 ` Michael Ellerman
2015-02-27 3:48 ` Benjamin Herrenschmidt
0 siblings, 1 reply; 7+ messages in thread
From: Michael Ellerman @ 2015-02-27 3:39 UTC (permalink / raw)
To: Benjamin Herrenschmidt
Cc: Scott Wood, Anton Blanchard, linuxppc dev list, Brian J King
On Thu, 2015-02-26 at 17:38 +1100, Michael Ellerman wrote:
> On Fri, 2015-20-02 at 08:35:44 UTC, Benjamin Herrenschmidt wrote:
> > diff --git a/arch/powerpc/kernel/dma.c b/arch/powerpc/kernel/dma.c
> > index e24e0ae..6306d4e 100644
> > --- a/arch/powerpc/kernel/dma.c
> > +++ b/arch/powerpc/kernel/dma.c
> > @@ -63,16 +63,8 @@ void *dma_direct_alloc_coherent(struct device *dev, size_t size,
> > return NULL;
> > }
> >
> > - switch (zone) {
> > - case ZONE_DMA:
> > - flag |= GFP_DMA;
> > - break;
> > -#ifdef CONFIG_ZONE_DMA32
> > - case ZONE_DMA32:
> > + if (zone == ZONE_DMA32)
> > flag |= GFP_DMA32;
> > - break;
> > -#endif
> > - };
>
> You still need the ifdef, else eg. ppc6xx_defconfig:
>
> arch/powerpc/kernel/dma.c:66:14: error: 'ZONE_DMA32' undeclared (first use in this function)
And the rest :)
http://kisskb.ellerman.id.au/kisskb/head/8505/
Successful: 45% 49/109
cheers
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [3/3] powerpc/dma: Remove ZONE_DMA completely
2015-02-27 3:39 ` Michael Ellerman
@ 2015-02-27 3:48 ` Benjamin Herrenschmidt
0 siblings, 0 replies; 7+ messages in thread
From: Benjamin Herrenschmidt @ 2015-02-27 3:48 UTC (permalink / raw)
To: Michael Ellerman
Cc: Scott Wood, Anton Blanchard, linuxppc dev list, Brian J King
On Fri, 2015-02-27 at 14:39 +1100, Michael Ellerman wrote:
> On Thu, 2015-02-26 at 17:38 +1100, Michael Ellerman wrote:
> > On Fri, 2015-20-02 at 08:35:44 UTC, Benjamin Herrenschmidt wrote:
> > > diff --git a/arch/powerpc/kernel/dma.c b/arch/powerpc/kernel/dma.c
> > > index e24e0ae..6306d4e 100644
> > > --- a/arch/powerpc/kernel/dma.c
> > > +++ b/arch/powerpc/kernel/dma.c
> > > @@ -63,16 +63,8 @@ void *dma_direct_alloc_coherent(struct device *dev, size_t size,
> > > return NULL;
> > > }
> > >
> > > - switch (zone) {
> > > - case ZONE_DMA:
> > > - flag |= GFP_DMA;
> > > - break;
> > > -#ifdef CONFIG_ZONE_DMA32
> > > - case ZONE_DMA32:
> > > + if (zone == ZONE_DMA32)
> > > flag |= GFP_DMA32;
> > > - break;
> > > -#endif
> > > - };
> >
> > You still need the ifdef, else eg. ppc6xx_defconfig:
> >
> > arch/powerpc/kernel/dma.c:66:14: error: 'ZONE_DMA32' undeclared (first use in this function)
>
> And the rest :)
>
> http://kisskb.ellerman.id.au/kisskb/head/8505/
>
> Successful: 45% 49/109
Yup, I forgot I didn't have it unconditionally on ppc32 :-)
I'll respin some time next week.
Cheers,
Ben.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 3/3] powerpc/dma: Remove ZONE_DMA completely
2015-02-20 8:35 [PATCH 3/3] powerpc/dma: Remove ZONE_DMA completely Benjamin Herrenschmidt
2015-02-26 6:38 ` [3/3] " Michael Ellerman
@ 2015-03-18 14:19 ` Aneesh Kumar K.V
2015-03-18 20:38 ` Benjamin Herrenschmidt
1 sibling, 1 reply; 7+ messages in thread
From: Aneesh Kumar K.V @ 2015-03-18 14:19 UTC (permalink / raw)
To: Benjamin Herrenschmidt, linuxppc dev list
Cc: Scott Wood, Anton Blanchard, Brian J King
Benjamin Herrenschmidt <benh@kernel.crashing.org> writes:
> We don't initialize it, we don't use it, remove it.
>
> We can bring it back if we ever wish to have support for devices
> who have smaller than 32-bit DMA limitations but I don't think
> we care much anymore.
>
> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> ---
> arch/powerpc/Kconfig | 2 +-
> arch/powerpc/kernel/dma.c | 10 +---------
> 2 files changed, 2 insertions(+), 10 deletions(-)
>
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 22b0940..4efbfba 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -712,7 +712,7 @@ config ISA
>
> config ZONE_DMA
> bool
> - default y
> + default n
>
> config NEED_DMA_MAP_STATE
> def_bool (PPC64 || NOT_COHERENT_CACHE)
> diff --git a/arch/powerpc/kernel/dma.c b/arch/powerpc/kernel/dma.c
> index e24e0ae..6306d4e 100644
> --- a/arch/powerpc/kernel/dma.c
> +++ b/arch/powerpc/kernel/dma.c
> @@ -63,16 +63,8 @@ void *dma_direct_alloc_coherent(struct device *dev, size_t size,
> return NULL;
> }
>
> - switch (zone) {
> - case ZONE_DMA:
> - flag |= GFP_DMA;
> - break;
> -#ifdef CONFIG_ZONE_DMA32
> - case ZONE_DMA32:
> + if (zone == ZONE_DMA32)
> flag |= GFP_DMA32;
> - break;
> -#endif
> - };
>
Why not do it also for DMA32 as below. We call limit_zone_pfn() only for few
platforms. They can select ZONE_DMA32. Everywhere else ZONE_DMA32 is
same as ZONE_NORMAL ? So instead of having confusing output for
show_mem(), we now have
Node 0 Normal: 6*64kB (UM) 566*128kB (UEM) 367*256kB (UM) 185*512kB (UM)59*1024kB (UEM) 11*2048kB (UM) 4*4096kB (UM) 3*8192kB (UEM) 4016*16384kB
Node 1 Normal: 42*64kB (UEM) 14*128kB (UEM) 10*256kB (UM) 2*512kB (UM) 6*1024kB (UM) 7*2048kB (UEM) 5*4096kB (UM) 2*8192kB (U) 3644*16384kB (MR) =
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 38fe9c5409be..3a448cdaa22f 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -290,7 +290,7 @@ config PPC_EMULATE_SSTEP
config ZONE_DMA32
bool
- default y if PPC64
+ default n
source "init/Kconfig"
diff --git a/arch/powerpc/kernel/dma.c b/arch/powerpc/kernel/dma.c
index 03511968a9c6..253222ddb308 100644
--- a/arch/powerpc/kernel/dma.c
+++ b/arch/powerpc/kernel/dma.c
@@ -71,6 +71,11 @@ void *dma_direct_alloc_coherent(struct device *dev, size_t size,
}
switch (zone) {
+#ifdef CONFIG_ZONE_DMA
+ case ZONE_DMA:
+ flag |= GFP_DMA;
+ break;
+#endif
#ifdef CONFIG_ZONE_DMA32
case ZONE_DMA32:
flag |= GFP_DMA32;
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 3/3] powerpc/dma: Remove ZONE_DMA completely
2015-03-18 14:19 ` [PATCH 3/3] " Aneesh Kumar K.V
@ 2015-03-18 20:38 ` Benjamin Herrenschmidt
2015-03-20 5:26 ` Aneesh Kumar K.V
0 siblings, 1 reply; 7+ messages in thread
From: Benjamin Herrenschmidt @ 2015-03-18 20:38 UTC (permalink / raw)
To: Aneesh Kumar K.V
Cc: Scott Wood, Anton Blanchard, linuxppc dev list, Brian J King
On Wed, 2015-03-18 at 19:49 +0530, Aneesh Kumar K.V wrote:
> Why not do it also for DMA32 as below. We call limit_zone_pfn() only
> for few
> platforms. They can select ZONE_DMA32. Everywhere else ZONE_DMA32 is
> same as ZONE_NORMAL ? So instead of having confusing output for
> show_mem(), we now have
There may be cases where we want ZONE_DMA32, what's confusing ?
Ben.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 3/3] powerpc/dma: Remove ZONE_DMA completely
2015-03-18 20:38 ` Benjamin Herrenschmidt
@ 2015-03-20 5:26 ` Aneesh Kumar K.V
0 siblings, 0 replies; 7+ messages in thread
From: Aneesh Kumar K.V @ 2015-03-20 5:26 UTC (permalink / raw)
To: Benjamin Herrenschmidt
Cc: Scott Wood, Anton Blanchard, linuxppc dev list, Brian J King
Benjamin Herrenschmidt <benh@kernel.crashing.org> writes:
> On Wed, 2015-03-18 at 19:49 +0530, Aneesh Kumar K.V wrote:
>> Why not do it also for DMA32 as below. We call limit_zone_pfn() only
>> for few
>> platforms. They can select ZONE_DMA32. Everywhere else ZONE_DMA32 is
>> same as ZONE_NORMAL ? So instead of having confusing output for
>> show_mem(), we now have
>
> There may be cases where we want ZONE_DMA32, what's confusing ?
>
To see output like below
Node 0 DMA32: 6*64kB (UM) 566*128kB (UEM) 367*256kB (UM) 185*512kB (UM)59*1024kB (UEM) 11*2048kB (UM) 4*4096kB (UM) 3*8192kB (UEM) 4016*16384kB
Node 1 DMA32: 42*64kB (UEM) 14*128kB (UEM) 10*256kB (UM) 2*512kB (UM) 6*1024kB (UM) 7*2048kB (UEM) 5*4096kB (UM) 2*8192kB (U) 3644*16384kB (MR) =
That is to find DMA32 convering more than 4GB range.
-aneesh
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-03-20 5:26 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-20 8:35 [PATCH 3/3] powerpc/dma: Remove ZONE_DMA completely Benjamin Herrenschmidt
2015-02-26 6:38 ` [3/3] " Michael Ellerman
2015-02-27 3:39 ` Michael Ellerman
2015-02-27 3:48 ` Benjamin Herrenschmidt
2015-03-18 14:19 ` [PATCH 3/3] " Aneesh Kumar K.V
2015-03-18 20:38 ` Benjamin Herrenschmidt
2015-03-20 5:26 ` Aneesh Kumar K.V
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.