All of lore.kernel.org
 help / color / mirror / Atom feed
* RE: Update BAP Broadcast Source state machine
  2024-05-20 16:27 [PATCH BlueZ 1/2] shared/bap: " Silviu Florian Barbulescu
@ 2024-05-20 18:31 ` bluez.test.bot
  0 siblings, 0 replies; 6+ messages in thread
From: bluez.test.bot @ 2024-05-20 18:31 UTC (permalink / raw)
  To: linux-bluetooth, silviu.barbulescu

[-- Attachment #1: Type: text/plain, Size: 1560 bytes --]

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

---Test result---

Test Summary:
CheckPatch                    PASS      0.97 seconds
GitLint                       PASS      0.67 seconds
BuildEll                      PASS      24.44 seconds
BluezMake                     PASS      1665.06 seconds
MakeCheck                     PASS      13.33 seconds
MakeDistcheck                 PASS      177.64 seconds
CheckValgrind                 PASS      249.99 seconds
CheckSmatch                   WARNING   353.75 seconds
bluezmakeextell               PASS      119.52 seconds
IncrementalBuild              PASS      3024.77 seconds
ScanBuild                     PASS      1002.02 seconds

Details
##############################
Test: CheckSmatch - WARNING
Desc: Run smatch tool with source
Output:
src/shared/bap.c:286:25: warning: array of flexible structuressrc/shared/bap.c: note: in included file:./src/shared/ascs.h:88:25: warning: array of flexible structuressrc/shared/bap.c:286:25: warning: array of flexible structuressrc/shared/bap.c: note: in included file:./src/shared/ascs.h:88:25: warning: array of flexible structuressrc/shared/bap.c:286:25: warning: array of flexible structuressrc/shared/bap.c: note: in included file:./src/shared/ascs.h:88:25: warning: array of flexible structures


---
Regards,
Linux Bluetooth


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH BlueZ v2 0/2] Update BAP Broadcast Source state machine
@ 2024-05-23 15:47 Silviu Florian Barbulescu
  2024-05-23 15:47 ` [PATCH BlueZ v2 1/2] shared/bap: " Silviu Florian Barbulescu
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Silviu Florian Barbulescu @ 2024-05-23 15:47 UTC (permalink / raw)
  To: linux-bluetooth
  Cc: mihai-octavian.urzica, silviu.barbulescu, vlad.pruteanu,
	andrei.istodorescu, luiz.dentz, iulia.tanasescu

Update BAP Broadcast Source state machine states to use BAP define states
 for source Idle, Config, Streaming, and an intermediary state enabling.

Updated test-bap to.

output from broadcast-source.bt

[bluetooth]# endpoint.register 00001852-0000-1000-8000-00805f9b34fb 0x06
[bluetooth]#   1;39m[/local/endpoint/ep0] Auto Accept (yes/no): y
a/local/endpoint/ep0] Auto Accept (yes/no):  Max Transports (auto/value
3/local/endpoint/ep0] Max Transports (auto/value): Locations
4/local/endpoint/ep0] Locations: Supported Context (value)
[/local/endpoint/ep0] Supported Context (value): Capabilities:
[bluetooth]#   03 01 ff 00 02 02 03 02 03 03 05 04 1a 00 f0 00  
[bluetooth]# Metadata:
[bluetooth]# Capabilities:
[bluetooth]#   03 01 ff 00 02 02 03 02 03 03 05 04 1a 00 f0 00
[bluetooth]# Metadata:
[bluetooth]# [CHG] Controller C0:07:E8:8B:69:F2 Pairable: yes
[bluetooth]# [CHG] Controller 00:AA:01:00:00:03 Pairable: yes
[bluetooth]# [NEW] Endpoint /org/bluez/hci3/pac_bcast0 
[bluetooth]# Endpoint /local/endpoint/ep0 registered
endpoint.config /org/bluez/hci3/pac_bcast0 /local/endpoint/ep0 16_2_1
[bluetooth]#   1;39m[/local/endpoint/ep0] BIG (auto/value): 1
3/local/endpoint/ep0] BIG (auto/value): Enter channel location (value/no
0x03 0x02 0x04 0x000] Enter channel location (value/no): Metadata
[/local/endpoint/ep0] Enter Metadata (value/no): 
		Configuration.#0: len 0x02 type 0x01
