amd.h (3d74f42c56db263e82ad96f8fe23aef38cdc071f) amd.h (e61b415515d3db57dce3af3e4a0441f08d8d8f15)
1/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
2/*
3 * This file is provided under a dual BSD/GPLv2 license. When using or
4 * redistributing this file, you may do so under either license.
5 *
6 * Copyright(c) 2021 Advanced Micro Devices, Inc. All rights reserved.
7 *
8 * Author: Ajit Kumar Pandey <AjitKumar.Pandey@amd.com>

--- 78 unchanged lines hidden (view full) ---

87#define TDM_ENABLE 1
88#define TDM_DISABLE 0
89
90#define SLOT_WIDTH_8 0x8
91#define SLOT_WIDTH_16 0x10
92#define SLOT_WIDTH_24 0x18
93#define SLOT_WIDTH_32 0x20
94
1/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
2/*
3 * This file is provided under a dual BSD/GPLv2 license. When using or
4 * redistributing this file, you may do so under either license.
5 *
6 * Copyright(c) 2021 Advanced Micro Devices, Inc. All rights reserved.
7 *
8 * Author: Ajit Kumar Pandey <AjitKumar.Pandey@amd.com>

--- 78 unchanged lines hidden (view full) ---

87#define TDM_ENABLE 1
88#define TDM_DISABLE 0
89
90#define SLOT_WIDTH_8 0x8
91#define SLOT_WIDTH_16 0x10
92#define SLOT_WIDTH_24 0x18
93#define SLOT_WIDTH_32 0x20
94
95#define ACP6X_PGFSM_CONTROL 0x1024
96#define ACP6X_PGFSM_STATUS 0x1028
97
98#define ACP_SOFT_RST_DONE_MASK 0x00010001
99
100#define ACP_PGFSM_CNTL_POWER_ON_MASK 0x01
101#define ACP_PGFSM_CNTL_POWER_OFF_MASK 0x00
102#define ACP_PGFSM_STATUS_MASK 0x03
103#define ACP_POWERED_ON 0x00
104#define ACP_POWER_ON_IN_PROGRESS 0x01
105#define ACP_POWERED_OFF 0x02
106#define ACP_POWER_OFF_IN_PROGRESS 0x03
107
108#define ACP_ERROR_MASK 0x20000000
109#define ACP_EXT_INTR_STAT_CLEAR_MASK 0xffffffff
110
111#define ACP_TIMEOUT 500
112#define DELAY_US 5
113
95struct acp_chip_info {
96 char *name; /* Platform name */
97 unsigned int acp_rev; /* ACP Revision id */
98 void __iomem *base; /* ACP memory PCI base */
99};
100
101struct acp_stream {
102 struct list_head list;

--- 60 unchanged lines hidden (view full) ---

163extern const struct snd_soc_dai_ops acp_dmic_dai_ops;
164
165int asoc_acp_i2s_probe(struct snd_soc_dai *dai);
166int acp_platform_register(struct device *dev);
167int acp_platform_unregister(struct device *dev);
168
169int acp_machine_select(struct acp_dev_data *adata);
170
114struct acp_chip_info {
115 char *name; /* Platform name */
116 unsigned int acp_rev; /* ACP Revision id */
117 void __iomem *base; /* ACP memory PCI base */
118};
119
120struct acp_stream {
121 struct list_head list;

--- 60 unchanged lines hidden (view full) ---

182extern const struct snd_soc_dai_ops acp_dmic_dai_ops;
183
184int asoc_acp_i2s_probe(struct snd_soc_dai *dai);
185int acp_platform_register(struct device *dev);
186int acp_platform_unregister(struct device *dev);
187
188int acp_machine_select(struct acp_dev_data *adata);
189
190int acp_init(struct acp_chip_info *chip);
191int acp_deinit(void __iomem *base);
171/* Machine configuration */
172int snd_amd_acp_find_config(struct pci_dev *pci);
173
174static inline u64 acp_get_byte_count(struct acp_dev_data *adata, int dai_id, int direction)
175{
176 u64 byte_count = 0, low = 0, high = 0;
177
178 if (direction == SNDRV_PCM_STREAM_PLAYBACK) {

--- 75 unchanged lines hidden ---
192/* Machine configuration */
193int snd_amd_acp_find_config(struct pci_dev *pci);
194
195static inline u64 acp_get_byte_count(struct acp_dev_data *adata, int dai_id, int direction)
196{
197 u64 byte_count = 0, low = 0, high = 0;
198
199 if (direction == SNDRV_PCM_STREAM_PLAYBACK) {

--- 75 unchanged lines hidden ---