mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-11-01 09:13:37 +00:00 
			
		
		
		
	MIPS: Add 1074K CPU support explicitly.
The 1074K is a multiprocessing coherent processing system (CPS) based on modified 74K cores. This patch makes the 1074K an actual unique CPU type, instead of a 74K derivative, which it is not. Signed-off-by: Steven J. Hill <Steven.Hill@imgtec.com> Reviewed-by: Leonid Yegoshin <Leonid.Yegoshin@imgtec.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/6389/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
		
							parent
							
								
									02dc6bfb08
								
							
						
					
					
						commit
						442e14a2c5
					
				
					 12 changed files with 18 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -212,7 +212,7 @@ void __init plat_mem_setup(void)
 | 
			
		|||
{
 | 
			
		||||
	struct cpuinfo_mips *c = ¤t_cpu_data;
 | 
			
		||||
 | 
			
		||||
	if (c->cputype == CPU_74K) {
 | 
			
		||||
	if ((c->cputype == CPU_74K) || (c->cputype == CPU_1074K)) {
 | 
			
		||||
		printk(KERN_INFO "bcm47xx: using bcma bus\n");
 | 
			
		||||
#ifdef CONFIG_BCM47XX_BCMA
 | 
			
		||||
		bcm47xx_bus_type = BCM47XX_BUS_TYPE_BCMA;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -296,7 +296,7 @@ enum cpu_type_enum {
 | 
			
		|||
	CPU_4KC, CPU_4KEC, CPU_4KSC, CPU_24K, CPU_34K, CPU_1004K, CPU_74K,
 | 
			
		||||
	CPU_ALCHEMY, CPU_PR4450, CPU_BMIPS32, CPU_BMIPS3300, CPU_BMIPS4350,
 | 
			
		||||
	CPU_BMIPS4380, CPU_BMIPS5000, CPU_JZRISC, CPU_LOONGSON1, CPU_M14KC,
 | 
			
		||||
	CPU_M14KEC, CPU_INTERAPTIV, CPU_PROAPTIV,
 | 
			
		||||
	CPU_M14KEC, CPU_INTERAPTIV, CPU_PROAPTIV, CPU_1074K,
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
	 * MIPS64 class processors
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -806,7 +806,7 @@ static inline void cpu_probe_mips(struct cpuinfo_mips *c, unsigned int cpu)
 | 
			
		|||
		__cpu_name[cpu] = "MIPS 1004Kc";
 | 
			
		||||
		break;
 | 
			
		||||
	case PRID_IMP_1074K:
 | 
			
		||||
		c->cputype = CPU_74K;
 | 
			
		||||
		c->cputype = CPU_1074K;
 | 
			
		||||
		__cpu_name[cpu] = "MIPS 1074Kc";
 | 
			
		||||
		break;
 | 
			
		||||
	case PRID_IMP_INTERAPTIV_UP:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -184,6 +184,7 @@ void __init check_wait(void)
 | 
			
		|||
	case CPU_24K:
 | 
			
		||||
	case CPU_34K:
 | 
			
		||||
	case CPU_1004K:
 | 
			
		||||
	case CPU_1074K:
 | 
			
		||||
	case CPU_INTERAPTIV:
 | 
			
		||||
	case CPU_PROAPTIV:
 | 
			
		||||
		cpu_wait = r4k_wait;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1442,6 +1442,7 @@ static const struct mips_perf_event *mipsxx_pmu_map_raw_event(u64 config)
 | 
			
		|||
#endif
 | 
			
		||||
		break;
 | 
			
		||||
	case CPU_74K:
 | 
			
		||||
	case CPU_1074K:
 | 
			
		||||
		if (IS_BOTH_COUNTERS_74K_EVENT(base_id))
 | 
			
		||||
			raw_event.cntr_mask = CNTR_EVEN | CNTR_ODD;
 | 
			
		||||
		else
 | 
			
		||||
| 
						 | 
				
			
			@ -1584,6 +1585,11 @@ init_hw_perf_events(void)
 | 
			
		|||
		mipspmu.general_event_map = &mipsxxcore_event_map;
 | 
			
		||||
		mipspmu.cache_event_map = &mipsxxcore_cache_map;
 | 
			
		||||
		break;
 | 
			
		||||
	case CPU_1074K:
 | 
			
		||||
		mipspmu.name = "mips/1074K";
 | 
			
		||||
		mipspmu.general_event_map = &mipsxxcore_event_map;
 | 
			
		||||
		mipspmu.cache_event_map = &mipsxxcore_cache_map;
 | 
			
		||||
		break;
 | 
			
		||||
	case CPU_LOONGSON1:
 | 
			
		||||
		mipspmu.name = "mips/loongson1";
 | 
			
		||||
		mipspmu.general_event_map = &mipsxxcore_event_map;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -205,6 +205,7 @@ void spram_config(void)
 | 
			
		|||
	case CPU_34K:
 | 
			
		||||
	case CPU_74K:
 | 
			
		||||
	case CPU_1004K:
 | 
			
		||||
	case CPU_1074K:
 | 
			
		||||
	case CPU_INTERAPTIV:
 | 
			
		||||
	case CPU_PROAPTIV:
 | 
			
		||||
		config0 = read_c0_config();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1337,6 +1337,7 @@ static inline void parity_protection_init(void)
 | 
			
		|||
	case CPU_34K:
 | 
			
		||||
	case CPU_74K:
 | 
			
		||||
	case CPU_1004K:
 | 
			
		||||
	case CPU_1074K:
 | 
			
		||||
	case CPU_INTERAPTIV:
 | 
			
		||||
	case CPU_PROAPTIV:
 | 
			
		||||
		{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1113,9 +1113,10 @@ static void probe_pcache(void)
 | 
			
		|||
	case CPU_34K:
 | 
			
		||||
	case CPU_74K:
 | 
			
		||||
	case CPU_1004K:
 | 
			
		||||
	case CPU_1074K:
 | 
			
		||||
	case CPU_INTERAPTIV:
 | 
			
		||||
	case CPU_PROAPTIV:
 | 
			
		||||
		if (current_cpu_type() == CPU_74K)
 | 
			
		||||
		if ((c->cputype == CPU_74K) || (c->cputype == CPU_1074K))
 | 
			
		||||
			alias_74k_erratum(c);
 | 
			
		||||
		if (!(read_c0_config7() & MIPS_CONF7_IAR) &&
 | 
			
		||||
		    (c->icache.waysize > PAGE_SIZE))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -76,6 +76,7 @@ static inline int mips_sc_is_activated(struct cpuinfo_mips *c)
 | 
			
		|||
	case CPU_34K:
 | 
			
		||||
	case CPU_74K:
 | 
			
		||||
	case CPU_1004K:
 | 
			
		||||
	case CPU_1074K:
 | 
			
		||||
	case CPU_INTERAPTIV:
 | 
			
		||||
	case CPU_PROAPTIV:
 | 
			
		||||
	case CPU_BMIPS5000:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -509,6 +509,7 @@ static void build_tlb_write_entry(u32 **p, struct uasm_label **l,
 | 
			
		|||
		switch (current_cpu_type()) {
 | 
			
		||||
		case CPU_M14KC:
 | 
			
		||||
		case CPU_74K:
 | 
			
		||||
		case CPU_1074K:
 | 
			
		||||
		case CPU_PROAPTIV:
 | 
			
		||||
			break;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -86,6 +86,7 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
 | 
			
		|||
	case CPU_34K:
 | 
			
		||||
	case CPU_1004K:
 | 
			
		||||
	case CPU_74K:
 | 
			
		||||
	case CPU_1074K:
 | 
			
		||||
	case CPU_INTERAPTIV:
 | 
			
		||||
	case CPU_PROAPTIV:
 | 
			
		||||
	case CPU_LOONGSON1:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -372,6 +372,7 @@ static int __init mipsxx_init(void)
 | 
			
		|||
		op_model_mipsxx_ops.cpu_type = "mips/34K";
 | 
			
		||||
		break;
 | 
			
		||||
 | 
			
		||||
	case CPU_1074K:
 | 
			
		||||
	case CPU_74K:
 | 
			
		||||
		op_model_mipsxx_ops.cpu_type = "mips/74K";
 | 
			
		||||
		break;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue