Lines Matching full:effect
1951 /* find current slot for effect */ in hidpp_ff_work_handler()
1971 /* regular effect uploaded */ in hidpp_ff_work_handler()
1980 /* regular effect destroyed */ in hidpp_ff_work_handler()
2029 static int hidpp_ff_upload_effect(struct input_dev *dev, struct ff_effect *effect, struct ff_effect… in hidpp_ff_upload_effect() argument
2037 params[2] = effect->replay.length >> 8; in hidpp_ff_upload_effect()
2038 params[3] = effect->replay.length & 255; in hidpp_ff_upload_effect()
2039 params[4] = effect->replay.delay >> 8; in hidpp_ff_upload_effect()
2040 params[5] = effect->replay.delay & 255; in hidpp_ff_upload_effect()
2042 switch (effect->type) { in hidpp_ff_upload_effect()
2044 force = (effect->u.constant.level * fixp_sin16((effect->direction * 360) >> 16)) >> 15; in hidpp_ff_upload_effect()
2048 params[8] = effect->u.constant.envelope.attack_level >> 7; in hidpp_ff_upload_effect()
2049 params[9] = effect->u.constant.envelope.attack_length >> 8; in hidpp_ff_upload_effect()
2050 params[10] = effect->u.constant.envelope.attack_length & 255; in hidpp_ff_upload_effect()
2051 params[11] = effect->u.constant.envelope.fade_level >> 7; in hidpp_ff_upload_effect()
2052 params[12] = effect->u.constant.envelope.fade_length >> 8; in hidpp_ff_upload_effect()
2053 params[13] = effect->u.constant.envelope.fade_length & 255; in hidpp_ff_upload_effect()
2056 effect->u.constant.level, in hidpp_ff_upload_effect()
2057 effect->direction, force); in hidpp_ff_upload_effect()
2059 effect->u.constant.envelope.attack_level, in hidpp_ff_upload_effect()
2060 effect->u.constant.envelope.attack_length, in hidpp_ff_upload_effect()
2061 effect->u.constant.envelope.fade_level, in hidpp_ff_upload_effect()
2062 effect->u.constant.envelope.fade_length); in hidpp_ff_upload_effect()
2066 switch (effect->u.periodic.waveform) { in hidpp_ff_upload_effect()
2083 …hid_err(data->hidpp->hid_dev, "Unexpected periodic waveform type %i!\n", effect->u.periodic.wavefo… in hidpp_ff_upload_effect()
2086 force = (effect->u.periodic.magnitude * fixp_sin16((effect->direction * 360) >> 16)) >> 15; in hidpp_ff_upload_effect()
2087 params[6] = effect->u.periodic.magnitude >> 8; in hidpp_ff_upload_effect()
2088 params[7] = effect->u.periodic.magnitude & 255; in hidpp_ff_upload_effect()
2089 params[8] = effect->u.periodic.offset >> 8; in hidpp_ff_upload_effect()
2090 params[9] = effect->u.periodic.offset & 255; in hidpp_ff_upload_effect()
2091 params[10] = effect->u.periodic.period >> 8; in hidpp_ff_upload_effect()
2092 params[11] = effect->u.periodic.period & 255; in hidpp_ff_upload_effect()
2093 params[12] = effect->u.periodic.phase >> 8; in hidpp_ff_upload_effect()
2094 params[13] = effect->u.periodic.phase & 255; in hidpp_ff_upload_effect()
2095 params[14] = effect->u.periodic.envelope.attack_level >> 7; in hidpp_ff_upload_effect()
2096 params[15] = effect->u.periodic.envelope.attack_length >> 8; in hidpp_ff_upload_effect()
2097 params[16] = effect->u.periodic.envelope.attack_length & 255; in hidpp_ff_upload_effect()
2098 params[17] = effect->u.periodic.envelope.fade_level >> 7; in hidpp_ff_upload_effect()
2099 params[18] = effect->u.periodic.envelope.fade_length >> 8; in hidpp_ff_upload_effect()
2100 params[19] = effect->u.periodic.envelope.fade_length & 255; in hidpp_ff_upload_effect()
2103 effect->u.periodic.magnitude, effect->direction, in hidpp_ff_upload_effect()
2104 effect->u.periodic.offset, in hidpp_ff_upload_effect()
2105 effect->u.periodic.period, in hidpp_ff_upload_effect()
2106 effect->u.periodic.phase); in hidpp_ff_upload_effect()
2108 effect->u.periodic.envelope.attack_level, in hidpp_ff_upload_effect()
2109 effect->u.periodic.envelope.attack_length, in hidpp_ff_upload_effect()
2110 effect->u.periodic.envelope.fade_level, in hidpp_ff_upload_effect()
2111 effect->u.periodic.envelope.fade_length); in hidpp_ff_upload_effect()
2116 force = (effect->u.ramp.start_level * fixp_sin16((effect->direction * 360) >> 16)) >> 15; in hidpp_ff_upload_effect()
2119 force = (effect->u.ramp.end_level * fixp_sin16((effect->direction * 360) >> 16)) >> 15; in hidpp_ff_upload_effect()
2122 params[10] = effect->u.ramp.envelope.attack_level >> 7; in hidpp_ff_upload_effect()
2123 params[11] = effect->u.ramp.envelope.attack_length >> 8; in hidpp_ff_upload_effect()
2124 params[12] = effect->u.ramp.envelope.attack_length & 255; in hidpp_ff_upload_effect()
2125 params[13] = effect->u.ramp.envelope.fade_level >> 7; in hidpp_ff_upload_effect()
2126 params[14] = effect->u.ramp.envelope.fade_length >> 8; in hidpp_ff_upload_effect()
2127 params[15] = effect->u.ramp.envelope.fade_length & 255; in hidpp_ff_upload_effect()
2130 effect->u.ramp.start_level, in hidpp_ff_upload_effect()
2131 effect->u.ramp.end_level, in hidpp_ff_upload_effect()
2132 effect->direction, force); in hidpp_ff_upload_effect()
2134 effect->u.ramp.envelope.attack_level, in hidpp_ff_upload_effect()
2135 effect->u.ramp.envelope.attack_length, in hidpp_ff_upload_effect()
2136 effect->u.ramp.envelope.fade_level, in hidpp_ff_upload_effect()
2137 effect->u.ramp.envelope.fade_length); in hidpp_ff_upload_effect()
2143 params[1] = HIDPP_FF_CONDITION_CMDS[effect->type - FF_SPRING]; in hidpp_ff_upload_effect()
2144 params[6] = effect->u.condition[0].left_saturation >> 9; in hidpp_ff_upload_effect()
2145 params[7] = (effect->u.condition[0].left_saturation >> 1) & 255; in hidpp_ff_upload_effect()
2146 params[8] = effect->u.condition[0].left_coeff >> 8; in hidpp_ff_upload_effect()
2147 params[9] = effect->u.condition[0].left_coeff & 255; in hidpp_ff_upload_effect()
2148 params[10] = effect->u.condition[0].deadband >> 9; in hidpp_ff_upload_effect()
2149 params[11] = (effect->u.condition[0].deadband >> 1) & 255; in hidpp_ff_upload_effect()
2150 params[12] = effect->u.condition[0].center >> 8; in hidpp_ff_upload_effect()
2151 params[13] = effect->u.condition[0].center & 255; in hidpp_ff_upload_effect()
2152 params[14] = effect->u.condition[0].right_coeff >> 8; in hidpp_ff_upload_effect()
2153 params[15] = effect->u.condition[0].right_coeff & 255; in hidpp_ff_upload_effect()
2154 params[16] = effect->u.condition[0].right_saturation >> 9; in hidpp_ff_upload_effect()
2155 params[17] = (effect->u.condition[0].right_saturation >> 1) & 255; in hidpp_ff_upload_effect()
2158 HIDPP_FF_CONDITION_NAMES[effect->type - FF_SPRING], in hidpp_ff_upload_effect()
2159 effect->u.condition[0].left_coeff, in hidpp_ff_upload_effect()
2160 effect->u.condition[0].left_saturation, in hidpp_ff_upload_effect()
2161 effect->u.condition[0].right_coeff, in hidpp_ff_upload_effect()
2162 effect->u.condition[0].right_saturation); in hidpp_ff_upload_effect()
2164 effect->u.condition[0].deadband, in hidpp_ff_upload_effect()
2165 effect->u.condition[0].center); in hidpp_ff_upload_effect()
2168 hid_err(data->hidpp->hid_dev, "Unexpected force type %i!\n", effect->type); in hidpp_ff_upload_effect()
2172 return hidpp_ff_queue_work(data, effect->id, HIDPP_FF_DOWNLOAD_EFFECT, params, size); in hidpp_ff_upload_effect()
2182 dbg_hid("St%sing playback of effect %d.\n", value?"art":"opp", effect_id); in hidpp_ff_playback()
2192 dbg_hid("Erasing effect %d.\n", effect_id); in hidpp_ff_erase_effect()
2204 /* start a standard spring effect */ in hidpp_ff_set_autocenter()