2023-06-08 18:52:13

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: [PATCH] Bluetooth: ISO: Rework sync_interval to be sync_factor

From: Luiz Augusto von Dentz <[email protected]>

This rework sync_interval to be sync_factor as having sync_interval in
the order of seconds is sometimes not disarable.

Wit sync_factor the application can tell how many SDU intervals it wants
to send an announcement with PA, the EA interval is set to 2 times that
so a factor of 24 of BIG SDU interval of 10ms would look like the
following:

< HCI Command: LE Set Extended Advertising Parameters (0x08|0x0036) plen 25
Handle: 0x01
Properties: 0x0000
Min advertising interval: 480.000 msec (0x0300)
Max advertising interval: 480.000 msec (0x0300)
Channel map: 37, 38, 39 (0x07)
Own address type: Random (0x01)
Peer address type: Public (0x00)
Peer address: 00:00:00:00:00:00 (OUI 00-00-00)
Filter policy: Allow Scan Request from Any, Allow Connect Request from Any (0x00)
TX power: Host has no preference (0x7f)
Primary PHY: LE 1M (0x01)
Secondary max skip: 0x00
Secondary PHY: LE 2M (0x02)
SID: 0x00
Scan request notifications: Disabled (0x00)
< HCI Command: LE Set Periodic Advertising Parameters (0x08|0x003e) plen 7
Handle: 1
Min interval: 240.00 msec (0x00c0)
Max interval: 240.00 msec (0x00c0)
Properties: 0x0000

Signed-off-by: Luiz Augusto von Dentz <[email protected]>
---
include/net/bluetooth/bluetooth.h | 2 +-
net/bluetooth/hci_conn.c | 4 ++--
net/bluetooth/iso.c | 4 ++--
3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/include/net/bluetooth/bluetooth.h b/include/net/bluetooth/bluetooth.h
index 310231e47b3d..34998ae8ed78 100644
--- a/include/net/bluetooth/bluetooth.h
+++ b/include/net/bluetooth/bluetooth.h
@@ -185,7 +185,7 @@ struct bt_iso_ucast_qos {
struct bt_iso_bcast_qos {
__u8 big;
__u8 bis;
- __u8 sync_interval;
+ __u8 sync_factor;
__u8 packing;
__u8 framing;
struct bt_iso_io_qos in;
diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
index 7d4941e6dbdf..930fa38841bc 100644
--- a/net/bluetooth/hci_conn.c
+++ b/net/bluetooth/hci_conn.c
@@ -2074,10 +2074,10 @@ static int create_big_sync(struct hci_dev *hdev, void *data)
flags |= MGMT_ADV_FLAG_SEC_2M;

/* Align intervals */
- interval = qos->bcast.out.interval / 1250;
+ interval = (qos->bcast.out.interval / 1250) * qos->bcast.sync_factor;

if (qos->bcast.bis)
- sync_interval = qos->bcast.sync_interval * 1600;
+ sync_interval = interval * 4;

err = hci_start_per_adv_sync(hdev, qos->bcast.bis, conn->le_per_adv_data_len,
conn->le_per_adv_data, flags, interval,
diff --git a/net/bluetooth/iso.c b/net/bluetooth/iso.c
index b9a008fd10b1..c7db728eb84f 100644
--- a/net/bluetooth/iso.c
+++ b/net/bluetooth/iso.c
@@ -718,7 +718,7 @@ static struct bt_iso_qos default_qos = {
.bcast = {
.big = BT_ISO_QOS_BIG_UNSET,
.bis = BT_ISO_QOS_BIS_UNSET,
- .sync_interval = 0x00,
+ .sync_factor = 0x01,
.packing = 0x00,
.framing = 0x00,
.in = DEFAULT_IO_QOS,
@@ -1219,7 +1219,7 @@ static bool check_ucast_qos(struct bt_iso_qos *qos)

static bool check_bcast_qos(struct bt_iso_qos *qos)
{
- if (qos->bcast.sync_interval > 0x07)
+ if (qos->bcast.sync_factor == 0x00)
return false;

if (qos->bcast.packing > 0x01)
--
2.40.1



2023-06-08 19:04:14

by bluez.test.bot

[permalink] [raw]
Subject: RE: Bluetooth: ISO: Rework sync_interval to be sync_factor

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=755411

---Test result---

Test Summary:
CheckPatch FAIL 1.20 seconds
GitLint FAIL 0.55 seconds
SubjectPrefix PASS 0.09 seconds
BuildKernel PASS 32.31 seconds
CheckAllWarning PASS 34.94 seconds
CheckSparse PASS 39.56 seconds
CheckSmatch PASS 110.57 seconds
BuildKernel32 PASS 30.77 seconds
TestRunnerSetup PASS 439.85 seconds
TestRunner_l2cap-tester PASS 16.79 seconds
TestRunner_iso-tester PASS 21.88 seconds
TestRunner_bnep-tester PASS 5.30 seconds
TestRunner_mgmt-tester PASS 111.91 seconds
TestRunner_rfcomm-tester PASS 8.55 seconds
TestRunner_sco-tester PASS 7.86 seconds
TestRunner_ioctl-tester PASS 9.20 seconds
TestRunner_mesh-tester PASS 6.77 seconds
TestRunner_smp-tester PASS 7.78 seconds
TestRunner_userchan-tester PASS 5.55 seconds
IncrementalBuild PASS 29.31 seconds

Details
##############################
Test: CheckPatch - FAIL
Desc: Run checkpatch.pl script
Output:
Bluetooth: ISO: Rework sync_interval to be sync_factor
WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#98:
Filter policy: Allow Scan Request from Any, Allow Connect Request from Any (0x00)

total: 0 errors, 1 warnings, 0 checks, 36 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-inplace.

/github/workspace/src/src/13272671.patch has style problems, please review.

NOTE: Ignored message types: UNKNOWN_COMMIT_ID

NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.


##############################
Test: GitLint - FAIL
Desc: Run gitlint
Output:
Bluetooth: ISO: Rework sync_interval to be sync_factor

WARNING: I3 - ignore-body-lines: gitlint will be switching from using Python regex 'match' (match beginning) to 'search' (match anywhere) semantics. Please review your ignore-body-lines.regex option accordingly. To remove this warning, set general.regex-style-search=True. More details: https://jorisroovers.github.io/gitlint/configuration/#regex-style-search
22: B1 Line exceeds max length (89>80): " Filter policy: Allow Scan Request from Any, Allow Connect Request from Any (0x00)"


---
Regards,
Linux Bluetooth

2023-06-20 18:36:50

by patchwork-bot+bluetooth

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: ISO: Rework sync_interval to be sync_factor

Hello:

This patch was applied to bluetooth/bluetooth-next.git (master)
by Luiz Augusto von Dentz <[email protected]>:

On Thu, 8 Jun 2023 11:20:37 -0700 you wrote:
> From: Luiz Augusto von Dentz <[email protected]>
>
> This rework sync_interval to be sync_factor as having sync_interval in
> the order of seconds is sometimes not disarable.
>
> Wit sync_factor the application can tell how many SDU intervals it wants
> to send an announcement with PA, the EA interval is set to 2 times that
> so a factor of 24 of BIG SDU interval of 10ms would look like the
> following:
>
> [...]

Here is the summary with links:
- Bluetooth: ISO: Rework sync_interval to be sync_factor
https://git.kernel.org/bluetooth/bluetooth-next/c/cb3fdf2ebf99

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html