kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/1] s390/dma: provide proper ARCH_ZONE_DMA_BITS value
@ 2019-07-18 17:21 Halil Pasic
  2019-07-18 20:54 ` Petr Tesarik
  2019-07-19  6:32 ` Heiko Carstens
  0 siblings, 2 replies; 6+ messages in thread
From: Halil Pasic @ 2019-07-18 17:21 UTC (permalink / raw)
  To: kvm, linux-s390, Christoph Hellwig, Heiko Carstens, Vasily Gorbik
  Cc: Halil Pasic, Petr Tesarik, Christian Borntraeger, Janosch Frank

On s390 ZONE_DMA is up to 2G, i.e. ARCH_ZONE_DMA_BITS should be 31 bits.
The current value is 24 and makes __dma_direct_alloc_pages() take a
wrong turn first (but __dma_direct_alloc_pages() recovers then).

Let's correct ARCH_ZONE_DMA_BITS value and avoid wrong turns.

Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
Reported-by: Petr Tesarik <ptesarik@suse.cz>
Fixes: c61e9637340e ("dma-direct: add support for allocation from
ZONE_DMA and ZONE_DMA32")
---
 arch/s390/include/asm/dma.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/s390/include/asm/dma.h b/arch/s390/include/asm/dma.h
index 6f26f35d4a71..3b0329665b13 100644
--- a/arch/s390/include/asm/dma.h
+++ b/arch/s390/include/asm/dma.h
@@ -10,6 +10,7 @@
  * by the 31 bit heritage.
  */
 #define MAX_DMA_ADDRESS         0x80000000
+#define ARCH_ZONE_DMA_BITS      31
 
 #ifdef CONFIG_PCI
 extern int isa_dma_bridge_buggy;
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/1] s390/dma: provide proper ARCH_ZONE_DMA_BITS value
  2019-07-18 17:21 [PATCH 1/1] s390/dma: provide proper ARCH_ZONE_DMA_BITS value Halil Pasic
@ 2019-07-18 20:54 ` Petr Tesarik
  2019-07-19  6:32 ` Heiko Carstens
  1 sibling, 0 replies; 6+ messages in thread
From: Petr Tesarik @ 2019-07-18 20:54 UTC (permalink / raw)
  To: Halil Pasic
  Cc: kvm, linux-s390, Christoph Hellwig, Heiko Carstens,
	Vasily Gorbik, Christian Borntraeger, Janosch Frank

