From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: Vinod Koul <vkoul@kernel.org>
Cc: alsa-devel@alsa-project.org, tiwai@suse.de,
gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org,
Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
broonie@kernel.org, srinivas.kandagatla@linaro.org,
jank@cadence.com, slawomir.blauciak@intel.com,
Sanyog Kale <sanyog.r.kale@intel.com>,
Bard liao <yung-chuan.liao@linux.intel.com>,
Rander Wang <rander.wang@linux.intel.com>
Subject: Re: [alsa-devel] [PATCH 1/4] soundwire: sdw_slave: add new fields to track probe status
Date: Mon, 4 Nov 2019 08:32:38 -0600 [thread overview]
Message-ID: <f53b28bb-1ec7-a400-54ed-51fd55819ecd@linux.intel.com> (raw)
In-Reply-To: <20191103045604.GE2695@vkoul-mobl.Dlink>
On 11/2/19 11:56 PM, Vinod Koul wrote:
> On 23-10-19, 16:06, Pierre-Louis Bossart wrote:
>> Changes to the sdw_slave structure needed to solve race conditions on
>> driver probe.
>
> Can you please explain the race you have observed, it would be a very
> useful to document it as well
the races are explained in the [PATCH 00/18] soundwire: code hardening
and suspend-resume support series.
>>
>> The functionality is added in the next patch.
>
> which one..?
[PATCH 00/18] soundwire: code hardening and suspend-resume support
>
>>
>> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
>> ---
>> include/linux/soundwire/sdw.h | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/include/linux/soundwire/sdw.h b/include/linux/soundwire/sdw.h
>> index 688b40e65c89..a381a596212b 100644
>> --- a/include/linux/soundwire/sdw.h
>> +++ b/include/linux/soundwire/sdw.h
>> @@ -545,6 +545,10 @@ struct sdw_slave_ops {
>> * @node: node for bus list
>> * @port_ready: Port ready completion flag for each Slave port
>> * @dev_num: Device Number assigned by Bus
>> + * @probed: boolean tracking driver state
>> + * @probe_complete: completion utility to control potential races
>> + * on startup between driver probe/initialization and SoundWire
>> + * Slave state changes/imp-def interrupts
>> */
>> struct sdw_slave {
>> struct sdw_slave_id id;
>> @@ -559,6 +563,8 @@ struct sdw_slave {
>> struct list_head node;
>> struct completion *port_ready;
>> u16 dev_num;
>> + bool probed;
>> + struct completion probe_complete;
>> };
>>
>> #define dev_to_sdw_dev(_dev) container_of(_dev, struct sdw_slave, dev)
>> --
>> 2.20.1
>
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
WARNING: multiple messages have this Message-ID (diff)
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: Vinod Koul <vkoul@kernel.org>
Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org,
tiwai@suse.de, broonie@kernel.org, gregkh@linuxfoundation.org,
jank@cadence.com, srinivas.kandagatla@linaro.org,
slawomir.blauciak@intel.com,
Bard liao <yung-chuan.liao@linux.intel.com>,
Rander Wang <rander.wang@linux.intel.com>,
Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
Sanyog Kale <sanyog.r.kale@intel.com>
Subject: Re: [alsa-devel] [PATCH 1/4] soundwire: sdw_slave: add new fields to track probe status
Date: Mon, 4 Nov 2019 08:32:38 -0600 [thread overview]
Message-ID: <f53b28bb-1ec7-a400-54ed-51fd55819ecd@linux.intel.com> (raw)
In-Reply-To: <20191103045604.GE2695@vkoul-mobl.Dlink>
On 11/2/19 11:56 PM, Vinod Koul wrote:
> On 23-10-19, 16:06, Pierre-Louis Bossart wrote:
>> Changes to the sdw_slave structure needed to solve race conditions on
>> driver probe.
>
> Can you please explain the race you have observed, it would be a very
> useful to document it as well
the races are explained in the [PATCH 00/18] soundwire: code hardening
and suspend-resume support series.
>>
>> The functionality is added in the next patch.
>
> which one..?
[PATCH 00/18] soundwire: code hardening and suspend-resume support
>
>>
>> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
>> ---
>> include/linux/soundwire/sdw.h | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/include/linux/soundwire/sdw.h b/include/linux/soundwire/sdw.h
>> index 688b40e65c89..a381a596212b 100644
>> --- a/include/linux/soundwire/sdw.h
>> +++ b/include/linux/soundwire/sdw.h
>> @@ -545,6 +545,10 @@ struct sdw_slave_ops {
>> * @node: node for bus list
>> * @port_ready: Port ready completion flag for each Slave port
>> * @dev_num: Device Number assigned by Bus
>> + * @probed: boolean tracking driver state
>> + * @probe_complete: completion utility to control potential races
>> + * on startup between driver probe/initialization and SoundWire
>> + * Slave state changes/imp-def interrupts
>> */
>> struct sdw_slave {
>> struct sdw_slave_id id;
>> @@ -559,6 +563,8 @@ struct sdw_slave {
>> struct list_head node;
>> struct completion *port_ready;
>> u16 dev_num;
>> + bool probed;
>> + struct completion probe_complete;
>> };
>>
>> #define dev_to_sdw_dev(_dev) container_of(_dev, struct sdw_slave, dev)
>> --
>> 2.20.1
>
next prev parent reply other threads:[~2019-11-04 14:33 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-23 21:06 [alsa-devel] [PATCH 0/4] soundwire: update ASoC interfaces Pierre-Louis Bossart
2019-10-23 21:06 ` Pierre-Louis Bossart
2019-10-23 21:06 ` [alsa-devel] [PATCH 1/4] soundwire: sdw_slave: add new fields to track probe status Pierre-Louis Bossart
2019-10-23 21:06 ` Pierre-Louis Bossart
2019-11-03 4:56 ` [alsa-devel] " Vinod Koul
2019-11-03 4:56 ` Vinod Koul
2019-11-04 14:32 ` Pierre-Louis Bossart [this message]
2019-11-04 14:32 ` [alsa-devel] " Pierre-Louis Bossart
2019-11-08 4:29 ` Vinod Koul
2019-11-08 4:29 ` Vinod Koul
2019-11-08 14:55 ` Pierre-Louis Bossart
2019-11-08 14:55 ` Pierre-Louis Bossart
2019-11-08 20:26 ` Liam Girdwood
2019-11-08 20:26 ` Liam Girdwood
2019-11-09 11:12 ` Vinod Koul
2019-11-09 11:12 ` Vinod Koul
2019-11-11 16:34 ` Pierre-Louis Bossart
2019-11-11 16:34 ` Pierre-Louis Bossart
2019-11-14 11:50 ` Vinod Koul
2019-11-14 11:50 ` Vinod Koul
2019-11-14 15:14 ` Pierre-Louis Bossart
2019-11-14 15:14 ` Pierre-Louis Bossart
2019-10-23 21:06 ` [alsa-devel] [PATCH 2/4] soundwire: add enumeration_complete structure Pierre-Louis Bossart
2019-10-23 21:06 ` Pierre-Louis Bossart
2019-11-03 5:22 ` [alsa-devel] " Vinod Koul
2019-11-03 5:22 ` Vinod Koul
2019-11-04 14:32 ` [alsa-devel] " Pierre-Louis Bossart
2019-11-04 14:32 ` Pierre-Louis Bossart
2019-10-23 21:06 ` [alsa-devel] [PATCH 3/4] soundwire: intel: update interfaces between ASoC and SoundWire Pierre-Louis Bossart
2019-10-23 21:06 ` Pierre-Louis Bossart
2019-10-23 21:06 ` [alsa-devel] [PATCH 4/4] soundwire: intel: update stream callbacks for hwparams/free stream operations Pierre-Louis Bossart
2019-10-23 21:06 ` Pierre-Louis Bossart
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=f53b28bb-1ec7-a400-54ed-51fd55819ecd@linux.intel.com \
--to=pierre-louis.bossart@linux.intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=jank@cadence.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rander.wang@linux.intel.com \
--cc=ranjani.sridharan@linux.intel.com \
--cc=sanyog.r.kale@intel.com \
--cc=slawomir.blauciak@intel.com \
--cc=srinivas.kandagatla@linaro.org \
--cc=tiwai@suse.de \
--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.