All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aneesh V <aneesh@ti.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 03/10] armv7: cache maintenance operations for armv7
Date: Tue, 17 May 2011 14:47:46 +0530	[thread overview]
Message-ID: <4DD23D3A.4010001@ti.com> (raw)
In-Reply-To: <20110515185101.7900E1491B06@gemini.denx.de>



On Monday 16 May 2011 12:21 AM, Wolfgang Denk wrote:
> Dear Aneesh V,
>
> In message<1305202276-27784-4-git-send-email-aneesh@ti.com>  you wrote:
>> - Add a framework for layered cache maintenance
>> 	- separate out SOC specific outer cache maintenance from
>> 	  maintenance of caches known to CPU
>>
>> - Add generic ARMv7 cache maintenance operations that affect all
>>    caches known to ARMv7 CPUs. For instance in Cortex-A8 these
>>    opertions will affect both L1 and L2 caches. In Cortex-A9
>>    these will affect only L1 cache
>>
>> - D-cache operations supported:
>> 	- Invalidate entire D-cache
Needed before enabling the caches.
>> 	- Invalidate D-cache range
Needed if you are doing DMA.
>> 	- Flush(clean&  invalidate) entire D-cache
Needed before Linux before disabling the caches.
>> 	- Flush D-cache range
Needed in case of DMA out.

>
> How much of this is actually needed in the context of U-Boot?

Please see above. As far as I know OMAP doesn't do DMA in U-Boot.

>
> ...
>> +	for (way = num_ways - 1; way>= 0 ; way--)
>> +		for (set = num_sets - 1; set>= 0; set--) {
>> +			setway = (level<<  1) | (set<<  log2_line_len) |
>> +				 (way<<  way_shift);
>> +			/* Invalidate data/unified cache line by set/way */
>> +			asm volatile ("	mcr p15, 0, %0, c7, c6, 2"
>> +					: : "r" (setway));
>> +		}
>
> Braces needed for multiline for().  Please fix globally.

Ok.

>
> ...

>> +	if (operation == ARMV7_DCACHE_INVAL_ALL)
>> +		v7_inval_dcache_level_setway(level, num_sets, num_ways,
>> +				      way_shift, log2_line_len);
>> +	else if (operation == ARMV7_DCACHE_CLEAN_INVAL_ALL)
>> +		v7_clean_inval_dcache_level_setway(level, num_sets, num_ways,
>> +						   way_shift, log2_line_len);
>
> Braces needed for multiline statements.  Please fix globally.
>
>> +	for (mva = start; mva<  stop; mva = mva + line_len)
>> +		/* DCCIMVAC - Clean&  Invalidate data cache by MVA to PoC */
>> +		asm volatile ("mcr p15, 0, %0, c7, c14, 1" : : "r" (mva));
>
> And again etc. etc.
>
> ...
>> +void invalidate_dcache_all(void)
>> +{
>> +}
>> +
>> +void flush_dcache_all(void)
>> +{
>> +}
>> +
>> +void invalidate_dcache_range(unsigned long start, unsigned long stop)
>> +{
>> +}
>> +
>> +void flush_dcache_range(unsigned long start, unsigned long stop)
>> +{
>> +}
>> +
>> +void arm_init_before_mmu(void)
>> +{
>> +}
>> +
>> +void  flush_cache(unsigned long start, unsigned long size)
>> +{
>> +}
>
> Please do not add dead code.  I consider it misleading to have
> functions which promise to perform something, and actually do nothing.

These are empty only in the else part of an #ifdef. When cache support
is compiled out these need to be empty.

best regards,
Aneesh

  reply	other threads:[~2011-05-17  9:17 UTC|newest]

