Lines Matching defs:effect

36 	struct ff_effect *effect;
37 unsigned long flags; /* effect state (STARTED, PLAYING, etc) */
38 int count; /* loop count of the effect */
41 unsigned long adj_at; /* last time the effect was sent */
52 struct ff_effect *effect);
55 static const struct ff_envelope *get_envelope(const struct ff_effect *effect)
59 switch (effect->type) {
61 return &effect->u.periodic.envelope;
64 return &effect->u.constant.envelope;
76 const struct ff_envelope *envelope = get_envelope(state->effect);
87 if (state->effect->replay.length) {
152 struct ff_effect *effect = state->effect;
168 } else if (envelope->fade_length && effect->replay.length &&
193 * Return the type the effect has to be converted into (memless devices)
240 static void ml_combine_effects(struct ff_effect *effect,
244 struct ff_effect *new = state->effect;
262 effect->u.ramp.start_level =
263 clamp_val(effect->u.ramp.start_level + x, -0x80, 0x7f);
264 effect->u.ramp.end_level =
265 clamp_val(effect->u.ramp.end_level + y, -0x80, 0x7f);
272 if (effect->u.rumble.strong_magnitude + strong)
273 effect->direction = ml_calculate_direction(
274 effect->direction,
275 effect->u.rumble.strong_magnitude,
277 else if (effect->u.rumble.weak_magnitude + weak)
278 effect->direction = ml_calculate_direction(
279 effect->direction,
280 effect->u.rumble.weak_magnitude,
283 effect->direction = 0;
284 effect->u.rumble.strong_magnitude =
285 min(strong + effect->u.rumble.strong_magnitude,
287 effect->u.rumble.weak_magnitude =
288 min(weak + effect->u.rumble.weak_magnitude, 0xffffU);
298 if (effect->u.rumble.strong_magnitude + i)
299 effect->direction = ml_calculate_direction(
300 effect->direction,
301 effect->u.rumble.strong_magnitude,
304 effect->direction = 0;
305 effect->u.rumble.strong_magnitude =
306 min(i + effect->u.rumble.strong_magnitude, 0xffffU);
307 effect->u.rumble.weak_magnitude =
308 min(i + effect->u.rumble.weak_magnitude, 0xffffU);
320 * Because memoryless devices have only one effect per effect type active
327 struct ff_effect *effect;
339 effect = state->effect;
352 effect_type = get_compatible_type(ml->dev->ff, effect->type);
364 } else if (effect->replay.length &&
373 msecs_to_jiffies(effect->replay.delay);
375 msecs_to_jiffies(effect->replay.length);
389 struct ff_effect effect;
394 while (ml_get_combo_effect(ml, handled_bm, &effect))
395 ml->play_effect(ml->dev, ml->private, &effect);
430 * Start/stop specified FF effect. Called with dev->event_lock held.
443 msecs_to_jiffies(state->effect->replay.delay);
445 msecs_to_jiffies(state->effect->replay.length);
463 struct ff_effect *effect, struct ff_effect *old)
466 struct ml_effect_state *state = &ml->states[effect->id];
473 msecs_to_jiffies(state->effect->replay.delay);
475 msecs_to_jiffies(state->effect->replay.length);
505 * @play_effect: driver-specific method for playing FF effect
549 ml->states[i].effect = &ff->effects[i];