All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/5] ASoC: amd: add RPL Platform acp header file
@ 2022-07-21  6:09 ` syed sabakareem
  0 siblings, 0 replies; 20+ messages in thread
From: syed sabakareem @ 2022-07-21  6:09 UTC (permalink / raw)
  To: broonie, alsa-devel
  Cc: Alexander.Deucher, Basavaraj.Hiregoudar, Sunil-kumar.Dommati,
	vijendar.mukunda, Syed Saba Kareem, Vijendar Mukunda,
	Liam Girdwood, Jaroslav Kysela, Takashi Iwai, open list

From: Syed Saba Kareem <Syed.SabaKareem@amd.com>

Add ACP register header file for RPL platform.

Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com>
Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
---
 .../soc/amd/rpl/rpl_acp6x_chip_offset_byte.h  | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 sound/soc/amd/rpl/rpl_acp6x_chip_offset_byte.h

diff --git a/sound/soc/amd/rpl/rpl_acp6x_chip_offset_byte.h b/sound/soc/amd/rpl/rpl_acp6x_chip_offset_byte.h
new file mode 100644
index 000000000000..456498f5396d
--- /dev/null
+++ b/sound/soc/amd/rpl/rpl_acp6x_chip_offset_byte.h
@@ -0,0 +1,30 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * AMD ACP 6.2 Register Documentation
+ *
+ * Copyright 2022 Advanced Micro Devices, Inc.
+ */
+
+#ifndef _rpl_acp6x_OFFSET_HEADER
+#define _rpl_acp6x_OFFSET_HEADER
+
+/* Registers from ACP_CLKRST block */
+#define ACP_SOFT_RESET                                0x1241000
+#define ACP_CONTROL                                   0x1241004
+#define ACP_STATUS                                    0x1241008
+#define ACP_DYNAMIC_CG_MASTER_CONTROL                 0x1241010
+#define ACP_PGFSM_CONTROL                             0x124101C
+#define ACP_PGFSM_STATUS                              0x1241020
+#define ACP_CLKMUX_SEL                                0x1241024
+
+/* Registers from ACP_AON block */
+#define ACP_PME_EN                                    0x1241400
+#define ACP_DEVICE_STATE                              0x1241404
+#define AZ_DEVICE_STATE                               0x1241408
+#define ACP_PIN_CONFIG                                0x1241440
+#define ACP_PAD_PULLUP_CTRL                           0x1241444
+#define ACP_PAD_PULLDOWN_CTRL                         0x1241448
+#define ACP_PAD_DRIVE_STRENGTH_CTRL                   0x124144C
+#define ACP_PAD_SCHMEN_CTRL                           0x1241450
+
+#endif
-- 
2.25.1


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

* [PATCH 1/5] ASoC: amd: add RPL Platform acp header file
@ 2022-07-21  6:09 ` syed sabakareem
  0 siblings, 0 replies; 20+ messages in thread
From: syed sabakareem @ 2022-07-21  6:09 UTC (permalink / raw)
  To: broonie, alsa-devel
  Cc: Sunil-kumar.Dommati, open list, Basavaraj.Hiregoudar,
	Takashi Iwai, Liam Girdwood, Syed Saba Kareem, Vijendar Mukunda,
	Alexander.Deucher

From: Syed Saba Kareem <Syed.SabaKareem@amd.com>

Add ACP register header file for RPL platform.

Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com>
Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
---
 .../soc/amd/rpl/rpl_acp6x_chip_offset_byte.h  | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 sound/soc/amd/rpl/rpl_acp6x_chip_offset_byte.h

diff --git a/sound/soc/amd/rpl/rpl_acp6x_chip_offset_byte.h b/sound/soc/amd/rpl/rpl_acp6x_chip_offset_byte.h
new file mode 100644
index 000000000000..456498f5396d
--- /dev/null
+++ b/sound/soc/amd/rpl/rpl_acp6x_chip_offset_byte.h
@@ -0,0 +1,30 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * AMD ACP 6.2 Register Documentation
+ *
+ * Copyright 2022 Advanced Micro Devices, Inc.
+ */
+
+#ifndef _rpl_acp6x_OFFSET_HEADER
+#define _rpl_acp6x_OFFSET_HEADER
+
+/* Registers from ACP_CLKRST block */
+#define ACP_SOFT_RESET                                0x1241000
+#define ACP_CONTROL                                   0x1241004
+#define ACP_STATUS                                    0x1241008
+#define ACP_DYNAMIC_CG_MASTER_CONTROL                 0x1241010
+#define ACP_PGFSM_CONTROL                             0x124101C
+#define ACP_PGFSM_STATUS                              0x1241020
+#define ACP_CLKMUX_SEL                                0x1241024
+
+/* Registers from ACP_AON block */
+#define ACP_PME_EN                                    0x1241400
+#define ACP_DEVICE_STATE                              0x1241404
+#define AZ_DEVICE_STATE                               0x1241408
+#define ACP_PIN_CONFIG                                0x1241440
+#define ACP_PAD_PULLUP_CTRL                           0x1241444
+#define ACP_PAD_PULLDOWN_CTRL                         0x1241448
+#define ACP_PAD_DRIVE_STRENGTH_CTRL                   0x124144C
+#define ACP_PAD_SCHMEN_CTRL                           0x1241450
+
+#endif
-- 
2.25.1


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

* [PATCH 2/5] ASoC: amd: add ACP PCI driver for RPL platform
  2022-07-21  6:09 ` syed sabakareem
@ 2022-07-21  6:09   ` syed sabakareem
  -1 siblings, 0 replies; 20+ messages in thread
From: syed sabakareem @ 2022-07-21  6:09 UTC (permalink / raw)
  To: broonie, alsa-devel
  Cc: Alexander.Deucher, Basavaraj.Hiregoudar, Sunil-kumar.Dommati,
	vijendar.mukunda, Syed Saba Kareem, Vijendar Mukunda,
	Liam Girdwood, Jaroslav Kysela, Takashi Iwai, open list

From: Syed Saba Kareem <Syed.SabaKareem@amd.com>

ACP is a PCI audio device.
This patch adds PCI driver to bind to this device and get
PCI resources.

Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com>
Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
---
 sound/soc/amd/rpl/rpl-pci-acp6x.c | 95 +++++++++++++++++++++++++++++++
 sound/soc/amd/rpl/rpl_acp6x.h     | 21 +++++++
 2 files changed, 116 insertions(+)
 create mode 100644 sound/soc/amd/rpl/rpl-pci-acp6x.c
 create mode 100644 sound/soc/amd/rpl/rpl_acp6x.h