Thread overview: 105+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-08 13:07 [U-Boot] [PATCH v2 00/10] armv7: cache maintenance operations Aneesh V
2011-03-08 13:07 ` [U-Boot] [PATCH v2 01/10] arm: make default implementation of cache_flush() weakly linked Aneesh V
2011-03-08 13:07 ` [U-Boot] [PATCH v2 02/10] armv7: add miscellaneous utility macros Aneesh V
2011-03-08 13:07 ` [U-Boot] [PATCH v2 03/10] armv7: cache maintenance operations for armv7 Aneesh V
2011-03-08 13:07 ` [U-Boot] [PATCH v2 04/10] armv7: replace CONFIG_L2_OFF with CONFIG_SYS_NO_L2CACHE Aneesh V
2011-03-08 13:07 ` [U-Boot] [PATCH v2 05/10] armv7: integrate cache maintenance support Aneesh V
2011-03-08 13:07 ` [U-Boot] [PATCH v2 06/10] arm: minor fixes for cache and mmu handling Aneesh V
2011-03-08 13:07 ` [U-Boot] [PATCH v2 07/10] armv7: add PL310 support to u-boot Aneesh V
2011-03-08 13:07 ` [U-Boot] [PATCH v2 08/10] armv7: adapt omap4 to the new cache maintenance framework Aneesh V
2011-03-08 13:07 ` [U-Boot] [PATCH v2 09/10] armv7: adapt omap3 " Aneesh V
2011-03-08 13:07 ` [U-Boot] [PATCH v2 10/10] armv7: adapt s5pc1xx " Aneesh V
2011-04-27  1:05 ` [U-Boot] [PATCH v2 00/10] armv7: cache maintenance operations Simon Glass
2011-05-05  4:48   ` Simon Glass
2011-05-10 10:25     ` Aneesh V
2011-05-12 12:11 ` [U-Boot] [PATCH v3 " Aneesh V
2011-05-12 12:11 ` [U-Boot] [PATCH v3 01/10] arm: make default implementation of cache_flush() weakly linked Aneesh V
2011-05-12 12:11 ` [U-Boot] [PATCH v3 02/10] armv7: add miscellaneous utility macros Aneesh V
2011-05-15 18:44   ` Wolfgang Denk
2011-05-15 22:15     ` Simon Glass
2011-05-16  2:23       ` Eric Cooper
2011-05-16 14:50         ` Simon Glass
2011-05-16 15:52           ` Wolfgang Denk
2011-05-16  5:51       ` Wolfgang Denk
2011-05-17  3:47         ` Simon Glass
2011-05-17  5:27           ` Wolfgang Denk
2011-05-17  8:44             ` Aneesh V
2011-05-17  9:27               ` Wolfgang Denk
2011-05-31  7:54                 ` V, Aneesh
2011-06-01  2:13                   ` Simon Glass
2011-06-01  6:01                     ` Aneesh V
2011-05-16 15:07     ` Aneesh V
2011-06-06 15:57       ` Aneesh V
2011-06-06 18:50         ` Wolfgang Denk
2011-06-07  9:01           ` Aneesh V
2011-06-07 10:39             ` Wolfgang Denk
2011-06-07 12:14               ` Aneesh V
2011-06-07 15:19                 ` Simon Glass
2011-06-07 15:40                 ` Wolfgang Denk
2011-06-08 11:53                   ` Aneesh V
2011-06-08 21:41                     ` Wolfgang Denk
2011-06-14  8:45                       ` Aneesh V
2011-06-14 10:51                         ` Wolfgang Denk
2011-06-14 11:39                           ` Aneesh V
2011-06-14 13:53                             ` Wolfgang Denk
2011-06-14 15:11                               ` Simon Glass
2011-06-14 18:54                                 ` Wolfgang Denk
2011-06-15 15:19                                   ` Simon Glass
2011-06-15  8:48                               ` Aneesh V
2011-06-15  9:20                                 ` Wolfgang Denk
2011-06-15 11:01                                   ` Aneesh V
2011-06-15 12:04                                     ` Wolfgang Denk
2011-06-15 12:42                                       ` Graeme Russ
2011-06-15 12:51                                         ` Wolfgang Denk
2011-06-15 13:03                                           ` Graeme Russ
2011-06-16 11:07                                           ` Graeme Russ
2011-06-16 11:46                                             ` Wolfgang Denk
2011-06-16 23:58                                               ` Graeme Russ
2011-06-16  5:39                                         ` Aneesh V
2011-06-16  6:19                                           ` Graeme Russ
2011-06-16  8:15                                             ` Wolfgang Denk
2011-06-16 11:10                                               ` Graeme Russ
2011-05-12 12:11 ` [U-Boot] [PATCH v3 03/10] armv7: cache maintenance operations for armv7 Aneesh V
2011-05-15 18:51   ` Wolfgang Denk
2011-05-17  9:17     ` Aneesh V [this message]
2011-05-17  9:31       ` Wolfgang Denk
2011-05-17  9:37         ` Aneesh V
2011-05-17  9:58         ` Aneesh V
2011-06-16 14:17           ` Simon Glass
2011-05-12 12:11 ` [U-Boot] [PATCH v3 04/10] armv7: replace CONFIG_L2_OFF with CONFIG_SYS_NO_L2CACHE Aneesh V
2011-05-15 18:53   ` Wolfgang Denk
2011-05-17  9:59     ` Aneesh V
2011-05-17 11:09       ` Wolfgang Denk
2011-06-06 11:39         ` Aneesh V
2011-06-15 10:13           ` Wolfgang Denk
2011-05-12 12:11 ` [U-Boot] [PATCH v3 05/10] armv7: integrate cache maintenance support Aneesh V
2011-05-15 18:55   ` Wolfgang Denk
2011-05-17 10:20     ` Aneesh V
2011-05-17 11:14       ` Wolfgang Denk
2011-05-17 12:06         ` Aneesh V
2011-05-17 12:28           ` Wolfgang Denk
2011-05-17 13:28             ` Aneesh V
2011-05-17 21:37               ` Wolfgang Denk
2011-05-12 12:11 ` [U-Boot] [PATCH v3 06/10] arm: minor fixes for cache and mmu handling Aneesh V
2011-05-12 12:11 ` [U-Boot] [PATCH v3 07/10] armv7: add PL310 support to u-boot Aneesh V
2011-05-12 12:11 ` [U-Boot] [PATCH v3 08/10] armv7: adapt omap4 to the new cache maintenance framework Aneesh V
2011-05-15 18:57   ` Wolfgang Denk
2011-05-12 12:11 ` [U-Boot] [PATCH v3 09/10] armv7: adapt omap3 " Aneesh V
2011-05-15 18:58   ` Wolfgang Denk
2011-05-12 12:11 ` [U-Boot] [PATCH v3 10/10] armv7: adapt s5pc1xx " Aneesh V
2011-05-15 18:59   ` Wolfgang Denk
2011-06-17  9:30 ` [U-Boot] [PATCH v4 0/9] armv7: cache maintenance operations Aneesh V
2011-06-22 17:41   ` Albert ARIBAUD
2011-06-23  5:57     ` V, Aneesh
2011-06-23 19:24     ` Paulraj, Sandeep
2011-06-28  1:44       ` Minkyu Kang
2011-06-28  5:41   ` Albert ARIBAUD
2011-06-17  9:30 ` [U-Boot] [PATCH v4 1/9] arm: make default implementation of cache_flush() weakly linked Aneesh V
2011-06-17  9:30 ` [U-Boot] [PATCH v4 2/9] armv7: cache maintenance operations for armv7 Aneesh V
2011-06-17  9:30 ` [U-Boot] [PATCH v4 3/9] armv7: rename cache related CONFIG flags Aneesh V
2011-06-17  9:30 ` [U-Boot] [PATCH v4 4/9] armv7: integrate cache maintenance support Aneesh V
2011-06-17  9:30 ` [U-Boot] [PATCH v4 5/9] arm: minor fixes for cache and mmu handling Aneesh V
2011-06-17  9:30 ` [U-Boot] [PATCH v4 6/9] armv7: add PL310 support to u-boot Aneesh V
2011-06-17  9:30 ` [U-Boot] [PATCH v4 7/9] armv7: adapt omap4 to the new cache maintenance framework Aneesh V
2011-06-17  9:30 ` [U-Boot] [PATCH v4 8/9] armv7: adapt omap3 " Aneesh V
2011-06-17  9:30 ` [U-Boot] [PATCH v4 9/9] armv7: adapt s5pc1xx " Aneesh V

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=4DD23D3A.4010001@ti.com \
    --to=aneesh@ti.com \
    --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.