2023-01-30 18:38:26

by Pauli Virtanen

[permalink] [raw]
Subject: [PATCH] Bluetooth: MGMT: add CIS feature bits to controller information

Userspace needs to know whether the adapter has feature support for
Connected Isochronous Stream - Central/Peripheral, so it can set up
LE Audio features accordingly.

Expose these feature bits as settings in MGMT controller info.

Signed-off-by: Pauli Virtanen <[email protected]>
---

Notes:
In BlueZ doc/mgmt-api.txt, it says bit 18 is for Quality Report,
but that's not implemented on kernel side. I'm assuming here the docs
are not correct, since it's not implemented on kernel side.

In principle the Isochronous Broadcaster / Synchronized Receiver feature
bits may be similarly needed. These probably can be added later when
there's a clear use case.

include/net/bluetooth/mgmt.h | 2 ++
net/bluetooth/mgmt.c | 12 ++++++++++++
2 files changed, 14 insertions(+)

diff --git a/include/net/bluetooth/mgmt.h b/include/net/bluetooth/mgmt.h
index 743f6f59dff8..e18a927669c0 100644
--- a/include/net/bluetooth/mgmt.h
+++ b/include/net/bluetooth/mgmt.h
@@ -109,6 +109,8 @@ struct mgmt_rp_read_index_list {
#define MGMT_SETTING_STATIC_ADDRESS 0x00008000
#define MGMT_SETTING_PHY_CONFIGURATION 0x00010000
#define MGMT_SETTING_WIDEBAND_SPEECH 0x00020000
+#define MGMT_SETTING_CIS_CENTRAL 0x00040000
+#define MGMT_SETTING_CIS_PERIPHERAL 0x00080000

#define MGMT_OP_READ_INFO 0x0004
#define MGMT_READ_INFO_SIZE 0
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index 0dd30a3beb77..a8d23770d469 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -859,6 +859,12 @@ static u32 get_supported_settings(struct hci_dev *hdev)
hdev->set_bdaddr)
settings |= MGMT_SETTING_CONFIGURATION;

+ if (cis_central_capable(hdev))
+ settings |= MGMT_SETTING_CIS_CENTRAL;
+
+ if (cis_peripheral_capable(hdev))
+ settings |= MGMT_SETTING_CIS_PERIPHERAL;
+
settings |= MGMT_SETTING_PHY_CONFIGURATION;

return settings;
@@ -932,6 +938,12 @@ static u32 get_current_settings(struct hci_dev *hdev)
if (hci_dev_test_flag(hdev, HCI_WIDEBAND_SPEECH_ENABLED))
settings |= MGMT_SETTING_WIDEBAND_SPEECH;

+ if (cis_central_capable(hdev))
+ settings |= MGMT_SETTING_CIS_CENTRAL;
+
+ if (cis_peripheral_capable(hdev))
+ settings |= MGMT_SETTING_CIS_PERIPHERAL;
+
return settings;
}

--
2.39.1



2023-01-30 19:00:58

by bluez.test.bot

[permalink] [raw]
Subject: RE: Bluetooth: MGMT: add CIS feature bits to controller information

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=717082

---Test result---

Test Summary:
CheckPatch PASS 1.22 seconds
GitLint FAIL 0.62 seconds
SubjectPrefix PASS 0.13 seconds
BuildKernel PASS 31.56 seconds
CheckAllWarning PASS 34.38 seconds
CheckSparse PASS 39.59 seconds
CheckSmatch PASS 108.21 seconds
BuildKernel32 PASS 30.43 seconds
TestRunnerSetup PASS 437.15 seconds
TestRunner_l2cap-tester PASS 16.39 seconds
TestRunner_iso-tester PASS 16.42 seconds
TestRunner_bnep-tester PASS 5.45 seconds
TestRunner_mgmt-tester PASS 108.87 seconds
TestRunner_rfcomm-tester PASS 8.75 seconds
TestRunner_sco-tester PASS 8.06 seconds
TestRunner_ioctl-tester PASS 9.35 seconds
TestRunner_mesh-tester PASS 6.90 seconds
TestRunner_smp-tester PASS 7.96 seconds
TestRunner_userchan-tester PASS 5.73 seconds
IncrementalBuild PASS 28.60 seconds

Details
##############################
Test: GitLint - FAIL
Desc: Run gitlint
Output:
Bluetooth: MGMT: add CIS feature bits to controller information

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
16: B2 Line has trailing whitespace: " "


---
Regards,
Linux Bluetooth

2023-02-01 00:10:19

by patchwork-bot+bluetooth

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: MGMT: add CIS feature bits to controller information

Hello:

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

On Mon, 30 Jan 2023 20:37:01 +0200 you wrote:
> Userspace needs to know whether the adapter has feature support for
> Connected Isochronous Stream - Central/Peripheral, so it can set up
> LE Audio features accordingly.
>
> Expose these feature bits as settings in MGMT controller info.
>
> Signed-off-by: Pauli Virtanen <[email protected]>
>
> [...]

Here is the summary with links:
- Bluetooth: MGMT: add CIS feature bits to controller information
https://git.kernel.org/bluetooth/bluetooth-next/c/d2e9c401579a

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