diff --git a/sound/soc/amd/rpl/rpl-pci-acp6x.c b/sound/soc/amd/rpl/rpl-pci-acp6x.c
new file mode 100644
index 000000000000..7a82a978cf24
--- /dev/null
+++ b/sound/soc/amd/rpl/rpl-pci-acp6x.c
@@ -0,0 +1,95 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * AMD RPL ACP PCI Driver
+ *
+ * Copyright 2022 Advanced Micro Devices, Inc.
+ */
+
+#include <linux/pci.h>
+#include <linux/module.h>
+#include <linux/io.h>
+#include <linux/delay.h>
+#include <linux/platform_device.h>
+
+#include "rpl_acp6x.h"
+
+struct rpl_dev_data {
+	void __iomem *acp6x_base;
+};
+
+static int snd_rpl_probe(struct pci_dev *pci,
+			 const struct pci_device_id *pci_id)
+{
+	struct rpl_dev_data *adata;
+	u32 addr;
+	int ret;
+
+	/* RPL device check */
+	switch (pci->revision) {
+	case 0x62:
+		break;
+	default:
+		dev_dbg(&pci->dev, "acp6x pci device not found\n");
+		return -ENODEV;
+	}
+	if (pci_enable_device(pci)) {
+		dev_err(&pci->dev, "pci_enable_device failed\n");
+		return -ENODEV;
+	}
+
+	ret = pci_request_regions(pci, "AMD ACP6x audio");
+	if (ret < 0) {
+		dev_err(&pci->dev, "pci_request_regions failed\n");
+		goto disable_pci;
+	}
+
+	adata = devm_kzalloc(&pci->dev, sizeof(struct rpl_dev_data),
+			     GFP_KERNEL);
+	if (!adata) {
+		ret = -ENOMEM;
+		goto release_regions;
+	}
+
+	addr = pci_resource_start(pci, 0);
+	adata->acp6x_base = devm_ioremap(&pci->dev, addr,
+					 pci_resource_len(pci, 0));
+	if (!adata->acp6x_base) {
+		ret = -ENOMEM;
+		goto release_regions;
+	}
+	pci_set_master(pci);
+	pci_set_drvdata(pci, adata);
+	return 0;
+release_regions:
+	pci_release_regions(pci);
+disable_pci:
+	pci_disable_device(pci);
+
+	return ret;
+}
+
+static void snd_rpl_remove(struct pci_dev *pci)
+{
+	pci_release_regions(pci);
+	pci_disable_device(pci);
+}
+
+static const struct pci_device_id snd_rpl_ids[] = {
+	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, ACP_DEVICE_ID),
+	.class = PCI_CLASS_MULTIMEDIA_OTHER << 8,
+	.class_mask = 0xffffff },
+	{ 0, },
+};
+MODULE_DEVICE_TABLE(pci, snd_rpl_ids);
+
+static struct pci_driver rpl_acp6x_driver  = {
+	.name = KBUILD_MODNAME,
+	.id_table = snd_rpl_ids,
+	.probe = snd_rpl_probe,
+	.remove = snd_rpl_remove,
+};
+
+module_pci_driver(rpl_acp6x_driver);
+
+MODULE_DESCRIPTION("AMD ACP RPL PCI driver");
+MODULE_LICENSE("GPL v2");
diff --git a/sound/soc/amd/rpl/rpl_acp6x.h b/sound/soc/amd/rpl/rpl_acp6x.h
new file mode 100644
index 000000000000..5de19d5c892e
--- /dev/null
+++ b/sound/soc/amd/rpl/rpl_acp6x.h
@@ -0,0 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * AMD ACP Driver
+ *
+ * Copyright (C) 2021 Advanced Micro Devices, Inc. All rights reserved.
+ */
+
+#include "rpl_acp6x_chip_offset_byte.h"
+
+#define ACP_DEVICE_ID 0x15E2
+#define ACP6x_PHY_BASE_ADDRESS 0x1240000
+
+static inline u32 rpl_acp_readl(void __iomem *base_addr)
+{
+	return readl(base_addr - ACP6x_PHY_BASE_ADDRESS);
+}
+
+static inline void rpl_acp_writel(u32 val, void __iomem *base_addr)
+{
+	writel(val, base_addr - ACP6x_PHY_BASE_ADDRESS);
+}
-- 
2.25.1


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

* [PATCH 2/5] ASoC: amd: add ACP PCI driver for RPL platform
@ 2022-07-21  6:09   ` syed sabakareem
  0 siblings, 0 replies; 20+ messages in thread
From: syed sabakareem @ 2022-07-21  6:09 UTC (permalink / raw)
  To: broonie, alsa-devel
  Cc: Sunil-kumar.Dommati, open list, Basavaraj.Hiregoudar,
	Takashi Iwai, Liam Girdwood, Syed Saba Kareem, Vijendar Mukunda,
	Alexander.Deucher

From: Syed Saba Kareem <Syed.SabaKareem@amd.com>

ACP is a PCI audio device.
This patch adds PCI driver to bind to this device and get
PCI resources.

Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com>
Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
---
 sound/soc/amd/rpl/rpl-pci-acp6x.c | 95 +++++++++++++++++++++++++++++++
 sound/soc/amd/rpl/rpl_acp6x.h     | 21 +++++++
 2 files changed, 116 insertions(+)
 create mode 100644 sound/soc/amd/rpl/rpl-pci-acp6x.c
 create mode 100644 sound/soc/amd/rpl/rpl_acp6x.h

diff --git a/sound/soc/amd/rpl/rpl-pci-acp6x.c b/sound/soc/amd/rpl/rpl-pci-acp6x.c
new file mode 100644
index 000000000000..7a82a978cf24
--- /dev/null
+++ b/sound/soc/amd/rpl/rpl-pci-acp6x.c
@@ -0,0 +1,95 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * AMD RPL ACP PCI Driver
+ *
+ * Copyright 2022 Advanced Micro Devices, Inc.
+ */
+
+#include <linux/pci.h>
+#include <linux/module.h>
+#include <linux/io.h>
+#include <linux/delay.h>
+#include <linux/platform_device.h>
+
+#include "rpl_acp6x.h"
+
+struct rpl_dev_data {
+	void __iomem *acp6x_base;
+};
+
+static int snd_rpl_probe(struct pci_dev *pci,
+			 const struct pci_device_id *pci_id)
+{
+	struct rpl_dev_data *adata;
+	u32 addr;
+	int ret;
+
+	/* RPL device check */
+	switch (pci->revision) {
+	case 0x62:
+		break;
+	default:
+		dev_dbg(&pci->dev, "acp6x pci device not found\n");
+		return -ENODEV;
+	}
+	if (pci_enable_device(pci)) {
+		dev_err(&pci->dev, "pci_enable_device failed\n");
+		return -ENODEV;
+	}
+
+	ret = pci_request_regions(pci, "AMD ACP6x audio");
+	if (ret < 0) {
+		dev_err(&pci->dev, "pci_request_regions failed\n");
+		goto disable_pci;
+	}
+
+	adata = devm_kzalloc(&pci->dev, sizeof(struct rpl_dev_data),
+			     GFP_KERNEL);
+	if (!adata) {
+		ret = -ENOMEM;
+		goto release_regions;
+	}
+
+	addr = pci_resource_start(pci, 0);
+	adata->acp6x_base = devm_ioremap(&pci->dev, addr,
+					 pci_resource_len(pci, 0));
+	if (!adata->acp6x_base) {
+		ret = -ENOMEM;
+		goto release_regions;
+	}
+	pci_set_master(pci);
+	pci_set_drvdata(pci, adata);
+	return 0;
+release_regions:
+	pci_release_regions(pci);
+disable_pci:
+	pci_disable_device(pci);
+
+	return ret;
+}
+
+static void snd_rpl_remove(struct pci_dev *pci)
+{
+	pci_release_regions(pci);
+	pci_disable_device(pci);
+}
+
+static const struct pci_device_id snd_rpl_ids[] = {
+	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, ACP_DEVICE_ID),
+	.class = PCI_CLASS_MULTIMEDIA_OTHER << 8,
+	.class_mask = 0xffffff },
+	{ 0, },
+};
+MODULE_DEVICE_TABLE(pci, snd_rpl_ids);
+
+static struct pci_driver rpl_acp6x_driver  = {
+	.name = KBUILD_MODNAME,
+	.id_table = snd_rpl_ids,
+	.probe = snd_rpl_probe,
+	.remove = snd_rpl_remove,
+};
+
+module_pci_driver(rpl_acp6x_driver);
+
+MODULE_DESCRIPTION("AMD ACP RPL PCI driver");
+MODULE_LICENSE("GPL v2");
diff --git a/sound/soc/amd/rpl/rpl_acp6x.h b/sound/soc/amd/rpl/rpl_acp6x.h
new file mode 100644
index 000000000000..5de19d5c892e
--- /dev/null
+++ b/sound/soc/amd/rpl/rpl_acp6x.h
@@ -0,0 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * AMD ACP Driver
+ *
+ * Copyright (C) 2021 Advanced Micro Devices, Inc. All rights reserved.
+ */
+
+#include "rpl_acp6x_chip_offset_byte.h"
+
+#define ACP_DEVICE_ID 0x15E2
+#define ACP6x_PHY_BASE_ADDRESS 0x1240000
+
+static inline u32 rpl_acp_readl(void __iomem *base_addr)
+{
+	return readl(base_addr - ACP6x_PHY_BASE_ADDRESS);
+}
+
+static inline void rpl_acp_writel(u32 val, void __iomem *base_addr)
+{
+	writel(val, base_addr - ACP6x_PHY_BASE_ADDRESS);
+}
-- 
2.25.1


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

* [PATCH 3/5] ASoC: amd: add RPL Platform init/de-init functions
  2022-07-21  6:09 ` syed sabakareem
