linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Catalin Marinas <catalin.marinas@arm.com>
To: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Cc: Rob Herring <robh+dt@kernel.org>,
	devicetree@vger.kernel.org, will@kernel.org,
	Frank Rowand <frowand.list@gmail.com>,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	iommu@lists.linux-foundation.org,
	linux-rpi-kernel@lists.infradead.org, robin.murphy@arm.com,
	hch@lst.de, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 1/4] of/fdt: Update zone_dma_bits when running in bcm2711
Date: Fri, 2 Oct 2020 12:55:41 +0100	[thread overview]
Message-ID: <20201002115541.GC7034@gaia> (raw)
In-Reply-To: <b47232e2173e9e5ddf8f5be4c7b5a2f897f34eb7.camel@suse.de>

On Thu, Oct 01, 2020 at 07:31:19PM +0200, Nicolas Saenz Julienne wrote:
> On Thu, 2020-10-01 at 18:23 +0100, Catalin Marinas wrote:
> > On Thu, Oct 01, 2020 at 06:15:01PM +0100, Catalin Marinas wrote:
> > > On Thu, Oct 01, 2020 at 06:17:37PM +0200, Nicolas Saenz Julienne wrote:
> > > > diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
> > > > index 4602e467ca8b..cd0d115ef329 100644
> > > > --- a/drivers/of/fdt.c
> > > > +++ b/drivers/of/fdt.c
> > > > @@ -25,6 +25,7 @@
> > > >  #include <linux/serial_core.h>
> > > >  #include <linux/sysfs.h>
> > > >  #include <linux/random.h>
> > > > +#include <linux/dma-direct.h>	/* for zone_dma_bits */
> > > >  
> > > >  #include <asm/setup.h>  /* for COMMAND_LINE_SIZE */
> > > >  #include <asm/page.h>
> > > > @@ -1198,6 +1199,14 @@ void __init early_init_dt_scan_nodes(void)
> > > >  	of_scan_flat_dt(early_init_dt_scan_memory, NULL);
> > > >  }
> > > >  
> > > > +void __init early_init_dt_update_zone_dma_bits(void)
> > > > +{
> > > > +	unsigned long dt_root = of_get_flat_dt_root();
> > > > +
> > > > +	if (of_flat_dt_is_compatible(dt_root, "brcm,bcm2711"))
> > > > +		zone_dma_bits = 30;
> > > > +}
> > > 
> > > I think we could keep this entirely in the arm64 setup_machine_fdt() and
> > > not pollute the core code with RPi4-specific code.
> > 
> > Actually, even better, could we not move the check to
> > arm64_memblock_init() when we initialise zone_dma_bits?
> 
> I did it this way as I vaguely remembered Rob saying he wanted to centralise
> all early boot fdt code in one place. But I'll be happy to move it there.

I can see Rob replied and I'm fine if that's his preference. However,
what I don't particularly like is that in the arm64 code, if
zone_dma_bits == 24, we set it to 32 assuming that it wasn't touched by
the early_init_dt_update_zone_dma_bits(). What if at some point we'll
get a platform that actually needs 24 here (I truly hope not, but just
the principle of relying on magic values)?

So rather than guessing, I'd prefer if the arch code can override
ZONE_DMA_BITS_DEFAULT. Then, in arm64, we'll just set it to 32 and no
need to explicitly touch the zone_dma_bits variable.

-- 
Catalin


  parent reply	other threads:[~2020-10-02 11:55 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-01 16:17 [PATCH 0/4] arm64: Default to 32-bit wide ZONE_DMA Nicolas Saenz Julienne
2020-10-01 16:17 ` [PATCH 1/4] of/fdt: Update zone_dma_bits when running in bcm2711 Nicolas Saenz Julienne
2020-10-01 17:15   ` Catalin Marinas
2020-10-01 17:23     ` Catalin Marinas
2020-10-01 17:31       ` Nicolas Saenz Julienne
2020-10-01 20:02         ` Rob Herring
2020-10-02 11:55         ` Catalin Marinas [this message]
2020-10-08 10:05           ` Nicolas Saenz Julienne
2020-10-08 10:13             ` Catalin Marinas
2020-10-08 19:43               ` Ard Biesheuvel
2020-10-09  3:59                 ` Jeremy Linton
2020-10-09  8:37                   ` Nicolas Saenz Julienne
2020-10-09  7:10             ` Christoph Hellwig
2020-10-09  7:37               ` Ard Biesheuvel
2020-10-09  8:36                 ` Nicolas Saenz Julienne
2020-10-09  9:13                   ` Ard Biesheuvel
2020-10-09 13:33                     ` Nicolas Saenz Julienne
2020-10-09 15:24                     ` Lorenzo Pieralisi
2020-10-09 16:23                       ` Ard Biesheuvel
2020-10-09 17:10                         ` Catalin Marinas
2020-10-10 10:36                           ` Ard Biesheuvel
2020-10-10 10:53                             ` Nicolas Saenz Julienne
2020-10-10 12:38                               ` Catalin Marinas
2020-10-12  6:47                           ` Christoph Hellwig
2020-10-12  8:47                             ` Catalin Marinas
2020-10-02  9:05   ` kernel test robot
2020-10-01 16:17 ` [PATCH 2/4] dma-direct: Turn zone_dma_bits default value into a define Nicolas Saenz Julienne
2020-10-01 16:17 ` [PATCH 3/4] arm64: Default to 32-bit ZONE_DMA Nicolas Saenz Julienne
2020-10-01 17:19   ` Catalin Marinas
2020-10-01 16:17 ` [PATCH 4/4] mm: Update DMA zones description Nicolas Saenz Julienne
2020-10-01 17:19   ` Catalin Marinas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201002115541.GC7034@gaia \
    --to=catalin.marinas@arm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=frowand.list@gmail.com \
    --cc=hch@lst.de \
    --cc=iommu@lists.linux-foundation.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-rpi-kernel@lists.infradead.org \
    --cc=nsaenzjulienne@suse.de \
    --cc=robh+dt@kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).