2022-08-05 22:16:38

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: [PATCH BlueZ 1/2] bthost: Add qos support to bthost_set_cig_params

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

This enables setting QoS other then the mandatory 16_2_1.
---
emulator/bthost.c | 26 +++++++++++++++-----------
emulator/bthost.h | 4 +++-
2 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/emulator/bthost.c b/emulator/bthost.c
index 75fa625b1..f067d39a0 100644
--- a/emulator/bthost.c
+++ b/emulator/bthost.c
@@ -3131,25 +3131,29 @@ bool bthost_search_ext_adv_addr(struct bthost *bthost, const uint8_t *addr)
}

void bthost_set_cig_params(struct bthost *bthost, uint8_t cig_id,
- uint8_t cis_id)
+ uint8_t cis_id, const struct bt_iso_qos *qos)
{
struct bt_hci_cmd_le_set_cig_params *cp;

cp = malloc(sizeof(*cp) + sizeof(*cp->cis));
memset(cp, 0, sizeof(*cp) + sizeof(*cp->cis));
cp->cig_id = cig_id;
- put_le24(10000, cp->c_interval);
- put_le24(10000, cp->p_interval);
- cp->c_latency = cpu_to_le16(10);
- cp->p_latency = cpu_to_le16(10);
+ put_le24(qos->in.interval ? qos->in.interval : qos->out.interval,
+ cp->c_interval);
+ put_le24(qos->out.interval ? qos->out.interval : qos->in.interval,
+ cp->p_interval);
+ cp->c_latency = cpu_to_le16(qos->in.latency ? qos->in.latency :
+ qos->out.latency);
+ cp->p_latency = cpu_to_le16(qos->out.latency ? qos->out.latency :
+ qos->in.latency);
cp->num_cis = 0x01;
cp->cis[0].cis_id = cis_id;
- cp->cis[0].c_sdu = 40;
- cp->cis[0].p_sdu = 40;
- cp->cis[0].c_phy = 0x02;
- cp->cis[0].p_phy = 0x02;
- cp->cis[0].c_rtn = 2;
- cp->cis[0].p_rtn = 2;
+ cp->cis[0].c_sdu = qos->in.sdu;
+ cp->cis[0].p_sdu = qos->out.sdu;
+ cp->cis[0].c_phy = qos->in.phy ? qos->in.phy : qos->out.phy;
+ cp->cis[0].p_phy = qos->out.phy ? qos->out.phy : qos->in.phy;
+ cp->cis[0].c_rtn = qos->in.rtn;
+ cp->cis[0].p_rtn = qos->out.rtn;

send_command(bthost, BT_HCI_CMD_LE_SET_CIG_PARAMS, cp,
sizeof(*cp) + sizeof(*cp->cis));
diff --git a/emulator/bthost.h b/emulator/bthost.h
index fd177ac29..3d7a124f0 100644
--- a/emulator/bthost.h
+++ b/emulator/bthost.h
@@ -12,6 +12,8 @@
#include <stdint.h>
#include <sys/uio.h>

+#include "lib/bluetooth.h"
+
typedef void (*bthost_send_func) (const struct iovec *iov, int iovlen,
void *user_data);

@@ -101,7 +103,7 @@ void bthost_create_big(struct bthost *bthost, uint8_t num_bis);
bool bthost_search_ext_adv_addr(struct bthost *bthost, const uint8_t *addr);

void bthost_set_cig_params(struct bthost *bthost, uint8_t cig_id,
- uint8_t cis_id);
+ uint8_t cis_id, const struct bt_iso_qos *qos);
void bthost_create_cis(struct bthost *bthost, uint16_t cis_handle,
uint16_t acl_handle);

--
2.37.1


2022-08-05 23:02:38

by bluez.test.bot

[permalink] [raw]
Subject: RE: [BlueZ,1/2] bthost: Add qos support to bthost_set_cig_params

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

---Test result---

Test Summary:
CheckPatch PASS 1.58 seconds
GitLint PASS 1.07 seconds
Prep - Setup ELL PASS 26.60 seconds
Build - Prep PASS 0.58 seconds
Build - Configure PASS 8.21 seconds
Build - Make PASS 755.02 seconds
Make Check PASS 11.68 seconds
Make Check w/Valgrind PASS 283.39 seconds
Make Distcheck PASS 233.84 seconds
Build w/ext ELL - Configure PASS 8.23 seconds
Build w/ext ELL - Make PASS 81.38 seconds
Incremental Build w/ patches FAIL 21.97 seconds
Scan Build PASS 489.14 seconds

Details
##############################
Test: Incremental Build w/ patches - FAIL
Desc: Incremental build per patch in the series
Output:
tools/iso-tester.c: In function ‘setup_listen’:
tools/iso-tester.c:1453:3: error: too few arguments to function ‘bthost_set_cig_params’
1453 | bthost_set_cig_params(host, 0x01, 0x01);
| ^~~~~~~~~~~~~~~~~~~~~
In file included from tools/iso-tester.c:27:
./emulator/bthost.h:105:6: note: declared here
105 | void bthost_set_cig_params(struct bthost *bthost, uint8_t cig_id,
| ^~~~~~~~~~~~~~~~~~~~~
make[1]: *** [Makefile:7345: tools/iso-tester.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:4355: all] Error 2




---
Regards,
Linux Bluetooth