2023-11-22 21:07:46

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: [PATCH BlueZ v3 1/5] shared/util: Add GMAP related UUIDs

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

This adds GMAP 1.0[1] UUIDs following the assigned numbers[2].

[1] https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc_id=576496
[2] https://www.bluetooth.com/wp-content/uploads/Files/Specification/Assigned_Numbers.pdf?id=3
---
src/shared/util.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/src/shared/util.c b/src/shared/util.c
index bf37fce364ed..47efff750e30 100644
--- a/src/shared/util.c
+++ b/src/shared/util.c
@@ -773,6 +773,7 @@ static const struct {
{ 0x1854, "Hearing Aid" },
{ 0x1855, "Telephony and Media Audio" },
{ 0x1856, "Public Broadcast Announcement" },
+ { 0x1858, "Gaming Audio" },
/* 0x1857 to 0x27ff undefined */
{ 0x2800, "Primary Service" },
{ 0x2801, "Secondary Service" },
@@ -1081,6 +1082,11 @@ static const struct {
{ 0x2bda, "Hearing Aid Features" },
{ 0x2bdb, "Hearing Aid Preset Control Point" },
{ 0x2bdc, "Active Preset Index" },
+ { 0x2c00, "GMAP Role" },
+ { 0x2c01, "UGG Features" },
+ { 0x2c02, "UGT Features" },
+ { 0x2c03, "BGS Features" },
+ { 0x2c03, "BGR Features" },
/* vendor defined */
{ 0xfeff, "GN Netcom" },
{ 0xfefe, "GN ReSound A/S" },
--
2.42.0



2023-11-22 21:07:50

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: [PATCH BlueZ v3 4/5] isotest: Add presets from GMAP

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

This adds the following presets from GMAP:

16_1_gs
16_2_gs
32_1_gs
32_2_gs
48_1_gs
48_2_gs
32_1_gr
32_2_gr
48_1_gr
48_2_gr
48_3_gr
48_4_gr
---
tools/isotest.c | 13 +++++++++++++
1 file changed, 13 insertions(+)

diff --git a/tools/isotest.c b/tools/isotest.c
index 234e4f1b0453..2c682bc899fc 100644
--- a/tools/isotest.c
+++ b/tools/isotest.c
@@ -1089,6 +1089,19 @@ static struct qos_preset {
QOS_PRESET("48_4_2", false, 10000, 60, 120, 0x02, 23),
QOS_PRESET("48_5_2", false, 7500, 45, 117, 0x02, 23),
QOS_PRESET("44_6_2", false, 10000, 60, 155, 0x02, 23),
+ /* QoS configuration support setting requirements for the UGG and UGT */
+ QOS_PRESET("16_1_gs", true, 7500, 15, 30, 0x02, 1),
+ QOS_PRESET("16_2_gs", true, 10000, 20, 40, 0x02, 1),
+ QOS_PRESET("32_1_gs", true, 7500, 15, 60, 0x02, 1),
+ QOS_PRESET("32_2_gs", true, 10000, 20, 80, 0x02, 1),
+ QOS_PRESET("48_1_gs", true, 7500, 15, 75, 0x02, 1),
+ QOS_PRESET("48_2_gs", true, 10000, 20, 100, 0x02, 1),
+ QOS_PRESET("32_1_gr", true, 7500, 15, 60, 0x02, 1),
+ QOS_PRESET("32_2_gr", true, 10000, 20, 80, 0x02, 1),
+ QOS_PRESET("48_1_gr", true, 7500, 15, 75, 0x02, 1),
+ QOS_PRESET("48_2_gr", true, 10000, 20, 100, 0x02, 1),
+ QOS_PRESET("48_3_gr", true, 7500, 15, 90, 0x02, 1),
+ QOS_PRESET("48_4_gr", true, 10000, 20, 120, 0x02, 1),
};

#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
--
2.42.0


2023-11-22 21:08:19

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: [PATCH BlueZ v3 5/5] client/player: Add presets from GMAP

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

This adds the following presets from GMAP:

16_1_gs
16_2_gs
32_1_gs
32_2_gs
48_1_gs
48_2_gs
32_1_gr
32_2_gr
48_1_gr
48_2_gr
48_3_gr
48_4_gr
32_1_gr_l+r
32_2_gr_l+r
48_1_gr_l+r
48_2_gr_l+r
48_3_gr_l+r
48_4_gr_l+r
---
client/player.c | 76 ++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 75 insertions(+), 1 deletion(-)

diff --git a/client/player.c b/client/player.c
index 715598aa9405..4673d2efece8 100644
--- a/client/player.c
+++ b/client/player.c
@@ -1314,6 +1314,13 @@ static struct codec_preset sbc_presets[] = {
0x02, LC3_CONFIG_DURATION, _duration, \
0x03, LC3_CONFIG_FRAME_LEN, _len, _len >> 8)

+#define LC3_PRESET_DATA_ALL(_freq, _duration, _alloc, _len) \
+ CODEC_DATA(0x02, LC3_CONFIG_FREQ, _freq, \
+ 0x02, LC3_CONFIG_DURATION, _duration, \
+ 0x05, LC3_CONFIG_CHAN_ALLOC, _alloc, _alloc >> 8, \
+ _alloc >> 16, _alloc >> 24, \
+ 0x03, LC3_CONFIG_FRAME_LEN, _len, _len >> 8)
+
#define LC3_PRESET_8KHZ(_duration, _len) \
LC3_PRESET_DATA(LC3_CONFIG_FREQ_8KHZ, _duration, _len)

@@ -1332,18 +1339,24 @@ static struct codec_preset sbc_presets[] = {
#define LC3_PRESET_32KHZ(_duration, _len) \
LC3_PRESET_DATA(LC3_CONFIG_FREQ_32KHZ, _duration, _len)

+#define LC3_PRESET_32KHZ_ALL(_duration, _len, _alloc) \
+ LC3_PRESET_DATA_ALL(LC3_CONFIG_FREQ_48KHZ, _duration, _alloc, _len)
+
#define LC3_PRESET_44KHZ(_duration, _len) \
LC3_PRESET_DATA(LC3_CONFIG_FREQ_44KHZ, _duration, _len)

#define LC3_PRESET_48KHZ(_duration, _len) \
LC3_PRESET_DATA(LC3_CONFIG_FREQ_48KHZ, _duration, _len)

+#define LC3_PRESET_48KHZ_ALL(_duration, _len, _alloc) \
+ LC3_PRESET_DATA_ALL(LC3_CONFIG_FREQ_48KHZ, _duration, _alloc, _len)
+
#define LC3_PRESET_LL(_name, _data, _qos) \
{ \
.name = _name, \
.data = _data, \
.qos = _qos, \
- .latency = 0x01, \
+ .target_latency = 0x01, \
}

#define LC3_PRESET(_name, _data, _qos) \
@@ -1461,6 +1474,67 @@ static struct codec_preset lc3_presets[] = {
LC3_PRESET_HR("48_6_2",
LC3_PRESET_48KHZ(LC3_CONFIG_DURATION_10, 155u),
LC3_10_UNFRAMED(155u, 13u, 100u, 40000u)),
+ /* QoS configuration support setting requirements for the UGG and UGT */
+ LC3_PRESET_LL("16_1_gs",
+ LC3_PRESET_16KHZ(LC3_CONFIG_DURATION_7_5, 30u),
+ LC3_7_5_UNFRAMED(30u, 1u, 15u, 60000u)),
+ LC3_PRESET_LL("16_2_gs",
+ LC3_PRESET_16KHZ(LC3_CONFIG_DURATION_10, 40u),
+ LC3_10_UNFRAMED(40u, 1u, 20u, 60000u)),
+ LC3_PRESET_LL("32_1_gs",
+ LC3_PRESET_32KHZ(LC3_CONFIG_DURATION_7_5, 60u),
+ LC3_7_5_UNFRAMED(60u, 1u, 15u, 60000u)),
+ LC3_PRESET_LL("32_2_gs",
+ LC3_PRESET_32KHZ(LC3_CONFIG_DURATION_10, 80u),
+ LC3_10_UNFRAMED(80u, 1u, 20u, 60000u)),
+ LC3_PRESET_LL("48_1_gs",
+ LC3_PRESET_48KHZ(LC3_CONFIG_DURATION_7_5, 75u),
+ LC3_7_5_UNFRAMED(75u, 1u, 15u, 60000u)),
+ LC3_PRESET_LL("48_2_gs",
+ LC3_PRESET_48KHZ(LC3_CONFIG_DURATION_10, 100u),
+ LC3_10_UNFRAMED(100u, 1u, 20u, 60000u)),
+ LC3_PRESET_LL("32_1_gr",
+ LC3_PRESET_32KHZ(LC3_CONFIG_DURATION_7_5, 60u),
+ LC3_7_5_UNFRAMED(60u, 1u, 15u, 10000u)),
+ LC3_PRESET_LL("32_2_gr",
+ LC3_PRESET_32KHZ(LC3_CONFIG_DURATION_10, 80u),
+ LC3_10_UNFRAMED(80u, 1u, 20u, 10000u)),
+ LC3_PRESET_LL("48_1_gr",
+ LC3_PRESET_48KHZ(LC3_CONFIG_DURATION_7_5, 75u),
+ LC3_7_5_UNFRAMED(75u, 1u, 15u, 10000u)),
+ LC3_PRESET_LL("48_2_gr",
+ LC3_PRESET_48KHZ(LC3_CONFIG_DURATION_10, 100u),
+ LC3_10_UNFRAMED(100u, 1u, 20u, 10000u)),
+ LC3_PRESET_LL("48_3_gr",
+ LC3_PRESET_48KHZ(LC3_CONFIG_DURATION_7_5, 90u),
+ LC3_7_5_UNFRAMED(90u, 1u, 15u, 10000u)),
+ LC3_PRESET_LL("48_4_gr",
+ LC3_PRESET_48KHZ(LC3_CONFIG_DURATION_10, 120u),
+ LC3_10_UNFRAMED(120u, 1u, 20u, 10000u)),
+ LC3_PRESET_LL("32_1_gr_l+r",
+ LC3_PRESET_32KHZ_ALL(LC3_CONFIG_DURATION_7_5, 60u,
+ 0x00000003),
+ LC3_7_5_UNFRAMED(2 * 60u, 1u, 15u, 10000u)),
+ LC3_PRESET_LL("32_2_gr_l+r",
+ LC3_PRESET_32KHZ_ALL(LC3_CONFIG_DURATION_10, 80u,
+ 0x00000003),
+ LC3_10_UNFRAMED(2 * 80u, 1u, 20u, 10000u)),
+ LC3_PRESET_LL("48_1_gr_l+r",
+ LC3_PRESET_48KHZ_ALL(LC3_CONFIG_DURATION_7_5, 75u,
+ 0x00000003),
+ LC3_7_5_UNFRAMED(2 * 75u, 1u, 15u, 10000u)),
+ LC3_PRESET_LL("48_2_gr_l+r",
+ LC3_PRESET_48KHZ_ALL(LC3_CONFIG_DURATION_10, 100u,
+ 0x00000003),
+ LC3_10_UNFRAMED(2 * 100u, 1u, 20u, 10000u)),
+ LC3_PRESET_LL("48_3_gr_l+r",
+ LC3_PRESET_48KHZ_ALL(LC3_CONFIG_DURATION_7_5, 90u,
+ 0x00000003),
+ LC3_7_5_UNFRAMED(2 * 90u, 1u, 15u, 10000u)),
+ LC3_PRESET_LL("48_4_gr_l+r",
+ LC3_PRESET_48KHZ_ALL(LC3_CONFIG_DURATION_10, 120u,
+ 0x00000003),
+ LC3_10_UNFRAMED(2 * 120u, 1u, 20u, 10000u)),
};

static void print_ltv(const char *str, void *user_data)
--
2.42.0


2023-11-22 22:57:29

by bluez.test.bot

[permalink] [raw]
Subject: RE: [BlueZ,v3,1/5] shared/util: Add GMAP related UUIDs

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

---Test result---

Test Summary:
CheckPatch FAIL 3.57 seconds
GitLint FAIL 1.76 seconds
BuildEll PASS 24.17 seconds
BluezMake PASS 551.15 seconds
MakeCheck PASS 10.80 seconds
MakeDistcheck PASS 150.98 seconds
CheckValgrind PASS 211.28 seconds
CheckSmatch WARNING 317.05 seconds
bluezmakeextell PASS 97.05 seconds
IncrementalBuild PASS 2548.70 seconds
ScanBuild PASS 886.11 seconds

Details
##############################
Test: CheckPatch - FAIL
Desc: Run checkpatch.pl script
Output:
[BlueZ,v3,1/5] shared/util: Add GMAP related UUIDs
WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#72:
[1] https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc_id=576496

/github/workspace/src/src/13465437.patch total: 0 errors, 1 warnings, 18 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/13465437.patch has style problems, please review.

NOTE: Ignored message types: COMMIT_MESSAGE COMPLEX_MACRO CONST_STRUCT FILE_PATH_CHANGES MISSING_SIGN_OFF PREFER_PACKED SPDX_LICENSE_TAG SPLIT_STRING SSCANF_TO_KSTRTO

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:
[BlueZ,v3,1/5] shared/util: Add GMAP related UUIDs

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
8: B1 Line exceeds max length (94>80): "[2] https://www.bluetooth.com/wp-content/uploads/Files/Specification/Assigned_Numbers.pdf?id=3"
##############################
Test: CheckSmatch - WARNING
Desc: Run smatch tool with source
Output:
monitor/att.c: note: in included file:monitor/display.h:82:26: warning: Variable length array is used.


---
Regards,
Linux Bluetooth

2023-11-27 15:21:00

by patchwork-bot+bluetooth

[permalink] [raw]
Subject: Re: [PATCH BlueZ v3 1/5] shared/util: Add GMAP related UUIDs

Hello:

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

On Wed, 22 Nov 2023 16:07:23 -0500 you wrote:
> From: Luiz Augusto von Dentz <[email protected]>
>
> This adds GMAP 1.0[1] UUIDs following the assigned numbers[2].
>
> [1] https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc_id=576496
> [2] https://www.bluetooth.com/wp-content/uploads/Files/Specification/Assigned_Numbers.pdf?id=3
>
> [...]

Here is the summary with links:
- [BlueZ,v3,1/5] shared/util: Add GMAP related UUIDs
https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=e94853608c80
- [BlueZ,v3,2/5] monitor/att: Add GMAS attribute decoders
https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=6af3b7290a3a
- [BlueZ,v3,3/5] iso-tester: Add presets from GMAP
https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=c9b48a6f84a8
- [BlueZ,v3,4/5] isotest: Add presets from GMAP
https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=506413dba872
- [BlueZ,v3,5/5] client/player: Add presets from GMAP
https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=813e1ce11993

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