[PATCH] HID: hid-sony: Fix DS4 controller reporting rate issues

Subsystems: hid core layer, the rest

STALE4059d

4 messages, 3 authors, 2015-07-31 · open the first message on its own page

[PATCH] HID: hid-sony: Fix DS4 controller reporting rate issues

From: Rostislav Pehlivanov <hidden>
Date: 2015-07-28 07:39:34

 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.

Signed-off-by: Rostislav Pehlivanov <redacted>
---
 drivers/hid/hid-sony.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c
index ed2f008..3a6b6a9 100644
--- a/drivers/hid/hid-sony.c
+++ b/drivers/hid/hid-sony.c
@@ -1836,7 +1836,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;
 	}
-- 
2.5.0.rc2.392.g76e840b

Re: [PATCH] HID: hid-sony: Fix DS4 controller reporting rate issues

From: Jiri Kosina <hidden>
Date: 2015-07-29 12:19:50

On Tue, 28 Jul 2015, Rostislav Pehlivanov wrote:
quoted hunk
 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.

Signed-off-by: Rostislav Pehlivanov <redacted>
---
 drivers/hid/hid-sony.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c
index ed2f008..3a6b6a9 100644
--- a/drivers/hid/hid-sony.c
+++ b/drivers/hid/hid-sony.c
@@ -1836,7 +1836,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;
This got added by Frank in commit fdcf105d3d ("HID: sony: Add Dualshock 4 
Bluetooth output report formatting"). Adding him to CC to double-check.

-- 
Jiri Kosina
SUSE Labs

Re: [PATCH] HID: hid-sony: Fix DS4 controller reporting rate issues

From: Frank Praznik <hidden>
Date: 2015-07-29 14:28:43

On 7/29/2015 08:19, Jiri Kosina wrote:
On Tue, 28 Jul 2015, Rostislav Pehlivanov wrote:
quoted
  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.

Signed-off-by: Rostislav Pehlivanov <redacted>
---
  drivers/hid/hid-sony.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c
index ed2f008..3a6b6a9 100644
--- a/drivers/hid/hid-sony.c
+++ b/drivers/hid/hid-sony.c
@@ -1836,7 +1836,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;
This got added by Frank in commit fdcf105d3d ("HID: sony: Add Dualshock 4
Bluetooth output report formatting"). Adding him to CC to double-check.
I had some private communication with Rostislav about this fix and it 
looks good to me.  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.

Acked-by: Frank Praznik <redacted>

Re: [PATCH] HID: hid-sony: Fix DS4 controller reporting rate issues

From: Jiri Kosina <hidden>
Date: 2015-07-31 07:38:30

On Wed, 29 Jul 2015, Frank Praznik wrote:
quoted
quoted
  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.

Signed-off-by: Rostislav Pehlivanov <redacted>
---
  drivers/hid/hid-sony.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c
index ed2f008..3a6b6a9 100644
--- a/drivers/hid/hid-sony.c
+++ b/drivers/hid/hid-sony.c
@@ -1836,7 +1836,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;
This got added by Frank in commit fdcf105d3d ("HID: sony: Add Dualshock 4
Bluetooth output report formatting"). Adding him to CC to double-check.
I had some private communication with Rostislav about this fix and it looks
good to me.  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.

Acked-by: Frank Praznik <redacted>
Thanks. Applied to for-4.3/sony.

-- 
Jiri Kosina
SUSE Labs
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help