/linux/kernel/irq/ |
H A D | chip.c | 44 struct irq_desc *desc = irq_get_desc_lock(irq, &flags, 0); in irq_set_chip() local 46 if (!desc) in irq_set_chip() 49 desc->irq_data.chip = (struct irq_chip *)(chip ?: &no_irq_chip); in irq_set_chip() 50 irq_put_desc_unlock(desc, flags); in irq_set_chip() 68 struct irq_desc *desc = irq_get_desc_buslock(irq, &flags, IRQ_GET_DESC_CHECK_GLOBAL); in irq_set_irq_type() local 71 if (!desc) in irq_set_irq_type() 74 ret = __irq_set_trigger(desc, type); in irq_set_irq_type() 75 irq_put_desc_busunlock(desc, flags); in irq_set_irq_type() 90 struct irq_desc *desc = irq_get_desc_lock(irq, &flags, 0); in irq_set_handler_data() local 92 if (!desc) in irq_set_handler_data() [all …]
|
H A 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 …]
|
H A 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 …]
|
H A D | settings.h | 42 irq_settings_clr_and_set(struct irq_desc *desc, u32 clr, u32 set) in irq_settings_clr_and_set() argument 44 desc->status_use_accessors &= ~(clr & _IRQF_MODIFY_MASK); in irq_settings_clr_and_set() 45 desc->status_use_accessors |= (set & _IRQF_MODIFY_MASK); in irq_settings_clr_and_set() 48 static inline bool irq_settings_is_per_cpu(struct irq_desc *desc) in irq_settings_is_per_cpu() argument 50 return desc->status_use_accessors & _IRQ_PER_CPU; in irq_settings_is_per_cpu() 53 static inline bool irq_settings_is_per_cpu_devid(struct irq_desc *desc) in irq_settings_is_per_cpu_devid() argument 55 return desc->status_use_accessors & _IRQ_PER_CPU_DEVID; in irq_settings_is_per_cpu_devid() 58 static inline void irq_settings_set_per_cpu(struct irq_desc *desc) in irq_settings_set_per_cpu() argument 60 desc->status_use_accessors |= _IRQ_PER_CPU; in irq_settings_set_per_cpu() 63 static inline void irq_settings_set_no_balancing(struct irq_desc *desc) in irq_settings_set_no_balancing() argument [all …]
|
H A D | irqdesc.c | 54 static int alloc_masks(struct irq_desc *desc, int node) in alloc_masks() argument 56 if (!zalloc_cpumask_var_node(&desc->irq_common_data.affinity, in alloc_masks() 61 if (!zalloc_cpumask_var_node(&desc->irq_common_data.effective_affinity, in alloc_masks() 63 free_cpumask_var(desc->irq_common_data.affinity); in alloc_masks() 69 if (!zalloc_cpumask_var_node(&desc->pending_mask, GFP_KERNEL, node)) { in alloc_masks() 71 free_cpumask_var(desc->irq_common_data.effective_affinity); in alloc_masks() 73 free_cpumask_var(desc->irq_common_data.affinity); in alloc_masks() 80 static void desc_smp_init(struct irq_desc *desc, int node, in desc_smp_init() argument 85 cpumask_copy(desc->irq_common_data.affinity, affinity); in desc_smp_init() 88 cpumask_clear(desc->pending_mask); in desc_smp_init() [all …]
|
H A D | internals.h | 77 extern int __irq_set_trigger(struct irq_desc *desc, unsigned long flags); 78 extern void __disable_irq(struct irq_desc *desc); 79 extern void __enable_irq(struct irq_desc *desc); 87 extern int irq_activate(struct irq_desc *desc); 88 extern int irq_activate_and_startup(struct irq_desc *desc, bool resend); 89 extern int irq_startup(struct irq_desc *desc, bool resend, bool force); 91 extern void irq_shutdown(struct irq_desc *desc); 92 extern void irq_shutdown_and_deactivate(struct irq_desc *desc); 93 extern void irq_enable(struct irq_desc *desc); 94 extern void irq_disable(struct irq_desc *desc); [all …]
|
H A 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 …]
|
H A D | resend.c | 33 struct irq_desc *desc; in resend_irqs() local 37 desc = hlist_entry(irq_resend_list.first, struct irq_desc, in resend_irqs() 39 hlist_del_init(&desc->resend_node); in resend_irqs() 41 desc->handle_irq(desc); in resend_irqs() 50 static int irq_sw_resend(struct irq_desc *desc) in irq_sw_resend() argument 56 if (handle_enforce_irqctx(&desc->irq_data)) in irq_sw_resend() 64 if (irq_settings_is_nested_thread(desc)) { in irq_sw_resend() 69 if (!desc->parent_irq) in irq_sw_resend() 72 desc = irq_to_desc(desc->parent_irq); in irq_sw_resend() 73 if (!desc) in irq_sw_resend() [all …]
|
H A 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 …]
|
/linux/drivers/usb/class/ |
H A D | cdc-wdm.c | 122 struct wdm_device *desc; in wdm_find_device() local 125 list_for_each_entry(desc, &wdm_device_list, device_list) in wdm_find_device() 126 if (desc->intf == intf) in wdm_find_device() 128 desc = NULL; in wdm_find_device() 132 return desc; in wdm_find_device() 137 struct wdm_device *desc; in wdm_find_device_by_minor() local 140 list_for_each_entry(desc, &wdm_device_list, device_list) in wdm_find_device_by_minor() 141 if (desc->intf->minor == minor) in wdm_find_device_by_minor() 143 desc = NULL; in wdm_find_device_by_minor() 147 return desc; in wdm_find_device_by_minor() [all …]
|
/linux/drivers/crypto/caam/ |
H A D | caamalg_desc.c | 16 static inline void aead_append_src_dst(u32 *desc, u32 msg_type) in aead_append_src_dst() argument 18 append_seq_fifo_store(desc, 0, FIFOST_TYPE_MESSAGE_DATA | KEY_VLF); in aead_append_src_dst() 19 append_seq_fifo_load(desc, 0, FIFOLD_CLASS_BOTH | in aead_append_src_dst() 24 static inline void append_dec_op1(u32 *desc, u32 type) in append_dec_op1() argument 30 append_operation(desc, type | OP_ALG_AS_INITFINAL | in append_dec_op1() 35 jump_cmd = append_jump(desc, JUMP_TEST_ALL | JUMP_COND_SHRD); in append_dec_op1() 36 append_operation(desc, type | OP_ALG_AS_INIT | OP_ALG_DECRYPT); in append_dec_op1() 37 uncond_jump_cmd = append_jump(desc, JUMP_TEST_ALL); in append_dec_op1() 38 set_jump_tgt_here(desc, jump_cmd); in append_dec_op1() 39 append_operation(desc, type | OP_ALG_AS_INIT | OP_ALG_DECRYPT | in append_dec_op1() [all …]
|
H A D | desc_constr.h | 54 #define PRINT_POS do { printk(KERN_DEBUG "%02d: %s\n", desc_len(desc),\ 84 static inline int desc_len(u32 * const desc) in desc_len() argument 86 return caam32_to_cpu(*desc) & HDR_DESCLEN_MASK; in desc_len() 89 static inline int desc_bytes(void * const desc) in desc_bytes() argument 91 return desc_len(desc) * CAAM_CMD_SZ; in desc_bytes() 94 static inline u32 *desc_end(u32 * const desc) in desc_end() argument 96 return desc + desc_len(desc); in desc_end() 99 static inline void *sh_desc_pdb(u32 * const desc) in sh_desc_pdb() argument 101 return desc + 1; in sh_desc_pdb() 104 static inline void init_desc(u32 * const desc, u32 options) in init_desc() argument [all …]
|
H A D | pkc_desc.c | 14 void init_rsa_pub_desc(u32 *desc, struct rsa_pub_pdb *pdb) in init_rsa_pub_desc() argument 16 init_job_desc_pdb(desc, 0, SIZEOF_RSA_PUB_PDB); in init_rsa_pub_desc() 17 append_cmd(desc, pdb->sgf); in init_rsa_pub_desc() 18 append_ptr(desc, pdb->f_dma); in init_rsa_pub_desc() 19 append_ptr(desc, pdb->g_dma); in init_rsa_pub_desc() 20 append_ptr(desc, pdb->n_dma); in init_rsa_pub_desc() 21 append_ptr(desc, pdb->e_dma); in init_rsa_pub_desc() 22 append_cmd(desc, pdb->f_len); in init_rsa_pub_desc() 23 append_operation(desc, OP_TYPE_UNI_PROTOCOL | OP_PCLID_RSAENC_PUBKEY); in init_rsa_pub_desc() 27 void init_rsa_priv_f1_desc(u32 *desc, struct rsa_priv_f1_pdb *pdb) in init_rsa_priv_f1_desc() argument [all …]
|
/linux/drivers/regulator/ |
H A D | da9062-regulator.c | 47 struct regulator_desc desc; member 60 struct regulator_desc desc; member 258 sel <<= ffs(rdev->desc->vsel_mask) - 1; in da9062_set_suspend_voltage() 261 rdev->desc->vsel_mask, sel); in da9062_set_suspend_voltage() 360 .desc.id = DA9061_ID_BUCK1, 361 .desc.name = "DA9061 BUCK1", 362 .desc.of_match = of_match_ptr("buck1"), 363 .desc.regulators_node = of_match_ptr("regulators"), 364 .desc.ops = &da9062_buck_ops, 365 .desc.min_uV = (300) * 1000, [all …]
|
H A D | helpers.c | 33 ret = regmap_read(rdev->regmap, rdev->desc->enable_reg, &val); in regulator_is_enabled_regmap() 37 val &= rdev->desc->enable_mask; in regulator_is_enabled_regmap() 39 if (rdev->desc->enable_is_inverted) { in regulator_is_enabled_regmap() 40 if (rdev->desc->enable_val) in regulator_is_enabled_regmap() 41 return val != rdev->desc->enable_val; in regulator_is_enabled_regmap() 44 if (rdev->desc->enable_val) in regulator_is_enabled_regmap() 45 return val == rdev->desc->enable_val; in regulator_is_enabled_regmap() 64 if (rdev->desc->enable_is_inverted) { in regulator_enable_regmap() 65 val = rdev->desc->disable_val; in regulator_enable_regmap() 67 val = rdev->desc->enable_val; in regulator_enable_regmap() [all …]
|
H A D | rt5739.c | 53 const struct regulator_desc *desc = rdev->desc; in rt5739_set_mode() local 57 if (desc->vsel_reg == RT5739_REG_NSEL0) in rt5739_set_mode() 78 const struct regulator_desc *desc = rdev->desc; in rt5739_get_mode() local 83 if (desc->vsel_reg == RT5739_REG_NSEL0) in rt5739_get_mode() 100 const struct regulator_desc *desc = rdev->desc; in rt5739_set_suspend_voltage() local 105 max_uV = desc->min_uV + desc->uV_step * (desc->n_voltages - 1); in rt5739_set_suspend_voltage() 107 if (uV < desc->min_uV || uV > max_uV) in rt5739_set_suspend_voltage() 110 if (desc->vsel_reg == RT5739_REG_NSEL0) in rt5739_set_suspend_voltage() 115 vsel = (uV - desc->min_uV) / desc->uV_step; in rt5739_set_suspend_voltage() 121 const struct regulator_desc *desc = rdev->desc; in rt5739_set_suspend_enable() local [all …]
|
/linux/drivers/scsi/fnic/ |
H A D | fnic_res.h | 25 struct wq_enet_desc *desc = vnic_wq_next_desc(wq); in fnic_queue_wq_desc() local 27 wq_enet_desc_enc(desc, in fnic_queue_wq_desc() 49 struct wq_enet_desc *desc = vnic_wq_next_desc(wq); in fnic_queue_wq_eth_desc() local 51 wq_enet_desc_enc(desc, in fnic_queue_wq_eth_desc() 79 struct fcpio_host_req *desc = vnic_wq_copy_next_desc(wq); in fnic_queue_wq_copy_desc_icmnd_16() local 81 desc->hdr.type = FCPIO_ICMND_16; /* enum fcpio_type */ in fnic_queue_wq_copy_desc_icmnd_16() 82 desc->hdr.status = 0; /* header status entry */ in fnic_queue_wq_copy_desc_icmnd_16() 83 desc->hdr._resvd = 0; /* reserved */ in fnic_queue_wq_copy_desc_icmnd_16() 84 desc->hdr.tag.u.req_id = req_id; /* id for this request */ in fnic_queue_wq_copy_desc_icmnd_16() 86 desc->u.icmnd_16.lunmap_id = lunmap_id; /* index into lunmap table */ in fnic_queue_wq_copy_desc_icmnd_16() [all …]
|
/linux/lib/crypto/ |
H A D | poly1305.c | 15 void poly1305_init_generic(struct poly1305_desc_ctx *desc, in poly1305_init_generic() argument 18 poly1305_core_setkey(&desc->core_r, key); in poly1305_init_generic() 19 desc->s[0] = get_unaligned_le32(key + 16); in poly1305_init_generic() 20 desc->s[1] = get_unaligned_le32(key + 20); in poly1305_init_generic() 21 desc->s[2] = get_unaligned_le32(key + 24); in poly1305_init_generic() 22 desc->s[3] = get_unaligned_le32(key + 28); in poly1305_init_generic() 23 poly1305_core_init(&desc->h); in poly1305_init_generic() 24 desc->buflen = 0; in poly1305_init_generic() 25 desc->sset = true; in poly1305_init_generic() 26 desc->rset = 2; in poly1305_init_generic() [all …]
|
/linux/drivers/infiniband/core/ |
H A D | packer.c | 62 void ib_pack(const struct ib_field *desc, in ib_pack() argument 70 if (desc[i].size_bits <= 32) { in ib_pack() 76 shift = 32 - desc[i].offset_bits - desc[i].size_bits; in ib_pack() 77 if (desc[i].struct_size_bytes) in ib_pack() 78 val = value_read(desc[i].struct_offset_bytes, in ib_pack() 79 desc[i].struct_size_bytes, in ib_pack() 84 mask = cpu_to_be32(((1ull << desc[i].size_bits) - 1) << shift); in ib_pack() 85 addr = (__be32 *) buf + desc[i].offset_words; in ib_pack() 87 } else if (desc[i].size_bits <= 64) { in ib_pack() 93 shift = 64 - desc[i].offset_bits - desc[i].size_bits; in ib_pack() [all …]
|
/linux/include/uapi/linux/usb/ |
H A D | audio.h | 267 static inline __u8 uac_mixer_unit_bNrChannels(struct uac_mixer_unit_descriptor *desc) in uac_mixer_unit_bNrChannels() argument 269 return desc->baSourceID[desc->bNrInPins]; in uac_mixer_unit_bNrChannels() 272 static inline __u32 uac_mixer_unit_wChannelConfig(struct uac_mixer_unit_descriptor *desc, in uac_mixer_unit_wChannelConfig() argument 276 return (desc->baSourceID[desc->bNrInPins + 2] << 8) | in uac_mixer_unit_wChannelConfig() 277 desc->baSourceID[desc->bNrInPins + 1]; in uac_mixer_unit_wChannelConfig() 279 return (desc->baSourceID[desc->bNrInPins + 4] << 24) | in uac_mixer_unit_wChannelConfig() 280 (desc->baSourceID[desc->bNrInPins + 3] << 16) | in uac_mixer_unit_wChannelConfig() 281 (desc->baSourceID[desc->bNrInPins + 2] << 8) | in uac_mixer_unit_wChannelConfig() 282 (desc->baSourceID[desc->bNrInPins + 1]); in uac_mixer_unit_wChannelConfig() 285 static inline __u8 uac_mixer_unit_iChannelNames(struct uac_mixer_unit_descriptor *desc, in uac_mixer_unit_iChannelNames() argument [all …]
|
/linux/drivers/crypto/ccree/ |
H A D | cc_aead.c | 251 static unsigned int xcbc_setkey(struct cc_hw_desc *desc, in xcbc_setkey() argument 255 hw_desc_init(&desc[0]); in xcbc_setkey() 260 set_din_type(&desc[0], DMA_DLLI, in xcbc_setkey() 263 set_cipher_mode(&desc[0], DRV_CIPHER_ECB); in xcbc_setkey() 264 set_cipher_config0(&desc[0], DRV_CRYPTO_DIRECTION_ENCRYPT); in xcbc_setkey() 265 set_key_size_aes(&desc[0], ctx->auth_keylen); in xcbc_setkey() 266 set_flow_mode(&desc[0], S_DIN_to_AES); in xcbc_setkey() 267 set_setup_mode(&desc[0], SETUP_LOAD_KEY0); in xcbc_setkey() 269 hw_desc_init(&desc[1]); in xcbc_setkey() 270 set_din_const(&desc[1], 0x01010101, CC_AES_128_BIT_KEY_SIZE); in xcbc_setkey() [all …]
|
/linux/tools/testing/selftests/x86/ |
H A D | ldt_gdt.c | 142 struct user_desc desc = *d; in install_valid_mode() local 152 desc.entry_number = gdt_entry_num; in install_valid_mode() 154 ret = syscall(SYS_set_thread_area, &desc); in install_valid_mode() 157 &desc, sizeof(desc)); in install_valid_mode() 169 uint32_t limit = desc.limit; in install_valid_mode() 170 if (desc.limit_in_pages) in install_valid_mode() 172 check_valid_segment(desc.entry_number, ldt, ar, limit, true); in install_valid_mode() 175 if (desc.seg_32bit) { in install_valid_mode() 189 static bool install_valid(const struct user_desc *desc, uint32_t ar) in install_valid() argument 191 bool ret = install_valid_mode(desc, ar, false, true); in install_valid() [all …]
|
/linux/drivers/comedi/drivers/ |
H A D | comedi_isadma.c | 19 void comedi_isadma_program(struct comedi_isadma_desc *desc) in comedi_isadma_program() argument 24 clear_dma_ff(desc->chan); in comedi_isadma_program() 25 set_dma_mode(desc->chan, desc->mode); in comedi_isadma_program() 26 set_dma_addr(desc->chan, desc->hw_addr); in comedi_isadma_program() 27 set_dma_count(desc->chan, desc->size); in comedi_isadma_program() 28 enable_dma(desc->chan); in comedi_isadma_program() 100 struct comedi_isadma_desc *desc = &dma->desc[dma->cur_dma]; in comedi_isadma_poll() local 106 clear_dma_ff(desc->chan); in comedi_isadma_poll() 108 disable_dma(desc->chan); in comedi_isadma_poll() 109 result = get_dma_residue(desc->chan); in comedi_isadma_poll() [all …]
|
/linux/include/linux/gpio/ |
H A D | consumer.h | 26 struct gpio_desc *desc[]; member 83 void gpiod_put(struct gpio_desc *desc); 105 void devm_gpiod_put(struct device *dev, struct gpio_desc *desc); 106 void devm_gpiod_unhinge(struct device *dev, struct gpio_desc *desc); 109 int gpiod_get_direction(struct gpio_desc *desc); 110 int gpiod_direction_input(struct gpio_desc *desc); 111 int gpiod_direction_output(struct gpio_desc *desc, int value); 112 int gpiod_direction_output_raw(struct gpio_desc *desc, int value); 113 int gpiod_enable_hw_timestamp_ns(struct gpio_desc *desc, unsigned long flags); 114 int gpiod_disable_hw_timestamp_ns(struct gpio_desc *desc, unsigned long flags); [all …]
|
/linux/arch/s390/tools/ |
H A D | gen_opcode_table.c | 152 static void read_instructions(struct gen_opcode *desc) in read_instructions() argument 167 desc->nr++; in read_instructions() 168 desc->insn = realloc(desc->insn, desc->nr * sizeof(*desc->insn)); in read_instructions() 169 if (!desc->insn) in read_instructions() 171 desc->insn[desc->nr - 1] = insn; in read_instructions() 180 static void print_formats(struct gen_opcode *desc) in print_formats() argument 185 qsort(desc->insn, desc->nr, sizeof(*desc->insn), cmpformat); in print_formats() 189 for (i = 0; i < desc->nr; i++) { in print_formats() 190 if (!strcmp(format, desc->insn[i].format)) in print_formats() 193 format = desc->insn[i].format; in print_formats() [all …]
|