Merge tag 'mips-fixes_6.11_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux

Pull MIPS fixes from Thomas Bogendoerfer:

- Set correct timer mode on Loongson64

- Only request r4k clockevent interrupt on one CPU

* tag 'mips-fixes_6.11_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
MIPS: cevt-r4k: Don't call get_c0_compare_int if timer irq is installed
MIPS: Loongson64: Set timer mode in cpu-probe

+11 -8
+7 -8
arch/mips/kernel/cevt-r4k.c
··· 303 if (!c0_compare_int_usable()) 304 return -ENXIO; 305 306 - /* 307 - * With vectored interrupts things are getting platform specific. 308 - * get_c0_compare_int is a hook to allow a platform to return the 309 - * interrupt number of its liking. 310 - */ 311 - irq = get_c0_compare_int(); 312 - 313 cd = &per_cpu(mips_clockevent_device, cpu); 314 315 cd->name = "MIPS"; ··· 313 min_delta = calculate_min_delta(); 314 315 cd->rating = 300; 316 - cd->irq = irq; 317 cd->cpumask = cpumask_of(cpu); 318 cd->set_next_event = mips_next_event; 319 cd->event_handler = mips_event_handler; ··· 323 return 0; 324 325 cp0_timer_irq_installed = 1; 326 327 if (request_irq(irq, c0_compare_interrupt, flags, "timer", 328 c0_compare_interrupt))
··· 303 if (!c0_compare_int_usable()) 304 return -ENXIO; 305 306 cd = &per_cpu(mips_clockevent_device, cpu); 307 308 cd->name = "MIPS"; ··· 320 min_delta = calculate_min_delta(); 321 322 cd->rating = 300; 323 cd->cpumask = cpumask_of(cpu); 324 cd->set_next_event = mips_next_event; 325 cd->event_handler = mips_event_handler; ··· 331 return 0; 332 333 cp0_timer_irq_installed = 1; 334 + 335 + /* 336 + * With vectored interrupts things are getting platform specific. 337 + * get_c0_compare_int is a hook to allow a platform to return the 338 + * interrupt number of its liking. 339 + */ 340 + irq = get_c0_compare_int(); 341 342 if (request_irq(irq, c0_compare_interrupt, flags, "timer", 343 c0_compare_interrupt))
+4
arch/mips/kernel/cpu-probe.c
··· 1724 c->ases |= (MIPS_ASE_LOONGSON_MMI | MIPS_ASE_LOONGSON_CAM | 1725 MIPS_ASE_LOONGSON_EXT | MIPS_ASE_LOONGSON_EXT2); 1726 c->ases &= ~MIPS_ASE_VZ; /* VZ of Loongson-3A2000/3000 is incomplete */ 1727 break; 1728 case PRID_IMP_LOONGSON_64G: 1729 __cpu_name[cpu] = "ICT Loongson-3"; 1730 set_elf_platform(cpu, "loongson3a"); 1731 set_isa(c, MIPS_CPU_ISA_M64R2); 1732 decode_cpucfg(c); 1733 break; 1734 default: 1735 panic("Unknown Loongson Processor ID!");
··· 1724 c->ases |= (MIPS_ASE_LOONGSON_MMI | MIPS_ASE_LOONGSON_CAM | 1725 MIPS_ASE_LOONGSON_EXT | MIPS_ASE_LOONGSON_EXT2); 1726 c->ases &= ~MIPS_ASE_VZ; /* VZ of Loongson-3A2000/3000 is incomplete */ 1727 + change_c0_config6(LOONGSON_CONF6_EXTIMER | LOONGSON_CONF6_INTIMER, 1728 + LOONGSON_CONF6_INTIMER); 1729 break; 1730 case PRID_IMP_LOONGSON_64G: 1731 __cpu_name[cpu] = "ICT Loongson-3"; 1732 set_elf_platform(cpu, "loongson3a"); 1733 set_isa(c, MIPS_CPU_ISA_M64R2); 1734 decode_cpucfg(c); 1735 + change_c0_config6(LOONGSON_CONF6_EXTIMER | LOONGSON_CONF6_INTIMER, 1736 + LOONGSON_CONF6_INTIMER); 1737 break; 1738 default: 1739 panic("Unknown Loongson Processor ID!");