@ 2022-07-21  6:10   ` syed sabakareem
  -1 siblings, 0 replies; 20+ messages in thread
From: syed sabakareem @ 2022-07-21  6:10 UTC (permalink / raw)
  To: broonie, alsa-devel
  Cc: Alexander.Deucher, Basavaraj.Hiregoudar, Sunil-kumar.Dommati,
	vijendar.mukunda, Syed Saba Kareem, Vijendar Mukunda,
	Liam Girdwood, Jaroslav Kysela, Takashi Iwai, open list

From: Syed Saba Kareem <Syed.SabaKareem@amd.com>

Add RPL Platform ACP init/de-init functions.

Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com>
Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
---
 sound/soc/amd/rpl/rpl-pci-acp6x.c | 92 +++++++++++++++++++++++++++++++
 1 file changed, 92 insertions(+)

diff --git a/sound/soc/amd/rpl/rpl-pci-acp6x.c b/sound/soc/amd/rpl/rpl-pci-acp6x.c
index 7a82a978cf24..71ae90a00f36 100644
--- a/sound/soc/amd/rpl/rpl-pci-acp6x.c
+++ b/sound/soc/amd/rpl/rpl-pci-acp6x.c
@@ -17,6 +17,88 @@ struct rpl_dev_data {
 	void __iomem *acp6x_base;
 };
 
+static int rpl_power_on(void __iomem *acp_base)
+{
+	u32 val;
+	int timeout;
+
+	val = rpl_acp_readl(acp_base + ACP_PGFSM_STATUS);
+
+	if (!val)
+		return val;
+
+	if ((val & ACP_PGFSM_STATUS_MASK) != ACP_POWER_ON_IN_PROGRESS)
+		rpl_acp_writel(ACP_PGFSM_CNTL_POWER_ON_MASK, acp_base + ACP_PGFSM_CONTROL);
+	timeout = 0;
+	while (++timeout < 500) {
+		val = rpl_acp_readl(acp_base + ACP_PGFSM_STATUS);
+		if (!val)
+			return 0;
+		udelay(1);
+	}
+	return -ETIMEDOUT;
+}
+
+static int rpl_reset(void __iomem *acp_base)
+{
+	u32 val;
+	int timeout;
+
+	rpl_acp_writel(1, acp_base + ACP_SOFT_RESET);
+	timeout = 0;
+	while (++timeout < 500) {
+		val = rpl_acp_readl(acp_base + ACP_SOFT_RESET);
+		if (val & ACP_SOFT_RESET_SOFTRESET_AUDDONE_MASK)
+			break;
+		cpu_relax();
+	}
+	rpl_acp_writel(0, acp_base + ACP_SOFT_RESET);
+	timeout = 0;
+	while (++timeout < 500) {
+		val = rpl_acp_readl(acp_base + ACP_SOFT_RESET);
+		if (!val)
+			return 0;
+		cpu_relax();
+	}
+	return -ETIMEDOUT;
+}
+
+static int rpl_init(void __iomem *acp_base)
+{
+	int ret;
+
+	/* power on */
+	ret = rpl_power_on(acp_base);
+	if (ret) {
+		pr_err("ACP power on failed\n");
+		return ret;
+	}
+	rpl_acp_writel(0x01, acp_base + ACP_CONTROL);
+	/* Reset */
+	ret = rpl_reset(acp_base);
+	if (ret) {
+		pr_err("ACP reset failed\n");
+		return ret;
+	}
+	rpl_acp_writel(0x03, acp_base + ACP_CLKMUX_SEL);
+	return 0;
+}
+
+static int rpl_deinit(void __iomem *acp_base)
+{
+	int ret;
+
+	/* Reset */
+	ret = rpl_reset(acp_base);
+	if (ret) {
+		pr_err("ACP reset failed\n");
+		return ret;
+	}
+	rpl_acp_writel(0x00, acp_base + ACP_CLKMUX_SEL);
+	rpl_acp_writel(0x00, acp_base + ACP_CONTROL);
+	return 0;
+}
+
 static int snd_rpl_probe(struct pci_dev *pci,
 			 const struct pci_device_id *pci_id)
 {
@@ -59,6 +141,9 @@ static int snd_rpl_probe(struct pci_dev *pci,
 	}
 	pci_set_master(pci);
 	pci_set_drvdata(pci, adata);
+	ret = rpl_init(adata->acp6x_base);
+	if (ret)
+		goto release_regions;
 	return 0;
 release_regions:
 	pci_release_regions(pci);
@@ -70,6 +155,13 @@ static int snd_rpl_probe(struct pci_dev *pci,
 
 static void snd_rpl_remove(struct pci_dev *pci)
 {
+	struct rpl_dev_data *adata;
+	int ret;
+
+	adata = pci_get_drvdata(pci);
+	ret = rpl_deinit(adata->acp6x_base);
+	if (ret)
+		dev_err(&pci->dev, "ACP de-init failed\n");
 	pci_release_regions(pci);
 	pci_disable_device(pci);
 }
-- 
2.25.1


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

* [PATCH 3/5] ASoC: amd: add RPL Platform init/de-init functions
@ 2022-07-21  6:10   ` syed sabakareem
  0 siblings, 0 replies; 20+ messages in thread
From: syed sabakareem @ 2022-07-21  6:10 UTC (permalink / raw)
  To: broonie, alsa-devel
  Cc: Sunil-kumar.Dommati, open list, Basavaraj.Hiregoudar,
	Takashi Iwai, Liam Girdwood, Syed Saba Kareem, Vijendar Mukunda,
	Alexander.Deucher

From: Syed Saba Kareem <Syed.SabaKareem@amd.com>

Add RPL Platform ACP init/de-init functions.

Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com>
Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
---
 sound/soc/amd/rpl/rpl-pci-acp6x.c | 92 +++++++++++++++++++++++++++++++
 1 file changed, 92 insertions(+)

diff --git a/sound/soc/amd/rpl/rpl-pci-acp6x.c b/sound/soc/amd/rpl/rpl-pci-acp6x.c
index 7a82a978cf24..71ae90a00f36 100644
--- a/sound/soc/amd/rpl/rpl-pci-acp6x.c
+++ b/sound/soc/amd/rpl/rpl-pci-acp6x.c
@@ -17,6 +17,88 @@ struct rpl_dev_data {
 	void __iomem *acp6x_base;
 };
 
