Lines Matching refs:effect
286 struct ff_effect *effect) in pidff_set_constant_force_report() argument
291 effect->u.constant.level); in pidff_set_constant_force_report()
300 static int pidff_needs_set_constant(struct ff_effect *effect, in pidff_needs_set_constant() argument
303 return effect->u.constant.level != old->u.constant.level; in pidff_needs_set_constant()
310 struct ff_effect *effect) in pidff_set_effect_report() argument
316 pidff->set_effect[PID_DURATION].value[0] = effect->replay.length; in pidff_set_effect_report()
317 pidff->set_effect[PID_TRIGGER_BUTTON].value[0] = effect->trigger.button; in pidff_set_effect_report()
319 effect->trigger.interval; in pidff_set_effect_report()
324 pidff_rescale(effect->direction, 0xffff, in pidff_set_effect_report()
326 pidff->set_effect[PID_START_DELAY].value[0] = effect->replay.delay; in pidff_set_effect_report()
335 static int pidff_needs_set_effect(struct ff_effect *effect, in pidff_needs_set_effect() argument
338 return effect->replay.length != old->replay.length || in pidff_needs_set_effect()
339 effect->trigger.interval != old->trigger.interval || in pidff_needs_set_effect()
340 effect->trigger.button != old->trigger.button || in pidff_needs_set_effect()
341 effect->direction != old->direction || in pidff_needs_set_effect()
342 effect->replay.delay != old->replay.delay; in pidff_needs_set_effect()
349 struct ff_effect *effect) in pidff_set_periodic_report() argument
354 effect->u.periodic.magnitude); in pidff_set_periodic_report()
356 effect->u.periodic.offset); in pidff_set_periodic_report()
357 pidff_set(&pidff->set_periodic[PID_PHASE], effect->u.periodic.phase); in pidff_set_periodic_report()
358 pidff->set_periodic[PID_PERIOD].value[0] = effect->u.periodic.period; in pidff_set_periodic_report()
368 static int pidff_needs_set_periodic(struct ff_effect *effect, in pidff_needs_set_periodic() argument
371 return effect->u.periodic.magnitude != old->u.periodic.magnitude || in pidff_needs_set_periodic()
372 effect->u.periodic.offset != old->u.periodic.offset || in pidff_needs_set_periodic()
373 effect->u.periodic.phase != old->u.periodic.phase || in pidff_needs_set_periodic()
374 effect->u.periodic.period != old->u.periodic.period; in pidff_needs_set_periodic()
381 struct ff_effect *effect) in pidff_set_condition_report() argument
391 effect->u.condition[i].center); in pidff_set_condition_report()
393 effect->u.condition[i].right_coeff); in pidff_set_condition_report()
395 effect->u.condition[i].left_coeff); in pidff_set_condition_report()
397 effect->u.condition[i].right_saturation); in pidff_set_condition_report()
399 effect->u.condition[i].left_saturation); in pidff_set_condition_report()
401 effect->u.condition[i].deadband); in pidff_set_condition_report()
410 static int pidff_needs_set_condition(struct ff_effect *effect, in pidff_needs_set_condition() argument
417 struct ff_condition_effect *cond = &effect->u.condition[i]; in pidff_needs_set_condition()
435 struct ff_effect *effect) in pidff_set_ramp_force_report() argument
440 effect->u.ramp.start_level); in pidff_set_ramp_force_report()
442 effect->u.ramp.end_level); in pidff_set_ramp_force_report()
450 static int pidff_needs_set_ramp(struct ff_effect *effect, struct ff_effect *old) in pidff_needs_set_ramp() argument
452 return effect->u.ramp.start_level != old->u.ramp.start_level || in pidff_needs_set_ramp()
453 effect->u.ramp.end_level != old->u.ramp.end_level; in pidff_needs_set_ramp()
564 static int pidff_upload_effect(struct input_dev *dev, struct ff_effect *effect, in pidff_upload_effect() argument
574 pidff->pid_id[effect->id]; in pidff_upload_effect()
577 switch (effect->type) { in pidff_upload_effect()
585 if (!old || pidff_needs_set_effect(effect, old)) in pidff_upload_effect()
586 pidff_set_effect_report(pidff, effect); in pidff_upload_effect()
587 if (!old || pidff_needs_set_constant(effect, old)) in pidff_upload_effect()
588 pidff_set_constant_force_report(pidff, effect); in pidff_upload_effect()
590 pidff_needs_set_envelope(&effect->u.constant.envelope, in pidff_upload_effect()
593 &effect->u.constant.envelope); in pidff_upload_effect()
598 switch (effect->u.periodic.waveform) { in pidff_upload_effect()
624 if (!old || pidff_needs_set_effect(effect, old)) in pidff_upload_effect()
625 pidff_set_effect_report(pidff, effect); in pidff_upload_effect()
626 if (!old || pidff_needs_set_periodic(effect, old)) in pidff_upload_effect()
627 pidff_set_periodic_report(pidff, effect); in pidff_upload_effect()
629 pidff_needs_set_envelope(&effect->u.periodic.envelope, in pidff_upload_effect()
632 &effect->u.periodic.envelope); in pidff_upload_effect()
642 if (!old || pidff_needs_set_effect(effect, old)) in pidff_upload_effect()
643 pidff_set_effect_report(pidff, effect); in pidff_upload_effect()
644 if (!old || pidff_needs_set_ramp(effect, old)) in pidff_upload_effect()
645 pidff_set_ramp_force_report(pidff, effect); in pidff_upload_effect()
647 pidff_needs_set_envelope(&effect->u.ramp.envelope, in pidff_upload_effect()
650 &effect->u.ramp.envelope); in pidff_upload_effect()
660 if (!old || pidff_needs_set_effect(effect, old)) in pidff_upload_effect()
661 pidff_set_effect_report(pidff, effect); in pidff_upload_effect()
662 if (!old || pidff_needs_set_condition(effect, old)) in pidff_upload_effect()
663 pidff_set_condition_report(pidff, effect); in pidff_upload_effect()
673 if (!old || pidff_needs_set_effect(effect, old)) in pidff_upload_effect()
674 pidff_set_effect_report(pidff, effect); in pidff_upload_effect()
675 if (!old || pidff_needs_set_condition(effect, old)) in pidff_upload_effect()
676 pidff_set_condition_report(pidff, effect); in pidff_upload_effect()
686 if (!old || pidff_needs_set_effect(effect, old)) in pidff_upload_effect()
687 pidff_set_effect_report(pidff, effect); in pidff_upload_effect()
688 if (!old || pidff_needs_set_condition(effect, old)) in pidff_upload_effect()
689 pidff_set_condition_report(pidff, effect); in pidff_upload_effect()
699 if (!old || pidff_needs_set_effect(effect, old)) in pidff_upload_effect()
700 pidff_set_effect_report(pidff, effect); in pidff_upload_effect()
701 if (!old || pidff_needs_set_condition(effect, old)) in pidff_upload_effect()
702 pidff_set_condition_report(pidff, effect); in pidff_upload_effect()
711 pidff->pid_id[effect->id] = in pidff_upload_effect()