s390/cache: fix data/instruction cache output
The sysfs and procfs output of the instruction and data caches were wrong: the output of the data cache provided that instruction cache values and vice versa. Fix this by using the correct type indication when issueing the ecag instruction. Reported-by: Andreas Krebbel <Andreas.Krebbel@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
		
							parent
							
								
									c985cb37f1
								
							
						
					
					
						commit
						d18f99c28b
					
				| @ -59,8 +59,8 @@ enum { | ||||
| 
 | ||||
| enum { | ||||
| 	CACHE_TI_UNIFIED = 0, | ||||
| 	CACHE_TI_INSTRUCTION = 0, | ||||
| 	CACHE_TI_DATA, | ||||
| 	CACHE_TI_DATA = 0, | ||||
| 	CACHE_TI_INSTRUCTION, | ||||
| }; | ||||
| 
 | ||||
| struct cache_info { | ||||
| @ -121,7 +121,10 @@ static int __init cache_add(int level, int private, int type) | ||||
| 	cache = kzalloc(sizeof(*cache), GFP_KERNEL); | ||||
| 	if (!cache) | ||||
| 		return -ENOMEM; | ||||
| 	ti = type == CACHE_TYPE_DATA ? CACHE_TI_DATA : CACHE_TI_UNIFIED; | ||||
| 	if (type == CACHE_TYPE_INSTRUCTION) | ||||
| 		ti = CACHE_TI_INSTRUCTION; | ||||
| 	else | ||||
| 		ti = CACHE_TI_UNIFIED; | ||||
| 	cache->size = ecag(EXTRACT_SIZE, level, ti); | ||||
| 	cache->line_size = ecag(EXTRACT_LINE_SIZE, level, ti); | ||||
| 	cache->associativity = ecag(EXTRACT_ASSOCIATIVITY, level, ti); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user