[-- Attachment #1: Type: text/plain, Size: 1082 bytes --]

On Thu, 18 Jul 2019 19:21:20 +0200
Halil Pasic <pasic@linux.ibm.com> wrote:

> On s390 ZONE_DMA is up to 2G, i.e. ARCH_ZONE_DMA_BITS should be 31 bits.
> The current value is 24 and makes __dma_direct_alloc_pages() take a
> wrong turn first (but __dma_direct_alloc_pages() recovers then).
> 
> Let's correct ARCH_ZONE_DMA_BITS value and avoid wrong turns.
> 
> Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
> Reported-by: Petr Tesarik <ptesarik@suse.cz>
> Fixes: c61e9637340e ("dma-direct: add support for allocation from
> ZONE_DMA and ZONE_DMA32")
> ---
>  arch/s390/include/asm/dma.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/s390/include/asm/dma.h b/arch/s390/include/asm/dma.h
> index 6f26f35d4a71..3b0329665b13 100644
> --- a/arch/s390/include/asm/dma.h
> +++ b/arch/s390/include/asm/dma.h
> @@ -10,6 +10,7 @@
>   * by the 31 bit heritage.
>   */
>  #define MAX_DMA_ADDRESS         0x80000000
> +#define ARCH_ZONE_DMA_BITS      31
>  
>  #ifdef CONFIG_PCI
>  extern int isa_dma_bridge_buggy;

Looks good to me.

Petr T

[-- Attachment #2: Digitální podpis OpenPGP --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/1] s390/dma: provide proper ARCH_ZONE_DMA_BITS value
  2019-07-18 17:21 [PATCH 1/1] s390/dma: provide proper ARCH_ZONE_DMA_BITS value Halil Pasic
  2019-07-18 20:54 ` Petr Tesarik
@ 2019-07-19  6:32 ` Heiko Carstens
  2019-07-19 11:01   ` Halil Pasic
  1 sibling, 1 reply; 6+ messages in thread
From: Heiko Carstens @ 2019-07-19  6:32 UTC (permalink / raw)
  To: Halil Pasic
  Cc: kvm, linux-s390, Christoph Hellwig, Vasily Gorbik, Petr Tesarik,
	Christian Borntraeger, Janosch Frank

On Thu, Jul 18, 2019 at 07:21:20PM +0200, Halil Pasic wrote:
> On s390 ZONE_DMA is up to 2G, i.e. ARCH_ZONE_DMA_BITS should be 31 bits.
> The current value is 24 and makes __dma_direct_alloc_pages() take a
> wrong turn first (but __dma_direct_alloc_pages() recovers then).
> 
> Let's correct ARCH_ZONE_DMA_BITS value and avoid wrong turns.
> 
> Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
> Reported-by: Petr Tesarik <ptesarik@suse.cz>
> Fixes: c61e9637340e ("dma-direct: add support for allocation from
> ZONE_DMA and ZONE_DMA32")

Please don't add linebreaks to "Fixes:" tags.

> ---
>  arch/s390/include/asm/dma.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/s390/include/asm/dma.h b/arch/s390/include/asm/dma.h
> index 6f26f35d4a71..3b0329665b13 100644
> --- a/arch/s390/include/asm/dma.h
> +++ b/arch/s390/include/asm/dma.h
> @@ -10,6 +10,7 @@
>   * by the 31 bit heritage.
>   */
>  #define MAX_DMA_ADDRESS         0x80000000
> +#define ARCH_ZONE_DMA_BITS      31

powerpc has this in arch/powerpc/include/asm/page.h. This really
should be consistently defined in the same header file across
architectures.

Christoph, what is the preferred header file for this definition?

I'd also rather say it would be better to move the #ifndef ARCH_ZONE_DMA_BITS
check to a common code header file instead of having it in a C file, and
make it more obvious in which header file architectures should/can override
the default, no?


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/1] s390/dma: provide proper ARCH_ZONE_DMA_BITS value
  2019-07-19  6:32 ` Heiko Carstens
@ 2019-07-19 11:01   ` Halil Pasic
  2019-07-23 12:32     ` Halil Pasic
  0 siblings, 1 reply; 6+ messages in thread
From: Halil Pasic @ 2019-07-19 11:01 UTC (permalink / raw)
  To: Heiko Carstens
  Cc: kvm, linux-s390, Christoph Hellwig, Vasily Gorbik, Petr Tesarik,
	Christian Borntraeger, Janosch Frank

On Fri, 19 Jul 2019 08:32:49 +0200
Heiko Carstens <heiko.carstens@de.ibm.com> wrote:

> On Thu, Jul 18, 2019 at 07:21:20PM +0200, Halil Pasic wrote:
> > On s390 ZONE_DMA is up to 2G, i.e. ARCH_ZONE_DMA_BITS should be 31 bits.
> > The current value is 24 and makes __dma_direct_alloc_pages() take a
> > wrong turn first (but __dma_direct_alloc_pages() recovers then).
> > 
> > Let's correct ARCH_ZONE_DMA_BITS value and avoid wrong turns.
> > 
> > Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
> > Reported-by: Petr Tesarik <ptesarik@suse.cz>
> > Fixes: c61e9637340e ("dma-direct: add support for allocation from
> > ZONE_DMA and ZONE_DMA32")
> 
> Please don't add linebreaks to "Fixes:" tags.
> 

Will remember that, thanks! I was not aware of the rule and checkpatch
did not complain. 

> > ---
> >  arch/s390/include/asm/dma.h | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/arch/s390/include/asm/dma.h b/arch/s390/include/asm/dma.h
> > index 6f26f35d4a71..3b0329665b13 100644
> > --- a/arch/s390/include/asm/dma.h
> > +++ b/arch/s390/include/asm/dma.h
> > @@ -10,6 +10,7 @@
> >   * by the 31 bit heritage.
> >   */
> >  #define MAX_DMA_ADDRESS         0x80000000
> > +#define ARCH_ZONE_DMA_BITS      31
> 
> powerpc has this in arch/powerpc/include/asm/page.h. This really
> should be consistently defined in the same header file across
> architectures.
> 
> Christoph, what is the preferred header file for this definition?
> 
> I'd also rather say it would be better to move the #ifndef ARCH_ZONE_DMA_BITS
> check to a common code header file instead of having it in a C file, and
> make it more obvious in which header file architectures should/can override
> the default, no?

+1

I will wait for Christoph's answer with a respin. Thanks for having a
look.

Regards,
Halil


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/1] s390/dma: provide proper ARCH_ZONE_DMA_BITS value
  2019-07-19 11:01   ` Halil Pasic
@ 2019-07-23 12:32     ` Halil Pasic
  2019-07-23 15:52       ` Christoph Hellwig
  0 siblings, 1 reply; 6+ messages in thread
From: Halil Pasic @ 2019-07-23 12:32 UTC (permalink / raw)
  To: Heiko Carstens
  Cc: kvm, linux-s390, Christoph Hellwig, Vasily Gorbik, Petr Tesarik,
	Christian Borntraeger, Janosch Frank

On Fri, 19 Jul 2019 13:01:30 +0200
Halil Pasic <pasic@linux.ibm.com> wrote:

> > > diff --git a/arch/s390/include/asm/dma.h b/arch/s390/include/asm/dma.h
> > > index 6f26f35d4a71..3b0329665b13 100644
> > > --- a/arch/s390/include/asm/dma.h
> > > +++ b/arch/s390/include/asm/dma.h
> > > @@ -10,6 +10,7 @@
> > >   * by the 31 bit heritage.
> > >   */
> > >  #define MAX_DMA_ADDRESS         0x80000000
> > > +#define ARCH_ZONE_DMA_BITS      31  
> > 
> > powerpc has this in arch/powerpc/include/asm/page.h. This really
> > should be consistently defined in the same header file across
> > architectures.
> > 
> > Christoph, what is the preferred header file for this definition?

ping

Christoph could you please answer Heiko's question, so I can do my
respin.

Regards,
Halil

> > 
> > I'd also rather say it would be better to move the #ifndef ARCH_ZONE_DMA_BITS
> > check to a common code header file instead of having it in a C file, and
> > make it more obvious in which header file architectures should/can override
> > the default, no?  
> 
> +1
> 
> I will wait for Christoph's answer with a respin. Thanks for having a
> look.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/1] s390/dma: provide proper ARCH_ZONE_DMA_BITS value
  2019-07-23 12:32     ` Halil Pasic
@ 2019-07-23 15:52       ` Christoph Hellwig
  0 siblings, 0 replies; 6+ messages in thread
From: Christoph Hellwig @ 2019-07-23 15:52 UTC (permalink / raw)
  To: Halil Pasic
  Cc: Heiko Carstens, kvm, linux-s390, Christoph Hellwig,
	Vasily Gorbik, Petr Tesarik, Christian Borntraeger,
	Janosch Frank

On Tue, Jul 23, 2019 at 02:32:26PM +0200, Halil Pasic wrote:
> On Fri, 19 Jul 2019 13:01:30 +0200
> Halil Pasic <pasic@linux.ibm.com> wrote:
> 
> > > > diff --git a/arch/s390/include/asm/dma.h b/arch/s390/include/asm/dma.h
> > > > index 6f26f35d4a71..3b0329665b13 100644
> > > > --- a/arch/s390/include/asm/dma.h
> > > > +++ b/arch/s390/include/asm/dma.h
> > > > @@ -10,6 +10,7 @@
> > > >   * by the 31 bit heritage.
> > > >   */
> > > >  #define MAX_DMA_ADDRESS         0x80000000
> > > > +#define ARCH_ZONE_DMA_BITS      31  
> > > 
> > > powerpc has this in arch/powerpc/include/asm/page.h. This really
> > > should be consistently defined in the same header file across
> > > architectures.
> > > 
> > > Christoph, what is the preferred header file for this definition?
> 
> ping
> 
> Christoph could you please answer Heiko's question, so I can do my
> respin.

page.h is fine for now.  dma.h is odd for sure as it is for legacy
ISA DMA only.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-07-23 15:52 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-18 17:21 [PATCH 1/1] s390/dma: provide proper ARCH_ZONE_DMA_BITS value Halil Pasic
2019-07-18 20:54 ` Petr Tesarik
2019-07-19  6:32 ` Heiko Carstens
2019-07-19 11:01   ` Halil Pasic
2019-07-23 12:32     ` Halil Pasic
2019-07-23 15:52       ` Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).