2021-08-15 00:13:55

by K, Kiran

[permalink] [raw]
Subject: [PATCH] mgmt: Set offload codec mgmt feature

Signed-off-by: Kiran K <[email protected]>
---
tools/btmgmt.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)

diff --git a/tools/btmgmt.c b/tools/btmgmt.c
index 7d908238156d..c5f55ae1290c 100644
--- a/tools/btmgmt.c
+++ b/tools/btmgmt.c
@@ -2554,6 +2554,48 @@ static void cmd_privacy(int argc, char **argv)
}
}

+static void exp_offload_rsp(uint8_t status, uint16_t len, const void *param,
+ void *user_data)
+{
+ if (status != 0)
+ error("Set offload codec feature failed with status 0x%02x (%s)",
+ status, mgmt_errstr(status));
+ else
+ print("Offload codec feature successfully set");
+
+ bt_shell_noninteractive_quit(EXIT_SUCCESS);
+}
+
+static void cmd_exp_offload_codecs(int argc, char **argv)
+{
+ /* a6695ace-ee7f-4fb9-881a-5fac66c629af */
+ static const uint8_t uuid[16] = {
+ 0xaf, 0x29, 0xc6, 0x66, 0xac, 0x5f, 0x1a, 0x88,
+ 0xb9, 0x4f, 0x7f, 0xee, 0xce, 0x5a, 0x69, 0xa6,
+ };
+
+ struct mgmt_cp_set_exp_feature cp;
+ uint8_t val;
+ uint16_t index;
+
+ if (parse_setting(argc, argv, &val) == false)
+ return bt_shell_noninteractive_quit(EXIT_FAILURE);
+
+ index = mgmt_index;
+ if (index == MGMT_INDEX_NONE)
+ index = 0;
+
+ memset(&cp, 0, sizeof(cp));
+ memcpy(cp.uuid, uuid, 16);
+ cp.action = val;
+
+ if (mgmt_send(mgmt, MGMT_OP_SET_EXP_FEATURE, index,
+ sizeof(cp), &cp, exp_offload_rsp, NULL, NULL) == 0) {
+ error("Unable to send offload codecs feature cmd");
+ return bt_shell_noninteractive_quit(EXIT_FAILURE);
+ }
+}
+
static void class_rsp(uint16_t op, uint16_t id, uint8_t status, uint16_t len,
const void *param)
{
@@ -5595,6 +5637,8 @@ static const struct bt_shell_menu main_menu = {
cmd_exp_privacy, "Set LL privacy feature" },
{ "exp-quality", "<on/off>", cmd_exp_quality,
"Set bluetooth quality report feature" },
+ { "exp-offload", "<on/off>",
+ cmd_exp_offload_codecs, "Toggle codec support support" },
{ "read-sysconfig", NULL,
cmd_read_sysconfig, "Read System Configuration" },
{ "set-sysconfig", "<-v|-h> [options...]",
--
2.17.1


2021-08-15 01:31:16

by bluez.test.bot

[permalink] [raw]
Subject: RE: mgmt: Set offload codec mgmt feature

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

---Test result---

Test Summary:
CheckPatch FAIL 0.33 seconds
GitLint PASS 0.13 seconds
Prep - Setup ELL PASS 49.03 seconds
Build - Prep PASS 0.11 seconds
Build - Configure PASS 8.66 seconds
Build - Make PASS 212.24 seconds
Make Check PASS 9.79 seconds
Make Distcheck PASS 250.51 seconds
Build w/ext ELL - Configure PASS 8.76 seconds
Build w/ext ELL - Make PASS 199.76 seconds

Details
##############################
Test: CheckPatch - FAIL
Desc: Run checkpatch.pl script with rule in .checkpatch.conf
Output:
mgmt: Set offload codec mgmt feature
WARNING:LONG_LINE_STRING: line length of 81 exceeds 80 columns
#20: FILE: tools/btmgmt.c:2561:
+ error("Set offload codec feature failed with status 0x%02x (%s)",

- total: 0 errors, 1 warnings, 56 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.

"[PATCH] mgmt: Set offload codec mgmt feature" 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 - PASS
Desc: Run gitlint with rule in .gitlint

##############################
Test: Prep - Setup ELL - PASS
Desc: Clone, build, and install ELL

##############################
Test: Build - Prep - PASS
Desc: Prepare environment for build

##############################
Test: Build - Configure - PASS
Desc: Configure the BlueZ source tree

##############################
Test: Build - Make - PASS
Desc: Build the BlueZ source tree

##############################
Test: Make Check - PASS
Desc: Run 'make check'

##############################
Test: Make Distcheck - PASS
Desc: Run distcheck to check the distribution

##############################
Test: Build w/ext ELL - Configure - PASS
Desc: Configure BlueZ source with '--enable-external-ell' configuration

##############################
Test: Build w/ext ELL - Make - PASS
Desc: Build BlueZ source with '--enable-external-ell' configuration



---
Regards,
Linux Bluetooth

2021-08-16 21:59:57

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: Re: mgmt: Set offload codec mgmt feature

Hi Kiran,

On Sat, Aug 14, 2021 at 6:31 PM <[email protected]> wrote:
>
> 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=531599
>
> ---Test result---
>
> Test Summary:
> CheckPatch FAIL 0.33 seconds
> GitLint PASS 0.13 seconds
> Prep - Setup ELL PASS 49.03 seconds
> Build - Prep PASS 0.11 seconds
> Build - Configure PASS 8.66 seconds
> Build - Make PASS 212.24 seconds
> Make Check PASS 9.79 seconds
> Make Distcheck PASS 250.51 seconds
> Build w/ext ELL - Configure PASS 8.76 seconds
> Build w/ext ELL - Make PASS 199.76 seconds
>
> Details
> ##############################
> Test: CheckPatch - FAIL
> Desc: Run checkpatch.pl script with rule in .checkpatch.conf
> Output:
> mgmt: Set offload codec mgmt feature
> WARNING:LONG_LINE_STRING: line length of 81 exceeds 80 columns
> #20: FILE: tools/btmgmt.c:2561:
> + error("Set offload codec feature failed with status 0x%02x (%s)",

This will need to be fixed.

> - total: 0 errors, 1 warnings, 56 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.
>
> "[PATCH] mgmt: Set offload codec mgmt feature" 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 - PASS
> Desc: Run gitlint with rule in .gitlint
>
> ##############################
> Test: Prep - Setup ELL - PASS
> Desc: Clone, build, and install ELL
>
> ##############################
> Test: Build - Prep - PASS
> Desc: Prepare environment for build
>
> ##############################
> Test: Build - Configure - PASS
> Desc: Configure the BlueZ source tree
>
> ##############################
> Test: Build - Make - PASS
> Desc: Build the BlueZ source tree
>
> ##############################
> Test: Make Check - PASS
> Desc: Run 'make check'
>
> ##############################
> Test: Make Distcheck - PASS
> Desc: Run distcheck to check the distribution
>
> ##############################
> Test: Build w/ext ELL - Configure - PASS
> Desc: Configure BlueZ source with '--enable-external-ell' configuration
>
> ##############################
> Test: Build w/ext ELL - Make - PASS
> Desc: Build BlueZ source with '--enable-external-ell' configuration
>
>
>
> ---
> Regards,
> Linux Bluetooth
>


--
Luiz Augusto von Dentz

2021-08-16 22:00:39

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: Re: [PATCH] mgmt: Set offload codec mgmt feature

Hi Kiran,

On Sat, Aug 14, 2021 at 5:13 PM Kiran K <[email protected]> wrote:
>
> Signed-off-by: Kiran K <[email protected]>

We don't use Signed-off-by on userspace patches.

> ---
> tools/btmgmt.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 44 insertions(+)
>
> diff --git a/tools/btmgmt.c b/tools/btmgmt.c
> index 7d908238156d..c5f55ae1290c 100644
> --- a/tools/btmgmt.c
> +++ b/tools/btmgmt.c
> @@ -2554,6 +2554,48 @@ static void cmd_privacy(int argc, char **argv)
> }
> }
>
> +static void exp_offload_rsp(uint8_t status, uint16_t len, const void *param,
> + void *user_data)
> +{
> + if (status != 0)
> + error("Set offload codec feature failed with status 0x%02x (%s)",
> + status, mgmt_errstr(status));
> + else
> + print("Offload codec feature successfully set");
> +
> + bt_shell_noninteractive_quit(EXIT_SUCCESS);
> +}
> +
> +static void cmd_exp_offload_codecs(int argc, char **argv)
> +{
> + /* a6695ace-ee7f-4fb9-881a-5fac66c629af */
> + static const uint8_t uuid[16] = {
> + 0xaf, 0x29, 0xc6, 0x66, 0xac, 0x5f, 0x1a, 0x88,
> + 0xb9, 0x4f, 0x7f, 0xee, 0xce, 0x5a, 0x69, 0xa6,
> + };

This also should be added to src/shared/util.c:uuid128_table so we are
able to decode it when using the likes of btmon and bluetoothctl.

> + struct mgmt_cp_set_exp_feature cp;
> + uint8_t val;
> + uint16_t index;
> +
> + if (parse_setting(argc, argv, &val) == false)
> + return bt_shell_noninteractive_quit(EXIT_FAILURE);
> +
> + index = mgmt_index;
> + if (index == MGMT_INDEX_NONE)
> + index = 0;
> +
> + memset(&cp, 0, sizeof(cp));
> + memcpy(cp.uuid, uuid, 16);
> + cp.action = val;
> +
> + if (mgmt_send(mgmt, MGMT_OP_SET_EXP_FEATURE, index,
> + sizeof(cp), &cp, exp_offload_rsp, NULL, NULL) == 0) {
> + error("Unable to send offload codecs feature cmd");
> + return bt_shell_noninteractive_quit(EXIT_FAILURE);
> + }
> +}
> +
> static void class_rsp(uint16_t op, uint16_t id, uint8_t status, uint16_t len,
> const void *param)
> {
> @@ -5595,6 +5637,8 @@ static const struct bt_shell_menu main_menu = {
> cmd_exp_privacy, "Set LL privacy feature" },
> { "exp-quality", "<on/off>", cmd_exp_quality,
> "Set bluetooth quality report feature" },
> + { "exp-offload", "<on/off>",
> + cmd_exp_offload_codecs, "Toggle codec support support" },
> { "read-sysconfig", NULL,
> cmd_read_sysconfig, "Read System Configuration" },
> { "set-sysconfig", "<-v|-h> [options...]",
> --
> 2.17.1
>


--
Luiz Augusto von Dentz

2021-08-17 03:06:06

by K, Kiran

[permalink] [raw]
Subject: RE: [PATCH] mgmt: Set offload codec mgmt feature

Hi Luiz,

I will send an updated patch addressing your comments.

> -----Original Message-----
> From: Luiz Augusto von Dentz <[email protected]>
> Sent: Tuesday, August 17, 2021 3:30 AM
> To: K, Kiran <[email protected]>
> Cc: [email protected]; Von Dentz, Luiz
> <[email protected]>
> Subject: Re: [PATCH] mgmt: Set offload codec mgmt feature
>
> Hi Kiran,
>
> On Sat, Aug 14, 2021 at 5:13 PM Kiran K <[email protected]> wrote:
> >
> > Signed-off-by: Kiran K <[email protected]>
>
> We don't use Signed-off-by on userspace patches.
>
> > ---
> > tools/btmgmt.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
> > 1 file changed, 44 insertions(+)
> >
> > diff --git a/tools/btmgmt.c b/tools/btmgmt.c index
> > 7d908238156d..c5f55ae1290c 100644
> > --- a/tools/btmgmt.c
> > +++ b/tools/btmgmt.c
> > @@ -2554,6 +2554,48 @@ static void cmd_privacy(int argc, char **argv)
> > }
> > }
> >
> > +static void exp_offload_rsp(uint8_t status, uint16_t len, const void
> *param,
> > + void
> > +*user_data) {
> > + if (status != 0)
> > + error("Set offload codec feature failed with status 0x%02x (%s)",
> > + status, mgmt_errstr(status));
> > + else
> > + print("Offload codec feature successfully set");
> > +
> > + bt_shell_noninteractive_quit(EXIT_SUCCESS);
> > +}
> > +
> > +static void cmd_exp_offload_codecs(int argc, char **argv) {
> > + /* a6695ace-ee7f-4fb9-881a-5fac66c629af */
> > + static const uint8_t uuid[16] = {
> > + 0xaf, 0x29, 0xc6, 0x66, 0xac, 0x5f, 0x1a, 0x88,
> > + 0xb9, 0x4f, 0x7f, 0xee, 0xce, 0x5a, 0x69, 0xa6,
> > + };
>
> This also should be added to src/shared/util.c:uuid128_table so we are able
> to decode it when using the likes of btmon and bluetoothctl.
>
> > + struct mgmt_cp_set_exp_feature cp;
> > + uint8_t val;
> > + uint16_t index;
> > +
> > + if (parse_setting(argc, argv, &val) == false)
> > + return bt_shell_noninteractive_quit(EXIT_FAILURE);
> > +
> > + index = mgmt_index;
> > + if (index == MGMT_INDEX_NONE)
> > + index = 0;
> > +
> > + memset(&cp, 0, sizeof(cp));
> > + memcpy(cp.uuid, uuid, 16);
> > + cp.action = val;
> > +
> > + if (mgmt_send(mgmt, MGMT_OP_SET_EXP_FEATURE, index,
> > + sizeof(cp), &cp, exp_offload_rsp, NULL, NULL) == 0) {
> > + error("Unable to send offload codecs feature cmd");
> > + return bt_shell_noninteractive_quit(EXIT_FAILURE);
> > + }
> > +}
> > +
> > static void class_rsp(uint16_t op, uint16_t id, uint8_t status, uint16_t len,
> > const void
> > *param) { @@ -5595,6 +5637,8 @@ static const struct bt_shell_menu
> > main_menu = {
> > cmd_exp_privacy, "Set LL privacy feature" },
> > { "exp-quality", "<on/off>", cmd_exp_quality,
> > "Set bluetooth quality report feature" },
> > + { "exp-offload", "<on/off>",
> > + cmd_exp_offload_codecs, "Toggle codec support support"
> > + },
> > { "read-sysconfig", NULL,
> > cmd_read_sysconfig, "Read System Configuration" },
> > { "set-sysconfig", "<-v|-h> [options...]",
> > --
> > 2.17.1
> >
>
>
> --
> Luiz Augusto von Dentz

Thanks,
Kiran