[bluetooth]# 	Configuration.Sampling Frequency: 16 Khz (0x03)
[bluetooth]# 	Configuration.#1: len 0x02 type 0x02
[bluetooth]# 	Configuration.Frame Duration: 10 ms (0x01)
[bluetooth]# 	Configuration.#2: len 0x03 type 0x04
[bluetooth]# 	Configuration.Frame Length: 40 (0x0028)
[bluetooth]# 	Configuration.#3: len 0x05 type 0x03
[bluetooth]# 	Configuration.Location: 0x00000003
[bluetooth]# 	Configuration.Location: Front Left (0x00000001)
[bluetooth]# 	Configuration.Location: Front Right (0x00000002)
[bluetooth]# 	Metadata.#0: len 0x03 type 0x02
[bluetooth]# 	Metadata.Context: 0x0004
[bluetooth]# 	Metadata.Context	Media (0x0004)
[bluetooth]# BIG 0x01
[bluetooth]# BIS 0x00
[bluetooth]# BCode:
[bluetooth]#   01 02 68 05 53 f1 41 5a a2 65 bb af c6 ea 03 b8
[bluetooth]# Framing 0x00
[bluetooth]# PresentationDelay 40000
[bluetooth]# Interval 10000
[bluetooth]# PHY 0x02
[bluetooth]# SDU 80
[bluetooth]# Retransmissions 2
[bluetooth]# Latency 10
[bluetooth]# [NEW] Endpoint /org/bluez/hci2/pac_bcast0 
[bluetooth]# Endpoint /local/endpoint/ep0 registered
[bluetooth]# transport.acquire /org/bluez/hci3/pac_bcast0/fd0
[bluetooth]# Transport /org/bluez/hci3/pac_bcast0/fd0 not found
[bluetooth]# AdvertisementMonitor path registered
[bluetooth]# [NEW] Transport /org/bluez/hci3/pac_bcast0/fd0 
[bluetooth]# Endpoint: SetConfiguration
[bluetooth]# 	Transport /org/bluez/hci3/pac_bcast0/fd0
[bluetooth]# 	Properties.Device: /org/bluez/hci3
[bluetooth]# Auto Accepting...
[bluetooth]# Endpoint /local/endpoint/ep0 configured

Silviu Florian Barbulescu (2):
  shared/bap: Update BAP Broadcast Source state machine
  bap: Update BAP Broadcast Source state machine states

 profiles/audio/bap.c | 22 +++++++++++++++++-----
 src/shared/bap.c     | 39 ++++++++++++++++++++-------------------
 unit/test-bap.c      |  4 ++--
 3 files changed, 39 insertions(+), 26 deletions(-)


base-commit: 6e51acb0e846a141e3a1ccd0f243b7fe9de7c111
-- 
2.40.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH BlueZ v2 1/2] shared/bap: Update BAP Broadcast Source state machine
  2024-05-23 15:47 [PATCH BlueZ v2 0/2] Update BAP Broadcast Source state machine Silviu Florian Barbulescu
@ 2024-05-23 15:47 ` Silviu Florian Barbulescu
  2024-05-23 18:13   ` bluez.test.bot
  2024-05-23 15:47 ` [PATCH BlueZ v2 2/2] bap: Update BAP Broadcast Source state machine states Silviu Florian Barbulescu
  2024-05-23 16:40 ` [PATCH BlueZ v2 0/2] Update BAP Broadcast Source state machine patchwork-bot+bluetooth
  2 siblings, 1 reply; 6+ messages in thread
From: Silviu Florian Barbulescu @ 2024-05-23 15:47 UTC (permalink / raw)
  To: linux-bluetooth
  Cc: mihai-octavian.urzica, silviu.barbulescu, vlad.pruteanu,
	andrei.istodorescu, luiz.dentz, iulia.tanasescu

Update BAP Broadcast Source state machine states to use BAP define states
 for source Idle, Config, Streaming, and an intermediary state enabling.

Updated test-bap too.

---
 src/shared/bap.c | 39 ++++++++++++++++++++-------------------
 unit/test-bap.c  |  4 ++--
 2 files changed, 22 insertions(+), 21 deletions(-)

diff --git a/src/shared/bap.c b/src/shared/bap.c
index 6572ef1d1..639149520 100644
--- a/src/shared/bap.c
+++ b/src/shared/bap.c
@@ -1361,14 +1361,6 @@ static void ep_config_cb(struct bt_bap_stream *stream, int err)
 	if (err)
 		return;
 
