All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] ASoC: SOF: misc updates for 6.6
@ 2023-07-31 21:32 Pierre-Louis Bossart
  2023-07-31 21:32 ` [PATCH 1/6] ASoC: SOF: Intel: start simplify the signature of link_slaves_found() Pierre-Louis Bossart
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Pierre-Louis Bossart @ 2023-07-31 21:32 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, broonie, Pierre-Louis Bossart

Cleanups, move of code to promote reuse and Mediatek minor updates.

Curtis Malainey (1):
  ASoC: SOF: Deprecate invalid enums in IPC3

Pierre-Louis Bossart (3):
  ASoC: SOF: Intel: start simplify the signature of link_slaves_found()
  ASoC: soc-acpi: move link_slaves_found()
  ASoC: soc-acpi: improve log messagesin link_slaves_found()

Trevor Wu (2):
  ASoC: SOF: ipc3: update dai_link_fixup for SOF_DAI_MEDIATEK_AFE
  ASoC: SOF: mediatek: mt8186 modify dram type as non-cache

 include/linux/soundwire/sdw.h          |  5 ++
 include/linux/soundwire/sdw_intel.h    |  7 +--
 include/sound/soc-acpi.h               |  6 ++
 include/sound/sof/topology.h           |  4 +-
 sound/soc/soc-acpi.c                   | 73 +++++++++++++++++++++++
 sound/soc/sof/intel/hda.c              | 81 +-------------------------
 sound/soc/sof/ipc3-pcm.c               | 17 ++++++
 sound/soc/sof/mediatek/mt8186/mt8186.c | 40 +++++++------
 8 files changed, 130 insertions(+), 103 deletions(-)

-- 
2.39.2


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

* [PATCH 1/6] ASoC: SOF: Intel: start simplify the signature of link_slaves_found()
  2023-07-31 21:32 [PATCH 0/6] ASoC: SOF: misc updates for 6.6 Pierre-Louis Bossart
@ 2023-07-31 21:32 ` Pierre-Louis Bossart
  2023-07-31 21:32 ` [PATCH 2/6] ASoC: soc-acpi: move link_slaves_found() Pierre-Louis Bossart
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Pierre-Louis Bossart @ 2023-07-31 21:32 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, broonie, Pierre-Louis Bossart, Rander Wang, Bard Liao

Start removing Intel-specific arguments to make that function usable
by other SOC vendors.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
---
 sound/soc/sof/intel/hda.c | 19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)

diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c
index 64bebe1a72bb..6d9fafb58581 100644
--- a/sound/soc/sof/intel/hda.c
+++ b/sound/soc/sof/intel/hda.c
@@ -1433,13 +1433,11 @@ static void hda_generic_machine_select(struct snd_sof_dev *sdev,
 				  SDW_MFG_ID_MASK | SDW_PART_ID_MASK))
 
 /* Check if all Slaves defined on the link can be found */
-static bool link_slaves_found(struct snd_sof_dev *sdev,
+static bool link_slaves_found(struct device *dev,
 			      const struct snd_soc_acpi_link_adr *link,
-			      struct sdw_intel_ctx *sdw)
+			      struct sdw_intel_slave_id *ids,
+			      int num_slaves)
 {
-	struct hdac_bus *bus = sof_to_bus(sdev);
-	struct sdw_intel_slave_id *ids = sdw->ids;
-	int num_slaves = sdw->num_slaves;
 	unsigned int part_id, link_id, unique_id, mfg_id, version;
 	int i, j, k;
 
@@ -1487,19 +1485,16 @@ static bool link_slaves_found(struct snd_sof_dev *sdev,
 				unique_id = SDW_UNIQUE_ID(adr);
 				if (reported_part_count == 1 ||
 				    ids[j].id.unique_id == unique_id) {
-					dev_dbg(bus->dev, "found %x at link %d\n",
-						part_id, link_id);
+					dev_dbg(dev, "found %x at link %d\n", part_id, link_id);
 					break;
 				}
 			} else {
-				dev_dbg(bus->dev, "part %x reported %d expected %d on link %d, skipping\n",
+				dev_dbg(dev, "part %x reported %d expected %d on link %d, skipping\n",
 					part_id, reported_part_count, expected_part_count, link_id);
 			}
 		}
 		if (j == num_slaves) {
-			dev_dbg(bus->dev,
-				"Slave %x not found\n",
-				part_id);
+			dev_dbg(dev, "Slave %x not found\n", part_id);
 			return false;
 		}
 	}
@@ -1549,7 +1544,7 @@ static struct snd_soc_acpi_mach *hda_sdw_machine_select(struct snd_sof_dev *sdev
 				 * Try next machine if any expected Slaves
 				 * are not found on this link.
 				 */
-				if (!link_slaves_found(sdev, link, hdev->sdw))
+				if (!link_slaves_found(sdev->dev, link, hdev->sdw->ids, hdev->sdw->num_slaves))
 					break;
 			}
 			/* Found if all Slaves are checked */
-- 
2.39.2


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

* [PATCH 2/6] ASoC: soc-acpi: move link_slaves_found()
  2023-07-31 21:32 [PATCH 0/6] ASoC: SOF: misc updates for 6.6 Pierre-Louis Bossart
  2023-07-31 21:32 ` [PATCH 1/6] ASoC: SOF: Intel: start simplify the signature of link_slaves_found() Pierre-Louis Bossart
