Alsa-Devel Archive on lore.kernel.org
 help / color / Atom feed
* [alsa-devel] [PATCH] soundwire: intel: report slave_ids for each link to SOF driver
@ 2020-01-10 22:00 Pierre-Louis Bossart
  2020-01-10 22:31 ` Pierre-Louis Bossart
  0 siblings, 1 reply; 5+ messages in thread
From: Pierre-Louis Bossart @ 2020-01-10 22:00 UTC (permalink / raw)
  To: alsa-devel
  Cc: Pierre-Louis Bossart, tiwai, gregkh, linux-kernel,
	Ranjani Sridharan, vkoul, broonie, srinivas.kandagatla, jank,
	slawomir.blauciak, Sanyog Kale, Bard liao, Rander Wang

From: Bard Liao <yung-chuan.liao@linux.intel.com>

The existing link_mask flag is no longer sufficient to detect the
hardware and identify which topology file and a machine driver to load.

By reporting the slave_ids exposed in ACPI tables, the parent SOF
driver will be able to compare against a set of static configurations.

This patch only adds the interface change, the functionality is added
in future patches.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 include/linux/soundwire/sdw_intel.h | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/include/linux/soundwire/sdw_intel.h b/include/linux/soundwire/sdw_intel.h
index 93b83bdf8035..979b41b5dcb4 100644
--- a/include/linux/soundwire/sdw_intel.h
+++ b/include/linux/soundwire/sdw_intel.h
@@ -5,6 +5,7 @@
 #define __SDW_INTEL_H
 
 #include <linux/irqreturn.h>
+#include <linux/soundwire/sdw.h>
 
 /**
  * struct sdw_intel_stream_params_data: configuration passed during
@@ -93,6 +94,11 @@ struct sdw_intel_link_res;
  */
 #define SDW_INTEL_CLK_STOP_BUS_RESET		BIT(3)
 
+struct sdw_intel_slave_id {
+	int link_id;
+	struct sdw_slave_id id;
+};
+
 /**
  * struct sdw_intel_ctx - context allocated by the controller
  * driver probe
@@ -101,9 +107,12 @@ struct sdw_intel_link_res;
  * hardware capabilities after all power dependencies are settled.
  * @link_mask: bit-wise mask listing SoundWire links reported by the
  * Controller
+ * @num_slaves: total number of devices exposed across all enabled links
  * @handle: ACPI parent handle
  * @links: information for each link (controller-specific and kept
  * opaque here)
+ * @ids: array of slave_id, representing Slaves exposed across all enabled
+ * links
  * @link_list: list to handle interrupts across all links
  * @shim_lock: mutex to handle concurrent rmw access to shared SHIM registers.
  */
@@ -111,8 +120,10 @@ struct sdw_intel_ctx {
 	int count;
 	void __iomem *mmio_base;
 	u32 link_mask;
+	int num_slaves;
 	acpi_handle handle;
 	struct sdw_intel_link_res *links;
+	struct sdw_intel_slave_id *ids;
 	struct list_head link_list;
 	struct mutex shim_lock; /* lock for access to shared SHIM registers */
 };
-- 
2.20.1

_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

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

* Re: [alsa-devel] [PATCH] soundwire: intel: report slave_ids for each link to SOF driver
  2020-01-10 22:00 [alsa-devel] [PATCH] soundwire: intel: report slave_ids for each link to SOF driver Pierre-Louis Bossart
@ 2020-01-10 22:31 ` Pierre-Louis Bossart
  2020-01-14  6:26   ` Vinod Koul
  0 siblings, 1 reply; 5+ messages in thread
From: Pierre-Louis Bossart @ 2020-01-10 22:31 UTC (permalink / raw)
  To: alsa-devel
  Cc: tiwai, gregkh, linux-kernel, Ranjani Sridharan, vkoul, broonie,
	srinivas.kandagatla, jank, slawomir.blauciak, Sanyog Kale,
	Bard liao, Rander Wang



On 1/10/20 4:00 PM, Pierre-Louis Bossart wrote:
> From: Bard Liao <yung-chuan.liao@linux.intel.com>
> 
> The existing link_mask flag is no longer sufficient to detect the
> hardware and identify which topology file and a machine driver to load.
> 
> By reporting the slave_ids exposed in ACPI tables, the parent SOF
> driver will be able to compare against a set of static configurations.
> 
> This patch only adds the interface change, the functionality is added
> in future patches.

Vinod, this patch would need to be shared as an immutable tag for Mark, 
once this is done I can share the SOF parts that make use of the 
information (cf. https://github.com/thesofproject/linux/pull/1692 for 
reference)

Sorry we missed this in the earlier interface changes, we didn't think 
we would have so many hardware variations so quickly.

Thanks!

> 
> Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
> ---
>   include/linux/soundwire/sdw_intel.h | 11 +++++++++++
>   1 file changed, 11 insertions(+)
> 
> diff --git a/include/linux/soundwire/sdw_intel.h b/include/linux/soundwire/sdw_intel.h
> index 93b83bdf8035..979b41b5dcb4 100644
> --- a/include/linux/soundwire/sdw_intel.h
> +++ b/include/linux/soundwire/sdw_intel.h
> @@ -5,6 +5,7 @@
>   #define __SDW_INTEL_H
>   
>   #include <linux/irqreturn.h>
> +#include <linux/soundwire/sdw.h>
>   
>   /**
>    * struct sdw_intel_stream_params_data: configuration passed during
> @@ -93,6 +94,11 @@ struct sdw_intel_link_res;
>    */
>   #define SDW_INTEL_CLK_STOP_BUS_RESET		BIT(3)
>   
> +struct sdw_intel_slave_id {
> +	int link_id;
> +	struct sdw_slave_id id;
> +};
> +
>   /**
>    * struct sdw_intel_ctx - context allocated by the controller
>    * driver probe
> @@ -101,9 +107,12 @@ struct sdw_intel_link_res;
>    * hardware capabilities after all power dependencies are settled.
>    * @link_mask: bit-wise mask listing SoundWire links reported by the
>    * Controller
> + * @num_slaves: total number of devices exposed across all enabled links
>    * @handle: ACPI parent handle
>    * @links: information for each link (controller-specific and kept
>    * opaque here)
> + * @ids: array of slave_id, representing Slaves exposed across all enabled
> + * links
>    * @link_list: list to handle interrupts across all links
>    * @shim_lock: mutex to handle concurrent rmw access to shared SHIM registers.
>    */
> @@ -111,8 +120,10 @@ struct sdw_intel_ctx {
>   	int count;
>   	void __iomem *mmio_base;
>   	u32 link_mask;
> +	int num_slaves;
>   	acpi_handle handle;
>   	struct sdw_intel_link_res *links;
> +	struct sdw_intel_slave_id *ids;
>   	struct list_head link_list;
>   	struct mutex shim_lock; /* lock for access to shared SHIM registers */
>   };
> 
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

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

* Re: [alsa-devel] [PATCH] soundwire: intel: report slave_ids for each link to SOF driver
  2020-01-10 22:31 ` Pierre-Louis Bossart
