Lines Matching refs:bit
41 u8 bit; member
52 u8 bit; member
59 static int octeon_irq_set_ciu_mapping(int irq, int line, int bit, int gpio_line, in octeon_irq_set_ciu_mapping() argument
72 cd->bit = bit; in octeon_irq_set_ciu_mapping()
76 octeon_irq_ciu_to_irq[line][bit] = irq; in octeon_irq_set_ciu_mapping()
90 int irq, int line, int bit) in octeon_irq_force_ciu_mapping() argument
92 return irq_domain_associate(domain, irq, line << 6 | bit); in octeon_irq_force_ciu_mapping()
116 unsigned int bit = cd->bit; in octeon_irq_core_ack() local
123 clear_c0_status(0x100 << bit); in octeon_irq_core_ack()
125 if (bit < 2) in octeon_irq_core_ack()
126 clear_c0_cause(0x100 << bit); in octeon_irq_core_ack()
138 set_c0_status(0x100 << cd->bit); in octeon_irq_core_eoi()
145 unsigned int mask = 0x100 << cd->bit; in octeon_irq_core_set_enable_local()
213 cd->bit = i; in octeon_irq_init_core()
268 __set_bit(cd->bit, pen); in octeon_irq_ciu_enable()
277 __set_bit(cd->bit, pen); in octeon_irq_ciu_enable()
300 __set_bit(cd->bit, pen); in octeon_irq_ciu_enable_local()
309 __set_bit(cd->bit, pen); in octeon_irq_ciu_enable_local()
332 __clear_bit(cd->bit, pen); in octeon_irq_ciu_disable_local()
341 __clear_bit(cd->bit, pen); in octeon_irq_ciu_disable_local()
371 __clear_bit(cd->bit, pen); in octeon_irq_ciu_disable_all()
404 __set_bit(cd->bit, pen); in octeon_irq_ciu_enable_all()
429 mask = 1ull << (cd->bit); in octeon_irq_ciu_enable_v2()
437 set_bit(cd->bit, &per_cpu(octeon_irq_ciu0_en_mirror, cpu)); in octeon_irq_ciu_enable_v2()
441 set_bit(cd->bit, &per_cpu(octeon_irq_ciu1_en_mirror, cpu)); in octeon_irq_ciu_enable_v2()
457 mask = 1ull << (cd->bit); in octeon_irq_ciu_enable_sum2()
473 mask = 1ull << (cd->bit); in octeon_irq_ciu_disable_local_sum2()
486 mask = 1ull << (cd->bit); in octeon_irq_ciu_ack_sum2()
498 mask = 1ull << (cd->bit); in octeon_irq_ciu_disable_all_sum2()
517 mask = 1ull << (cd->bit); in octeon_irq_ciu_enable_local_v2()
521 set_bit(cd->bit, this_cpu_ptr(&octeon_irq_ciu0_en_mirror)); in octeon_irq_ciu_enable_local_v2()
525 set_bit(cd->bit, this_cpu_ptr(&octeon_irq_ciu1_en_mirror)); in octeon_irq_ciu_enable_local_v2()
536 mask = 1ull << (cd->bit); in octeon_irq_ciu_disable_local_v2()
540 clear_bit(cd->bit, this_cpu_ptr(&octeon_irq_ciu0_en_mirror)); in octeon_irq_ciu_disable_local_v2()
544 clear_bit(cd->bit, this_cpu_ptr(&octeon_irq_ciu1_en_mirror)); in octeon_irq_ciu_disable_local_v2()
558 mask = 1ull << (cd->bit); in octeon_irq_ciu_ack()
579 mask = 1ull << (cd->bit); in octeon_irq_ciu_disable_all_v2()
584 clear_bit(cd->bit, in octeon_irq_ciu_disable_all_v2()
591 clear_bit(cd->bit, in octeon_irq_ciu_disable_all_v2()
609 mask = 1ull << (cd->bit); in octeon_irq_ciu_enable_all_v2()
614 set_bit(cd->bit, in octeon_irq_ciu_enable_all_v2()
621 set_bit(cd->bit, in octeon_irq_ciu_enable_all_v2()
769 __set_bit(cd->bit, pen); in octeon_irq_ciu_set_affinity()
771 __clear_bit(cd->bit, pen); in octeon_irq_ciu_set_affinity()
806 mask = 1ull << cd->bit; in octeon_irq_ciu_set_affinity_v2()
814 set_bit(cd->bit, pen); in octeon_irq_ciu_set_affinity_v2()
817 clear_bit(cd->bit, pen); in octeon_irq_ciu_set_affinity_v2()
827 set_bit(cd->bit, pen); in octeon_irq_ciu_set_affinity_v2()
830 clear_bit(cd->bit, pen); in octeon_irq_ciu_set_affinity_v2()
851 mask = 1ull << cd->bit; in octeon_irq_ciu_set_affinity_sum2()
1057 static bool octeon_irq_ciu_is_edge(unsigned int line, unsigned int bit) in octeon_irq_ciu_is_edge() argument
1062 switch (bit) { in octeon_irq_ciu_is_edge()
1073 switch (bit) { in octeon_irq_ciu_is_edge()
1143 unsigned int ciu, bit; in octeon_irq_ciu_xlat() local
1147 bit = intspec[1]; in octeon_irq_ciu_xlat()
1149 if (ciu >= dd->num_sum || bit > 63) in octeon_irq_ciu_xlat()
1152 *out_hwirq = (ciu << 6) | bit; in octeon_irq_ciu_xlat()
1177 unsigned int bit = hw & 63; in octeon_irq_ciu_map() local
1184 if (line == 0 && bit >= 16 && bit <32) in octeon_irq_ciu_map()
1187 if (line >= dd->num_sum || octeon_irq_ciu_to_irq[line][bit] != 0) in octeon_irq_ciu_map()
1191 if (octeon_irq_ciu_is_edge(line, bit)) in octeon_irq_ciu_map()
1192 rv = octeon_irq_set_ciu_mapping(virq, line, bit, 0, in octeon_irq_ciu_map()
1196 rv = octeon_irq_set_ciu_mapping(virq, line, bit, 0, in octeon_irq_ciu_map()
1200 if (octeon_irq_ciu_is_edge(line, bit)) in octeon_irq_ciu_map()
1201 rv = octeon_irq_set_ciu_mapping(virq, line, bit, 0, in octeon_irq_ciu_map()
1205 rv = octeon_irq_set_ciu_mapping(virq, line, bit, 0, in octeon_irq_ciu_map()
1216 unsigned int line, bit; in octeon_irq_gpio_map() local
1223 bit = (hw + gpiod->base_hwirq) & 63; in octeon_irq_gpio_map()
1225 octeon_irq_ciu_to_irq[line][bit] != 0) in octeon_irq_gpio_map()
1228 r = octeon_irq_set_ciu_mapping(virq, line, bit, hw, in octeon_irq_gpio_map()
1252 int bit = fls64(ciu_sum) - 1; in octeon_irq_ip2_ciu() local
1253 int irq = octeon_irq_ciu_to_irq[0][bit]; in octeon_irq_ip2_ciu()
1269 int bit = fls64(ciu_sum) - 1; in octeon_irq_ip3_ciu() local
1270 int irq = octeon_irq_ciu_to_irq[1][bit]; in octeon_irq_ip3_ciu()
1288 int bit = fls64(ciu_sum) - 1; in octeon_irq_ip4_ciu() local
1289 int irq = octeon_irq_ciu_to_irq[2][bit]; in octeon_irq_ip4_ciu()
1600 mask = 1ull << (cd->bit); in octeon_irq_ciu2_wd_enable()
1617 mask = 1ull << (cd->bit); in octeon_irq_ciu2_enable()
1632 mask = 1ull << (cd->bit); in octeon_irq_ciu2_enable_local()
1648 mask = 1ull << (cd->bit); in octeon_irq_ciu2_disable_local()
1664 mask = 1ull << (cd->bit); in octeon_irq_ciu2_ack()
1678 mask = 1ull << (cd->bit); in octeon_irq_ciu2_disable_all()
1750 mask = 1ull << cd->bit; in octeon_irq_ciu2_set_affinity()
1855 unsigned int ciu, bit; in octeon_irq_ciu2_xlat() local
1858 bit = intspec[1]; in octeon_irq_ciu2_xlat()
1860 *out_hwirq = (ciu << 6) | bit; in octeon_irq_ciu2_xlat()
1866 static bool octeon_irq_ciu2_is_edge(unsigned int line, unsigned int bit) in octeon_irq_ciu2_is_edge() argument
1871 switch (bit) { in octeon_irq_ciu2_is_edge()
1881 switch (bit) { in octeon_irq_ciu2_is_edge()
1896 unsigned int bit = hw & 63; in octeon_irq_ciu2_map() local
1908 if (line > 7 || octeon_irq_ciu_to_irq[line][bit] != 0) in octeon_irq_ciu2_map()
1911 if (octeon_irq_ciu2_is_edge(line, bit)) in octeon_irq_ciu2_map()
1912 octeon_irq_set_ciu_mapping(virq, line, bit, 0, in octeon_irq_ciu2_map()
1916 octeon_irq_set_ciu_mapping(virq, line, bit, 0, in octeon_irq_ciu2_map()
1932 int bit; in octeon_irq_ciu2() local
1949 bit = fls64(src) - 1; in octeon_irq_ciu2()
1950 irq = octeon_irq_ciu_to_irq[line][bit]; in octeon_irq_ciu2()
2079 int bit; member
2091 en |= 1ull << cd->bit; in octeon_irq_cib_enable()
2105 en &= ~(1ull << cd->bit); in octeon_irq_cib_disable()
2168 cd->bit = hw; in octeon_irq_cib_map()