Linux-Bluetooth Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH 0/2] Bluetooth: Update LE scanning parameters for suspend
@ 2020-05-13  2:09 Abhishek Pandit-Subedi
  2020-05-13  2:09 ` [PATCH 1/2] Bluetooth: Fix incorrect type for window and interval Abhishek Pandit-Subedi
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Abhishek Pandit-Subedi @ 2020-05-13  2:09 UTC (permalink / raw)
  To: marcel, linux-bluetooth
  Cc: chromeos-bluetooth-upstreaming, Abhishek Pandit-Subedi,
	David S. Miller, Johan Hedberg, netdev, linux-kernel,
	Jakub Kicinski


Hi linux-bluetooth,

This series updates the values used for window and interval when the
system suspends. It also fixes a u8 vs u16 bug when setting up passive
scanning.

The values chosen for window and interval are 11.25ms and 640ms. I have
tested these on several Chromebooks with different LE peers (mouse,
keyboard, Raspberry Pi running bluez) and all of them are able to wake
the system with those parameters.

Thanks
Abhishek



Abhishek Pandit-Subedi (2):
  Bluetooth: Fix incorrect type for window and interval
  Bluetooth: Modify LE window and interval for suspend

 net/bluetooth/hci_request.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
2.26.2.645.ge9eca65c58-goog


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/2] Bluetooth: Fix incorrect type for window and interval
  2020-05-13  2:09 [PATCH 0/2] Bluetooth: Update LE scanning parameters for suspend Abhishek Pandit-Subedi
@ 2020-05-13  2:09 ` Abhishek Pandit-Subedi
  2020-05-13  2:09 ` [PATCH 2/2] Bluetooth: Modify LE window and interval for suspend Abhishek Pandit-Subedi
  2020-05-13  6:51 ` [PATCH 0/2] Bluetooth: Update LE scanning parameters " Marcel Holtmann
  2 siblings, 0 replies; 4+ messages in thread
From: Abhishek Pandit-Subedi @ 2020-05-13  2:09 UTC (permalink / raw)
  To: marcel, linux-bluetooth
  Cc: chromeos-bluetooth-upstreaming, Abhishek Pandit-Subedi,
	David S. Miller, Johan Hedberg, netdev, linux-kernel,
	Jakub Kicinski

The types for window and interval should be uint16, not uint8.

Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
---

 net/bluetooth/hci_request.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/bluetooth/hci_request.c b/net/bluetooth/hci_request.c
index 3f470f0e432c7..f6870e98faab2 100644
--- a/net/bluetooth/hci_request.c
+++ b/net/bluetooth/hci_request.c
@@ -890,7 +890,7 @@ void hci_req_add_le_passive_scan(struct hci_request *req)
 	struct hci_dev *hdev = req->hdev;
 	u8 own_addr_type;
 	u8 filter_policy;
-	u8 window, interval;
+	u16 window, interval;
 
 	if (hdev->scanning_paused) {
 		bt_dev_dbg(hdev, "Scanning is paused for suspend");
-- 
2.26.2.645.ge9eca65c58-goog


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 2/2] Bluetooth: Modify LE window and interval for suspend
  2020-05-13  2:09 [PATCH 0/2] Bluetooth: Update LE scanning parameters for suspend Abhishek Pandit-Subedi
  2020-05-13  2:09 ` [PATCH 1/2] Bluetooth: Fix incorrect type for window and interval Abhishek Pandit-Subedi
@ 2020-05-13  2:09 ` Abhishek Pandit-Subedi
  2020-05-13  6:51 ` [PATCH 0/2] Bluetooth: Update LE scanning parameters " Marcel Holtmann
  2 siblings, 0 replies; 4+ messages in thread
From: Abhishek Pandit-Subedi @ 2020-05-13  2:09 UTC (permalink / raw)
  To: marcel, linux-bluetooth
  Cc: chromeos-bluetooth-upstreaming, Abhishek Pandit-Subedi,
	David S. Miller, Johan Hedberg, netdev, linux-kernel,
	Jakub Kicinski

When a device is suspended, it doesn't need to be as responsive to
connection events. Increase the interval to 640ms (creating a duty cycle
of roughly 1.75%) so that passive scanning uses much less power (vs
previous duty cycle of 18.75%). The new window + interval combination
has been tested to work with HID devices (which are currently the only
devices capable of wake up).

Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
---

 net/bluetooth/hci_request.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/bluetooth/hci_request.c b/net/bluetooth/hci_request.c
index f6870e98faab2..6b45e31432a77 100644
--- a/net/bluetooth/hci_request.c
+++ b/net/bluetooth/hci_request.c
@@ -35,7 +35,7 @@
 #define HCI_REQ_CANCELED  2
 
 #define LE_SUSPEND_SCAN_WINDOW		0x0012
-#define LE_SUSPEND_SCAN_INTERVAL	0x0060
+#define LE_SUSPEND_SCAN_INTERVAL	0x0400
 
 void hci_req_init(struct hci_request *req, struct hci_dev *hdev)
 {
-- 
2.26.2.645.ge9eca65c58-goog


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 0/2] Bluetooth: Update LE scanning parameters for suspend
  2020-05-13  2:09 [PATCH 0/2] Bluetooth: Update LE scanning parameters for suspend Abhishek Pandit-Subedi
  2020-05-13  2:09 ` [PATCH 1/2] Bluetooth: Fix incorrect type for window and interval Abhishek Pandit-Subedi
  2020-05-13  2:09 ` [PATCH 2/2] Bluetooth: Modify LE window and interval for suspend Abhishek Pandit-Subedi
@ 2020-05-13  6:51 ` Marcel Holtmann
  2 siblings, 0 replies; 4+ messages in thread
From: Marcel Holtmann @ 2020-05-13  6:51 UTC (permalink / raw)
  To: Abhishek Pandit-Subedi
  Cc: BlueZ, ChromeOS Bluetooth Upstreaming, David S. Miller,
	Johan Hedberg, netdev, LKML, Jakub Kicinski

Hi Abhishek,

> This series updates the values used for window and interval when the
> system suspends. It also fixes a u8 vs u16 bug when setting up passive
> scanning.
> 
> The values chosen for window and interval are 11.25ms and 640ms. I have
> tested these on several Chromebooks with different LE peers (mouse,
> keyboard, Raspberry Pi running bluez) and all of them are able to wake
> the system with those parameters.
> 
> Thanks
> Abhishek
> 
> 
> 
> Abhishek Pandit-Subedi (2):
>  Bluetooth: Fix incorrect type for window and interval
>  Bluetooth: Modify LE window and interval for suspend
> 
> net/bluetooth/hci_request.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)

both patches have been applied to bluetooth-next tree.

Regards

Marcel


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, back to index

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-13  2:09 [PATCH 0/2] Bluetooth: Update LE scanning parameters for suspend Abhishek Pandit-Subedi
2020-05-13  2:09 ` [PATCH 1/2] Bluetooth: Fix incorrect type for window and interval Abhishek Pandit-Subedi
2020-05-13  2:09 ` [PATCH 2/2] Bluetooth: Modify LE window and interval for suspend Abhishek Pandit-Subedi
2020-05-13  6:51 ` [PATCH 0/2] Bluetooth: Update LE scanning parameters " Marcel Holtmann

Linux-Bluetooth Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-bluetooth/0 linux-bluetooth/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-bluetooth linux-bluetooth/ https://lore.kernel.org/linux-bluetooth \
		linux-bluetooth@vger.kernel.org
	public-inbox-index linux-bluetooth

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-bluetooth


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git