-	if (bt_bap_stream_get_type(stream) == BT_BAP_STREAM_TYPE_BCAST) {
-		if (bt_bap_stream_io_dir(stream) == BT_BAP_BCAST_SINK)
-			stream_set_state(stream, BT_BAP_STREAM_STATE_QOS);
-		else if (bt_bap_stream_io_dir(stream) == BT_BAP_BCAST_SOURCE)
-			stream_set_state(stream, BT_BAP_STREAM_STATE_CONFIG);
-		return;
-	}
-
 	stream_set_state(stream, BT_BAP_STREAM_STATE_CONFIG);
 }
 
@@ -1759,6 +1751,15 @@ static unsigned int bap_stream_metadata(struct bt_bap_stream *stream,
 	return req->id;
 }
 
+static unsigned int bap_bcast_qos(struct bt_bap_stream *stream,
+					struct bt_bap_qos *data,
+					bt_bap_stream_func_t func,
+					void *user_data)
+{
+	stream->qos = *data;
+	return 1;
+}
+
 static unsigned int bap_bcast_config(struct bt_bap_stream *stream,
 				     struct bt_bap_qos *qos, struct iovec *data,
 				     bt_bap_stream_func_t func, void *user_data)
@@ -2071,7 +2072,7 @@ static unsigned int bap_bcast_get_state(struct bt_bap_stream *stream)
 	return stream->state;
 }
 
