/linux-6.12.1/drivers/input/joystick/iforce/ |
D | iforce-ff.c | 211 struct ff_effect *effect) in need_magnitude_modifier() argument 213 if (effect->type != FF_CONSTANT) { in need_magnitude_modifier() 219 return old->u.constant.level != effect->u.constant.level; in need_magnitude_modifier() 227 struct ff_effect *effect) in need_envelope_modifier() argument 229 switch (effect->type) { in need_envelope_modifier() 231 if (old->u.constant.envelope.attack_length != effect->u.constant.envelope.attack_length in need_envelope_modifier() 232 || old->u.constant.envelope.attack_level != effect->u.constant.envelope.attack_level in need_envelope_modifier() 233 || old->u.constant.envelope.fade_length != effect->u.constant.envelope.fade_length in need_envelope_modifier() 234 || old->u.constant.envelope.fade_level != effect->u.constant.envelope.fade_level) in need_envelope_modifier() 239 if (old->u.periodic.envelope.attack_length != effect->u.periodic.envelope.attack_length in need_envelope_modifier() [all …]
|
D | iforce-main.c | 107 static int iforce_upload_effect(struct input_dev *dev, struct ff_effect *effect, struct ff_effect *… in iforce_upload_effect() argument 110 struct iforce_core_effect *core_effect = &iforce->core_effects[effect->id]; in iforce_upload_effect() 122 switch (effect->type) { in iforce_upload_effect() 124 ret = iforce_upload_periodic(iforce, effect, old); in iforce_upload_effect() 128 ret = iforce_upload_constant(iforce, effect, old); in iforce_upload_effect() 133 ret = iforce_upload_condition(iforce, effect, old); in iforce_upload_effect()
|
/linux-6.12.1/drivers/input/ |
D | ff-memless.c | 36 struct ff_effect *effect; member 52 struct ff_effect *effect); 55 static const struct ff_envelope *get_envelope(const struct ff_effect *effect) in get_envelope() argument 59 switch (effect->type) { in get_envelope() 61 return &effect->u.periodic.envelope; in get_envelope() 64 return &effect->u.constant.envelope; in get_envelope() 76 const struct ff_envelope *envelope = get_envelope(state->effect); in calculate_next_time() 87 if (state->effect->replay.length) { in calculate_next_time() 152 struct ff_effect *effect = state->effect; in apply_envelope() local 168 } else if (envelope->fade_length && effect->replay.length && in apply_envelope() [all …]
|
D | ff-core.c | 50 static int compat_effect(struct ff_device *ff, struct ff_effect *effect) in compat_effect() argument 54 switch (effect->type) { in compat_effect() 63 magnitude = effect->u.rumble.strong_magnitude / 3 + in compat_effect() 64 effect->u.rumble.weak_magnitude / 6; in compat_effect() 66 effect->type = FF_PERIODIC; in compat_effect() 67 effect->u.periodic.waveform = FF_SINE; in compat_effect() 68 effect->u.periodic.period = 50; in compat_effect() 69 effect->u.periodic.magnitude = magnitude; in compat_effect() 70 effect->u.periodic.offset = 0; in compat_effect() 71 effect->u.periodic.phase = 0; in compat_effect() [all …]
|
D | input-compat.c | 63 struct ff_effect *effect) in input_ff_effect_from_user() argument 76 compat_effect = (struct ff_effect_compat *)effect; in input_ff_effect_from_user() 84 effect->u.periodic.custom_data = in input_ff_effect_from_user() 90 if (copy_from_user(effect, buffer, sizeof(struct ff_effect))) in input_ff_effect_from_user() 118 struct ff_effect *effect) in input_ff_effect_from_user() argument 123 if (copy_from_user(effect, buffer, sizeof(struct ff_effect))) in input_ff_effect_from_user()
|
/linux-6.12.1/drivers/input/misc/ |
D | cs40l50-vibra.c | 90 struct ff_effect *effect; member 130 struct cs40l50_effect *effect; in cs40l50_find_effect() local 132 list_for_each_entry(effect, effect_head, list) in cs40l50_find_effect() 133 if (effect->id == id) in cs40l50_find_effect() 134 return effect; in cs40l50_find_effect() 140 struct cs40l50_effect *effect) in cs40l50_effect_bank_set() argument 150 effect->type = CS40L50_WVFRM_BANK_OWT; in cs40l50_effect_bank_set() 152 effect->type = bank_type; in cs40l50_effect_bank_set() 158 struct cs40l50_effect *effect) in cs40l50_effect_index_set() argument 164 base_index = vib->dsp.banks[effect->type].base_index; in cs40l50_effect_index_set() [all …]
|
D | arizona-haptics.c | 109 struct ff_effect *effect) in arizona_haptics_play() argument 119 if (effect->u.rumble.strong_magnitude) { in arizona_haptics_play() 123 effect->u.rumble.strong_magnitude >> 9; in arizona_haptics_play() 124 if (effect->direction < 0x8000) in arizona_haptics_play() 128 effect->u.rumble.strong_magnitude >> 8; in arizona_haptics_play()
|
D | da7280.c | 505 struct ff_effect *effect, in da7280_haptics_upload_effect() argument 518 switch (effect->type) { in da7280_haptics_upload_effect() 523 tmp = effect->u.constant.level * 254; in da7280_haptics_upload_effect() 528 haptics->gain = effect->u.constant.level <= 0 ? in da7280_haptics_upload_effect() 529 0 : effect->u.constant.level; in da7280_haptics_upload_effect() 534 if (effect->u.periodic.waveform != FF_CUSTOM) { in da7280_haptics_upload_effect() 547 if (effect->u.periodic.custom_len == DA7280_CUSTOM_DATA_LEN) in da7280_haptics_upload_effect() 550 if (effect->u.periodic.custom_len == DA7280_CUSTOM_GP_DATA_LEN) in da7280_haptics_upload_effect() 553 if (effect->u.periodic.custom_len < DA7280_CUSTOM_DATA_LEN || in da7280_haptics_upload_effect() 554 effect->u.periodic.custom_len > DA7280_SNP_MEM_SIZE) { in da7280_haptics_upload_effect() [all …]
|
D | uinput.c | 50 struct ff_effect *effect; member 236 struct ff_effect *effect, in uinput_dev_upload_effect() argument 249 if (effect->type == FF_PERIODIC && in uinput_dev_upload_effect() 250 effect->u.periodic.waveform == FF_CUSTOM) in uinput_dev_upload_effect() 254 request.u.upload.effect = effect; in uinput_dev_upload_effect() 768 struct ff_effect_compat effect; member 786 memcpy(&ff_up_compat.effect, &ff_up->effect, in uinput_ff_upload_to_user() 815 memcpy(&ff_up->effect, &ff_up_compat.effect, in uinput_ff_upload_from_user() 994 !req->u.upload.effect) { in uinput_ioctl_handler() 1000 ff_up.effect = *req->u.upload.effect; in uinput_ioctl_handler() [all …]
|
D | twl4030-vibra.c | 123 struct ff_effect *effect) in vibra_play() argument 127 info->speed = effect->u.rumble.strong_magnitude >> 8; in vibra_play() 129 info->speed = effect->u.rumble.weak_magnitude >> 9; in vibra_play() 130 info->direction = effect->direction < EFFECT_DIR_180_DEG ? 0 : 1; in vibra_play()
|
/linux-6.12.1/drivers/hid/usbhid/ |
D | hid-pidff.c | 274 struct ff_effect *effect) in pidff_set_constant_force_report() argument 279 effect->u.constant.level); in pidff_set_constant_force_report() 288 static int pidff_needs_set_constant(struct ff_effect *effect, in pidff_needs_set_constant() argument 291 return effect->u.constant.level != old->u.constant.level; in pidff_needs_set_constant() 298 struct ff_effect *effect) in pidff_set_effect_report() argument 304 pidff->set_effect[PID_DURATION].value[0] = effect->replay.length; in pidff_set_effect_report() 305 pidff->set_effect[PID_TRIGGER_BUTTON].value[0] = effect->trigger.button; in pidff_set_effect_report() 307 effect->trigger.interval; in pidff_set_effect_report() 312 pidff_rescale(effect->direction, 0xffff, in pidff_set_effect_report() 314 pidff->set_effect[PID_START_DELAY].value[0] = effect->replay.delay; in pidff_set_effect_report() [all …]
|
/linux-6.12.1/sound/synth/emux/ |
D | emux_effect.c | 88 short effect; in effect_set_byte() local 91 effect = fx->val[type]; in effect_set_byte() 94 effect += *(char*)valp; in effect_set_byte() 96 effect += *valp; in effect_set_byte() 98 if (effect < parm_defs[type].low) in effect_set_byte() 99 effect = parm_defs[type].low; in effect_set_byte() 100 else if (effect > parm_defs[type].high) in effect_set_byte() 101 effect = parm_defs[type].high; in effect_set_byte() 102 *valp = (unsigned char)effect; in effect_set_byte() 109 int effect; in effect_set_word() local [all …]
|
/linux-6.12.1/Documentation/input/ |
D | ff.rst | 115 int ioctl(int file_descriptor, int request, struct ff_effect *effect); 119 "effect" points to a structure describing the effect to upload. The effect is 121 The content of effect may be modified. In particular, its field "id" is set 123 some operations (removing an effect, controlling the playback). 125 allocate a new effect. 142 Removing an effect from the device 147 int ioctl(int fd, EVIOCRMFF, effect.id); 150 stops the effect if it was playing. 164 struct ff_effect effect; 171 play.code = effect.id; [all …]
|
/linux-6.12.1/Documentation/ABI/testing/ |
D | debugfs-hisi-hpre | 19 functional effect, only enable or disable counters clear after 65 Writing to this file has no functional effect, only enable or 74 Available for both PF and VF, and take no other effect on HPRE. 80 Available for both PF and VF, and take no other effect on HPRE. 86 Available for both PF and VF, and take no other effect on HPRE. 92 Available for both PF and VF, and take no other effect on HPRE. 98 Available for both PF and VF, and take no other effect on HPRE. 105 Available for both PF and VF, and take no other effect on HPRE. 119 Only available for PF, and take no other effect on HPRE. 125 and VF, and take no other effect on HPRE. [all …]
|
D | debugfs-hisi-sec | 7 Only available for PF, and take no other effect on SEC. 47 Only available for PF, and take no other effect on SEC. 54 Available for both PF and VF, and take no other effect on SEC. 60 Available for both PF and VF, and take no other effect on SEC. 66 Available for both PF and VF, and take no other effect on SEC. 72 Available for both PF and VF, and take no other effect on SEC. 78 Available for both PF and VF, and take no other effect on SEC. 85 Available for both PF and VF, and take no other effect on SEC. 99 Only available for PF, and take no other effect on SEC. 105 and VF, and take no other effect on SEC. [all …]
|
D | debugfs-hisi-zip | 18 Writing to this file has no functional effect, only enable or 58 Writing to this file has no functional effect, only enable or 67 Available for both PF and VF, and take no other effect on ZIP. 73 Available for both PF and VF, and take no other effect on ZIP. 79 Available for both PF and VF, and take no other effect on ZIP. 85 Available for both PF and VF, and take no other effect on ZIP. 91 Available for both PF and VF, and take no other effect on ZIP. 98 Available for both PF and VF, and take no other effect on ZIP. 112 Only available for PF, and take no other effect on ZIP. 118 and VF, and take no other effect on ZIP. [all …]
|
/linux-6.12.1/drivers/hid/ |
D | hid-lgff.c | 57 static int hid_lgff_play(struct input_dev *dev, void *data, struct ff_effect *effect) in hid_lgff_play() argument 67 switch (effect->type) { in hid_lgff_play() 69 x = effect->u.ramp.start_level + 0x7f; /* 0x7f is center */ in hid_lgff_play() 70 y = effect->u.ramp.end_level + 0x7f; in hid_lgff_play() 82 right = effect->u.rumble.strong_magnitude; in hid_lgff_play() 83 left = effect->u.rumble.weak_magnitude; in hid_lgff_play()
|
D | hid-logitech-hidpp.c | 2570 static int hidpp_ff_upload_effect(struct input_dev *dev, struct ff_effect *effect, struct ff_effect… in hidpp_ff_upload_effect() argument 2578 params[2] = effect->replay.length >> 8; in hidpp_ff_upload_effect() 2579 params[3] = effect->replay.length & 255; in hidpp_ff_upload_effect() 2580 params[4] = effect->replay.delay >> 8; in hidpp_ff_upload_effect() 2581 params[5] = effect->replay.delay & 255; in hidpp_ff_upload_effect() 2583 switch (effect->type) { in hidpp_ff_upload_effect() 2585 force = (effect->u.constant.level * fixp_sin16((effect->direction * 360) >> 16)) >> 15; in hidpp_ff_upload_effect() 2589 params[8] = effect->u.constant.envelope.attack_level >> 7; in hidpp_ff_upload_effect() 2590 params[9] = effect->u.constant.envelope.attack_length >> 8; in hidpp_ff_upload_effect() 2591 params[10] = effect->u.constant.envelope.attack_length & 255; in hidpp_ff_upload_effect() [all …]
|
D | hid-tmff.c | 74 struct ff_effect *effect) in tmff_play() argument 82 switch (effect->type) { in tmff_play() 84 x = tmff_scale_s8(effect->u.ramp.start_level, in tmff_play() 87 y = tmff_scale_s8(effect->u.ramp.end_level, in tmff_play() 98 left = tmff_scale_u16(effect->u.rumble.weak_magnitude, in tmff_play() 101 right = tmff_scale_u16(effect->u.rumble.strong_magnitude, in tmff_play()
|
D | hid-lg3ff.c | 45 struct ff_effect *effect) in hid_lg3ff_play() argument 59 switch (effect->type) { in hid_lg3ff_play() 65 x = effect->u.ramp.start_level; in hid_lg3ff_play() 66 y = effect->u.ramp.end_level; in hid_lg3ff_play()
|
D | hid-lg2ff.c | 23 struct ff_effect *effect) in play_effect() argument 29 strong = effect->u.rumble.strong_magnitude; in play_effect() 30 weak = effect->u.rumble.weak_magnitude; in play_effect()
|
D | hid-megaworld.c | 25 struct ff_effect *effect) in mwctrl_play() argument 30 *mwctrl->strong = effect->u.rumble.strong_magnitude >> 8; in mwctrl_play() 31 *mwctrl->weak = effect->u.rumble.weak_magnitude >> 8; in mwctrl_play()
|
/linux-6.12.1/sound/isa/sb/ |
D | emu8000.c | 668 int effect = emu->chorus_mode; in snd_emu8000_update_chorus_mode() local 669 if (effect < 0 || effect >= SNDRV_EMU8000_CHORUS_NUMBERS || in snd_emu8000_update_chorus_mode() 670 (effect >= SNDRV_EMU8000_CHORUS_PREDEFINED && !chorus_defined[effect])) in snd_emu8000_update_chorus_mode() 672 EMU8000_INIT3_WRITE(emu, 0x09, chorus_parm[effect].feedback); in snd_emu8000_update_chorus_mode() 673 EMU8000_INIT3_WRITE(emu, 0x0c, chorus_parm[effect].delay_offset); in snd_emu8000_update_chorus_mode() 674 EMU8000_INIT4_WRITE(emu, 0x03, chorus_parm[effect].lfo_depth); in snd_emu8000_update_chorus_mode() 675 EMU8000_HWCF4_WRITE(emu, chorus_parm[effect].delay); in snd_emu8000_update_chorus_mode() 676 EMU8000_HWCF5_WRITE(emu, chorus_parm[effect].lfo_freq); in snd_emu8000_update_chorus_mode() 796 int effect = emu->reverb_mode; in snd_emu8000_update_reverb_mode() local 799 if (effect < 0 || effect >= SNDRV_EMU8000_REVERB_NUMBERS || in snd_emu8000_update_reverb_mode() [all …]
|
/linux-6.12.1/Documentation/input/devices/ |
D | iforce-protocol.rst | 82 01 Bit 8 is set if the effect is playing. Bits 0 to 7 are the effect id. 89 Force effect 111 Bits 4-7: Val 2 = effect along one axis. Byte 05 indicates direction 116 Val x+1 = Button x triggers the effect 119 03-04 Duration of effect (little endian encoding, in ms) 121 05 Direction of effect, if applicable. Else, see 02 for value to assign. 133 0c-0d Delay before execution of effect (little endian encoding, in ms) 283 Query effect 290 Send effect type. 367 3. Play the effect, and watch what happens on the spy screen. [all …]
|
/linux-6.12.1/drivers/media/platform/samsung/exynos4-is/ |
D | fimc-core.c | 460 struct fimc_effect *effect = &ctx->effect; in fimc_set_color_effect() local 464 effect->type = FIMC_REG_CIIMGEFF_FIN_BYPASS; in fimc_set_color_effect() 467 effect->type = FIMC_REG_CIIMGEFF_FIN_ARBITRARY; in fimc_set_color_effect() 468 effect->pat_cb = 128; in fimc_set_color_effect() 469 effect->pat_cr = 128; in fimc_set_color_effect() 472 effect->type = FIMC_REG_CIIMGEFF_FIN_ARBITRARY; in fimc_set_color_effect() 473 effect->pat_cb = 115; in fimc_set_color_effect() 474 effect->pat_cr = 145; in fimc_set_color_effect() 477 effect->type = FIMC_REG_CIIMGEFF_FIN_NEGATIVE; in fimc_set_color_effect() 480 effect->type = FIMC_REG_CIIMGEFF_FIN_EMBOSSING; in fimc_set_color_effect() [all …]
|