All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] nios2: set default cache configuration in start.S
Date: Thu, 8 Oct 2015 23:14:46 +0200	[thread overview]
Message-ID: <201510082314.46482.marex@denx.de> (raw)
In-Reply-To: <1444119708-6934-1-git-send-email-thomas@wytron.com.tw>

On Tuesday, October 06, 2015 at 10:21:48 AM, Thomas Chou wrote:
> Set default icache and dcache configuration for start.S.
> The values are chosen so that it will work for most configurations.
> During initialization, cpu information will be extracted from
> device tree. Then cache flush operations will have correct
> cache configurations.
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> ---
>  arch/nios2/cpu/start.S | 22 +++++++++++++++-------
>  1 file changed, 15 insertions(+), 7 deletions(-)
> 
> diff --git a/arch/nios2/cpu/start.S b/arch/nios2/cpu/start.S
> index 00cec40..83d1576 100644
> --- a/arch/nios2/cpu/start.S
> +++ b/arch/nios2/cpu/start.S
> @@ -9,6 +9,15 @@
>  #include <config.h>
>  #include <version.h>
> 
> +/*
> + * icache and dcache configuration used only for start.S.
> + * the values are chosen so that it will work for all configuration.
> + */
> +#define ICACHE_LINE_SIZE	32 /* fixed 32 */
> +#define ICACHE_SIZE_MAX		0x10000 /* 64k max */
> +#define DCACHE_LINE_SIZE_MIN	4 /* 4, 16, 32 */
> +#define DCACHE_SIZE_MAX		0x10000 /* 64k max */
> +
>  /*************************************************************************
>   * RESTART
>   ************************************************************************/
> @@ -25,9 +34,9 @@ _start:
>  	 * just be invalidating the cache a second time. If cache
>  	 * is not implemented initi behaves as nop.
>  	 */
> -	ori	r4, r0, %lo(CONFIG_SYS_ICACHELINE_SIZE)
> -	movhi	r5, %hi(CONFIG_SYS_ICACHE_SIZE)
> -	ori	r5, r5, %lo(CONFIG_SYS_ICACHE_SIZE)
> +	ori	r4, r0, %lo(ICACHE_LINE_SIZE)
> +	movhi	r5, %hi(ICACHE_SIZE_MAX)
> +	ori	r5, r5, %lo(ICACHE_SIZE_MAX)
>  0:	initi	r5
>  	sub	r5, r5, r4
>  	bgt	r5, r0, 0b
> @@ -54,10 +63,9 @@ _except_end:
>  	 * DCACHE INIT -- if dcache not implemented, initd behaves as
>  	 * nop.
>  	 */
> -	movhi	r4, %hi(CONFIG_SYS_DCACHELINE_SIZE)
> -	ori	r4, r4, %lo(CONFIG_SYS_DCACHELINE_SIZE)
> -	movhi	r5, %hi(CONFIG_SYS_DCACHE_SIZE)
> -	ori	r5, r5, %lo(CONFIG_SYS_DCACHE_SIZE)
> +	ori	r4, r0, %lo(DCACHE_LINE_SIZE_MIN)
> +	movhi	r5, %hi(DCACHE_SIZE_MAX)
> +	ori	r5, r5, %lo(DCACHE_SIZE_MAX)
>  	mov	r6, r0
>  1:	initd	0(r6)
>  	add	r6, r6, r4

Did I miss the DT part somewhere or is that not part of this patch ?

Another question I have is -- why don't we set CONFIG_SYS_{I,D}CACHE_SIZE to
maximum value? This should work for all nios2 cache configurations and it should
also be correct, no ? Speed might be a bit of an issue here, but I doubt the
impact would be that large.

Best regards,
Marek Vasut

  reply	other threads:[~2015-10-08 21:14 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-06  8:21 [U-Boot] [PATCH] nios2: set default cache configuration in start.S Thomas Chou
2015-10-08 21:14 ` Marek Vasut [this message]
2015-10-09  9:03   ` Thomas Chou
2015-10-09 14:39     ` Marek Vasut
2015-10-10 12:21       ` Thomas Chou
2015-10-10 18:10         ` Marek Vasut
2015-10-09 12:11 ` [U-Boot] [PATCH v2] " Thomas Chou
2015-10-09 14:39   ` Marek Vasut
2015-10-13 13:20   ` Thomas Chou

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=201510082314.46482.marex@denx.de \
    --to=marex@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.