All of lore.kernel.org
 help / color / mirror / Atom feed
From: Florian Fainelli <florian.fainelli@broadcom.com>
To: "Christian Marangi" <ansuelsmth@gmail.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>,
	"Florian Fainelli" <florian.fainelli@broadcom.com>,
	"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 5/6] mips: bmips: enable RAC on BMIPS4350
Date: Fri, 3 May 2024 11:56:43 -0700	[thread overview]
Message-ID: <5529fe79-e2f8-47ab-a0cf-2b37bb13bbd7@broadcom.com> (raw)
In-Reply-To: <20240503135455.966-6-ansuelsmth@gmail.com>

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

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()) {

-- 
Florian


[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4221 bytes --]

  reply	other threads:[~2024-05-03 18:56 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 [this message]
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=5529fe79-e2f8-47ab-a0cf-2b37bb13bbd7@broadcom.com \
    --to=florian.fainelli@broadcom.com \
    --cc=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=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.