From: Christian Marangi <ansuelsmth@gmail.com>
To: "Daniel González Cabanelas" <dgcbueu@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
Subject: Re: [PATCH 5/6] mips: bmips: enable RAC on BMIPS4350
Date: Fri, 3 May 2024 23:15:46 +0200 [thread overview]
Message-ID: <66355403.050a0220.9e59a.8031@mx.google.com> (raw)
In-Reply-To: <CABwr4_sz4DKjp_cJqTNBCyQSUhXGJM4_h1JSiK-h=8uAbPPoVQ@mail.gmail.com>
On Fri, May 03, 2024 at 11:11:13PM +0200, Daniel González Cabanelas wrote:
> El vie, 3 may 2024 a las 20:56, Florian Fainelli
> (<florian.fainelli@broadcom.com>) escribió:
> >
> > On 5/3/24 06:54, Christian Marangi wrote:
> > > From: Daniel González Cabanelas <dgcbueu@gmail.com>
> > >
> > > The data RAC is left disabled by the bootloader in some SoCs, at least in
> > > the core it boots from.
> > > Enabling this feature increases the performance up to +30% depending on the
> > > task.
> > >
> > > Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
> > > Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
> > > [ rework code and reduce code duplication ]
> > > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
> > > ---
> > > arch/mips/kernel/smp-bmips.c | 12 ++++++++++++
> > > 1 file changed, 12 insertions(+)
> > >
> > > diff --git a/arch/mips/kernel/smp-bmips.c b/arch/mips/kernel/smp-bmips.c
> > > index 6048c471b5ee..7bde6bbaa41f 100644
> > > --- a/arch/mips/kernel/smp-bmips.c
> > > +++ b/arch/mips/kernel/smp-bmips.c
> > > @@ -617,6 +617,18 @@ void bmips_cpu_setup(void)
> > > __raw_readl(bmips_cbr_addr + BMIPS_RAC_ADDRESS_RANGE);
> > > break;
> > >
> > > + case CPU_BMIPS4350:
> > > + u32 rac_addr = BMIPS_RAC_CONFIG_1;
> > > +
> > > + if (!(read_c0_brcm_cmt_local() & (1 << 31)))
> > > + rac_addr = BMIPS_RAC_CONFIG;
> > > +
> > > + /* Enable data RAC */
> > > + cfg = __raw_readl(bmips_cbr_addr + rac_addr);
> > > + __raw_writel(cfg | 0xa, bmips_cbr_addr + rac_addr);
> >
> > This enables data pre-fetching (bit 3) and data-caching (bit 1), have
> > you tried with 0xF to see if this provides any additional speed-up?
> >
> > Looks correct to me otherwise, I wonder if a flush would be in order
> > right after enabling, though I did not see any specific instructions
> > towards that part in the programming notes.
> >
> > > + __raw_readl(bmips_cbr_addr + rac_addr);
> > > + break;
> > > +
> > > case CPU_BMIPS4380:
> > > /* CBG workaround for early BMIPS4380 CPUs */
> > > switch (read_c0_prid()) {
> >
> Hi Florian.
> Bits 0 and 1 are already enabled by the bootloader, so no need to
> write 0xF. I checked it on some devices with BCM6328, 6358, 6368 SoCs.
>
> Example, without the patch, reading the RAC Configuration Register 0 and 1:
>
> - BCM6368 booting from TP0:
> root@OpenWrt:/# devmem 0xff400000
> 0x02A07015
> root@OpenWrt:/# devmem 0xff400008
> 0x0000000F
>
> - BCM6368 booting from TP1:
> root@OpenWrt:/# devmem 0xff400000
> 0x02A0701F
> root@OpenWrt:/# devmem 0xff400008
> 0x00000005
> root@OpenWrt:/#
>
[ fixed the top-post ]
If that's the case then i'm setting 0xf since we verified it doesn't
cause problem and it's already set.
--
Ansuel
next prev parent reply other threads:[~2024-05-03 21:15 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
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 [this message]
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=66355403.050a0220.9e59a.8031@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=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.