From: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
To: Syed Saba Kareem <syed.sabakareem@amd.com>, vkoul@kernel.org
Cc: broonie@kernel.org, Sunil-kumar.Dommati@amd.com,
vijendar.mukunda@amd.com, Mario.Limonciello@amd.com,
venkataprasad.potturu@amd.com, yung-chuan.liao@linux.intel.com,
anson.tsao@amd.com,
"open list:SOUNDWIRE SUBSYSTEM" <linux-sound@vger.kernel.org>,
open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v3 3/5] soundwire: stream: allow flagged BPT firmware download while streams are idle
Date: Mon, 5 Oct 2026 13:26:10 +0200 [thread overview]
Message-ID: <fe936feb-b6bf-4d78-8cb3-d9ea61707a23@linux.dev> (raw)
In-Reply-To: <20261005091620.1390916-4-syed.sabakareem@amd.com>
> diff --git a/include/linux/soundwire/sdw.h b/include/linux/soundwire/sdw.h
> index f710e5932b4b..9a3904f42078 100644
> --- a/include/linux/soundwire/sdw.h
> +++ b/include/linux/soundwire/sdw.h
> @@ -1005,6 +1005,19 @@ struct sdw_stream_runtime {
> * @bpt_stream_refcount: number of BTP streams currently using this bus (should
> * be zero or one, multiple streams per link is not supported).
> * @bpt_stream: pointer stored to handle BTP streams.
> + * @bpt_fw_download: set by a BPT-capable manager to flag a resume-time firmware
> + * download (BPT/BRA). BPT and active audio are mutually exclusive on the bus;
> + * this flag marks the one narrow exception -- a power-off-mode resume where the
> + * codec must re-download firmware over BPT before its stream (left DISABLED
> + * across suspend) is re-enabled. The manager guarantees no audio stream is made
> + * active on the bus for the duration, so sdw_master_rt_alloc() permits the BPT
> + * allocation even when idle audio streams are still allocated; an actively
> + * streaming audio stream (PREPARED/ENABLED) still blocks BPT. It is not a
> + * mechanism for running audio concurrently with a download. Written with
> + * WRITE_ONCE() by the manager before it enters the stream allocation path and
> + * cleared (also WRITE_ONCE()) after the transfer; read with READ_ONCE() in
> + * sdw_master_rt_alloc() under bus_lock. Single-BPT exclusivity
> + * (bpt_stream_refcount) means no concurrent writer races the lock-protected read.
> * @ops: Master callback ops
> * @port_ops: Master port callback ops
> * @prop: Master properties
> @@ -1045,6 +1058,7 @@ struct sdw_bus {
> int stream_refcount;
> int bpt_stream_refcount;
> struct sdw_stream_runtime *bpt_stream;
> + bool bpt_fw_download;
nit-pick: I would add this one line above to leave pointers and
structures grouped, this would be nicer in terms of alignment.
> const struct sdw_master_ops *ops;
> const struct sdw_master_port_ops *port_ops;
> struct sdw_master_prop prop;
next prev parent reply other threads:[~2026-10-05 12:05 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20261005091620.1390916-1-syed.sabakareem@amd.com>
2026-10-05 9:15 ` [PATCH v3 1/5] soundwire: intel_ace2x: free master runtime on BPT open error path Syed Saba Kareem
2026-10-05 9:15 ` [PATCH v3 2/5] soundwire: intel_ace2x: order bpt_stream publish/clear against refcount Syed Saba Kareem
2026-10-05 9:15 ` [PATCH v3 3/5] soundwire: stream: allow flagged BPT firmware download while streams are idle Syed Saba Kareem
2026-10-05 11:26 ` Pierre-Louis Bossart [this message]
2026-10-06 12:11 ` Syed Saba Kareem
2026-10-05 9:15 ` [PATCH v3 4/5] soundwire: amd: Add BRA/BPT firmware download support Syed Saba Kareem
2026-10-05 9:28 ` sashiko-bot
2026-10-05 12:04 ` Pierre-Louis Bossart
2026-10-06 10:26 ` Syed Saba Kareem
2026-10-07 16:15 ` Pierre-Louis Bossart
2026-10-06 12:18 ` Syed Saba Kareem
2026-10-05 9:15 ` [PATCH v3 5/5] soundwire: amd: honor peripheral BRA block alignment Syed Saba Kareem
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=fe936feb-b6bf-4d78-8cb3-d9ea61707a23@linux.dev \
--to=pierre-louis.bossart@linux.dev \
--cc=Mario.Limonciello@amd.com \
--cc=Sunil-kumar.Dommati@amd.com \
--cc=anson.tsao@amd.com \
--cc=broonie@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=syed.sabakareem@amd.com \
--cc=venkataprasad.potturu@amd.com \
--cc=vijendar.mukunda@amd.com \
--cc=vkoul@kernel.org \
--cc=yung-chuan.liao@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.