From: Christian Marangi <ansuelsmth@gmail.com>
To: Florian Fainelli <f.fainelli@gmail.com>
Cc: "Florian Fainelli" <florian.fainelli@broadcom.com>,
"Hauke Mehrtens" <hauke@hauke-m.de>,
"Rafał Miłecki" <zajec5@gmail.com>,
"Thomas Bogendoerfer" <tsbogend@alpha.franken.de>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Broadcom internal kernel review list"
<bcm-kernel-feedback-list@broadcom.com>,
"Álvaro Fernández Rojas" <noltari@gmail.com>,
linux-mips@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
"Daniel González Cabanelas" <dgcbueu@gmail.com>
Subject: Re: [PATCH 4/6] mips: bmips: setup: make CBR address configurable
Date: Fri, 3 May 2024 23:27:39 +0200 [thread overview]
Message-ID: <663556cb.5d0a0220.4b13a.04d5@mx.google.com> (raw)
In-Reply-To: <6ca4f556-28ea-4f51-a8dc-a10a94d726f0@gmail.com>
On Fri, May 03, 2024 at 02:24:49PM -0700, Florian Fainelli wrote:
> On 5/3/24 12:35, Christian Marangi wrote:
> > On Fri, May 03, 2024 at 12:09:02PM -0700, Florian Fainelli wrote:
> > > On 5/3/24 06:54, Christian Marangi wrote:
> > > > Add support to provide CBR address from DT to handle broken
> > > > SoC/Bootloader that doesn't correctly init it. This permits to use the
> > > > RAC flush even in these condition.
> > > >
> > > > To provide a CBR address from DT, the property "mips-cbr-reg" needs to
> > > > be set in the "cpus" node. On DT init, this property presence will be
> > > > checked and will set the bmips_cbr_addr value accordingly. Also
> > > > bmips_rac_flush_disable will be set to false as RAC flush can be
> > > > correctly supported.
> > > >
> > > > The CBR address from DT will be applied only if the CBR address from the
> > > > registers is 0, if the CBR address from the registers is not 0 and
> > > > is not equal to the one set in DT (if provided) a WARN is printed.
> > > >
> > > > To ALWAYS overwrite the CBR address the additional property
> > > > "mips-broken-cbr-reg" needs to be set.
> > > >
> > > > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
> > > > ---
> > > > arch/mips/bmips/setup.c | 30 +++++++++++++++++++++++++++---
> > > > 1 file changed, 27 insertions(+), 3 deletions(-)
> > > >
> > > > diff --git a/arch/mips/bmips/setup.c b/arch/mips/bmips/setup.c
> > > > index 18561d426f89..bef84677248e 100644
> > > > --- a/arch/mips/bmips/setup.c
> > > > +++ b/arch/mips/bmips/setup.c
> > > > @@ -34,7 +34,11 @@
> > > > #define REG_BCM6328_OTP ((void __iomem *)CKSEG1ADDR(0x1000062c))
> > > > #define BCM6328_TP1_DISABLED BIT(9)
> > > > -/* CBR addr doesn't change and we can cache it */
> > > > +/*
> > > > + * CBR addr doesn't change and we can cache it.
> > > > + * For broken SoC/Bootloader CBR addr might also be provided via DT
> > > > + * with "mips-cbr-reg" in the "cpus" node.
> > > > + */
> > > > void __iomem *bmips_cbr_addr;
> > > > extern bool bmips_rac_flush_disable;
> > > > @@ -212,8 +216,28 @@ void __init device_tree_init(void)
> > > > /* Disable SMP boot unless both CPUs are listed in DT and !disabled */
> > > > np = of_find_node_by_name(NULL, "cpus");
> > > > - if (np && of_get_available_child_count(np) <= 1)
> > > > - bmips_smp_enabled = 0;
> > > > + if (np) {
> > >
> > > Please reduce the indentation with early return/gotos. There might also be a
> > > need to do some validation that the CBR is at least outside of the DRAM
> > > window, that is we cannot blindly trust the DT to have gotten the CBR right
> > > IMHO.
> >
> > Do you have any hint on how to do the check if we are outside DRAM?
> >
>
> I was going to suggest the use of memblock_start_of_DRAM() and
> memblock_end_of_DRAM() but before I sent that out your v2 already had it!
Ehehe, I was initially using mem_map and totalram_pages but then I inspected
memblock header and notice those good API.
--
Ansuel
next prev parent reply other threads:[~2024-05-03 21:27 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-03 13:54 [PATCH 0/6] mips: bmips: improve handling of RAC and CBR addr Christian Marangi
2024-05-03 13:54 ` [PATCH 1/6] mips: bmips: BCM6358: make sure CBR is correctly set Christian Marangi
2024-05-03 13:54 ` [PATCH 2/6] mips: bmips: rework and cache CBR addr handling Christian Marangi
2024-05-03 19:00 ` Florian Fainelli
2024-05-03 13:54 ` [PATCH 3/6] dt-bindings: mips: brcm: Document mips-cbr-reg property Christian Marangi
2024-05-03 16:21 ` Conor Dooley
2024-05-03 19:33 ` Christian Marangi
2024-05-03 20:06 ` Florian Fainelli
2024-05-03 22:14 ` Conor Dooley
2024-05-05 16:05 ` Christian Marangi
2024-05-03 13:54 ` [PATCH 4/6] mips: bmips: setup: make CBR address configurable Christian Marangi
2024-05-03 19:09 ` Florian Fainelli
2024-05-03 19:35 ` Christian Marangi
2024-05-03 21:24 ` Florian Fainelli
2024-05-03 21:27 ` Christian Marangi [this message]
2024-05-03 13:54 ` [PATCH 5/6] mips: bmips: enable RAC on BMIPS4350 Christian Marangi
2024-05-03 18:56 ` Florian Fainelli
2024-05-03 21:11 ` Daniel González Cabanelas
2024-05-03 21:15 ` Christian Marangi
2024-05-03 21:34 ` Daniel González Cabanelas
2024-05-03 13:54 ` [PATCH 6/6] bmips: dma: drop redundant boot_cpu_type in arch_dma_sync Christian Marangi
2024-05-03 13:56 ` Christian Marangi
2024-05-03 19:07 ` Florian Fainelli
2024-05-03 19:39 ` Christian Marangi
2024-05-03 20:08 ` Florian Fainelli
2024-05-03 13:54 ` [PATCH 6/6] mips: " Christian Marangi
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=663556cb.5d0a0220.4b13a.04d5@mx.google.com \
--to=ansuelsmth@gmail.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dgcbueu@gmail.com \
--cc=f.fainelli@gmail.com \
--cc=florian.fainelli@broadcom.com \
--cc=hauke@hauke-m.de \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=noltari@gmail.com \
--cc=robh@kernel.org \
--cc=tsbogend@alpha.franken.de \
--cc=zajec5@gmail.com \
/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 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.