@ 2023-07-31 21:32 ` Pierre-Louis Bossart
  2023-07-31 21:32 ` [PATCH 3/6] ASoC: soc-acpi: improve log messagesin link_slaves_found() Pierre-Louis Bossart
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Pierre-Louis Bossart @ 2023-07-31 21:32 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, broonie, Pierre-Louis Bossart, Rander Wang, Bard Liao

Move existing function in common library to make sure the code can be
reused by other SoC vendors.

No functionality change outside of the move and added prefix.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
---
 include/linux/soundwire/sdw.h       |  5 ++
 include/linux/soundwire/sdw_intel.h |  7 +--
 include/sound/soc-acpi.h            |  6 +++
 sound/soc/soc-acpi.c                | 73 +++++++++++++++++++++++++++
 sound/soc/sof/intel/hda.c           | 76 ++---------------------------
 5 files changed, 88 insertions(+), 79 deletions(-)

diff --git a/include/linux/soundwire/sdw.h b/include/linux/soundwire/sdw.h
index f523ceabd059..f248f9a6cd55 100644
--- a/include/linux/soundwire/sdw.h
+++ b/include/linux/soundwire/sdw.h
@@ -482,6 +482,11 @@ struct sdw_slave_id {
 	__u8 sdw_version:4;
 };
 
+struct sdw_extended_slave_id {
+	int link_id;
+	struct sdw_slave_id id;
+};
+
 /*
  * Helper macros to extract the MIPI-defined IDs
  *
diff --git a/include/linux/soundwire/sdw_intel.h b/include/linux/soundwire/sdw_intel.h
index 11fc88fb0d78..fa67fad4ef51 100644
--- a/include/linux/soundwire/sdw_intel.h
+++ b/include/linux/soundwire/sdw_intel.h
@@ -264,11 +264,6 @@ struct sdw_intel_link_dev;
  */
 #define SDW_INTEL_CLK_STOP_BUS_RESET		BIT(3)
 
-struct sdw_intel_slave_id {
-	int link_id;
-	struct sdw_slave_id id;
-};
-
 struct hdac_bus;
 
 /**
@@ -298,7 +293,7 @@ struct sdw_intel_ctx {
 	int num_slaves;
 	acpi_handle handle;
 	struct sdw_intel_link_dev **ldev;
-	struct sdw_intel_slave_id *ids;
+	struct sdw_extended_slave_id *ids;
 	struct list_head link_list;
 	struct mutex shim_lock; /* lock for access to shared SHIM registers */
 	u32 shim_mask;
diff --git a/include/sound/soc-acpi.h b/include/sound/soc-acpi.h
index 528279056b3a..630bf7367fe6 100644
--- a/include/sound/soc-acpi.h
+++ b/include/sound/soc-acpi.h
@@ -9,6 +9,7 @@
 #include <linux/stddef.h>
 #include <linux/acpi.h>
 #include <linux/mod_devicetable.h>
+#include <linux/soundwire/sdw.h>
 
 struct snd_soc_acpi_package_context {
 	char *name;           /* package name */
@@ -208,4 +209,9 @@ static inline bool snd_soc_acpi_sof_parent(struct device *dev)
 		!strncmp(dev->parent->driver->name, "sof-audio-acpi", strlen("sof-audio-acpi"));
 }
 
+bool snd_soc_acpi_sdw_link_slaves_found(struct device *dev,
+					const struct snd_soc_acpi_link_adr *link,
+					struct sdw_extended_slave_id *ids,
+					int num_slaves);
+
 #endif
