Lines Matching +full:i +full:- +full:cache +full:- +full:sets

1 // SPDX-License-Identifier: GPL-2.0-or-later
98 val |= (irq - 1); in csr_ipi_write_action()
101 action &= ~BIT(irq - 1); in csr_ipi_write_action()
392 unsigned int i; in loongson3_send_ipi_mask() local
394 for_each_cpu(i, mask) in loongson3_send_ipi_mask()
395 ipi_write_action(cpu_logical_map(i), (u32)action); in loongson3_send_ipi_mask()
401 int i, cpu = smp_processor_id(); in loongson3_ipi_interrupt() local
419 for (i = 1; i < nr_cpu_ids; i++) in loongson3_ipi_interrupt()
420 core0_c0count[i] = c0count; in loongson3_ipi_interrupt()
433 int i; in loongson3_init_secondary() local
449 i = 0; in loongson3_init_secondary()
453 i++; in loongson3_init_secondary()
457 if (i > MAX_LOOPS) in loongson3_init_secondary()
458 i = MAX_LOOPS; in loongson3_init_secondary()
460 initcount = core0_c0count[cpu] + i; in loongson3_init_secondary()
462 initcount = core0_c0count[cpu] + i/2; in loongson3_init_secondary()
481 int i = 0, num = 0; /* i: physical id, num: logical id */ in loongson3_smp_setup() local
488 while (i < loongson_sysconf.nr_cpus) { in loongson3_smp_setup()
489 if (loongson_sysconf.reserved_cpus_mask & (1<<i)) { in loongson3_smp_setup()
491 __cpu_number_map[i] = -1; in loongson3_smp_setup()
493 __cpu_number_map[i] = num; in loongson3_smp_setup()
494 __cpu_logical_map[num] = i; in loongson3_smp_setup()
497 cpu_set_cluster(&cpu_data[num], i / 4); in loongson3_smp_setup()
500 i++; in loongson3_smp_setup()
502 pr_info("Detected %i available CPU(s)\n", num); in loongson3_smp_setup()
505 __cpu_logical_map[num] = -1; in loongson3_smp_setup()
585 "1: cache 0, 0(%[addr]) \n" /* flush L1 ICache */ in loongson3_type1_play_dead()
586 " cache 0, 1(%[addr]) \n" in loongson3_type1_play_dead()
587 " cache 0, 2(%[addr]) \n" in loongson3_type1_play_dead()
588 " cache 0, 3(%[addr]) \n" in loongson3_type1_play_dead()
589 " cache 1, 0(%[addr]) \n" /* flush L1 DCache */ in loongson3_type1_play_dead()
590 " cache 1, 1(%[addr]) \n" in loongson3_type1_play_dead()
591 " cache 1, 2(%[addr]) \n" in loongson3_type1_play_dead()
592 " cache 1, 3(%[addr]) \n" in loongson3_type1_play_dead()
593 " addiu %[sets], %[sets], -1 \n" in loongson3_type1_play_dead()
594 " bnez %[sets], 1b \n" in loongson3_type1_play_dead()
599 " cache 21, (%[state_addr]) \n" /* flush entry of *state_addr */ in loongson3_type1_play_dead()
603 [sets] "r" (cpu_data[smp_processor_id()].dcache.sets)); in loongson3_type1_play_dead()
620 " addiu %[count], -1 \n" in loongson3_type1_play_dead()
647 "1: cache 0, 0(%[addr]) \n" /* flush L1 ICache */ in loongson3_type2_play_dead()
648 " cache 0, 1(%[addr]) \n" in loongson3_type2_play_dead()
649 " cache 0, 2(%[addr]) \n" in loongson3_type2_play_dead()
650 " cache 0, 3(%[addr]) \n" in loongson3_type2_play_dead()
651 " cache 1, 0(%[addr]) \n" /* flush L1 DCache */ in loongson3_type2_play_dead()
652 " cache 1, 1(%[addr]) \n" in loongson3_type2_play_dead()
653 " cache 1, 2(%[addr]) \n" in loongson3_type2_play_dead()
654 " cache 1, 3(%[addr]) \n" in loongson3_type2_play_dead()
655 " addiu %[sets], %[sets], -1 \n" in loongson3_type2_play_dead()
656 " bnez %[sets], 1b \n" in loongson3_type2_play_dead()
661 " cache 21, (%[state_addr]) \n" /* flush entry of *state_addr */ in loongson3_type2_play_dead()
665 [sets] "r" (cpu_data[smp_processor_id()].dcache.sets)); in loongson3_type2_play_dead()
684 " addiu %[count], -1 \n" in loongson3_type2_play_dead()
711 "1: cache 0, 0(%[addr]) \n" /* flush L1 ICache */ in loongson3_type3_play_dead()
712 " cache 0, 1(%[addr]) \n" in loongson3_type3_play_dead()
713 " cache 0, 2(%[addr]) \n" in loongson3_type3_play_dead()
714 " cache 0, 3(%[addr]) \n" in loongson3_type3_play_dead()
715 " cache 1, 0(%[addr]) \n" /* flush L1 DCache */ in loongson3_type3_play_dead()
716 " cache 1, 1(%[addr]) \n" in loongson3_type3_play_dead()
717 " cache 1, 2(%[addr]) \n" in loongson3_type3_play_dead()
718 " cache 1, 3(%[addr]) \n" in loongson3_type3_play_dead()
719 " addiu %[sets], %[sets], -1 \n" in loongson3_type3_play_dead()
720 " bnez %[sets], 1b \n" in loongson3_type3_play_dead()
723 "2: cache 2, 0(%[addr]) \n" /* flush L1 VCache */ in loongson3_type3_play_dead()
724 " cache 2, 1(%[addr]) \n" in loongson3_type3_play_dead()
725 " cache 2, 2(%[addr]) \n" in loongson3_type3_play_dead()
726 " cache 2, 3(%[addr]) \n" in loongson3_type3_play_dead()
727 " cache 2, 4(%[addr]) \n" in loongson3_type3_play_dead()
728 " cache 2, 5(%[addr]) \n" in loongson3_type3_play_dead()
729 " cache 2, 6(%[addr]) \n" in loongson3_type3_play_dead()
730 " cache 2, 7(%[addr]) \n" in loongson3_type3_play_dead()
731 " cache 2, 8(%[addr]) \n" in loongson3_type3_play_dead()
732 " cache 2, 9(%[addr]) \n" in loongson3_type3_play_dead()
733 " cache 2, 10(%[addr]) \n" in loongson3_type3_play_dead()
734 " cache 2, 11(%[addr]) \n" in loongson3_type3_play_dead()
735 " cache 2, 12(%[addr]) \n" in loongson3_type3_play_dead()
736 " cache 2, 13(%[addr]) \n" in loongson3_type3_play_dead()
737 " cache 2, 14(%[addr]) \n" in loongson3_type3_play_dead()
738 " cache 2, 15(%[addr]) \n" in loongson3_type3_play_dead()
739 " addiu %[vsets], %[vsets], -1 \n" in loongson3_type3_play_dead()
745 " cache 21, (%[state_addr]) \n" /* flush entry of *state_addr */ in loongson3_type3_play_dead()
749 [sets] "r" (cpu_data[smp_processor_id()].dcache.sets), in loongson3_type3_play_dead()
750 [vsets] "r" (cpu_data[smp_processor_id()].vcache.sets)); in loongson3_type3_play_dead()
767 " addiu %[count], -1 \n" in loongson3_type3_play_dead()
768 " lw %[initfunc], 0x20(%[base]) \n" /* check lower 32-bit as jump indicator */ in loongson3_type3_play_dead()
771 " ld %[initfunc], 0x20(%[base]) \n" /* get PC (whole 64-bit) via mailbox */ in loongson3_type3_play_dead()