Lines Matching +full:i +full:- +full:cache +full:- +full:sets
1 // SPDX-License-Identifier: GPL-2.0-or-later
75 val |= (irq - 1); in csr_ipi_write_action()
78 action &= ~BIT(irq - 1); in csr_ipi_write_action()
301 unsigned int i; in loongson3_send_ipi_mask() local
303 for_each_cpu(i, mask) in loongson3_send_ipi_mask()
304 ipi_write_action(cpu_logical_map(i), (u32)action); in loongson3_send_ipi_mask()
310 int i, cpu = smp_processor_id(); in loongson3_ipi_interrupt() local
328 for (i = 1; i < nr_cpu_ids; i++) in loongson3_ipi_interrupt()
329 core0_c0count[i] = c0count; in loongson3_ipi_interrupt()
342 int i; in loongson3_init_secondary() local
351 for (i = 0; i < num_possible_cpus(); i++) in loongson3_init_secondary()
352 loongson3_ipi_write32(0xffffffff, ipi_en0_regs[cpu_logical_map(i)]); in loongson3_init_secondary()
360 i = 0; in loongson3_init_secondary()
364 i++; in loongson3_init_secondary()
368 if (i > MAX_LOOPS) in loongson3_init_secondary()
369 i = MAX_LOOPS; in loongson3_init_secondary()
371 initcount = core0_c0count[cpu] + i; in loongson3_init_secondary()
373 initcount = core0_c0count[cpu] + i/2; in loongson3_init_secondary()
392 int i = 0, num = 0; /* i: physical id, num: logical id */ in loongson3_smp_setup() local
398 while (i < loongson_sysconf.nr_cpus) { in loongson3_smp_setup()
399 if (loongson_sysconf.reserved_cpus_mask & (1<<i)) { in loongson3_smp_setup()
401 __cpu_number_map[i] = -1; in loongson3_smp_setup()
403 __cpu_number_map[i] = num; in loongson3_smp_setup()
404 __cpu_logical_map[num] = i; in loongson3_smp_setup()
408 i++; in loongson3_smp_setup()
410 pr_info("Detected %i available CPU(s)\n", num); in loongson3_smp_setup()
413 __cpu_logical_map[num] = -1; in loongson3_smp_setup()
474 return -EBUSY; in loongson3_cpu_disable()
510 "1: cache 0, 0(%[addr]) \n" /* flush L1 ICache */ in loongson3_type1_play_dead()
511 " cache 0, 1(%[addr]) \n" in loongson3_type1_play_dead()
512 " cache 0, 2(%[addr]) \n" in loongson3_type1_play_dead()
513 " cache 0, 3(%[addr]) \n" in loongson3_type1_play_dead()
514 " cache 1, 0(%[addr]) \n" /* flush L1 DCache */ in loongson3_type1_play_dead()
515 " cache 1, 1(%[addr]) \n" in loongson3_type1_play_dead()
516 " cache 1, 2(%[addr]) \n" in loongson3_type1_play_dead()
517 " cache 1, 3(%[addr]) \n" in loongson3_type1_play_dead()
518 " addiu %[sets], %[sets], -1 \n" in loongson3_type1_play_dead()
519 " bnez %[sets], 1b \n" in loongson3_type1_play_dead()
524 " cache 21, (%[state_addr]) \n" /* flush entry of *state_addr */ in loongson3_type1_play_dead()
528 [sets] "r" (cpu_data[smp_processor_id()].dcache.sets)); in loongson3_type1_play_dead()
545 " addiu %[count], -1 \n" in loongson3_type1_play_dead()
572 "1: cache 0, 0(%[addr]) \n" /* flush L1 ICache */ in loongson3_type2_play_dead()
573 " cache 0, 1(%[addr]) \n" in loongson3_type2_play_dead()
574 " cache 0, 2(%[addr]) \n" in loongson3_type2_play_dead()
575 " cache 0, 3(%[addr]) \n" in loongson3_type2_play_dead()
576 " cache 1, 0(%[addr]) \n" /* flush L1 DCache */ in loongson3_type2_play_dead()
577 " cache 1, 1(%[addr]) \n" in loongson3_type2_play_dead()
578 " cache 1, 2(%[addr]) \n" in loongson3_type2_play_dead()
579 " cache 1, 3(%[addr]) \n" in loongson3_type2_play_dead()
580 " addiu %[sets], %[sets], -1 \n" in loongson3_type2_play_dead()
581 " bnez %[sets], 1b \n" in loongson3_type2_play_dead()
586 " cache 21, (%[state_addr]) \n" /* flush entry of *state_addr */ in loongson3_type2_play_dead()
590 [sets] "r" (cpu_data[smp_processor_id()].dcache.sets)); in loongson3_type2_play_dead()
609 " addiu %[count], -1 \n" in loongson3_type2_play_dead()
636 "1: cache 0, 0(%[addr]) \n" /* flush L1 ICache */ in loongson3_type3_play_dead()
637 " cache 0, 1(%[addr]) \n" in loongson3_type3_play_dead()
638 " cache 0, 2(%[addr]) \n" in loongson3_type3_play_dead()
639 " cache 0, 3(%[addr]) \n" in loongson3_type3_play_dead()
640 " cache 1, 0(%[addr]) \n" /* flush L1 DCache */ in loongson3_type3_play_dead()
641 " cache 1, 1(%[addr]) \n" in loongson3_type3_play_dead()
642 " cache 1, 2(%[addr]) \n" in loongson3_type3_play_dead()
643 " cache 1, 3(%[addr]) \n" in loongson3_type3_play_dead()
644 " addiu %[sets], %[sets], -1 \n" in loongson3_type3_play_dead()
645 " bnez %[sets], 1b \n" in loongson3_type3_play_dead()
648 "2: cache 2, 0(%[addr]) \n" /* flush L1 VCache */ in loongson3_type3_play_dead()
649 " cache 2, 1(%[addr]) \n" in loongson3_type3_play_dead()
650 " cache 2, 2(%[addr]) \n" in loongson3_type3_play_dead()
651 " cache 2, 3(%[addr]) \n" in loongson3_type3_play_dead()
652 " cache 2, 4(%[addr]) \n" in loongson3_type3_play_dead()
653 " cache 2, 5(%[addr]) \n" in loongson3_type3_play_dead()
654 " cache 2, 6(%[addr]) \n" in loongson3_type3_play_dead()
655 " cache 2, 7(%[addr]) \n" in loongson3_type3_play_dead()
656 " cache 2, 8(%[addr]) \n" in loongson3_type3_play_dead()
657 " cache 2, 9(%[addr]) \n" in loongson3_type3_play_dead()
658 " cache 2, 10(%[addr]) \n" in loongson3_type3_play_dead()
659 " cache 2, 11(%[addr]) \n" in loongson3_type3_play_dead()
660 " cache 2, 12(%[addr]) \n" in loongson3_type3_play_dead()
661 " cache 2, 13(%[addr]) \n" in loongson3_type3_play_dead()
662 " cache 2, 14(%[addr]) \n" in loongson3_type3_play_dead()
663 " cache 2, 15(%[addr]) \n" in loongson3_type3_play_dead()
664 " addiu %[vsets], %[vsets], -1 \n" in loongson3_type3_play_dead()
670 " cache 21, (%[state_addr]) \n" /* flush entry of *state_addr */ in loongson3_type3_play_dead()
674 [sets] "r" (cpu_data[smp_processor_id()].dcache.sets), in loongson3_type3_play_dead()
675 [vsets] "r" (cpu_data[smp_processor_id()].vcache.sets)); in loongson3_type3_play_dead()
692 " addiu %[count], -1 \n" in loongson3_type3_play_dead()