aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1100-ASoC-AMD-add-ACP3.0-PCI-driver.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1100-ASoC-AMD-add-ACP3.0-PCI-driver.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1100-ASoC-AMD-add-ACP3.0-PCI-driver.patch142
1 files changed, 0 insertions, 142 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1100-ASoC-AMD-add-ACP3.0-PCI-driver.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1100-ASoC-AMD-add-ACP3.0-PCI-driver.patch
deleted file mode 100644
index 73903e1c..00000000
--- a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1100-ASoC-AMD-add-ACP3.0-PCI-driver.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-From 2982cc86ba3f73a1ae0c205bb19d34fba69f0d39 Mon Sep 17 00:00:00 2001
-From: Maruthi Srinivas Bayyavarapu <Maruthi.Bayyavarapu@amd.com>
-Date: Mon, 27 Mar 2017 14:25:49 +0530
-Subject: [PATCH 1100/4131] ASoC: AMD: add ACP3.0 PCI driver
-
-ACP 3.0 is a PCI audio device. This patch adds PCI driver to bind
-to this device and get PCI resources.
-
-Signed-off-by: Maruthi Bayyavarapu <maruthi.bayyavarapu@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
----
- sound/soc/amd/raven/acp3x.h | 13 ++++++
- sound/soc/amd/raven/pci-acp3x.c | 97 +++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 110 insertions(+)
- create mode 100644 sound/soc/amd/raven/acp3x.h
- create mode 100644 sound/soc/amd/raven/pci-acp3x.c
-
-diff --git a/sound/soc/amd/raven/acp3x.h b/sound/soc/amd/raven/acp3x.h
-new file mode 100644
-index 0000000..e9b4df0
---- /dev/null
-+++ b/sound/soc/amd/raven/acp3x.h
-@@ -0,0 +1,13 @@
-+#include "chip_offset_byte.h"
-+
-+#define ACP3x_PHY_BASE_ADDRESS 0x1240000
-+
-+static inline u32 rv_readl(void __iomem *base_addr)
-+{
-+ return readl(base_addr - ACP3x_PHY_BASE_ADDRESS);
-+}
-+
-+static inline void rv_writel(u32 val, void __iomem *base_addr)
-+{
-+ writel(val, base_addr - ACP3x_PHY_BASE_ADDRESS);
-+}
-diff --git a/sound/soc/amd/raven/pci-acp3x.c b/sound/soc/amd/raven/pci-acp3x.c
-new file mode 100644
-index 0000000..204212b
---- /dev/null
-+++ b/sound/soc/amd/raven/pci-acp3x.c
-@@ -0,0 +1,97 @@
-+/*
-+ * AMD ALSA SoC PCM Driver
-+ *
-+ * Copyright 2016 Advanced Micro Devices, Inc.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms and conditions of the GNU General Public License,
-+ * version 2, as published by the Free Software Foundation.
-+ *
-+ * This program is distributed in the hope it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-+ * more details.
-+ */
-+
-+#include <linux/pci.h>
-+#include <linux/module.h>
-+
-+#include "acp3x.h"
-+
-+struct acp3x_dev_data {
-+ void __iomem *acp3x_base;
-+};
-+
-+static int snd_acp3x_probe(struct pci_dev *pci,
-+ const struct pci_device_id *pci_id)
-+{
-+ int ret;
-+ u32 addr;
-+ struct acp3x_dev_data *adata;
-+
-+ if (pci_enable_device(pci)) {
-+ dev_err(&pci->dev, "pci_enable_device failed\n");
-+ return -ENODEV;
-+ }
-+
-+ ret = pci_request_regions(pci, "AMD ACP3x audio");
-+ if (ret < 0) {
-+ dev_err(&pci->dev, "pci_request_regions failed\n");
-+ goto disable_pci;
-+ }
-+
-+ adata = devm_kzalloc(&pci->dev, sizeof(struct acp3x_dev_data),
-+ GFP_KERNEL);
-+ if (adata == NULL) {
-+ ret = -ENOMEM;
-+ goto release_regions;
-+ }
-+
-+ addr = pci_resource_start(pci, 0);
-+ adata->acp3x_base = ioremap(addr, pci_resource_len(pci, 0));
-+ if (adata->acp3x_base == NULL) {
-+ ret = -ENOMEM;
-+ goto release_regions;
-+ }
-+
-+ pci_set_drvdata(pci, adata);
-+
-+ return 0;
-+
-+release_regions:
-+ pci_release_regions(pci);
-+disable_pci:
-+ pci_disable_device(pci);
-+
-+ return ret;
-+}
-+
-+static void snd_acp3x_remove(struct pci_dev *pci)
-+{
-+ struct acp3x_dev_data *adata = pci_get_drvdata(pci);
-+
-+ iounmap(adata->acp3x_base);
-+ pci_release_regions(pci);
-+ pci_disable_device(pci);
-+}
-+
-+static const struct pci_device_id snd_acp3x_ids[] = {
-+ { PCI_DEVICE(PCI_VENDOR_ID_AMD, 0x15e2),
-+ .class = PCI_CLASS_MULTIMEDIA_OTHER << 8,
-+ .class_mask = 0xffffff },
-+ { 0, },
-+};
-+MODULE_DEVICE_TABLE(pci, snd_acp3x_ids);
-+
-+static struct pci_driver acp3x_driver = {
-+ .name = KBUILD_MODNAME,
-+ .id_table = snd_acp3x_ids,
-+ .probe = snd_acp3x_probe,
-+ .remove = snd_acp3x_remove,
-+};
-+
-+module_pci_driver(acp3x_driver);
-+
-+MODULE_AUTHOR("Maruthi.Bayyavarapu@amd.com");
-+MODULE_DESCRIPTION("AMD ACP3x PCI driver");
-+MODULE_LICENSE("GPL v2");
---
-2.7.4
-