Lines Matching refs:cd

63 	struct octeon_ciu_chip_data *cd;  in octeon_irq_set_ciu_mapping()  local
65 cd = kzalloc(sizeof(*cd), GFP_KERNEL); in octeon_irq_set_ciu_mapping()
66 if (!cd) in octeon_irq_set_ciu_mapping()
71 cd->line = line; in octeon_irq_set_ciu_mapping()
72 cd->bit = bit; in octeon_irq_set_ciu_mapping()
73 cd->gpio_line = gpio_line; in octeon_irq_set_ciu_mapping()
75 irq_set_chip_data(irq, cd); in octeon_irq_set_ciu_mapping()
83 struct octeon_ciu_chip_data *cd = irq_data_get_irq_chip_data(data); in octeon_irq_free_cd() local
86 kfree(cd); in octeon_irq_free_cd()
115 struct octeon_core_chip_data *cd = irq_data_get_irq_chip_data(data); in octeon_irq_core_ack() local
116 unsigned int bit = cd->bit; in octeon_irq_core_ack()
131 struct octeon_core_chip_data *cd = irq_data_get_irq_chip_data(data); in octeon_irq_core_eoi() local
138 set_c0_status(0x100 << cd->bit); in octeon_irq_core_eoi()
144 struct octeon_core_chip_data *cd = irq_data_get_irq_chip_data(data); in octeon_irq_core_set_enable_local() local
145 unsigned int mask = 0x100 << cd->bit; in octeon_irq_core_set_enable_local()
150 if (cd->desired_en) in octeon_irq_core_set_enable_local()
159 struct octeon_core_chip_data *cd = irq_data_get_irq_chip_data(data); in octeon_irq_core_disable() local
160 cd->desired_en = false; in octeon_irq_core_disable()
165 struct octeon_core_chip_data *cd = irq_data_get_irq_chip_data(data); in octeon_irq_core_enable() local
166 cd->desired_en = true; in octeon_irq_core_enable()
171 struct octeon_core_chip_data *cd = irq_data_get_irq_chip_data(data); in octeon_irq_core_bus_lock() local
173 mutex_lock(&cd->core_irq_mutex); in octeon_irq_core_bus_lock()
178 struct octeon_core_chip_data *cd = irq_data_get_irq_chip_data(data); in octeon_irq_core_bus_sync_unlock() local
180 if (cd->desired_en != cd->current_en) { in octeon_irq_core_bus_sync_unlock()
183 cd->current_en = cd->desired_en; in octeon_irq_core_bus_sync_unlock()
186 mutex_unlock(&cd->core_irq_mutex); in octeon_irq_core_bus_sync_unlock()
207 struct octeon_core_chip_data *cd; in octeon_irq_init_core() local
210 cd = &octeon_irq_core_chip_data[i]; in octeon_irq_init_core()
211 cd->current_en = false; in octeon_irq_init_core()
212 cd->desired_en = false; in octeon_irq_init_core()
213 cd->bit = i; in octeon_irq_init_core()
214 mutex_init(&cd->core_irq_mutex); in octeon_irq_init_core()
217 irq_set_chip_data(irq, cd); in octeon_irq_init_core()
230 struct octeon_ciu_chip_data *cd = irq_data_get_irq_chip_data(data); in next_cpu_for_irq() local
233 cpu = cd->current_cpu; in next_cpu_for_irq()
248 cd->current_cpu = cpu; in next_cpu_for_irq()
261 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu_enable() local
264 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu_enable()
267 if (cd->line == 0) { in octeon_irq_ciu_enable()
269 __set_bit(cd->bit, pen); in octeon_irq_ciu_enable()
278 __set_bit(cd->bit, pen); in octeon_irq_ciu_enable()
293 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu_enable_local() local
296 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu_enable_local()
299 if (cd->line == 0) { in octeon_irq_ciu_enable_local()
301 __set_bit(cd->bit, pen); in octeon_irq_ciu_enable_local()
310 __set_bit(cd->bit, pen); in octeon_irq_ciu_enable_local()
325 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu_disable_local() local
328 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu_disable_local()
331 if (cd->line == 0) { in octeon_irq_ciu_disable_local()
333 __clear_bit(cd->bit, pen); in octeon_irq_ciu_disable_local()
342 __clear_bit(cd->bit, pen); in octeon_irq_ciu_disable_local()
358 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu_disable_all() local
361 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu_disable_all()
366 if (cd->line == 0) in octeon_irq_ciu_disable_all()
372 __clear_bit(cd->bit, pen); in octeon_irq_ciu_disable_all()
378 if (cd->line == 0) in octeon_irq_ciu_disable_all()
391 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu_enable_all() local
394 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu_enable_all()
399 if (cd->line == 0) in octeon_irq_ciu_enable_all()
405 __set_bit(cd->bit, pen); in octeon_irq_ciu_enable_all()
411 if (cd->line == 0) in octeon_irq_ciu_enable_all()
427 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu_enable_v2() local
429 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu_enable_v2()
430 mask = 1ull << (cd->bit); in octeon_irq_ciu_enable_v2()
436 if (cd->line == 0) { in octeon_irq_ciu_enable_v2()
438 set_bit(cd->bit, &per_cpu(octeon_irq_ciu0_en_mirror, cpu)); in octeon_irq_ciu_enable_v2()
442 set_bit(cd->bit, &per_cpu(octeon_irq_ciu1_en_mirror, cpu)); in octeon_irq_ciu_enable_v2()
455 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu_enable_sum2() local
457 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu_enable_sum2()
458 mask = 1ull << (cd->bit); in octeon_irq_ciu_enable_sum2()
471 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu_disable_local_sum2() local
473 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu_disable_local_sum2()
474 mask = 1ull << (cd->bit); in octeon_irq_ciu_disable_local_sum2()
484 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu_ack_sum2() local
486 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu_ack_sum2()
487 mask = 1ull << (cd->bit); in octeon_irq_ciu_ack_sum2()
495 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu_disable_all_sum2() local
498 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu_disable_all_sum2()
499 mask = 1ull << (cd->bit); in octeon_irq_ciu_disable_all_sum2()
515 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu_enable_local_v2() local
517 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu_enable_local_v2()
518 mask = 1ull << (cd->bit); in octeon_irq_ciu_enable_local_v2()
520 if (cd->line == 0) { in octeon_irq_ciu_enable_local_v2()
522 set_bit(cd->bit, this_cpu_ptr(&octeon_irq_ciu0_en_mirror)); in octeon_irq_ciu_enable_local_v2()
526 set_bit(cd->bit, this_cpu_ptr(&octeon_irq_ciu1_en_mirror)); in octeon_irq_ciu_enable_local_v2()
534 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu_disable_local_v2() local
536 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu_disable_local_v2()
537 mask = 1ull << (cd->bit); in octeon_irq_ciu_disable_local_v2()
539 if (cd->line == 0) { in octeon_irq_ciu_disable_local_v2()
541 clear_bit(cd->bit, this_cpu_ptr(&octeon_irq_ciu0_en_mirror)); in octeon_irq_ciu_disable_local_v2()
545 clear_bit(cd->bit, this_cpu_ptr(&octeon_irq_ciu1_en_mirror)); in octeon_irq_ciu_disable_local_v2()
556 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu_ack() local
558 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu_ack()
559 mask = 1ull << (cd->bit); in octeon_irq_ciu_ack()
561 if (cd->line == 0) { in octeon_irq_ciu_ack()
577 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu_disable_all_v2() local
579 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu_disable_all_v2()
580 mask = 1ull << (cd->bit); in octeon_irq_ciu_disable_all_v2()
582 if (cd->line == 0) { in octeon_irq_ciu_disable_all_v2()
585 clear_bit(cd->bit, in octeon_irq_ciu_disable_all_v2()
592 clear_bit(cd->bit, in octeon_irq_ciu_disable_all_v2()
607 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu_enable_all_v2() local
609 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu_enable_all_v2()
610 mask = 1ull << (cd->bit); in octeon_irq_ciu_enable_all_v2()
612 if (cd->line == 0) { in octeon_irq_ciu_enable_all_v2()
615 set_bit(cd->bit, in octeon_irq_ciu_enable_all_v2()
622 set_bit(cd->bit, in octeon_irq_ciu_enable_all_v2()
632 struct octeon_ciu_chip_data *cd; in octeon_irq_gpio_setup() local
635 cd = irq_data_get_irq_chip_data(data); in octeon_irq_gpio_setup()
646 cvmx_write_csr(CVMX_GPIO_BIT_CFGX(cd->gpio_line), cfg.u64); in octeon_irq_gpio_setup()
676 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu_disable_gpio_v2() local
678 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu_disable_gpio_v2()
679 cvmx_write_csr(CVMX_GPIO_BIT_CFGX(cd->gpio_line), 0); in octeon_irq_ciu_disable_gpio_v2()
686 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu_disable_gpio() local
688 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu_disable_gpio()
689 cvmx_write_csr(CVMX_GPIO_BIT_CFGX(cd->gpio_line), 0); in octeon_irq_ciu_disable_gpio()
696 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu_gpio_ack() local
699 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu_gpio_ack()
700 mask = 1ull << (cd->gpio_line); in octeon_irq_ciu_gpio_ack()
737 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu_set_affinity() local
741 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu_set_affinity()
761 if (cd->line == 0) in octeon_irq_ciu_set_affinity()
768 __set_bit(cd->bit, pen); in octeon_irq_ciu_set_affinity()
770 __clear_bit(cd->bit, pen); in octeon_irq_ciu_set_affinity()
778 if (cd->line == 0) in octeon_irq_ciu_set_affinity()
799 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu_set_affinity_v2() local
804 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu_set_affinity_v2()
805 mask = 1ull << cd->bit; in octeon_irq_ciu_set_affinity_v2()
807 if (cd->line == 0) { in octeon_irq_ciu_set_affinity_v2()
813 set_bit(cd->bit, pen); in octeon_irq_ciu_set_affinity_v2()
816 clear_bit(cd->bit, pen); in octeon_irq_ciu_set_affinity_v2()
826 set_bit(cd->bit, pen); in octeon_irq_ciu_set_affinity_v2()
829 clear_bit(cd->bit, pen); in octeon_irq_ciu_set_affinity_v2()
844 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu_set_affinity_sum2() local
849 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu_set_affinity_sum2()
850 mask = 1ull << cd->bit; in octeon_irq_ciu_set_affinity_sum2()
1601 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu2_wd_enable() local
1603 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu2_wd_enable()
1604 mask = 1ull << (cd->bit); in octeon_irq_ciu2_wd_enable()
1607 (0x1000ull * cd->line); in octeon_irq_ciu2_wd_enable()
1618 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu2_enable() local
1620 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu2_enable()
1621 mask = 1ull << (cd->bit); in octeon_irq_ciu2_enable()
1624 (0x1000ull * cd->line); in octeon_irq_ciu2_enable()
1633 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu2_enable_local() local
1635 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu2_enable_local()
1636 mask = 1ull << (cd->bit); in octeon_irq_ciu2_enable_local()
1639 (0x1000ull * cd->line); in octeon_irq_ciu2_enable_local()
1649 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu2_disable_local() local
1651 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu2_disable_local()
1652 mask = 1ull << (cd->bit); in octeon_irq_ciu2_disable_local()
1655 (0x1000ull * cd->line); in octeon_irq_ciu2_disable_local()
1665 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu2_ack() local
1667 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu2_ack()
1668 mask = 1ull << (cd->bit); in octeon_irq_ciu2_ack()
1670 en_addr = CVMX_CIU2_RAW_PPX_IP2_WRKQ(coreid) + (0x1000ull * cd->line); in octeon_irq_ciu2_ack()
1679 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu2_disable_all() local
1681 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu2_disable_all()
1682 mask = 1ull << (cd->bit); in octeon_irq_ciu2_disable_all()
1686 octeon_coreid_for_cpu(cpu)) + (0x1000ull * cd->line); in octeon_irq_ciu2_disable_all()
1748 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu2_set_affinity() local
1753 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu2_set_affinity()
1754 mask = 1ull << cd->bit; in octeon_irq_ciu2_set_affinity()
1762 (0x1000ull * cd->line); in octeon_irq_ciu2_set_affinity()
1766 (0x1000ull * cd->line); in octeon_irq_ciu2_set_affinity()
1783 struct octeon_ciu_chip_data *cd; in octeon_irq_ciu2_disable_gpio() local
1785 cd = irq_data_get_irq_chip_data(data); in octeon_irq_ciu2_disable_gpio()
1787 cvmx_write_csr(CVMX_GPIO_BIT_CFGX(cd->gpio_line), 0); in octeon_irq_ciu2_disable_gpio()
2090 struct octeon_irq_cib_chip_data *cd = irq_data_get_irq_chip_data(data); in octeon_irq_cib_enable() local
2091 struct octeon_irq_cib_host_data *host_data = cd->host_data; in octeon_irq_cib_enable()
2095 en |= 1ull << cd->bit; in octeon_irq_cib_enable()
2104 struct octeon_irq_cib_chip_data *cd = irq_data_get_irq_chip_data(data); in octeon_irq_cib_disable() local
2105 struct octeon_irq_cib_host_data *host_data = cd->host_data; in octeon_irq_cib_disable()
2109 en &= ~(1ull << cd->bit); in octeon_irq_cib_disable()
2162 struct octeon_irq_cib_chip_data *cd; in octeon_irq_cib_map() local
2170 cd = kzalloc(sizeof(*cd), GFP_KERNEL); in octeon_irq_cib_map()
2171 cd->host_data = host_data; in octeon_irq_cib_map()
2172 cd->bit = hw; in octeon_irq_cib_map()
2176 irq_set_chip_data(virq, cd); in octeon_irq_cib_map()