/linux/drivers/input/joystick/iforce/ |
H A D | iforce-ff.c | 12 * Set the magnitude of a constant force effect 44 * Upload the component of an effect dealing with the period, phase and magnitude 81 * Uploads the part of an effect setting the envelope of the force 174 * Analyse the changes in an effect, and tell if we need to send an condition 185 dev_warn(&iforce->dev->dev, "bad effect type in %s\n", in need_condition_modifier() 202 * Analyse the changes in an effect, and tell if we need to send a magnitude 207 struct ff_effect *effect) in need_magnitude_modifier() argument 209 if (effect->type != FF_CONSTANT) { in need_magnitude_modifier() 210 dev_warn(&iforce->dev->dev, "bad effect type in %s\n", in need_magnitude_modifier() 215 return old->u.constant.level != effect->u.constant.level; in need_magnitude_modifier() [all …]
|
H A D | iforce-main.c | 105 * It uploads an effect to the device 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() 114 /* Check the effect is not already being updated */ in iforce_upload_effect() 120 * Upload the effect 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() 150 * Erases an effect: it frees the effect id and mark as unused the memory [all …]
|
H A D | iforce.h | 28 /* Each force feedback effect is made of one core effect, which can be 29 * associated to at most to effect modifiers 34 #define FF_CORE_IS_PLAYED 3 /* Effect is currently being played */ 35 #define FF_CORE_SHOULD_PLAY 4 /* User wants the effect to be played */ 36 #define FF_CORE_UPDATE 5 /* Effect is being updated */
|
/linux/drivers/input/misc/ |
H A 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 …]
|
H A 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 …]
|
H A 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()
|
H A D | da7280.c | 505 struct ff_effect *effect, in da7280_haptics_upload_effect() argument 514 /* The effect should be uploaded when haptic is not working */ in da7280_haptics_upload_effect() 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() [all …]
|
H A D | pm8xxx-vibrator.c | 183 * @data: data of effect 184 * @effect: effect to play 189 struct ff_effect *effect) in pm8xxx_vib_play_effect() argument 193 vib->speed = effect->u.rumble.strong_magnitude >> 8; in pm8xxx_vib_play_effect() 195 vib->speed = effect->u.rumble.weak_magnitude >> 9; in pm8xxx_vib_play_effect()
|
/linux/drivers/hid/usbhid/ |
H A 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() 295 * Send set effect report to the device 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() [all …]
|
/linux/Documentation/input/ |
H A 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/sound/synth/emux/ |
H A D | emux_effect.c | 84 /* set byte effect value */ 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() [all …]
|
/linux/include/uapi/linux/ |
H A D | input.h | 182 #define EVIOCSFF _IOW('E', 0x80, struct ff_effect) /* send a force effect to a force feedback devi… 183 #define EVIOCRMFF _IOW('E', 0x81, int) /* Erase a force effect */ 289 * Values describing the status of a force-feedback effect 306 * struct ff_replay - defines scheduling of the force-feedback effect 307 * @length: duration of the effect 308 * @delay: delay before effect should start playing 316 * struct ff_trigger - defines what triggers the force-feedback effect 317 * @button: number of the button triggering the effect 318 * @interval: controls how soon the effect can be re-triggered 326 * struct ff_envelope - generic force-feedback effect envelope [all …]
|
/linux/drivers/hid/ |
H A D | hid-holtekff.c | 27 * 01 set effect parameters 28 * 02 play specified effect 29 * 03 stop specified effect 39 * commands 02,03 take only the effect id. 42 * bits 0-3: effect id: 59 * bytes 5-6: unknown (win driver seems to use at least 10e0 with effect 1 60 * and 0014 with effect 6) 62 * bits 0-3: effect magnitude 91 struct ff_effect *effect) in holtekff_play() argument 96 /* effect type 1, length 65535 msec */ in holtekff_play() [all …]
|
H A D | hid-logitech-hidpp.c | 2469 /* find current slot for effect */ in hidpp_ff_work_handler() 2489 /* regular effect uploaded */ in hidpp_ff_work_handler() 2498 /* regular effect destroyed */ in hidpp_ff_work_handler() 2546 static int hidpp_ff_upload_effect(struct input_dev *dev, struct ff_effect *effect, struct ff_effect… in hidpp_ff_upload_effect() argument 2554 params[2] = effect->replay.length >> 8; in hidpp_ff_upload_effect() 2555 params[3] = effect->replay.length & 255; in hidpp_ff_upload_effect() 2556 params[4] = effect->replay.delay >> 8; in hidpp_ff_upload_effect() 2557 params[5] = effect->replay.delay & 255; in hidpp_ff_upload_effect() 2559 switch (effect->type) { in hidpp_ff_upload_effect() 2561 force = (effect->u.constant.level * fixp_sin16((effect->direction * 360) >> 16)) >> 15; in hidpp_ff_upload_effect() [all …]
|
H A 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()
|
H A 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()
|
H A 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()
|
/linux/Documentation/input/devices/ |
H A 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. 323 Set Effect State [all …]
|
/linux/drivers/input/ |
H A 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/tools/testing/cxl/test/ |
H A D | mem.c | 22 #define EFFECT(x) (1U << x) macro 45 .effect = CXL_CMD_EFFECT_NONE, 49 .effect = CXL_CMD_EFFECT_NONE, 53 .effect = CXL_CMD_EFFECT_NONE, 57 .effect = CXL_CMD_EFFECT_NONE, 61 .effect = cpu_to_le16(EFFECT(CONF_CHANGE_IMMEDIATE) | 62 EFFECT(DATA_CHANGE_IMMEDIATE)), 66 .effect = CXL_CMD_EFFECT_NONE, 70 .effect = CXL_CMD_EFFECT_NONE, 74 .effect = cpu_to_le16(EFFECT(DATA_CHANGE_IMMEDIATE)), [all …]
|
/linux/kernel/ |
H A D | capability.c | 171 * has the effect of making older libcap in SYSCALL_DEFINE2() 272 * currently in effect to the specified user namespace, false if not. 294 * currently in effect to the initial user namespace, false if not. 312 * currently in effect to the specified user namespace, false if not. 336 * currently in effect to init_user_ns, false if not. Don't write an 367 * ns_capable - Determine if the current task has a superior capability in effect in ns_capable_common() 385 * (unaudited) in effect 403 * in effect, while signalling that this check is being done from within a 421 * capable - Determine if the current task has a superior capability in effect in ns_capable_setid() 438 * file_ns_capable - Determine if the file's opener had a capability in effect [all...] |
/linux/Documentation/images/ |
H A D | logo.svg | 50 <inkscape:path-effect 53 effect="spiro" /> 54 <inkscape:path-effect 57 effect="spiro" /> 58 <inkscape:path-effect 61 effect="spiro" /> 114 <inkscape:path-effect 115 effect="spiro" 131 <inkscape:path-effect 132 effect="spiro" [all …]
|
/linux/drivers/media/platform/samsung/exynos4-is/ |
H A 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 …]
|
/linux/include/linux/usb/ |
H A D | audio-v2.h | 170 /* 4.7.2.10 Effect Unit Descriptor */ 265 /* A.11 Effect Unit Effect Types */ 345 /* A.17.8.1 Parametric Equalizer Section Effect Unit Control Selectors */ 355 /* A.17.8.2 Reverberation Effect Unit Control Selectors */ 369 /* A.17.8.3 Modulation Delay Effect Control Selectors */ 381 /* A.17.8.4 Dynamic Range Compressor Effect Unit Control Selectors */
|
/linux/Documentation/devicetree/bindings/iio/magnetometer/ |
H A D | ti,tmag5273.yaml | 7 title: TI TMAG5273 Low-Power Linear 3D Hall-Effect Sensor 13 The TI TMAG5273 is a low-power linear 3D Hall-effect sensor. This device 14 integrates three independent Hall-effect sensors in the X, Y, and Z axes.
|