From: Pavel Machek <pavel@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/2] arm: socfpga: enable data/inst prefetch and shared override in the L2
Date: Wed, 14 Oct 2015 18:32:42 +0200 [thread overview]
Message-ID: <20151014163242.GB1954@amd> (raw)
In-Reply-To: <1444661997-23059-2-git-send-email-dinguyen@opensource.altera.com>
On Mon 2015-10-12 09:59:57, dinguyen at opensource.altera.com wrote:
> From: Dinh Nguyen <dinguyen@opensource.altera.com>
>
> Update the L2 AUX CTRL settings for the SoCFPGA.
>
> Enabling D and I prefetch bits helps improve SDRAM performance on the
> platform.
>
> Also, we need to enable bit 22 of the L2. By not having bit 22 set in the
> PL310 Auxiliary Control register (shared attribute override enable) has the
> side effect of transforming Normal Shared Non-cacheable reads into Cacheable
> no-allocate reads.
>
> Coherent DMA buffers in Linux always have a Cacheable alias via the
> kernel linear mapping and the processor can speculatively load cache
> lines into the PL310 controller. With bit 22 cleared, Non-cacheable
> reads would unexpectedly hit such cache lines leading to buffer
> corruption.
>
> Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
> ---
> arch/arm/include/asm/pl310.h | 2 ++
> arch/arm/mach-socfpga/misc.c | 12 ++++++++++++
> 2 files changed, 14 insertions(+)
>
> diff --git a/arch/arm/include/asm/pl310.h b/arch/arm/include/asm/pl310.h
> index 18b90b7..7a11405 100644
> --- a/arch/arm/include/asm/pl310.h
> +++ b/arch/arm/include/asm/pl310.h
> @@ -17,6 +17,8 @@
> #define L2X0_CTRL_EN 1
>
> #define PL310_SHARED_ATT_OVERRIDE_ENABLE (1 << 22)
> +#define PL310_AUX_CTRL_DATA_PREFETCH_MASK (1 << 28)
> +#define PL310_AUX_CTRL_INST_PREFETCH_MASK (1 << 29)
These would be
arch/arm/include/asm/hardware/cache-l2x0.h:#define
L310_PREFETCH_CTRL_DATA_PREFETCH BIT(28)
arch/arm/include/asm/hardware/cache-l2x0.h:#define
L310_PREFETCH_CTRL_INSTR_PREFETCH BIT(29)
...in kernel. So maybe staying with L310_ prefix makes sense?
Otherwise it looks ok.
Best regards,
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
next prev parent reply other threads:[~2015-10-14 16:32 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-12 14:59 [U-Boot] [PATCH 1/2] pl310: arm: fix up define typo for the share override bit dinguyen at opensource.altera.com
2015-10-12 14:59 ` [U-Boot] [PATCH 2/2] arm: socfpga: enable data/inst prefetch and shared override in the L2 dinguyen at opensource.altera.com
2015-10-14 16:32 ` Pavel Machek [this message]
2015-10-15 14:32 ` Marek Vasut
2015-10-15 15:04 ` Dinh Nguyen
2015-10-15 18:08 ` Marek Vasut
2015-10-15 18:18 ` Dinh Nguyen
2015-10-15 22:33 ` Marek Vasut
2015-10-14 16:31 ` [U-Boot] [PATCH 1/2] pl310: arm: fix up define typo for the share override bit Pavel Machek
2015-10-15 15:21 ` Dinh Nguyen
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=20151014163242.GB1954@amd \
--to=pavel@denx.de \
--cc=u-boot@lists.denx.de \
/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.