diff options
Diffstat (limited to 'meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1100-ASoC-AMD-add-ACP3.0-PCI-driver.patch')
-rw-r--r-- | meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1100-ASoC-AMD-add-ACP3.0-PCI-driver.patch | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1100-ASoC-AMD-add-ACP3.0-PCI-driver.patch b/meta-v1000/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-v1000/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 - |