+static int rpl_power_on(void __iomem *acp_base)
+{
+	u32 val;
+	int timeout;
+
+	val = rpl_acp_readl(acp_base + ACP_PGFSM_STATUS);
+
+	if (!val)
+		return val;
+
+	if ((val & ACP_PGFSM_STATUS_MASK) != ACP_POWER_ON_IN_PROGRESS)
+		rpl_acp_writel(ACP_PGFSM_CNTL_POWER_ON_MASK, acp_base + ACP_PGFSM_CONTROL);
+	timeout = 0;
+	while (++timeout < 500) {
+		val = rpl_acp_readl(acp_base + ACP_PGFSM_STATUS);
+		if (!val)
+			return 0;
+		udelay(1);
+	}
+	return -ETIMEDOUT;
+}
+
+static int rpl_reset(void __iomem *acp_base)
+{
+	u32 val;
+	int timeout;
+
+	rpl_acp_writel(1, acp_base + ACP_SOFT_RESET);
+	timeout = 0;
+	while (++timeout < 500) {
+		val = rpl_acp_readl(acp_base + ACP_SOFT_RESET);
+		if (val & ACP_SOFT_RESET_SOFTRESET_AUDDONE_MASK)
+			break;
+		cpu_relax();
+	}
+	rpl_acp_writel(0, acp_base + ACP_SOFT_RESET);
+	timeout = 0;
+	while (++timeout < 500) {
+		val = rpl_acp_readl(acp_base + ACP_SOFT_RESET);
+		if (!val)
+			return 0;
+		cpu_relax();
+	}
+	return -ETIMEDOUT;
+}
+
+static int rpl_init(void __iomem *acp_base)
+{
+	int ret;
+
+	/* power on */
+	ret = rpl_power_on(acp_base);
+	if (ret) {
+		pr_err("ACP power on failed\n");
+		return ret;
+	}
+	rpl_acp_writel(0x01, acp_base + ACP_CONTROL);
+	/* Reset */
+	ret = rpl_reset(acp_base);
+	if (ret) {
+		pr_err("ACP reset failed\n");
+		return ret;
+	}
+	rpl_acp_writel(0x03, acp_base + ACP_CLKMUX_SEL);
+	return 0;
+}
+
+static int rpl_deinit(void __iomem *acp_base)
+{
+	int ret;
+
+	/* Reset */
+	ret = rpl_reset(acp_base);
+	if (ret) {
+		pr_err("ACP reset failed\n");
+		return ret;
+	}
+	rpl_acp_writel(0x00, acp_base + ACP_CLKMUX_SEL);
+	rpl_acp_writel(0x00, acp_base + ACP_CONTROL);
+	return 0;
+}
+
 static int snd_rpl_probe(struct pci_dev *pci,
 			 const struct pci_device_id *pci_id)
 {
@@ -59,6 +141,9 @@ static int snd_rpl_probe(struct pci_dev *pci,
 	}
 	pci_set_master(pci);
 	pci_set_drvdata(pci, adata);
+	ret = rpl_init(adata->acp6x_base);
+	if (ret)
+		goto release_regions;
 	return 0;
 release_regions:
 	pci_release_regions(pci);
@@ -70,6 +155,13 @@ static int snd_rpl_probe(struct pci_dev *pci,
 
 static void snd_rpl_remove(struct pci_dev *pci)
 {
+	struct rpl_dev_data *adata;
+	int ret;
+
+	adata = pci_get_drvdata(pci);
+	ret = rpl_deinit(adata->acp6x_base);
+	if (ret)
+		dev_err(&pci->dev, "ACP de-init failed\n");
 	pci_release_regions(pci);
 	pci_disable_device(pci);
 }
-- 
2.25.1


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

* [PATCH 4/5] ASoC: amd: add RPL Platform pci driver pm-ops
  2022-07-21  6:09 ` syed sabakareem
@ 2022-07-21  6:10   ` syed sabakareem
  -1 siblings, 0 replies; 20+ messages in thread
From: syed sabakareem @ 2022-07-21  6:10 UTC (permalink / raw)
  To: broonie, alsa-devel
  Cc: Alexander.Deucher, Basavaraj.Hiregoudar, Sunil-kumar.Dommati,
	vijendar.mukunda, Syed Saba Kareem, Vijendar Mukunda,
	Liam Girdwood, Jaroslav Kysela, Takashi Iwai, open list

From: Syed Saba Kareem <Syed.SabaKareem@amd.com>

Add RPL Platform ACP PCI driver pm ops.

Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com>
Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
---
 sound/soc/amd/rpl/rpl-pci-acp6x.c | 40 +++++++++++++++++++++++++++++++
 sound/soc/amd/rpl/rpl_acp6x.h     | 15 ++++++++++++
 2 files changed, 55 insertions(+)

diff --git a/sound/soc/amd/rpl/rpl-pci-acp6x.c b/sound/soc/amd/rpl/rpl-pci-acp6x.c
index 71ae90a00f36..a8e548ed991b 100644
--- a/sound/soc/amd/rpl/rpl-pci-acp6x.c
+++ b/sound/soc/amd/rpl/rpl-pci-acp6x.c
@@ -10,6 +10,7 @@
 #include <linux/io.h>
 #include <linux/delay.h>
 #include <linux/platform_device.h>
+#include <linux/pm_runtime.h>
 
 #include "rpl_acp6x.h"
 
@@ -144,6 +145,11 @@ static int snd_rpl_probe(struct pci_dev *pci,
 	ret = rpl_init(adata->acp6x_base);
 	if (ret)
 		goto release_regions;
+	pm_runtime_set_autosuspend_delay(&pci->dev, ACP_SUSPEND_DELAY_MS);
+	pm_runtime_use_autosuspend(&pci->dev);
+	pm_runtime_put_noidle(&pci->dev);
+	pm_runtime_allow(&pci->dev);
+
 	return 0;
 release_regions:
 	pci_release_regions(pci);
@@ -153,6 +159,35 @@ static int snd_rpl_probe(struct pci_dev *pci,
 	return ret;
 }
 
+static int __maybe_unused snd_rpl_suspend(struct device *dev)
+{
+	struct rpl_dev_data *adata;
+	int ret;
+
+	adata = dev_get_drvdata(dev);
+	ret = rpl_deinit(adata->acp6x_base);
+	if (ret)
+		dev_err(dev, "ACP de-init failed\n");
+	return ret;
+}
+
+static int __maybe_unused snd_rpl_resume(struct device *dev)
+{
+	struct rpl_dev_data *adata;
+	int ret;
+
+	adata = dev_get_drvdata(dev);
+	ret = rpl_init(adata->acp6x_base);
+	if (ret)
+		dev_err(dev, "ACP init failed\n");
+	return ret;
+}
+
+static const struct dev_pm_ops rpl_pm = {
+	SET_RUNTIME_PM_OPS(snd_rpl_suspend, snd_rpl_resume, NULL)
+	SET_SYSTEM_SLEEP_PM_OPS(snd_rpl_suspend, snd_rpl_resume)
+};
+
 static void snd_rpl_remove(struct pci_dev *pci)
 {
 	struct rpl_dev_data *adata;
@@ -162,6 +197,8 @@ static void snd_rpl_remove(struct pci_dev *pci)
 	ret = rpl_deinit(adata->acp6x_base);
 	if (ret)
 		dev_err(&pci->dev, "ACP de-init failed\n");
+	pm_runtime_forbid(&pci->dev);
+	pm_runtime_get_noresume(&pci->dev);
 	pci_release_regions(pci);
 	pci_disable_device(pci);
 }
@@ -179,6 +216,9 @@ static struct pci_driver rpl_acp6x_driver  = {
 	.id_table = snd_rpl_ids,
 	.probe = snd_rpl_probe,
 	.remove = snd_rpl_remove,
+	.driver = {
+		.pm = &rpl_pm,
+	}
 };
 
 module_pci_driver(rpl_acp6x_driver);
diff --git a/sound/soc/amd/rpl/rpl_acp6x.h b/sound/soc/amd/rpl/rpl_acp6x.h
index 5de19d5c892e..f5816a33632e 100644
--- a/sound/soc/amd/rpl/rpl_acp6x.h
+++ b/sound/soc/amd/rpl/rpl_acp6x.h
@@ -10,6 +10,21 @@
 #define ACP_DEVICE_ID 0x15E2
 #define ACP6x_PHY_BASE_ADDRESS 0x1240000
 
+#define ACP_SOFT_RESET_SOFTRESET_AUDDONE_MASK   0x00010001
+#define ACP_PGFSM_CNTL_POWER_ON_MASK    1
+#define ACP_PGFSM_CNTL_POWER_OFF_MASK   0
+#define ACP_PGFSM_STATUS_MASK           3
+#define ACP_POWERED_ON                  0
+#define ACP_POWER_ON_IN_PROGRESS        1
+#define ACP_POWERED_OFF                 2
+#define ACP_POWER_OFF_IN_PROGRESS       3
+
+#define DELAY_US        5
+#define ACP_COUNTER     20000
+
+/* time in ms for runtime suspend delay */
+#define ACP_SUSPEND_DELAY_MS    2000
+
 static inline u32 rpl_acp_readl(void __iomem *base_addr)
 {
 	return readl(base_addr - ACP6x_PHY_BASE_ADDRESS);
-- 
2.25.1


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

* [PATCH 4/5] ASoC: amd: add RPL Platform pci driver pm-ops
@ 2022-07-21  6:10   ` syed sabakareem
  0 siblings, 0 replies; 20+ messages in thread
From: syed sabakareem @ 2022-07-21  6:10 UTC (permalink / raw)
  To: broonie, alsa-devel
  Cc: Sunil-kumar.Dommati, open list, Basavaraj.Hiregoudar,
	Takashi Iwai, Liam Girdwood, Syed Saba Kareem, Vijendar Mukunda,
	Alexander.Deucher

From: Syed Saba Kareem <Syed.SabaKareem@amd.com>

Add RPL Platform ACP PCI driver pm ops.

Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com>
Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
---
 sound/soc/amd/rpl/rpl-pci-acp6x.c | 40 +++++++++++++++++++++++++++++++
 sound/soc/amd/rpl/rpl_acp6x.h     | 15 ++++++++++++
 2 files changed, 55 insertions(+)

diff --git a/sound/soc/amd/rpl/rpl-pci-acp6x.c b/sound/soc/amd/rpl/rpl-pci-acp6x.c
index 71ae90a00f36..a8e548ed991b 100644
--- a/sound/soc/amd/rpl/rpl-pci-acp6x.c
+++ b/sound/soc/amd/rpl/rpl-pci-acp6x.c
@@ -10,6 +10,7 @@
 #include <linux/io.h>
 #include <linux/delay.h>
 #include <linux/platform_device.h>
+#include <linux/pm_runtime.h>
 
 #include "rpl_acp6x.h"
 
@@ -144,6 +145,11 @@ static int snd_rpl_probe(struct pci_dev *pci,
 	ret = rpl_init(adata->acp6x_base);
 	if (ret)
 		goto release_regions;
+	pm_runtime_set_autosuspend_delay(&pci->dev, ACP_SUSPEND_DELAY_MS);
+	pm_runtime_use_autosuspend(&pci->dev);
+	pm_runtime_put_noidle(&pci->dev);
+	pm_runtime_allow(&pci->dev);
+
 	return 0;
 release_regions:
 	pci_release_regions(pci);
@@ -153,6 +159,35 @@ static int snd_rpl_probe(struct pci_dev *pci,
 	return ret;
 }
 
+static int __maybe_unused snd_rpl_suspend(struct device *dev)
+{
+	struct rpl_dev_data *adata;
+	int ret;
+
+	adata = dev_get_drvdata(dev);
+	ret = rpl_deinit(adata->acp6x_base);
+	if (ret)
+		dev_err(dev, "ACP de-init failed\n");
+	return ret;
+}
+
+static int __maybe_unused snd_rpl_resume(struct device *dev)
+{
+	struct rpl_dev_data *adata;
+	int ret;
+
+	adata = dev_get_drvdata(dev);
+	ret = rpl_init(adata->acp6x_base);
+	if (ret)
+		dev_err(dev, "ACP init failed\n");
+	return ret;
+}
+
+static const struct dev_pm_ops rpl_pm = {
+	SET_RUNTIME_PM_OPS(snd_rpl_suspend, snd_rpl_resume, NULL)
+	SET_SYSTEM_SLEEP_PM_OPS(snd_rpl_suspend, snd_rpl_resume)
+};
+
 static void snd_rpl_remove(struct pci_dev *pci)
 {
 	struct rpl_dev_data *adata;
@@ -162,6 +197,8 @@ static void snd_rpl_remove(struct pci_dev *pci)
 	ret = rpl_deinit(adata->acp6x_base);
 	if (ret)
 		dev_err(&pci->dev, "ACP de-init failed\n");
+	pm_runtime_forbid(&pci->dev);
+	pm_runtime_get_noresume(&pci->dev);
 	pci_release_regions(pci);
 	pci_disable_device(pci);
 }
@@ -179,6 +216,9 @@ static struct pci_driver rpl_acp6x_driver  = {
 	.id_table = snd_rpl_ids,
 	.probe = snd_rpl_probe,
 	.remove = snd_rpl_remove,
+	.driver = {
+		.pm = &rpl_pm,
+	}
 };
 
 module_pci_driver(rpl_acp6x_driver);
diff --git a/sound/soc/amd/rpl/rpl_acp6x.h b/sound/soc/amd/rpl/rpl_acp6x.h
index 5de19d5c892e..f5816a33632e 100644
--- a/sound/soc/amd/rpl/rpl_acp6x.h
+++ b/sound/soc/amd/rpl/rpl_acp6x.h
@@ -10,6 +10,21 @@
 #define ACP_DEVICE_ID 0x15E2
 #define ACP6x_PHY_BASE_ADDRESS 0x1240000
 
+#define ACP_SOFT_RESET_SOFTRESET_AUDDONE_MASK   0x00010001
+#define ACP_PGFSM_CNTL_POWER_ON_MASK    1
+#define ACP_PGFSM_CNTL_POWER_OFF_MASK   0
+#define ACP_PGFSM_STATUS_MASK           3
+#define ACP_POWERED_ON                  0
+#define ACP_POWER_ON_IN_PROGRESS        1
+#define ACP_POWERED_OFF                 2
+#define ACP_POWER_OFF_IN_PROGRESS       3
+
+#define DELAY_US        5
+#define ACP_COUNTER     20000
+
+/* time in ms for runtime suspend delay */
+#define ACP_SUSPEND_DELAY_MS    2000
+
 static inline u32 rpl_acp_readl(void __iomem *base_addr)
 {
 	return readl(base_addr - ACP6x_PHY_BASE_ADDRESS);
-- 
2.25.1


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

* [PATCH 5/5] ASoC: amd: enable RPL Platform acp drivers build
  2022-07-21  6:09 ` syed sabakareem
@ 2022-07-21  6:10   ` syed sabakareem
  -1 siblings, 0 replies; 20+ messages in thread
From: syed sabakareem @ 2022-07-21  6:10 UTC (permalink / raw)
  To: broonie, alsa-devel
  Cc: Alexander.Deucher, Basavaraj.Hiregoudar, Sunil-kumar.Dommati,
	vijendar.mukunda, Syed Saba Kareem, Vijendar Mukunda,
	Liam Girdwood, Jaroslav Kysela, Takashi Iwai, Ajit Kumar Pandey,
	Pierre-Louis Bossart, Daniel Baluta, Lucas Tanure, Julian Braha,
	Randy Dunlap, Bard Liao, open list

From: Syed Saba Kareem <Syed.SabaKareem@amd.com>

RPL Platform drivers can be built by selecting necessary
kernel config option.
The patch enables build support of the same.

Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com>
Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
---
 sound/soc/amd/Kconfig      | 10 ++++++++++
 sound/soc/amd/Makefile     |  1 +
 sound/soc/amd/rpl/Makefile |  5 +++++
 3 files changed, 16 insertions(+)
 create mode 100644 sound/soc/amd/rpl/Makefile

diff --git a/sound/soc/amd/Kconfig b/sound/soc/amd/Kconfig
index 9c2fef2ce89f..08f5289dac54 100644
--- a/sound/soc/amd/Kconfig
+++ b/sound/soc/amd/Kconfig
@@ -117,3 +117,13 @@ config SND_AMD_ACP_CONFIG
 	 driver modules to use
 
 source "sound/soc/amd/acp/Kconfig"
+
+config SND_SOC_AMD_RPL_ACP6x
+        tristate "AMD Audio Coprocessor-v6.2 RPL support"
+        depends on X86 && PCI
+        help
+          This option enables Audio Coprocessor i.e ACP v6.2 support on
+          AMD RPL platform. By enabling this flag build will be
+          triggered for ACP PCI driver.
+          Say m if you have such a device.
+          If unsure select "N".
diff --git a/sound/soc/amd/Makefile b/sound/soc/amd/Makefile
index 8823f6f28611..0592e7c5c407 100644
--- a/sound/soc/amd/Makefile
+++ b/sound/soc/amd/Makefile
@@ -17,3 +17,4 @@ obj-$(CONFIG_SND_SOC_AMD_ACP5x) += vangogh/
 obj-$(CONFIG_SND_SOC_AMD_ACP6x) += yc/
 obj-$(CONFIG_SND_SOC_AMD_ACP_COMMON) += acp/
 obj-$(CONFIG_SND_AMD_ACP_CONFIG) += snd-acp-config.o
+obj-$(CONFIG_SND_SOC_AMD_RPL_ACP6x) += rpl/
diff --git a/sound/soc/amd/rpl/Makefile b/sound/soc/amd/rpl/Makefile
new file mode 100644
index 000000000000..11a33a05e94b
--- /dev/null
+++ b/sound/soc/amd/rpl/Makefile
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0+
+# RPL platform Support
+snd-rpl-pci-acp6x-objs	:= rpl-pci-acp6x.o
+
+obj-$(CONFIG_SND_SOC_AMD_RPL_ACP6x) += snd-rpl-pci-acp6x.o
-- 
2.25.1


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

* [PATCH 5/5] ASoC: amd: enable RPL Platform acp drivers build
@ 2022-07-21  6:10   ` syed sabakareem
  0 siblings, 0 replies; 20+ messages in thread
From: syed sabakareem @ 2022-07-21  6:10 UTC (permalink / raw)
  To: broonie, alsa-devel
  Cc: Pierre-Louis Bossart, Sunil-kumar.Dommati, Lucas Tanure,
	Ajit Kumar Pandey, open list, Basavaraj.Hiregoudar, Takashi Iwai,
	Liam Girdwood, Randy Dunlap, Syed Saba Kareem, Vijendar Mukunda,
	Alexander.Deucher, Julian Braha, Daniel Baluta, Bard Liao

From: Syed Saba Kareem <Syed.SabaKareem@amd.com>

RPL Platform drivers can be built by selecting necessary
kernel config option.
The patch enables build support of the same.

Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com>
Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
---
 sound/soc/amd/Kconfig      | 10 ++++++++++
 sound/soc/amd/Makefile     |  1 +
 sound/soc/amd/rpl/Makefile |  5 +++++
 3 files changed, 16 insertions(+)
 create mode 100644 sound/soc/amd/rpl/Makefile

diff --git a/sound/soc/amd/Kconfig b/sound/soc/amd/Kconfig
index 9c2fef2ce89f..08f5289dac54 100644
--- a/sound/soc/amd/Kconfig
+++ b/sound/soc/amd/Kconfig
@@ -117,3 +117,13 @@ config SND_AMD_ACP_CONFIG
 	 driver modules to use
 
 source "sound/soc/amd/acp/Kconfig"
+
+config SND_SOC_AMD_RPL_ACP6x
+        tristate "AMD Audio Coprocessor-v6.2 RPL support"
+        depends on X86 && PCI
+        help
+          This option enables Audio Coprocessor i.e ACP v6.2 support on
+          AMD RPL platform. By enabling this flag build will be
+          triggered for ACP PCI driver.
+          Say m if you have such a device.
+          If unsure select "N".
diff --git a/sound/soc/amd/Makefile b/sound/soc/amd/Makefile
index 8823f6f28611..0592e7c5c407 100644
--- a/sound/soc/amd/Makefile
+++ b/sound/soc/amd/Makefile
@@ -17,3 +17,4 @@ obj-$(CONFIG_SND_SOC_AMD_ACP5x) += vangogh/
 obj-$(CONFIG_SND_SOC_AMD_ACP6x) += yc/
 obj-$(CONFIG_SND_SOC_AMD_ACP_COMMON) += acp/
 obj-$(CONFIG_SND_AMD_ACP_CONFIG) += snd-acp-config.o
+obj-$(CONFIG_SND_SOC_AMD_RPL_ACP6x) += rpl/
diff --git a/sound/soc/amd/rpl/Makefile b/sound/soc/amd/rpl/Makefile
new file mode 100644
index 000000000000..11a33a05e94b
--- /dev/null
+++ b/sound/soc/amd/rpl/Makefile
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0+
+# RPL platform Support
+snd-rpl-pci-acp6x-objs	:= rpl-pci-acp6x.o
+
+obj-$(CONFIG_SND_SOC_AMD_RPL_ACP6x) += snd-rpl-pci-acp6x.o
-- 
2.25.1


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

* Re: [PATCH 5/5] ASoC: amd: enable RPL Platform acp drivers build
  2022-07-21  6:10   ` syed sabakareem
@ 2022-07-21 14:01     ` Randy Dunlap
  -1 siblings, 0 replies; 20+ messages in thread
From: Randy Dunlap @ 2022-07-21 14:01 UTC (permalink / raw)
  To: syed sabakareem, broonie, alsa-devel
  Cc: Alexander.Deucher, Basavaraj.Hiregoudar, Sunil-kumar.Dommati,
	vijendar.mukunda, Liam Girdwood, Jaroslav Kysela, Takashi Iwai,
	Ajit Kumar Pandey, Pierre-Louis Bossart, Daniel Baluta,
	Lucas Tanure, Julian Braha, Bard Liao, open list

Hi--

On 7/20/22 23:10, syed sabakareem wrote:
> diff --git a/sound/soc/amd/Kconfig b/sound/soc/amd/Kconfig
> index 9c2fef2ce89f..08f5289dac54 100644
> --- a/sound/soc/amd/Kconfig
> +++ b/sound/soc/amd/Kconfig
> @@ -117,3 +117,13 @@ config SND_AMD_ACP_CONFIG
>  	 driver modules to use
>  
>  source "sound/soc/amd/acp/Kconfig"
> +
> +config SND_SOC_AMD_RPL_ACP6x
> +        tristate "AMD Audio Coprocessor-v6.2 RPL support"
> +        depends on X86 && PCI
> +        help
> +          This option enables Audio Coprocessor i.e ACP v6.2 support on

If that "i.e" is supposed to mean "that is", then it should be "i.e.".
Or does it mean something else here?

> +          AMD RPL platform. By enabling this flag build will be
> +          triggered for ACP PCI driver.
> +          Say m if you have such a device.
> +          If unsure select "N".

-- 
~Randy

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

* Re: [PATCH 5/5] ASoC: amd: enable RPL Platform acp drivers build
@ 2022-07-21 14:01     ` Randy Dunlap
  0 siblings, 0 replies; 20+ messages in thread
From: Randy Dunlap @ 2022-07-21 14:01 UTC (permalink / raw)
  To: syed sabakareem, broonie, alsa-devel
  Cc: Pierre-Louis Bossart, Sunil-kumar.Dommati, Lucas Tanure,
	Ajit Kumar Pandey, open list, Basavaraj.Hiregoudar, Takashi Iwai,
	Liam Girdwood, vijendar.mukunda, Alexander.Deucher, Julian Braha,
	Daniel Baluta, Bard Liao

Hi--

On 7/20/22 23:10, syed sabakareem wrote:
> diff --git a/sound/soc/amd/Kconfig b/sound/soc/amd/Kconfig
> index 9c2fef2ce89f..08f5289dac54 100644
> --- a/sound/soc/amd/Kconfig
> +++ b/sound/soc/amd/Kconfig
> @@ -117,3 +117,13 @@ config SND_AMD_ACP_CONFIG
>  	 driver modules to use
>  
>  source "sound/soc/amd/acp/Kconfig"
> +
> +config SND_SOC_AMD_RPL_ACP6x
> +        tristate "AMD Audio Coprocessor-v6.2 RPL support"
> +        depends on X86 && PCI
> +        help
> +          This option enables Audio Coprocessor i.e ACP v6.2 support on

If that "i.e" is supposed to mean "that is", then it should be "i.e.".
Or does it mean something else here?

> +          AMD RPL platform. By enabling this flag build will be
> +          triggered for ACP PCI driver.
> +          Say m if you have such a device.
> +          If unsure select "N".

-- 
~Randy

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

* Re: [PATCH 5/5] ASoC: amd: enable RPL Platform acp drivers build
  2022-07-21  6:10   ` syed sabakareem
@ 2022-07-21 19:36     ` Mark Brown
  -1 siblings, 0 replies; 20+ messages in thread
From: Mark Brown @ 2022-07-21 19:36 UTC (permalink / raw)
  To: syed sabakareem
  Cc: alsa-devel, Alexander.Deucher, Basavaraj.Hiregoudar,
	Sunil-kumar.Dommati, vijendar.mukunda, Liam Girdwood,
	Jaroslav Kysela, Takashi Iwai, Ajit Kumar Pandey,
	Pierre-Louis Bossart, Daniel Baluta, Lucas Tanure, Julian Braha,
	Randy Dunlap, Bard Liao, open list

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

On Thu, Jul 21, 2022 at 11:40:02AM +0530, syed sabakareem wrote:
> From: Syed Saba Kareem <Syed.SabaKareem@amd.com>
> 
> RPL Platform drivers can be built by selecting necessary
> kernel config option.
> The patch enables build support of the same.

This breaks an x86 allmodconfig build:

/build/stage/linux/sound/soc/amd/acp/acp-platform.c: In function ‘i2s_irq_handle
r’:
/build/stage/linux/sound/soc/amd/acp/acp-platform.c:108:31: error: ‘struct acp_d
ev_data’ has no member named ‘stream’
  108 |                 stream = adata->stream[i];
      |                               ^~

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

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

* Re: [PATCH 5/5] ASoC: amd: enable RPL Platform acp drivers build
@ 2022-07-21 19:36     ` Mark Brown
  0 siblings, 0 replies; 20+ messages in thread
From: Mark Brown @ 2022-07-21 19:36 UTC (permalink / raw)
  To: syed sabakareem
  Cc: Pierre-Louis Bossart, alsa-devel, Sunil-kumar.Dommati,
	Lucas Tanure, Ajit Kumar Pandey, open list, Basavaraj.Hiregoudar,
	Takashi Iwai, Liam Girdwood, Randy Dunlap, vijendar.mukunda,
	Alexander.Deucher, Julian Braha, Daniel Baluta, Bard Liao

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

On Thu, Jul 21, 2022 at 11:40:02AM +0530, syed sabakareem wrote:
> From: Syed Saba Kareem <Syed.SabaKareem@amd.com>
> 
> RPL Platform drivers can be built by selecting necessary
> kernel config option.
> The patch enables build support of the same.

This breaks an x86 allmodconfig build:

/build/stage/linux/sound/soc/amd/acp/acp-platform.c: In function ‘i2s_irq_handle
r’:
/build/stage/linux/sound/soc/amd/acp/acp-platform.c:108:31: error: ‘struct acp_d
ev_data’ has no member named ‘stream’
  108 |                 stream = adata->stream[i];
      |                               ^~

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

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

* Re: [PATCH 5/5] ASoC: amd: enable RPL Platform acp drivers build
  2022-07-21 19:36     ` Mark Brown
@ 2022-07-21 22:21       ` Mark Brown
  -1 siblings, 0 replies; 20+ messages in thread
From: Mark Brown @ 2022-07-21 22:21 UTC (permalink / raw)
  To: syed sabakareem
  Cc: alsa-devel, Alexander.Deucher, Basavaraj.Hiregoudar,
	Sunil-kumar.Dommati, vijendar.mukunda, Liam Girdwood,
	Jaroslav Kysela, Takashi Iwai, Ajit Kumar Pandey,
	Pierre-Louis Bossart, Daniel Baluta, Lucas Tanure, Julian Braha,
	Randy Dunlap, Bard Liao, open list

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

On Thu, Jul 21, 2022 at 08:36:53PM +0100, Mark Brown wrote:
> On Thu, Jul 21, 2022 at 11:40:02AM +0530, syed sabakareem wrote:
> > From: Syed Saba Kareem <Syed.SabaKareem@amd.com>
> > 
> > RPL Platform drivers can be built by selecting necessary
> > kernel config option.
> > The patch enables build support of the same.
> 
> This breaks an x86 allmodconfig build:
> 
> /build/stage/linux/sound/soc/amd/acp/acp-platform.c: In function ‘i2s_irq_handle
> r’:
> /build/stage/linux/sound/soc/amd/acp/acp-platform.c:108:31: error: ‘struct acp_d
> ev_data’ has no member named ‘stream’
>   108 |                 stream = adata->stream[i];
>       |                               ^~

Sorry, this was actually a different commit earlier in the branch
triggering this.

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

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

* Re: [PATCH 5/5] ASoC: amd: enable RPL Platform acp drivers build
@ 2022-07-21 22:21       ` Mark Brown
  0 siblings, 0 replies; 20+ messages in thread
From: Mark Brown @ 2022-07-21 22:21 UTC (permalink / raw)
  To: syed sabakareem
  Cc: Pierre-Louis Bossart, alsa-devel, Sunil-kumar.Dommati,
	Lucas Tanure, Ajit Kumar Pandey, open list, Basavaraj.Hiregoudar,
	Takashi Iwai, Liam Girdwood, Randy Dunlap, vijendar.mukunda,
	Alexander.Deucher, Julian Braha, Daniel Baluta, Bard Liao

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

On Thu, Jul 21, 2022 at 08:36:53PM +0100, Mark Brown wrote:
> On Thu, Jul 21, 2022 at 11:40:02AM +0530, syed sabakareem wrote:
> > From: Syed Saba Kareem <Syed.SabaKareem@amd.com>
> > 
> > RPL Platform drivers can be built by selecting necessary
> > kernel config option.
> > The patch enables build support of the same.
> 
> This breaks an x86 allmodconfig build:
> 
> /build/stage/linux/sound/soc/amd/acp/acp-platform.c: In function ‘i2s_irq_handle
> r’:
> /build/stage/linux/sound/soc/amd/acp/acp-platform.c:108:31: error: ‘struct acp_d
> ev_data’ has no member named ‘stream’
>   108 |                 stream = adata->stream[i];
>       |                               ^~

Sorry, this was actually a different commit earlier in the branch
triggering this.

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

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

* RE: [PATCH 5/5] ASoC: amd: enable RPL Platform acp drivers build
  2022-07-21 14:01     ` Randy Dunlap
@ 2022-07-22 10:57       ` Saba Kareem, Syed
  -1 siblings, 0 replies; 20+ messages in thread
From: Saba Kareem, Syed @ 2022-07-22 10:57 UTC (permalink / raw)
  To: Randy Dunlap, broonie, alsa-devel
  Cc: Deucher, Alexander, Hiregoudar, Basavaraj, Dommati, Sunil-kumar,
	Mukunda, Vijendar, Liam Girdwood, Jaroslav Kysela, Takashi Iwai,
	Ajit Kumar Pandey, Pierre-Louis Bossart, Daniel Baluta,
	Lucas Tanure, Julian Braha, Bard Liao, open list

[AMD Official Use Only - General]



-----Original Message-----
From: Randy Dunlap <rdunlap@infradead.org> 
Sent: Thursday, July 21, 2022 7:32 PM
To: Saba Kareem, Syed <Syed.SabaKareem@amd.com>; broonie@kernel.org; alsa-devel@alsa-project.org
Cc: Deucher, Alexander <Alexander.Deucher@amd.com>; Hiregoudar, Basavaraj <Basavaraj.Hiregoudar@amd.com>; Dommati, Sunil-kumar <Sunil-kumar.Dommati@amd.com>; Mukunda, Vijendar <Vijendar.Mukunda@amd.com>; Liam Girdwood <lgirdwood@gmail.com>; Jaroslav Kysela <perex@perex.cz>; Takashi Iwai <tiwai@suse.com>; Ajit Kumar Pandey <AjitKumar.Pandey@amd.com>; Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>; Daniel Baluta <daniel.baluta@nxp.com>; Lucas Tanure <tanureal@opensource.cirrus.com>; Julian Braha <julianbraha@gmail.com>; Bard Liao <bard.liao@intel.com>; open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 5/5] ASoC: amd: enable RPL Platform acp drivers build

[CAUTION: External Email]

Hi--

On 7/20/22 23:10, syed sabakareem wrote:
> diff --git a/sound/soc/amd/Kconfig b/sound/soc/amd/Kconfig index 
> 9c2fef2ce89f..08f5289dac54 100644
> --- a/sound/soc/amd/Kconfig
> +++ b/sound/soc/amd/Kconfig
> @@ -117,3 +117,13 @@ config SND_AMD_ACP_CONFIG
>        driver modules to use
>
>  source "sound/soc/amd/acp/Kconfig"
> +
> +config SND_SOC_AMD_RPL_ACP6x
> +        tristate "AMD Audio Coprocessor-v6.2 RPL support"
> +        depends on X86 && PCI
> +        help
> +          This option enables Audio Coprocessor i.e ACP v6.2 support 
> +on

If that "i.e" is supposed to mean "that is", then it should be "i.e.".
Or does it mean something else here?

It is a typo mistake. Will correct it.
> +          AMD RPL platform. By enabling this flag build will be
> +          triggered for ACP PCI driver.
> +          Say m if you have such a device.
> +          If unsure select "N".

--
~Randy

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

* RE: [PATCH 5/5] ASoC: amd: enable RPL Platform acp drivers build
@ 2022-07-22 10:57       ` Saba Kareem, Syed
  0 siblings, 0 replies; 20+ messages in thread
From: Saba Kareem, Syed @ 2022-07-22 10:57 UTC (permalink / raw)
  To: Randy Dunlap, broonie, alsa-devel
  Cc: Pierre-Louis Bossart, Dommati, Sunil-kumar, Lucas Tanure,
	Ajit Kumar Pandey, open list, Hiregoudar, Basavaraj,
	Takashi Iwai, Liam Girdwood, Mukunda, Vijendar, Deucher,
	Alexander, Julian Braha, Daniel Baluta, Bard Liao

[AMD Official Use Only - General]



-----Original Message-----
From: Randy Dunlap <rdunlap@infradead.org> 
Sent: Thursday, July 21, 2022 7:32 PM
To: Saba Kareem, Syed <Syed.SabaKareem@amd.com>; broonie@kernel.org; alsa-devel@alsa-project.org
Cc: Deucher, Alexander <Alexander.Deucher@amd.com>; Hiregoudar, Basavaraj <Basavaraj.Hiregoudar@amd.com>; Dommati, Sunil-kumar <Sunil-kumar.Dommati@amd.com>; Mukunda, Vijendar <Vijendar.Mukunda@amd.com>; Liam Girdwood <lgirdwood@gmail.com>; Jaroslav Kysela <perex@perex.cz>; Takashi Iwai <tiwai@suse.com>; Ajit Kumar Pandey <AjitKumar.Pandey@amd.com>; Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>; Daniel Baluta <daniel.baluta@nxp.com>; Lucas Tanure <tanureal@opensource.cirrus.com>; Julian Braha <julianbraha@gmail.com>; Bard Liao <bard.liao@intel.com>; open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 5/5] ASoC: amd: enable RPL Platform acp drivers build

[CAUTION: External Email]

Hi--

On 7/20/22 23:10, syed sabakareem wrote:
> diff --git a/sound/soc/amd/Kconfig b/sound/soc/amd/Kconfig index 
> 9c2fef2ce89f..08f5289dac54 100644
> --- a/sound/soc/amd/Kconfig
> +++ b/sound/soc/amd/Kconfig
> @@ -117,3 +117,13 @@ config SND_AMD_ACP_CONFIG
>        driver modules to use
>
>  source "sound/soc/amd/acp/Kconfig"
> +
> +config SND_SOC_AMD_RPL_ACP6x
> +        tristate "AMD Audio Coprocessor-v6.2 RPL support"
> +        depends on X86 && PCI
> +        help
> +          This option enables Audio Coprocessor i.e ACP v6.2 support 
> +on

If that "i.e" is supposed to mean "that is", then it should be "i.e.".
Or does it mean something else here?

It is a typo mistake. Will correct it.
> +          AMD RPL platform. By enabling this flag build will be
> +          triggered for ACP PCI driver.
> +          Say m if you have such a device.
> +          If unsure select "N".

--
~Randy

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

* Re: [PATCH 1/5] ASoC: amd: add RPL Platform acp header file
  2022-07-21  6:09 ` syed sabakareem
@ 2022-07-22 12:48   ` Mark Brown
  -1 siblings, 0 replies; 20+ messages in thread
From: Mark Brown @ 2022-07-22 12:48 UTC (permalink / raw)
  To: alsa-devel, syed sabakareem
  Cc: Sunil-kumar.Dommati, Alexander.Deucher, vijendar.mukunda,
	Takashi Iwai, open list, Basavaraj.Hiregoudar, Vijendar Mukunda,
	Liam Girdwood, Jaroslav Kysela

On Thu, 21 Jul 2022 11:39:58 +0530, syed sabakareem wrote:
> From: Syed Saba Kareem <Syed.SabaKareem@amd.com>
> 
> Add ACP register header file for RPL platform.
> 
> 

Applied to

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

Thanks!

[1/5] ASoC: amd: add RPL Platform acp header file
      commit: d6a2cc9a80c2fdc10f7fde3f5f57c72e99f3bd5e
[2/5] ASoC: amd: add ACP PCI driver for RPL platform
      commit: 003b9a96f27635e534452b174733c5f1ceec0b56
[3/5] ASoC: amd: add RPL Platform init/de-init functions
      commit: 10599205417ee3b1d29093c85bc210c9040a6bd4
[4/5] ASoC: amd: add RPL Platform pci driver pm-ops
      commit: bc1100f29d1d0bfcd36ba3690a945235ffe149c8
[5/5] ASoC: amd: enable RPL Platform acp drivers build
      commit: 4fb35936a374758d5065b0a015c565436685c378

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] 20+ messages in thread

* Re: [PATCH 1/5] ASoC: amd: add RPL Platform acp header file
@ 2022-07-22 12:48   ` Mark Brown
  0 siblings, 0 replies; 20+ messages in thread
From: Mark Brown @ 2022-07-22 12:48 UTC (permalink / raw)
  To: alsa-devel, syed sabakareem
  Cc: Sunil-kumar.Dommati, Liam Girdwood, Basavaraj.Hiregoudar,
	open list, Takashi Iwai, Vijendar Mukunda, Alexander.Deucher

On Thu, 21 Jul 2022 11:39:58 +0530, syed sabakareem wrote:
> From: Syed Saba Kareem <Syed.SabaKareem@amd.com>
> 
> Add ACP register header file for RPL platform.
> 
> 

Applied to

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

Thanks!

[1/5] ASoC: amd: add RPL Platform acp header file
      commit: d6a2cc9a80c2fdc10f7fde3f5f57c72e99f3bd5e
[2/5] ASoC: amd: add ACP PCI driver for RPL platform
      commit: 003b9a96f27635e534452b174733c5f1ceec0b56
[3/5] ASoC: amd: add RPL Platform init/de-init functions
      commit: 10599205417ee3b1d29093c85bc210c9040a6bd4
[4/5] ASoC: amd: add RPL Platform pci driver pm-ops
      commit: bc1100f29d1d0bfcd36ba3690a945235ffe149c8
[5/5] ASoC: amd: enable RPL Platform acp drivers build
      commit: 4fb35936a374758d5065b0a015c565436685c378

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] 20+ messages in thread

end of thread, other threads:[~2022-07-22 12:50 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-21  6:09 [PATCH 1/5] ASoC: amd: add RPL Platform acp header file syed sabakareem
2022-07-21  6:09 ` syed sabakareem
2022-07-21  6:09 ` [PATCH 2/5] ASoC: amd: add ACP PCI driver for RPL platform syed sabakareem
2022-07-21  6:09   ` syed sabakareem
2022-07-21  6:10 ` [PATCH 3/5] ASoC: amd: add RPL Platform init/de-init functions syed sabakareem
2022-07-21  6:10   ` syed sabakareem
2022-07-21  6:10 ` [PATCH 4/5] ASoC: amd: add RPL Platform pci driver pm-ops syed sabakareem
2022-07-21  6:10   ` syed sabakareem
2022-07-21  6:10 ` [PATCH 5/5] ASoC: amd: enable RPL Platform acp drivers build syed sabakareem
2022-07-21  6:10   ` syed sabakareem
2022-07-21 14:01   ` Randy Dunlap
2022-07-21 14:01     ` Randy Dunlap
2022-07-22 10:57     ` Saba Kareem, Syed
2022-07-22 10:57       ` Saba Kareem, Syed
2022-07-21 19:36   ` Mark Brown
2022-07-21 19:36     ` Mark Brown
2022-07-21 22:21     ` Mark Brown
2022-07-21 22:21       ` Mark Brown
2022-07-22 12:48 ` [PATCH 1/5] ASoC: amd: add RPL Platform acp header file Mark Brown
2022-07-22 12:48   ` 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.