HID: sony: Fix DS4 controller reporting rate issues
authorRostislav Pehlivanov <atomnuker@gmail.com>
Tue, 28 Jul 2015 07:38:47 +0000 (08:38 +0100)
committerJiri Kosina <jkosina@suse.com>
Fri, 31 Jul 2015 07:36:54 +0000 (09:36 +0200)
This commit removes the cap on the DualShock 4 controller reporting rate when
connected using Bluetooth. The previous value of '0xB0' capped the rate to only
20.83 Hz which many userspace utilities mistook as a sign of a bad signal.
Since a 'B' and an '8' can look similar it's possible that someone mistook the
one for another.  The new value of '0x80' enables the full 1000 Hz peak
reporting rate that the controller is capable of.

Frank adds: "Back when the original code was written the purpose of that value
was unknown and 0xB0 seemed to work so that's what ended up being used.  Now
that we know what it actually does and that 0x80 is a better choice I support
this patch."

[jkosina@suse.com: update changelog]
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Acked-by: Frank Praznik <frank.praznik@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
drivers/hid/hid-sony.c

index ed0496abf573a90be06b0c1f7a2cd785e1a52616..661f94f8ab8b0b0aafc9dace1073b08849e23784 100644 (file)
@@ -1854,7 +1854,7 @@ static void dualshock4_state_worker(struct work_struct *work)
        } else {
                memset(buf, 0, DS4_REPORT_0x11_SIZE);
                buf[0] = 0x11;
-               buf[1] = 0xB0;
+               buf[1] = 0x80;
                buf[3] = 0x0F;
                offset = 6;
        }