diff --git a/sound/soc/soc-acpi.c b/sound/soc/soc-acpi.c
index 142476f1396f..9319e9b2a033 100644
--- a/sound/soc/soc-acpi.c
+++ b/sound/soc/soc-acpi.c
@@ -125,5 +125,78 @@ struct snd_soc_acpi_mach *snd_soc_acpi_codec_list(void *arg)
 }
 EXPORT_SYMBOL_GPL(snd_soc_acpi_codec_list);
 
+#define SDW_CODEC_ADR_MASK(_adr) ((_adr) & (SDW_DISCO_LINK_ID_MASK | SDW_VERSION_MASK | \
+				  SDW_MFG_ID_MASK | SDW_PART_ID_MASK))
+
+/* Check if all Slaves defined on the link can be found */
+bool snd_soc_acpi_sdw_link_slaves_found(struct device *dev,
+					const struct snd_soc_acpi_link_adr *link,
+					struct sdw_extended_slave_id *ids,
+					int num_slaves)
+{
+	unsigned int part_id, link_id, unique_id, mfg_id, version;
+	int i, j, k;
+
+	for (i = 0; i < link->num_adr; i++) {
+		u64 adr = link->adr_d[i].adr;
+		int reported_part_count = 0;
+
+		mfg_id = SDW_MFG_ID(adr);
+		part_id = SDW_PART_ID(adr);
+		link_id = SDW_DISCO_LINK_ID(adr);
+		version = SDW_VERSION(adr);
+
+		for (j = 0; j < num_slaves; j++) {
+			/* find out how many identical parts were reported on that link */
+			if (ids[j].link_id == link_id &&
+			    ids[j].id.part_id == part_id &&
+			    ids[j].id.mfg_id == mfg_id &&
+			    ids[j].id.sdw_version == version)
+				reported_part_count++;
+		}
+
+		for (j = 0; j < num_slaves; j++) {
+			int expected_part_count = 0;
+
+			if (ids[j].link_id != link_id ||
+			    ids[j].id.part_id != part_id ||
+			    ids[j].id.mfg_id != mfg_id ||
+			    ids[j].id.sdw_version != version)
+				continue;
+
+			/* find out how many identical parts are expected */
+			for (k = 0; k < link->num_adr; k++) {
+				u64 adr2 = link->adr_d[k].adr;
+
+				if (SDW_CODEC_ADR_MASK(adr2) == SDW_CODEC_ADR_MASK(adr))
+					expected_part_count++;
+			}
+
+			if (reported_part_count == expected_part_count) {
+				/*
+				 * we have to check unique id
+				 * if there is more than one
+				 * Slave on the link
+				 */
+				unique_id = SDW_UNIQUE_ID(adr);
+				if (reported_part_count == 1 ||
+				    ids[j].id.unique_id == unique_id) {
+					dev_dbg(dev, "found %x at link %d\n", part_id, link_id);
+					break;
+				}
+			} else {
+				dev_dbg(dev, "part %x reported %d expected %d on link %d, skipping\n",
+					part_id, reported_part_count, expected_part_count, link_id);
+			}
+		}
+		if (j == num_slaves) {
+			dev_dbg(dev, "Slave %x not found\n", part_id);
+			return false;
+		}
+	}
+	return true;
+}
+EXPORT_SYMBOL_GPL(snd_soc_acpi_sdw_link_slaves_found);
+
 MODULE_LICENSE("GPL v2");
 MODULE_DESCRIPTION("ALSA SoC ACPI module");
diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c
index 6d9fafb58581..a77c0a52dcad 100644
--- a/sound/soc/sof/intel/hda.c
+++ b/sound/soc/sof/intel/hda.c
@@ -1429,78 +1429,6 @@ static void hda_generic_machine_select(struct snd_sof_dev *sdev,
 
 #if IS_ENABLED(CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE)
 
-#define SDW_CODEC_ADR_MASK(_adr) ((_adr) & (SDW_DISCO_LINK_ID_MASK | SDW_VERSION_MASK | \
-				  SDW_MFG_ID_MASK | SDW_PART_ID_MASK))
-
-/* Check if all Slaves defined on the link can be found */
-static bool link_slaves_found(struct device *dev,
-			      const struct snd_soc_acpi_link_adr *link,
-			      struct sdw_intel_slave_id *ids,
-			      int num_slaves)
-{
-	unsigned int part_id, link_id, unique_id, mfg_id, version;
-	int i, j, k;
-
-	for (i = 0; i < link->num_adr; i++) {
-		u64 adr = link->adr_d[i].adr;
-		int reported_part_count = 0;
-
-		mfg_id = SDW_MFG_ID(adr);
-		part_id = SDW_PART_ID(adr);
-		link_id = SDW_DISCO_LINK_ID(adr);
-		version = SDW_VERSION(adr);
-
-		for (j = 0; j < num_slaves; j++) {
-			/* find out how many identical parts were reported on that link */
-			if (ids[j].link_id == link_id &&
-			    ids[j].id.part_id == part_id &&
-			    ids[j].id.mfg_id == mfg_id &&
-			    ids[j].id.sdw_version == version)
-				reported_part_count++;
-		}
-
-		for (j = 0; j < num_slaves; j++) {
-			int expected_part_count = 0;
-
-			if (ids[j].link_id != link_id ||
-			    ids[j].id.part_id != part_id ||
-			    ids[j].id.mfg_id != mfg_id ||
-			    ids[j].id.sdw_version != version)
-				continue;
-
-			/* find out how many identical parts are expected */
-			for (k = 0; k < link->num_adr; k++) {
-				u64 adr2 = link->adr_d[k].adr;
-
-				if (SDW_CODEC_ADR_MASK(adr2) == SDW_CODEC_ADR_MASK(adr))
-					expected_part_count++;
-			}
-
-			if (reported_part_count == expected_part_count) {
-				/*
-				 * we have to check unique id
-				 * if there is more than one
-				 * Slave on the link
-				 */
-				unique_id = SDW_UNIQUE_ID(adr);
-				if (reported_part_count == 1 ||
-				    ids[j].id.unique_id == unique_id) {
-					dev_dbg(dev, "found %x at link %d\n", part_id, link_id);
-					break;
-				}
-			} else {
-				dev_dbg(dev, "part %x reported %d expected %d on link %d, skipping\n",
-					part_id, reported_part_count, expected_part_count, link_id);
-			}
-		}
-		if (j == num_slaves) {
-			dev_dbg(dev, "Slave %x not found\n", part_id);
-			return false;
-		}
-	}
-	return true;
-}
-
 static struct snd_soc_acpi_mach *hda_sdw_machine_select(struct snd_sof_dev *sdev)
 {
 	struct snd_sof_pdata *pdata = sdev->pdata;
@@ -1544,7 +1472,9 @@ static struct snd_soc_acpi_mach *hda_sdw_machine_select(struct snd_sof_dev *sdev
 				 * Try next machine if any expected Slaves
 				 * are not found on this link.
 				 */
-				if (!link_slaves_found(sdev->dev, link, hdev->sdw->ids, hdev->sdw->num_slaves))
+				if (!snd_soc_acpi_sdw_link_slaves_found(sdev->dev, link,
+									hdev->sdw->ids,
+									hdev->sdw->num_slaves))
 					break;
 			}
 			/* Found if all Slaves are checked */
-- 
2.39.2


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

* [PATCH 3/6] ASoC: soc-acpi: improve log messagesin link_slaves_found()
  2023-07-31 21:32 [PATCH 0/6] ASoC: SOF: misc updates for 6.6 Pierre-Louis Bossart
  2023-07-31 21:32 ` [PATCH 1/6] ASoC: SOF: Intel: start simplify the signature of link_slaves_found() Pierre-Louis Bossart
  2023-07-31 21:32 ` [PATCH 2/6] ASoC: soc-acpi: move link_slaves_found() Pierre-Louis Bossart
@ 2023-07-31 21:32 ` Pierre-Louis Bossart
  2023-07-31 21:32 ` [PATCH 4/6] ASoC: SOF: ipc3: update dai_link_fixup for SOF_DAI_MEDIATEK_AFE Pierre-Louis Bossart
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Pierre-Louis Bossart @ 2023-07-31 21:32 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, broonie, Pierre-Louis Bossart, Rander Wang, Bard Liao

use 'part_id' to follow MIPI/SoundWire wording and use more consistent
%#x format.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
---
 sound/soc/soc-acpi.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/sound/soc/soc-acpi.c b/sound/soc/soc-acpi.c
index 9319e9b2a033..6d693b2ad5a3 100644
--- a/sound/soc/soc-acpi.c
+++ b/sound/soc/soc-acpi.c
@@ -181,16 +181,16 @@ bool snd_soc_acpi_sdw_link_slaves_found(struct device *dev,
 				unique_id = SDW_UNIQUE_ID(adr);
 				if (reported_part_count == 1 ||
 				    ids[j].id.unique_id == unique_id) {
-					dev_dbg(dev, "found %x at link %d\n", part_id, link_id);
+					dev_dbg(dev, "found part_id %#x at link %d\n", part_id, link_id);
 					break;
 				}
 			} else {
-				dev_dbg(dev, "part %x reported %d expected %d on link %d, skipping\n",
+				dev_dbg(dev, "part_id %#x reported %d expected %d on link %d, skipping\n",
 					part_id, reported_part_count, expected_part_count, link_id);
 			}
 		}
 		if (j == num_slaves) {
-			dev_dbg(dev, "Slave %x not found\n", part_id);
+			dev_dbg(dev, "Slave part_id %#x not found\n", part_id);
 			return false;
 		}
 	}
