/kernel/irq/ |
D | chip.c | 45 struct irq_desc *desc = irq_get_desc_lock(irq, &flags, 0); in irq_set_chip() local 47 if (!desc) in irq_set_chip() 53 desc->irq_data.chip = chip; in irq_set_chip() 54 irq_put_desc_unlock(desc, flags); in irq_set_chip() 72 struct irq_desc *desc = irq_get_desc_buslock(irq, &flags, IRQ_GET_DESC_CHECK_GLOBAL); in irq_set_irq_type() local 75 if (!desc) in irq_set_irq_type() 78 ret = __irq_set_trigger(desc, type); in irq_set_irq_type() 79 irq_put_desc_busunlock(desc, flags); in irq_set_irq_type() 94 struct irq_desc *desc = irq_get_desc_lock(irq, &flags, 0); in irq_set_handler_data() local 96 if (!desc) in irq_set_handler_data() [all …]
|
D | manage.c | 38 static void __synchronize_hardirq(struct irq_desc *desc, bool sync_chip) in __synchronize_hardirq() argument 40 struct irq_data *irqd = irq_desc_get_irq_data(desc); in __synchronize_hardirq() 50 while (irqd_irq_inprogress(&desc->irq_data)) in __synchronize_hardirq() 54 raw_spin_lock_irqsave(&desc->lock, flags); in __synchronize_hardirq() 55 inprogress = irqd_irq_inprogress(&desc->irq_data); in __synchronize_hardirq() 70 raw_spin_unlock_irqrestore(&desc->lock, flags); in __synchronize_hardirq() 100 struct irq_desc *desc = irq_to_desc(irq); in synchronize_hardirq() local 102 if (desc) { in synchronize_hardirq() 103 __synchronize_hardirq(desc, false); in synchronize_hardirq() 104 return !atomic_read(&desc->threads_active); in synchronize_hardirq() [all …]
|
D | irqdesc.c | 55 static int alloc_masks(struct irq_desc *desc, int node) in alloc_masks() argument 57 if (!zalloc_cpumask_var_node(&desc->irq_common_data.affinity, in alloc_masks() 62 if (!zalloc_cpumask_var_node(&desc->irq_common_data.effective_affinity, in alloc_masks() 64 free_cpumask_var(desc->irq_common_data.affinity); in alloc_masks() 70 if (!zalloc_cpumask_var_node(&desc->pending_mask, GFP_KERNEL, node)) { in alloc_masks() 72 free_cpumask_var(desc->irq_common_data.effective_affinity); in alloc_masks() 74 free_cpumask_var(desc->irq_common_data.affinity); in alloc_masks() 81 static void desc_smp_init(struct irq_desc *desc, int node, in desc_smp_init() argument 86 cpumask_copy(desc->irq_common_data.affinity, affinity); in desc_smp_init() 89 cpumask_clear(desc->pending_mask); in desc_smp_init() [all …]
|
D | pm.c | 16 bool irq_pm_check_wakeup(struct irq_desc *desc) in irq_pm_check_wakeup() argument 18 if (irqd_is_wakeup_armed(&desc->irq_data)) { in irq_pm_check_wakeup() 19 irqd_clear(&desc->irq_data, IRQD_WAKEUP_ARMED); in irq_pm_check_wakeup() 20 desc->istate |= IRQS_SUSPENDED | IRQS_PENDING; in irq_pm_check_wakeup() 21 desc->depth++; in irq_pm_check_wakeup() 22 irq_disable(desc); in irq_pm_check_wakeup() 23 pm_system_irq_wakeup(irq_desc_get_irq(desc)); in irq_pm_check_wakeup() 33 void irq_pm_install_action(struct irq_desc *desc, struct irqaction *action) in irq_pm_install_action() argument 35 desc->nr_actions++; in irq_pm_install_action() 38 desc->force_resume_depth++; in irq_pm_install_action() [all …]
|
D | settings.h | 44 irq_settings_clr_and_set(struct irq_desc *desc, u32 clr, u32 set) in irq_settings_clr_and_set() argument 46 desc->status_use_accessors &= ~(clr & _IRQF_MODIFY_MASK); in irq_settings_clr_and_set() 47 desc->status_use_accessors |= (set & _IRQF_MODIFY_MASK); in irq_settings_clr_and_set() 50 static inline bool irq_settings_is_per_cpu(struct irq_desc *desc) in irq_settings_is_per_cpu() argument 52 return desc->status_use_accessors & _IRQ_PER_CPU; in irq_settings_is_per_cpu() 55 static inline bool irq_settings_is_per_cpu_devid(struct irq_desc *desc) in irq_settings_is_per_cpu_devid() argument 57 return desc->status_use_accessors & _IRQ_PER_CPU_DEVID; in irq_settings_is_per_cpu_devid() 60 static inline void irq_settings_set_per_cpu(struct irq_desc *desc) in irq_settings_set_per_cpu() argument 62 desc->status_use_accessors |= _IRQ_PER_CPU; in irq_settings_set_per_cpu() 65 static inline void irq_settings_set_no_balancing(struct irq_desc *desc) in irq_settings_set_no_balancing() argument [all …]
|
D | internals.h | 74 extern int __irq_set_trigger(struct irq_desc *desc, unsigned long flags); 75 extern void __disable_irq(struct irq_desc *desc); 76 extern void __enable_irq(struct irq_desc *desc); 84 extern int irq_activate(struct irq_desc *desc); 85 extern int irq_activate_and_startup(struct irq_desc *desc, bool resend); 86 extern int irq_startup(struct irq_desc *desc, bool resend, bool force); 88 extern void irq_shutdown(struct irq_desc *desc); 89 extern void irq_shutdown_and_deactivate(struct irq_desc *desc); 90 extern void irq_enable(struct irq_desc *desc); 91 extern void irq_disable(struct irq_desc *desc); [all …]
|
D | spurious.c | 36 bool irq_wait_for_poll(struct irq_desc *desc) in irq_wait_for_poll() argument 37 __must_hold(&desc->lock) in irq_wait_for_poll() 41 smp_processor_id(), desc->irq_data.irq)) in irq_wait_for_poll() 46 raw_spin_unlock(&desc->lock); in irq_wait_for_poll() 47 while (irqd_irq_inprogress(&desc->irq_data)) in irq_wait_for_poll() 49 raw_spin_lock(&desc->lock); in irq_wait_for_poll() 50 } while (irqd_irq_inprogress(&desc->irq_data)); in irq_wait_for_poll() 52 return !irqd_irq_disabled(&desc->irq_data) && desc->action; in irq_wait_for_poll() 62 static int try_one_irq(struct irq_desc *desc, bool force) in try_one_irq() argument 67 raw_spin_lock(&desc->lock); in try_one_irq() [all …]
|
D | autoprobe.c | 32 struct irq_desc *desc; in probe_irq_on() local 45 for_each_irq_desc_reverse(i, desc) { in probe_irq_on() 46 raw_spin_lock_irq(&desc->lock); in probe_irq_on() 47 if (!desc->action && irq_settings_can_probe(desc)) { in probe_irq_on() 52 if (desc->irq_data.chip->irq_set_type) in probe_irq_on() 53 desc->irq_data.chip->irq_set_type(&desc->irq_data, in probe_irq_on() 55 irq_activate_and_startup(desc, IRQ_NORESEND); in probe_irq_on() 57 raw_spin_unlock_irq(&desc->lock); in probe_irq_on() 68 for_each_irq_desc_reverse(i, desc) { in probe_irq_on() 69 raw_spin_lock_irq(&desc->lock); in probe_irq_on() [all …]
|
D | resend.c | 32 struct irq_desc *desc; in resend_irqs() local 38 desc = irq_to_desc(irq); in resend_irqs() 39 if (!desc) in resend_irqs() 42 desc->handle_irq(desc); in resend_irqs() 50 static int irq_sw_resend(struct irq_desc *desc) in irq_sw_resend() argument 52 unsigned int irq = irq_desc_get_irq(desc); in irq_sw_resend() 58 if (handle_enforce_irqctx(&desc->irq_data)) in irq_sw_resend() 66 if (irq_settings_is_nested_thread(desc)) { in irq_sw_resend() 71 if (!desc->parent_irq) in irq_sw_resend() 73 irq = desc->parent_irq; in irq_sw_resend() [all …]
|
D | proc.c | 48 struct irq_desc *desc = irq_to_desc((long)m->private); in show_irq_affinity() local 54 mask = desc->irq_common_data.affinity; in show_irq_affinity() 56 if (irqd_is_setaffinity_pending(&desc->irq_data)) in show_irq_affinity() 57 mask = desc->pending_mask; in show_irq_affinity() 63 mask = irq_data_get_effective_affinity_mask(&desc->irq_data); in show_irq_affinity() 85 struct irq_desc *desc = irq_to_desc((long)m->private); in irq_affinity_hint_proc_show() local 92 raw_spin_lock_irqsave(&desc->lock, flags); in irq_affinity_hint_proc_show() 93 if (desc->affinity_hint) in irq_affinity_hint_proc_show() 94 cpumask_copy(mask, desc->affinity_hint); in irq_affinity_hint_proc_show() 95 raw_spin_unlock_irqrestore(&desc->lock, flags); in irq_affinity_hint_proc_show() [all …]
|
D | handle.c | 31 void handle_bad_irq(struct irq_desc *desc) in handle_bad_irq() argument 33 unsigned int irq = irq_desc_get_irq(desc); in handle_bad_irq() 35 print_irq_desc(irq, desc); in handle_bad_irq() 36 kstat_incr_irqs_this_cpu(desc); in handle_bad_irq() 59 void __irq_wake_thread(struct irq_desc *desc, struct irqaction *action) in __irq_wake_thread() argument 121 desc->threads_oneshot |= action->thread_mask; in __irq_wake_thread() 132 atomic_inc(&desc->threads_active); in __irq_wake_thread() 137 irqreturn_t __handle_irq_event_percpu(struct irq_desc *desc, unsigned int *flags) in __handle_irq_event_percpu() argument 140 unsigned int irq = desc->irq_data.irq; in __handle_irq_event_percpu() 143 record_irq_time(desc); in __handle_irq_event_percpu() [all …]
|
D | msi.c | 35 struct msi_desc *desc; in alloc_msi_entry() local 37 desc = kzalloc(sizeof(*desc), GFP_KERNEL); in alloc_msi_entry() 38 if (!desc) in alloc_msi_entry() 41 INIT_LIST_HEAD(&desc->list); in alloc_msi_entry() 42 desc->dev = dev; in alloc_msi_entry() 43 desc->nvec_used = nvec; in alloc_msi_entry() 45 desc->affinity = kmemdup(affinity, in alloc_msi_entry() 46 nvec * sizeof(*desc->affinity), GFP_KERNEL); in alloc_msi_entry() 47 if (!desc->affinity) { in alloc_msi_entry() 48 kfree(desc); in alloc_msi_entry() [all …]
|
D | cpuhotplug.c | 53 static bool migrate_one_irq(struct irq_desc *desc) in migrate_one_irq() argument 55 struct irq_data *d = irq_desc_get_irq_data(desc); in migrate_one_irq() 86 irq_fixup_move_pending(desc, false); in migrate_one_irq() 96 irq_force_complete_move(desc); in migrate_one_irq() 104 if (irq_fixup_move_pending(desc, true)) in migrate_one_irq() 105 affinity = irq_desc_get_pending_mask(desc); in migrate_one_irq() 120 irq_shutdown_and_deactivate(desc); in migrate_one_irq() 157 struct irq_desc *desc; in irq_migrate_all_off_this_cpu() local 163 desc = irq_to_desc(irq); in irq_migrate_all_off_this_cpu() 164 raw_spin_lock(&desc->lock); in irq_migrate_all_off_this_cpu() [all …]
|
D | debug.h | 6 #define ___P(f) if (desc->status_use_accessors & f) printk("%14s set\n", #f) 7 #define ___PS(f) if (desc->istate & f) printk("%14s set\n", #f) 11 static inline void print_irq_desc(unsigned int irq, struct irq_desc *desc) in print_irq_desc() argument 19 irq, desc, desc->depth, desc->irq_count, desc->irqs_unhandled); in print_irq_desc() 21 desc->handle_irq, desc->handle_irq); in print_irq_desc() 23 desc->irq_data.chip, desc->irq_data.chip); in print_irq_desc() 24 printk("->action(): %p\n", desc->action); in print_irq_desc() 25 if (desc->action) { in print_irq_desc() 27 desc->action->handler, desc->action->handler); in print_irq_desc()
|
D | debugfs.c | 30 static void irq_debug_show_masks(struct seq_file *m, struct irq_desc *desc) in irq_debug_show_masks() argument 32 struct irq_data *data = irq_desc_get_irq_data(desc); in irq_debug_show_masks() 42 msk = desc->pending_mask; in irq_debug_show_masks() 47 static void irq_debug_show_masks(struct seq_file *m, struct irq_desc *desc) { } in irq_debug_show_masks() argument 161 struct irq_desc *desc = m->private; in irq_debug_show() local 164 raw_spin_lock_irq(&desc->lock); in irq_debug_show() 165 data = irq_desc_get_irq_data(desc); in irq_debug_show() 166 seq_printf(m, "handler: %ps\n", desc->handle_irq); in irq_debug_show() 167 seq_printf(m, "device: %s\n", desc->dev_name); in irq_debug_show() 168 seq_printf(m, "status: 0x%08x\n", desc->status_use_accessors); in irq_debug_show() [all …]
|
D | migration.c | 18 bool irq_fixup_move_pending(struct irq_desc *desc, bool force_clear) in irq_fixup_move_pending() argument 20 struct irq_data *data = irq_desc_get_irq_data(desc); in irq_fixup_move_pending() 29 if (cpumask_any_and(desc->pending_mask, cpu_online_mask) >= nr_cpu_ids) { in irq_fixup_move_pending() 40 struct irq_desc *desc = irq_data_to_desc(idata); in irq_move_masked_irq() local 41 struct irq_data *data = &desc->irq_data; in irq_move_masked_irq() 57 if (unlikely(cpumask_empty(desc->pending_mask))) in irq_move_masked_irq() 63 assert_raw_spin_locked(&desc->lock); in irq_move_masked_irq() 77 if (cpumask_any_and(desc->pending_mask, cpu_online_mask) < nr_cpu_ids) { in irq_move_masked_irq() 80 ret = irq_do_set_affinity(data, desc->pending_mask, false); in irq_move_masked_irq() 91 cpumask_clear(desc->pending_mask); in irq_move_masked_irq()
|
D | ipi.c | 221 int __ipi_send_single(struct irq_desc *desc, unsigned int cpu) in __ipi_send_single() argument 223 struct irq_data *data = irq_desc_get_irq_data(desc); in __ipi_send_single() 263 int __ipi_send_mask(struct irq_desc *desc, const struct cpumask *dest) in __ipi_send_mask() argument 265 struct irq_data *data = irq_desc_get_irq_data(desc); in __ipi_send_mask() 309 struct irq_desc *desc = irq_to_desc(virq); in ipi_send_single() local 310 struct irq_data *data = desc ? irq_desc_get_irq_data(desc) : NULL; in ipi_send_single() 316 return __ipi_send_single(desc, cpu); in ipi_send_single() 330 struct irq_desc *desc = irq_to_desc(virq); in ipi_send_mask() local 331 struct irq_data *data = desc ? irq_desc_get_irq_data(desc) : NULL; in ipi_send_mask() 337 return __ipi_send_mask(desc, dest); in ipi_send_mask()
|
D | irqdomain.c | 956 struct irq_desc *desc = NULL; in __irq_resolve_mapping() local 963 return desc; in __irq_resolve_mapping() 969 desc = irq_data_to_desc(data); in __irq_resolve_mapping() 970 if (irq && desc) in __irq_resolve_mapping() 974 return desc; in __irq_resolve_mapping() 985 desc = irq_data_to_desc(data); in __irq_resolve_mapping() 991 return desc; in __irq_resolve_mapping() 1612 struct irq_desc *desc; in irq_domain_push_irq() local 1624 desc = irq_to_desc(virq); in irq_domain_push_irq() 1625 if (!desc) in irq_domain_push_irq() [all …]
|
D | dummychip.c | 20 struct irq_desc *desc = irq_data_to_desc(data); in ack_bad() local 22 print_irq_desc(data->irq, desc); in ack_bad()
|
/kernel/printk/ |
D | printk_ringbuffer.c | 437 struct prb_desc *desc = to_desc(desc_ring, id); in desc_read() local 438 atomic_long_t *state_var = &desc->state_var; in desc_read() 478 memcpy(&desc_out->text_blk_lpos, &desc->text_blk_lpos, in desc_read() 548 struct prb_desc *desc = to_desc(desc_ring, id); in desc_make_reusable() local 549 atomic_long_t *state_var = &desc->state_var; in desc_make_reusable() 574 struct prb_desc desc; in data_make_reusable() local 575 struct prb_data_blk_lpos *blk_lpos = &desc.text_blk_lpos; in data_make_reusable() 592 d_state = desc_read(desc_ring, id, &desc, in data_make_reusable() 772 struct prb_desc desc; in desc_push_tail() local 774 d_state = desc_read(desc_ring, tail_id, &desc, NULL, NULL); in desc_push_tail() [all …]
|
/kernel/ |
D | resource.c | 314 unsigned long flags, unsigned long desc, in find_next_iomem_res() argument 340 if ((desc != IORES_DESC_NONE) && (desc != p->desc)) in find_next_iomem_res() 353 .desc = p->desc, in find_next_iomem_res() 363 unsigned long flags, unsigned long desc, in __walk_iomem_res_desc() argument 371 !find_next_iomem_res(start, end, flags, desc, &res)) { in __walk_iomem_res_desc() 399 int walk_iomem_res_desc(unsigned long desc, unsigned long flags, u64 start, in walk_iomem_res_desc() argument 402 return __walk_iomem_res_desc(start, end, flags, desc, arg, func); in walk_iomem_res_desc() 481 unsigned long flags, unsigned long desc) in __region_intersects() argument 492 ((desc == IORES_DESC_NONE) || in __region_intersects() 493 (desc == p->desc))); in __region_intersects() [all …]
|
D | kexec_file.c | 587 return walk_iomem_res_desc(crashk_res.desc, in kexec_walk_resources() 689 struct shash_desc *desc; in kexec_calculate_store_digests() local 709 desc_size = crypto_shash_descsize(tfm) + sizeof(*desc); in kexec_calculate_store_digests() 710 desc = kzalloc(desc_size, GFP_KERNEL); in kexec_calculate_store_digests() 711 if (!desc) { in kexec_calculate_store_digests() 723 desc->tfm = tfm; in kexec_calculate_store_digests() 725 ret = crypto_shash_init(desc); in kexec_calculate_store_digests() 746 ret = crypto_shash_update(desc, ksegment->kbuf, in kexec_calculate_store_digests() 761 ret = crypto_shash_update(desc, zero_buf, bytes); in kexec_calculate_store_digests() 776 ret = crypto_shash_final(desc, digest); in kexec_calculate_store_digests() [all …]
|
/kernel/cgroup/ |
D | freezer.c | 16 int desc = 1; in cgroup_propagate_frozen() local 26 cgrp->freezer.nr_frozen_descendants += desc; in cgroup_propagate_frozen() 34 desc++; in cgroup_propagate_frozen() 37 cgrp->freezer.nr_frozen_descendants -= desc; in cgroup_propagate_frozen() 42 desc++; in cgroup_propagate_frozen()
|
/kernel/power/ |
D | wakeup_reason.c | 73 struct irq_desc *desc; in init_node() local 78 desc = irq_to_desc(irq); in init_node() 79 if (desc && desc->action && desc->action->name) in init_node() 80 p->irq_name = desc->action->name; in init_node()
|
/kernel/bpf/ |
D | cgroup.c | 338 struct cgroup *desc = container_of(css, struct cgroup, self); in update_effective_progs() local 340 if (percpu_ref_is_zero(&desc->bpf.refcnt)) in update_effective_progs() 343 err = compute_effective_progs(desc, atype, &desc->bpf.inactive); in update_effective_progs() 350 struct cgroup *desc = container_of(css, struct cgroup, self); in update_effective_progs() local 352 if (percpu_ref_is_zero(&desc->bpf.refcnt)) { in update_effective_progs() 353 if (unlikely(desc->bpf.inactive)) { in update_effective_progs() 354 bpf_prog_array_free(desc->bpf.inactive); in update_effective_progs() 355 desc->bpf.inactive = NULL; in update_effective_progs() 360 activate_effective_progs(desc, atype, desc->bpf.inactive); in update_effective_progs() 361 desc->bpf.inactive = NULL; in update_effective_progs() [all …]
|