@ 2020-01-14  6:26   ` Vinod Koul
  2020-01-14 16:05     ` Pierre-Louis Bossart
  0 siblings, 1 reply; 5+ messages in thread
From: Vinod Koul @ 2020-01-14  6:26 UTC (permalink / raw)
  To: Pierre-Louis Bossart
  Cc: alsa-devel, tiwai, gregkh, linux-kernel, Ranjani Sridharan,
	broonie, srinivas.kandagatla, jank, slawomir.blauciak,
	Sanyog Kale, Bard liao, Rander Wang

On 10-01-20, 16:31, Pierre-Louis Bossart wrote:
> 
> 
> On 1/10/20 4:00 PM, Pierre-Louis Bossart wrote:
> > From: Bard Liao <yung-chuan.liao@linux.intel.com>
> > 
> > The existing link_mask flag is no longer sufficient to detect the
> > hardware and identify which topology file and a machine driver to load.
> > 
> > By reporting the slave_ids exposed in ACPI tables, the parent SOF
> > driver will be able to compare against a set of static configurations.
> > 
> > This patch only adds the interface change, the functionality is added
> > in future patches.
> 
> Vinod, this patch would need to be shared as an immutable tag for Mark, once
> this is done I can share the SOF parts that make use of the information (cf.
> https://github.com/thesofproject/linux/pull/1692 for reference)
> 
> Sorry we missed this in the earlier interface changes, we didn't think we
> would have so many hardware variations so quickly.

do you want the tag now..? I can provide... We are already in -rc6
and i will send PR to greg later this week...
-- 
~Vinod
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

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

* Re: [alsa-devel] [PATCH] soundwire: intel: report slave_ids for each link to SOF driver
  2020-01-14  6:26   ` Vinod Koul
@ 2020-01-14 16:05     ` Pierre-Louis Bossart
  2020-01-16 12:03       ` Vinod Koul
  0 siblings, 1 reply; 5+ messages in thread
From: Pierre-Louis Bossart @ 2020-01-14 16:05 UTC (permalink / raw)
  To: Vinod Koul
  Cc: alsa-devel, tiwai, gregkh, linux-kernel, Ranjani Sridharan,
	broonie, srinivas.kandagatla, jank, slawomir.blauciak,
	Sanyog Kale, Bard liao, Rander Wang



On 1/14/20 12:26 AM, Vinod Koul wrote:
> On 10-01-20, 16:31, Pierre-Louis Bossart wrote:
>>
>>
>> On 1/10/20 4:00 PM, Pierre-Louis Bossart wrote:
>>> From: Bard Liao <yung-chuan.liao@linux.intel.com>
>>>
>>> The existing link_mask flag is no longer sufficient to detect the
>>> hardware and identify which topology file and a machine driver to load.
>>>
>>> By reporting the slave_ids exposed in ACPI tables, the parent SOF
>>> driver will be able to compare against a set of static configurations.
>>>
>>> This patch only adds the interface change, the functionality is added
>>> in future patches.
>>
>> Vinod, this patch would need to be shared as an immutable tag for Mark, once
>> this is done I can share the SOF parts that make use of the information (cf.
>> https://github.com/thesofproject/linux/pull/1692 for reference)
>>
>> Sorry we missed this in the earlier interface changes, we didn't think we
>> would have so many hardware variations so quickly.
> 
> do you want the tag now..? I can provide... We are already in -rc6
> and i will send PR to greg later this week...

yes please, I'd like to send the SOF patches this week as well.
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

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

* Re: [alsa-devel] [PATCH] soundwire: intel: report slave_ids for each link to SOF driver
  2020-01-14 16:05     ` Pierre-Louis Bossart
@ 2020-01-16 12:03       ` Vinod Koul
  0 siblings, 0 replies; 5+ messages in thread
From: Vinod Koul @ 2020-01-16 12:03 UTC (permalink / raw)
  To: Pierre-Louis Bossart
  Cc: alsa-devel, tiwai, gregkh, linux-kernel, Ranjani Sridharan,
	broonie, srinivas.kandagatla, jank, slawomir.blauciak,
	Sanyog Kale, Bard liao, Rander Wang

On 14-01-20, 10:05, Pierre-Louis Bossart wrote:
> On 1/14/20 12:26 AM, Vinod Koul wrote:
> > On 10-01-20, 16:31, Pierre-Louis Bossart wrote:
> > > On 1/10/20 4:00 PM, Pierre-Louis Bossart wrote:
> > > > From: Bard Liao <yung-chuan.liao@linux.intel.com>
> > > > 
> > > > The existing link_mask flag is no longer sufficient to detect the
> > > > hardware and identify which topology file and a machine driver to load.
> > > > 
> > > > By reporting the slave_ids exposed in ACPI tables, the parent SOF
> > > > driver will be able to compare against a set of static configurations.
> > > > 
> > > > This patch only adds the interface change, the functionality is added
> > > > in future patches.
> > > 
> > > Vinod, this patch would need to be shared as an immutable tag for Mark, once
> > > this is done I can share the SOF parts that make use of the information (cf.
> > > https://github.com/thesofproject/linux/pull/1692 for reference)
> > > 
> > > Sorry we missed this in the earlier interface changes, we didn't think we
> > > would have so many hardware variations so quickly.
> > 
> > do you want the tag now..? I can provide... We are already in -rc6
> > and i will send PR to greg later this week...
> 
> yes please, I'd like to send the SOF patches this week as well.

Applied now and pushed tag 'sdw_interfaces_2_5.6' for this, thanks

-- 
~Vinod
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

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

end of thread, back to index

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-10 22:00 [alsa-devel] [PATCH] soundwire: intel: report slave_ids for each link to SOF driver Pierre-Louis Bossart
2020-01-10 22:31 ` Pierre-Louis Bossart
2020-01-14  6:26   ` Vinod Koul
2020-01-14 16:05     ` Pierre-Louis Bossart
2020-01-16 12:03       ` Vinod Koul

Alsa-Devel Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/alsa-devel/0 alsa-devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 alsa-devel alsa-devel/ https://lore.kernel.org/alsa-devel \
		alsa-devel@alsa-project.org
	public-inbox-index alsa-devel

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.alsa-project.alsa-devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git