-- 
2.39.2


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

* [PATCH 4/6] ASoC: SOF: ipc3: update dai_link_fixup for SOF_DAI_MEDIATEK_AFE
  2023-07-31 21:32 [PATCH 0/6] ASoC: SOF: misc updates for 6.6 Pierre-Louis Bossart
                   ` (2 preceding siblings ...)
  2023-07-31 21:32 ` [PATCH 3/6] ASoC: soc-acpi: improve log messagesin link_slaves_found() Pierre-Louis Bossart
@ 2023-07-31 21:32 ` Pierre-Louis Bossart
  2023-07-31 21:32 ` [PATCH 5/6] ASoC: SOF: Deprecate invalid enums in IPC3 Pierre-Louis Bossart
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Pierre-Louis Bossart @ 2023-07-31 21:32 UTC (permalink / raw)
  To: alsa-devel
  Cc: tiwai, broonie, Trevor Wu, Yaochun Hung, Daniel Baluta,
	Pierre-Louis Bossart

From: Trevor Wu <trevor.wu@mediatek.com>

For MediaTek AFE, DAI DMA can support different bitwidths compared to
the BE DAI. Therefore, it is preferable to obtain the BE frame format
from the DAI_CONFIG.

Reviewed-by: Yaochun Hung <yc.hung@mediatek.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Trevor Wu <trevor.wu@mediatek.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/sof/ipc3-pcm.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/sound/soc/sof/ipc3-pcm.c b/sound/soc/sof/ipc3-pcm.c
index 304faf6425ab..cb58ee8c158a 100644
--- a/sound/soc/sof/ipc3-pcm.c
+++ b/sound/soc/sof/ipc3-pcm.c
@@ -309,6 +309,23 @@ static int sof_ipc3_pcm_dai_link_fixup(struct snd_soc_pcm_runtime *rtd,
 		channels->min = private->dai_config->afe.channels;
 		channels->max = private->dai_config->afe.channels;
 
+		snd_mask_none(fmt);
+
+		switch (private->dai_config->afe.format) {
+		case SOF_IPC_FRAME_S16_LE:
+			snd_mask_set_format(fmt, SNDRV_PCM_FORMAT_S16_LE);
+			break;
+		case SOF_IPC_FRAME_S24_4LE:
+			snd_mask_set_format(fmt, SNDRV_PCM_FORMAT_S24_LE);
+			break;
+		case SOF_IPC_FRAME_S32_LE:
+			snd_mask_set_format(fmt, SNDRV_PCM_FORMAT_S32_LE);
+			break;
+		default:
+			dev_err(component->dev, "Not available format!\n");
+			return -EINVAL;
+		}
+
 		dev_dbg(component->dev, "rate_min: %d rate_max: %d\n", rate->min, rate->max);
 		dev_dbg(component->dev, "channels_min: %d channels_max: %d\n",
 			channels->min, channels->max);
-- 
2.39.2


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

* [PATCH 5/6] ASoC: SOF: Deprecate invalid enums in IPC3
  2023-07-31 21:32 [PATCH 0/6] ASoC: SOF: misc updates for 6.6 Pierre-Louis Bossart
                   ` (3 preceding siblings ...)
  2023-07-31 21:32 ` [PATCH 4/6] ASoC: SOF: ipc3: update dai_link_fixup for SOF_DAI_MEDIATEK_AFE Pierre-Louis Bossart
@ 2023-07-31 21:32 ` Pierre-Louis Bossart
  2023-07-31 21:32 ` [PATCH 6/6] ASoC: SOF: mediatek: mt8186 modify dram type as non-cache Pierre-Louis Bossart
  2023-08-01 11:34 ` (subset) [PATCH 0/6] ASoC: SOF: misc updates for 6.6 Mark Brown
  6 siblings, 0 replies; 10+ messages in thread
From: Pierre-Louis Bossart @ 2023-07-31 21:32 UTC (permalink / raw)
  To: alsa-devel
  Cc: tiwai, broonie, Curtis Malainey, Bard Liao, Pierre-Louis Bossart

From: Curtis Malainey <cujomalainey@chromium.org>

The switch component was never completed and sat half empty for over 3
years. It was recently deleted. For modern components this would
require not change in the kernel but since this was a legacy allocation
from the enum days of IPC3 we should mark the respective enum as
deprecated.

The splitter component was never even got a source file in the firmware.
Therefore also delete it since this is not needed.

Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 include/sound/sof/topology.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/sound/sof/topology.h b/include/sound/sof/topology.h
index 88560281d420..906e2f327ad2 100644
--- a/include/sound/sof/topology.h
+++ b/include/sound/sof/topology.h
@@ -26,9 +26,9 @@ enum sof_comp_type {
 	SOF_COMP_MIXER,
 	SOF_COMP_MUX,
 	SOF_COMP_SRC,
-	SOF_COMP_SPLITTER,
+	SOF_COMP_DEPRECATED0, /* Formerly SOF_COMP_SPLITTER */
 	SOF_COMP_TONE,
-	SOF_COMP_SWITCH,
+	SOF_COMP_DEPRECATED1, /* Formerly SOF_COMP_SWITCH */
 	SOF_COMP_BUFFER,
 	SOF_COMP_EQ_IIR,
 	SOF_COMP_EQ_FIR,
-- 
2.39.2


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

* [PATCH 6/6] ASoC: SOF: mediatek: mt8186 modify dram type as non-cache
  2023-07-31 21:32 [PATCH 0/6] ASoC: SOF: misc updates for 6.6 Pierre-Louis Bossart
                   ` (4 preceding siblings ...)
  2023-07-31 21:32 ` [PATCH 5/6] ASoC: SOF: Deprecate invalid enums in IPC3 Pierre-Louis Bossart
@ 2023-07-31 21:32 ` Pierre-Louis Bossart
  2023-07-31 21:37   ` Mark Brown
  2023-08-01 11:34 ` (subset) [PATCH 0/6] ASoC: SOF: misc updates for 6.6 Mark Brown
  6 siblings, 1 reply; 10+ messages in thread
From: Pierre-Louis Bossart @ 2023-07-31 21:32 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, broonie, Trevor Wu, Yaochun Hung, Kuan-Hsun Cheng

From: Trevor Wu <trevor.wu@mediatek.com>

To prevent incorrect access between the host and DSP sides, we need to
modify DRAM as a non-cache memory type. Additionally, we can retrieve
the size of shared DMA from the device tree.

Signed-off-by: Trevor Wu <trevor.wu@mediatek.com>
Reviewed-by: Yaochun Hung <yc.hung@mediatek.com>
Reviewed-by: Kuan-Hsun Cheng <Allen-KH.Cheng@mediatek.com>
---
 sound/soc/sof/mediatek/mt8186/mt8186.c | 40 +++++++++++++++-----------
 1 file changed, 23 insertions(+), 17 deletions(-)

diff --git a/sound/soc/sof/mediatek/mt8186/mt8186.c b/sound/soc/sof/mediatek/mt8186/mt8186.c
index 3e0ea0e109e2..f587edf9e0a7 100644
--- a/sound/soc/sof/mediatek/mt8186/mt8186.c
+++ b/sound/soc/sof/mediatek/mt8186/mt8186.c
@@ -111,6 +111,14 @@ static int platform_parse_resource(struct platform_device *pdev, void *data)
 
 	dev_dbg(dev, "DMA %pR\n", &res);
 
+	adsp->pa_shared_dram = (phys_addr_t)res.start;
+	adsp->shared_size = resource_size(&res);
+	if (adsp->pa_shared_dram & DRAM_REMAP_MASK) {
+		dev_err(dev, "adsp shared dma memory(%#x) is not 4K-aligned\n",
+			(u32)adsp->pa_shared_dram);
+		return -EINVAL;
+	}
+
 	ret = of_reserved_mem_device_init(dev);
 	if (ret) {
 		dev_err(dev, "of_reserved_mem_device_init failed\n");
@@ -244,23 +252,18 @@ static int adsp_shared_base_ioremap(struct platform_device *pdev, void *data)
 {
 	struct device *dev = &pdev->dev;
 	struct mtk_adsp_chip_info *adsp = data;
-	u32 shared_size;
 
 	/* remap shared-dram base to be non-cachable */
-	shared_size = TOTAL_SIZE_SHARED_DRAM_FROM_TAIL;
-	adsp->pa_shared_dram = adsp->pa_dram + adsp->dramsize - shared_size;
-	if (adsp->va_dram) {
-		adsp->shared_dram = adsp->va_dram + DSP_DRAM_SIZE - shared_size;
-	} else {
-		adsp->shared_dram = devm_ioremap(dev, adsp->pa_shared_dram,
-						 shared_size);
-		if (!adsp->shared_dram) {
-			dev_err(dev, "ioremap failed for shared DRAM\n");
-			return -ENOMEM;
-		}
+	adsp->shared_dram = devm_ioremap(dev, adsp->pa_shared_dram,
+					 adsp->shared_size);
+	if (!adsp->shared_dram) {
+		dev_err(dev, "failed to ioremap base %pa size %#x\n",
+			adsp->shared_dram, adsp->shared_size);
+		return -ENOMEM;
 	}
-	dev_dbg(dev, "shared-dram vbase=%p, phy addr :%pa, size=%#x\n",
-		adsp->shared_dram, &adsp->pa_shared_dram, shared_size);
+
+	dev_dbg(dev, "shared-dram vbase=%p, phy addr :%pa,  size=%#x\n",
+		adsp->shared_dram, &adsp->pa_shared_dram, adsp->shared_size);
 
 	return 0;
 }
@@ -307,9 +310,12 @@ static int mt8186_dsp_probe(struct snd_sof_dev *sdev)
 		return -ENOMEM;
 	}
 
-	sdev->bar[SOF_FW_BLK_TYPE_SRAM] = devm_ioremap_wc(sdev->dev,
-							  priv->adsp->pa_dram,
-							  priv->adsp->dramsize);
+	priv->adsp->va_sram = sdev->bar[SOF_FW_BLK_TYPE_IRAM];
+
+	sdev->bar[SOF_FW_BLK_TYPE_SRAM] = devm_ioremap(sdev->dev,
+						       priv->adsp->pa_dram,
+						       priv->adsp->dramsize);
+
 	if (!sdev->bar[SOF_FW_BLK_TYPE_SRAM]) {
 		dev_err(sdev->dev, "failed to ioremap base %pa size %#x\n",
 			&priv->adsp->pa_dram, priv->adsp->dramsize);
-- 
2.39.2


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

* Re: [PATCH 6/6] ASoC: SOF: mediatek: mt8186 modify dram type as non-cache
  2023-07-31 21:32 ` [PATCH 6/6] ASoC: SOF: mediatek: mt8186 modify dram type as non-cache Pierre-Louis Bossart
@ 2023-07-31 21:37   ` Mark Brown
  2023-08-03  7:55     ` Trevor Wu (吳文良)
  0 siblings, 1 reply; 10+ messages in thread
From: Mark Brown @ 2023-07-31 21:37 UTC (permalink / raw)
  To: Pierre-Louis Bossart
  Cc: alsa-devel, tiwai, Trevor Wu, Yaochun Hung, Kuan-Hsun Cheng

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

On Mon, Jul 31, 2023 at 04:32:42PM -0500, Pierre-Louis Bossart wrote:
> From: Trevor Wu <trevor.wu@mediatek.com>
> 
> To prevent incorrect access between the host and DSP sides, we need to
> modify DRAM as a non-cache memory type. Additionally, we can retrieve
> the size of shared DMA from the device tree.
> 
> Signed-off-by: Trevor Wu <trevor.wu@mediatek.com>
> Reviewed-by: Yaochun Hung <yc.hung@mediatek.com>
> Reviewed-by: Kuan-Hsun Cheng <Allen-KH.Cheng@mediatek.com>
> ---


You've not provided a Signed-off-by for this so I can't do anything with
it, please see Documentation/process/submitting-patches.rst for details
on what this is and why it's important.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: (subset) [PATCH 0/6] ASoC: SOF: misc updates for 6.6
  2023-07-31 21:32 [PATCH 0/6] ASoC: SOF: misc updates for 6.6 Pierre-Louis Bossart
                   ` (5 preceding siblings ...)
  2023-07-31 21:32 ` [PATCH 6/6] ASoC: SOF: mediatek: mt8186 modify dram type as non-cache Pierre-Louis Bossart
@ 2023-08-01 11:34 ` Mark Brown
  6 siblings, 0 replies; 10+ messages in thread
From: Mark Brown @ 2023-08-01 11:34 UTC (permalink / raw)
  To: alsa-devel, Pierre-Louis Bossart; +Cc: tiwai

On Mon, 31 Jul 2023 16:32:36 -0500, Pierre-Louis Bossart wrote:
> Cleanups, move of code to promote reuse and Mediatek minor updates.
> 
> Curtis Malainey (1):
>   ASoC: SOF: Deprecate invalid enums in IPC3
> 
> Pierre-Louis Bossart (3):
>   ASoC: SOF: Intel: start simplify the signature of link_slaves_found()
>   ASoC: soc-acpi: move link_slaves_found()
>   ASoC: soc-acpi: improve log messagesin link_slaves_found()
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/6] ASoC: SOF: Intel: start simplify the signature of link_slaves_found()
      commit: 799d9933ba47d9b679637fa17454ed81ac353f52
[2/6] ASoC: soc-acpi: move link_slaves_found()
      commit: bb29a33c4b4da9c11e021b9a257ae2944ccaff01
[3/6] ASoC: soc-acpi: improve log messagesin link_slaves_found()
      commit: cf35ab3d58c65a924ef8caf5c40e5849d4aa253e
[4/6] ASoC: SOF: ipc3: update dai_link_fixup for SOF_DAI_MEDIATEK_AFE
      commit: ed19c4a9b1024c4069d3d9f4daa3eb26a622069d
[5/6] ASoC: SOF: Deprecate invalid enums in IPC3
      commit: 8dc97ccf94c73c62344a270986b837d02fb77c0f

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark


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

* Re: [PATCH 6/6] ASoC: SOF: mediatek: mt8186 modify dram type as non-cache
  2023-07-31 21:37   ` Mark Brown
@ 2023-08-03  7:55     ` Trevor Wu (吳文良)
  0 siblings, 0 replies; 10+ messages in thread
From: Trevor Wu (吳文良) @ 2023-08-03  7:55 UTC (permalink / raw)
  To: pierre-louis.bossart, broonie
  Cc: Allen-KH Cheng (程冠勲),
	alsa-devel, tiwai, YC Hung (洪堯俊)

On Mon, 2023-07-31 at 22:37 +0100, Mark Brown wrote:
> On Mon, Jul 31, 2023 at 04:32:42PM -0500, Pierre-Louis Bossart wrote:
> > From: Trevor Wu <trevor.wu@mediatek.com>
> > 
> > To prevent incorrect access between the host and DSP sides, we need
> > to
> > modify DRAM as a non-cache memory type. Additionally, we can
> > retrieve
> > the size of shared DMA from the device tree.
> > 
> > Signed-off-by: Trevor Wu <trevor.wu@mediatek.com>
> > Reviewed-by: Yaochun Hung <yc.hung@mediatek.com>
> > Reviewed-by: Kuan-Hsun Cheng <Allen-KH.Cheng@mediatek.com>
> > ---
> 
> 
> You've not provided a Signed-off-by for this so I can't do anything
> with
> it, please see Documentation/process/submitting-patches.rst for
> details
> on what this is and why it's important.

Hi Pierre,

Thanks for your help.
I have sent this patch, so there is no need for you to resend it.

Thanks,
Trevor

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

end of thread, other threads:[~2023-08-03  7:57 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-31 21:32 [PATCH 0/6] ASoC: SOF: misc updates for 6.6 Pierre-Louis Bossart
2023-07-31 21:32 ` [PATCH 1/6] ASoC: SOF: Intel: start simplify the signature of link_slaves_found() Pierre-Louis Bossart
2023-07-31 21:32 ` [PATCH 2/6] ASoC: soc-acpi: move link_slaves_found() Pierre-Louis Bossart
2023-07-31 21:32 ` [PATCH 3/6] ASoC: soc-acpi: improve log messagesin link_slaves_found() Pierre-Louis Bossart
2023-07-31 21:32 ` [PATCH 4/6] ASoC: SOF: ipc3: update dai_link_fixup for SOF_DAI_MEDIATEK_AFE Pierre-Louis Bossart
2023-07-31 21:32 ` [PATCH 5/6] ASoC: SOF: Deprecate invalid enums in IPC3 Pierre-Louis Bossart
2023-07-31 21:32 ` [PATCH 6/6] ASoC: SOF: mediatek: mt8186 modify dram type as non-cache Pierre-Louis Bossart
2023-07-31 21:37   ` Mark Brown
2023-08-03  7:55     ` Trevor Wu (吳文良)
2023-08-01 11:34 ` (subset) [PATCH 0/6] ASoC: SOF: misc updates for 6.6 Mark Brown

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.