-static unsigned int bap_bcast_enable(struct bt_bap_stream *stream,
+static unsigned int bap_bcast_sink_enable(struct bt_bap_stream *stream,
 					bool enable_links, struct iovec *data,
 					bt_bap_stream_func_t func,
 					void *user_data)
@@ -2081,22 +2082,21 @@ static unsigned int bap_bcast_enable(struct bt_bap_stream *stream,
 	return 1;
 }
 
-static unsigned int bap_bcast_start(struct bt_bap_stream *stream,
+static unsigned int bap_bcast_src_enable(struct bt_bap_stream *stream,
+					bool enable_links, struct iovec *data,
 					bt_bap_stream_func_t func,
 					void *user_data)
 {
-	stream_set_state(stream, BT_BAP_STREAM_STATE_STREAMING);
+	stream_set_state(stream, BT_BAP_STREAM_STATE_ENABLING);
 
 	return 1;
 }
 
-static unsigned int bap_bcast_sink_disable(struct bt_bap_stream *stream,
-					bool disable_links,
+static unsigned int bap_bcast_start(struct bt_bap_stream *stream,
 					bt_bap_stream_func_t func,
 					void *user_data)
 {
-	bap_stream_io_detach(stream);
-	stream_set_state(stream, BT_BAP_STREAM_STATE_CONFIG);
+	stream_set_state(stream, BT_BAP_STREAM_STATE_STREAMING);
 
 	return 1;
 }
@@ -2106,7 +2106,8 @@ static unsigned int bap_bcast_disable(struct bt_bap_stream *stream,
 					bt_bap_stream_func_t func,
 					void *user_data)
 {
-	stream_set_state(stream, BT_BAP_STREAM_STATE_DISABLING);
+	bap_stream_io_detach(stream);
+	stream_set_state(stream, BT_BAP_STREAM_STATE_CONFIG);
 
 	return 1;
 }
@@ -2205,14 +2206,14 @@ static const struct bt_bap_stream_ops stream_ops[] = {
 			bap_ucast_release, bap_ucast_detach),
 	STREAM_OPS(BT_BAP_BCAST_SINK, bap_bcast_set_state,
 			bap_bcast_get_state,
-			bap_bcast_config, NULL, bap_bcast_enable,
-			bap_bcast_start, bap_bcast_sink_disable, NULL,
+			bap_bcast_config, NULL, bap_bcast_sink_enable,
+			bap_bcast_start, bap_bcast_disable, NULL,
 			bap_bcast_metadata, bap_bcast_sink_get_dir,
 			bap_bcast_get_location,
 			bap_bcast_release, bap_bcast_sink_detach),
 	STREAM_OPS(BT_BAP_BCAST_SOURCE, bap_bcast_set_state,
 			bap_bcast_get_state,
-			bap_bcast_config, NULL, bap_bcast_enable,
+			bap_bcast_config, bap_bcast_qos, bap_bcast_src_enable,
 			bap_bcast_start, bap_bcast_disable, NULL,
 			bap_bcast_metadata, bap_bcast_src_get_dir,
 			bap_bcast_get_location,
diff --git a/unit/test-bap.c b/unit/test-bap.c
index ad2bbfb16..b59f642ca 100644
--- a/unit/test-bap.c
+++ b/unit/test-bap.c
@@ -555,10 +555,10 @@ static void bsrc_state(struct bt_bap_stream *stream, uint8_t old_state,
 	struct test_data *data = user_data;
 
 	switch (new_state) {
-	case BT_BAP_STREAM_STATE_QOS:
+	case BT_BAP_STREAM_STATE_CONFIG:
 		bt_bap_stream_enable(stream, true, NULL, NULL, NULL);
 		break;
-	case BT_BAP_STREAM_STATE_CONFIG:
+	case BT_BAP_STREAM_STATE_ENABLING:
 		data->base = bt_bap_stream_get_base(stream);
 
 		g_assert(data->base);
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH BlueZ v2 2/2] bap: Update BAP Broadcast Source state machine states
  2024-05-23 15:47 [PATCH BlueZ v2 0/2] Update BAP Broadcast Source state machine Silviu Florian Barbulescu
  2024-05-23 15:47 ` [PATCH BlueZ v2 1/2] shared/bap: " Silviu Florian Barbulescu
@ 2024-05-23 15:47 ` Silviu Florian Barbulescu
  2024-05-23 16:40 ` [PATCH BlueZ v2 0/2] Update BAP Broadcast Source state machine patchwork-bot+bluetooth
  2 siblings, 0 replies; 6+ messages in thread
From: Silviu Florian Barbulescu @ 2024-05-23 15:47 UTC (permalink / raw)
  To: linux-bluetooth
  Cc: mihai-octavian.urzica, silviu.barbulescu, vlad.pruteanu,
	andrei.istodorescu, luiz.dentz, iulia.tanasescu

Update BAP Broadcast Source state machine states

---
 profiles/audio/bap.c | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/profiles/audio/bap.c b/profiles/audio/bap.c
index 06dc4e254..3fcf21df5 100644
--- a/profiles/audio/bap.c
+++ b/profiles/audio/bap.c
@@ -2474,7 +2474,7 @@ static uint8_t get_streams_nb_by_state(struct bap_setup *setup)
 			 */
 			return 1;
 		else if (bt_bap_stream_get_state(ent_setup->stream) !=
-				BT_BAP_STREAM_STATE_CONFIG)
+				BT_BAP_STREAM_STATE_ENABLING)
 			/* Not all streams form a BIG have received transport
 			 * acquire, so wait for the other streams to.
 			 */
@@ -2516,8 +2516,21 @@ static void bap_state_bcast_src(struct bt_bap_stream *stream, uint8_t old_state,
 			queue_remove(data->streams, stream);
 		break;
 	case BT_BAP_STREAM_STATE_CONFIG:
-		if (!setup || setup->id)
-			break;
+		// TO DO Reconfiguration
+		break;
+	/* Use the ENABLING state to know when a transport
+	 * linked to a stream has been acquired by a process
+	 * and in the case of a BIG with one BIS stream goes
+	 * in the ENABLING state waiting for the response
+	 * from the kernel that the BIG has been created
+	 * so it can go to the streaming state.
+	 * For the case of a BIG with multiple BISes,
+	 * the BIG is created when all BISes are acquired.
+	 * So we use the ENABLING state to  verify that all
+	 * transports attached to that streams form BIG have
+	 * been acquired so we can create the BIG.
+	 */
+	case BT_BAP_STREAM_STATE_ENABLING:
 		/* If the stream attached to a broadcast
 		 * source endpoint generate the base.
 		 */
@@ -2855,8 +2868,7 @@ static void bap_connecting_bcast(struct bt_bap_stream *stream, bool state,
 
 		setup->qos.bcast.big = iso_qos.bcast.big;
 		setup->qos.bcast.bis = iso_qos.bcast.bis;
-		bt_bap_stream_config(setup->stream, &setup->qos, setup->caps,
-							NULL, NULL);
+		bt_bap_stream_qos(setup->stream, &setup->qos, NULL, NULL);
 	}
 
 	DBG("stream %p fd %d: BIG 0x%02x BIS 0x%02x", stream, fd,
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH BlueZ v2 0/2] Update BAP Broadcast Source state machine
  2024-05-23 15:47 [PATCH BlueZ v2 0/2] Update BAP Broadcast Source state machine Silviu Florian Barbulescu
  2024-05-23 15:47 ` [PATCH BlueZ v2 1/2] shared/bap: " Silviu Florian Barbulescu
  2024-05-23 15:47 ` [PATCH BlueZ v2 2/2] bap: Update BAP Broadcast Source state machine states Silviu Florian Barbulescu
@ 2024-05-23 16:40 ` patchwork-bot+bluetooth
  2 siblings, 0 replies; 6+ messages in thread
From: patchwork-bot+bluetooth @ 2024-05-23 16:40 UTC (permalink / raw)
  To: Silviu Florian Barbulescu
  Cc: linux-bluetooth, mihai-octavian.urzica, vlad.pruteanu,
	andrei.istodorescu, luiz.dentz, iulia.tanasescu

Hello:

This series was applied to bluetooth/bluez.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:

On Thu, 23 May 2024 18:47:52 +0300 you wrote:
> Update BAP Broadcast Source state machine states to use BAP define states
>  for source Idle, Config, Streaming, and an intermediary state enabling.
> 
> Updated test-bap to.
> 
> output from broadcast-source.bt
> 
> [...]

Here is the summary with links:
  - [BlueZ,v2,1/2] shared/bap: Update BAP Broadcast Source state machine
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=5da00f712989
  - [BlueZ,v2,2/2] bap: Update BAP Broadcast Source state machine states
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=75893035705d

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



^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: Update BAP Broadcast Source state machine
  2024-05-23 15:47 ` [PATCH BlueZ v2 1/2] shared/bap: " Silviu Florian Barbulescu
@ 2024-05-23 18:13   ` bluez.test.bot
  0 siblings, 0 replies; 6+ messages in thread
From: bluez.test.bot @ 2024-05-23 18:13 UTC (permalink / raw)
  To: linux-bluetooth, silviu.barbulescu

[-- Attachment #1: Type: text/plain, Size: 1560 bytes --]

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

---Test result---

Test Summary:
CheckPatch                    PASS      0.94 seconds
GitLint                       PASS      0.42 seconds
BuildEll                      PASS      25.15 seconds
BluezMake                     PASS      1754.84 seconds
MakeCheck                     PASS      13.45 seconds
MakeDistcheck                 PASS      179.68 seconds
CheckValgrind                 PASS      252.81 seconds
CheckSmatch                   WARNING   355.65 seconds
bluezmakeextell               PASS      121.64 seconds
IncrementalBuild              PASS      3100.81 seconds
ScanBuild                     PASS      1019.41 seconds

Details
##############################
Test: CheckSmatch - WARNING
Desc: Run smatch tool with source
Output:
src/shared/bap.c:286:25: warning: array of flexible structuressrc/shared/bap.c: note: in included file:./src/shared/ascs.h:88:25: warning: array of flexible structuressrc/shared/bap.c:286:25: warning: array of flexible structuressrc/shared/bap.c: note: in included file:./src/shared/ascs.h:88:25: warning: array of flexible structuressrc/shared/bap.c:286:25: warning: array of flexible structuressrc/shared/bap.c: note: in included file:./src/shared/ascs.h:88:25: warning: array of flexible structures


---
Regards,
Linux Bluetooth


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-05-23 18:13 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-23 15:47 [PATCH BlueZ v2 0/2] Update BAP Broadcast Source state machine Silviu Florian Barbulescu
2024-05-23 15:47 ` [PATCH BlueZ v2 1/2] shared/bap: " Silviu Florian Barbulescu
2024-05-23 18:13   ` bluez.test.bot
2024-05-23 15:47 ` [PATCH BlueZ v2 2/2] bap: Update BAP Broadcast Source state machine states Silviu Florian Barbulescu
2024-05-23 16:40 ` [PATCH BlueZ v2 0/2] Update BAP Broadcast Source state machine patchwork-bot+bluetooth
  -- strict thread matches above, loose matches on Subject: below --
2024-05-20 16:27 [PATCH BlueZ 1/2] shared/bap: " Silviu Florian Barbulescu
2024-05-20 18:31 ` bluez.test.bot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.