Home
last modified time | relevance | path

Searched refs:iforce (Results 1 – 15 of 15) sorted by relevance

/Linux-v4.19/drivers/input/joystick/iforce/
Diforce-serio.c26 void iforce_serial_xmit(struct iforce *iforce) in iforce_serial_xmit() argument
32 if (test_and_set_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags)) { in iforce_serial_xmit()
33 set_bit(IFORCE_XMIT_AGAIN, iforce->xmit_flags); in iforce_serial_xmit()
37 spin_lock_irqsave(&iforce->xmit_lock, flags); in iforce_serial_xmit()
40 if (iforce->xmit.head == iforce->xmit.tail) { in iforce_serial_xmit()
41 clear_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags); in iforce_serial_xmit()
42 spin_unlock_irqrestore(&iforce->xmit_lock, flags); in iforce_serial_xmit()
48 serio_write(iforce->serio, 0x2b); in iforce_serial_xmit()
50 serio_write(iforce->serio, iforce->xmit.buf[iforce->xmit.tail]); in iforce_serial_xmit()
51 cs ^= iforce->xmit.buf[iforce->xmit.tail]; in iforce_serial_xmit()
[all …]
Diforce-usb.c26 void iforce_usb_xmit(struct iforce *iforce) in iforce_usb_xmit() argument
31 spin_lock_irqsave(&iforce->xmit_lock, flags); in iforce_usb_xmit()
33 if (iforce->xmit.head == iforce->xmit.tail) { in iforce_usb_xmit()
34 clear_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags); in iforce_usb_xmit()
35 spin_unlock_irqrestore(&iforce->xmit_lock, flags); in iforce_usb_xmit()
39 ((char *)iforce->out->transfer_buffer)[0] = iforce->xmit.buf[iforce->xmit.tail]; in iforce_usb_xmit()
40 XMIT_INC(iforce->xmit.tail, 1); in iforce_usb_xmit()
41 n = iforce->xmit.buf[iforce->xmit.tail]; in iforce_usb_xmit()
42 XMIT_INC(iforce->xmit.tail, 1); in iforce_usb_xmit()
44 iforce->out->transfer_buffer_length = n + 1; in iforce_usb_xmit()
[all …]
Diforce-packets.c32 void iforce_dump_packet(struct iforce *iforce, char *msg, u16 cmd, unsigned char *data) in iforce_dump_packet() argument
34 dev_dbg(iforce->dev->dev.parent, "%s %s cmd = %04x, data = %*ph\n", in iforce_dump_packet()
41 int iforce_send_packet(struct iforce *iforce, u16 cmd, unsigned char* data) in iforce_send_packet() argument
53 spin_lock_irqsave(&iforce->xmit_lock, flags); in iforce_send_packet()
55 head = iforce->xmit.head; in iforce_send_packet()
56 tail = iforce->xmit.tail; in iforce_send_packet()
60 dev_warn(&iforce->dev->dev, in iforce_send_packet()
62 spin_unlock_irqrestore(&iforce->xmit_lock, flags); in iforce_send_packet()
67 XMIT_INC(iforce->xmit.head, n+2); in iforce_send_packet()
72 iforce->xmit.buf[head] = HI(cmd); in iforce_send_packet()
[all …]
Diforce-main.c80 struct iforce *iforce = input_get_drvdata(dev); in iforce_playback() local
81 struct iforce_core_effect *core_effect = &iforce->core_effects[effect_id]; in iforce_playback()
88 iforce_control_playback(iforce, effect_id, value); in iforce_playback()
94 struct iforce *iforce = input_get_drvdata(dev); in iforce_set_gain() local
98 iforce_send_packet(iforce, FF_CMD_GAIN, data); in iforce_set_gain()
103 struct iforce *iforce = input_get_drvdata(dev); in iforce_set_autocenter() local
108 iforce_send_packet(iforce, FF_CMD_AUTOCENTER, data); in iforce_set_autocenter()
112 iforce_send_packet(iforce, FF_CMD_AUTOCENTER, data); in iforce_set_autocenter()
121 struct iforce *iforce = input_get_drvdata(dev); in iforce_upload_effect() local
122 struct iforce_core_effect *core_effect = &iforce->core_effects[effect->id]; in iforce_upload_effect()
[all …]
Diforce-ff.c33 static int make_magnitude_modifier(struct iforce* iforce, in make_magnitude_modifier() argument
39 mutex_lock(&iforce->mem_mutex); in make_magnitude_modifier()
40 if (allocate_resource(&(iforce->device_memory), mod_chunk, 2, in make_magnitude_modifier()
41 iforce->device_memory.start, iforce->device_memory.end, 2L, in make_magnitude_modifier()
43 mutex_unlock(&iforce->mem_mutex); in make_magnitude_modifier()
46 mutex_unlock(&iforce->mem_mutex); in make_magnitude_modifier()
53 iforce_send_packet(iforce, FF_CMD_MAGNITUDE, data); in make_magnitude_modifier()
55 iforce_dump_packet(iforce, "magnitude", FF_CMD_MAGNITUDE, data); in make_magnitude_modifier()
63 static int make_period_modifier(struct iforce* iforce, in make_period_modifier() argument
72 mutex_lock(&iforce->mem_mutex); in make_period_modifier()
[all …]
Diforce.h96 struct iforce { struct
145 void iforce_serial_xmit(struct iforce *iforce);
148 void iforce_usb_xmit(struct iforce *iforce);
151 int iforce_init_device(struct iforce *iforce);
154 int iforce_control_playback(struct iforce*, u16 id, unsigned int);
155 void iforce_process_packet(struct iforce *iforce, u16 cmd, unsigned char *data);
156 int iforce_send_packet(struct iforce *iforce, u16 cmd, unsigned char* data);
157 void iforce_dump_packet(struct iforce *iforce, char *msg, u16 cmd, unsigned char *data);
158 int iforce_get_id_packet(struct iforce *iforce, char *packet);
161 int iforce_upload_periodic(struct iforce *, struct ff_effect *, struct ff_effect *);
[all …]
DMakefile7 obj-$(CONFIG_JOYSTICK_IFORCE) += iforce.o
9 iforce-y := iforce-ff.o iforce-main.o iforce-packets.o
10 iforce-$(CONFIG_JOYSTICK_IFORCE_232) += iforce-serio.o
11 iforce-$(CONFIG_JOYSTICK_IFORCE_USB) += iforce-usb.o
DKconfig13 module will be called iforce.
/Linux-v4.19/drivers/input/joystick/
DMakefile20 obj-$(CONFIG_JOYSTICK_IFORCE) += iforce/
DKconfig133 source "drivers/input/joystick/iforce/Kconfig"
/Linux-v4.19/Documentation/input/
Dff.rst38 If you have a serial iforce device, you need to start inputattach. See
231 the direction of an effect cannot be updated with iforce devices. In this
262 - Status feedback is only supported by iforce driver. If you have
Dinput.rst231 iforce subsection
/Linux-v4.19/arch/sparc/include/asm/
Dleon_amba.h97 u32 iforce; member
/Linux-v4.19/Documentation/input/devices/
Dxpad.rst209 His useful info and both the usb-skeleton as well as the iforce input driver
/Linux-v4.19/Documentation/input/joydev/
Djoystick.rst515 All I-Force devices are supported by the iforce module. This includes:
528 inputattach --iforce /dev/tts/x &