Lines Matching +full:int +full:- +full:threshold
1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
16 #include <sound/soc-acpi.h>
17 #include <sound/soc-dai.h>
36 #define THRESHOLD(bit, base) ((bit) + (base)) macro
37 #define I2S_RX_THRESHOLD(base) THRESHOLD(7, base)
38 #define I2S_TX_THRESHOLD(base) THRESHOLD(8, base)
39 #define BT_TX_THRESHOLD(base) THRESHOLD(6, base)
40 #define BT_RX_THRESHOLD(base) THRESHOLD(5, base)
41 #define HS_TX_THRESHOLD(base) THRESHOLD(4, base)
42 #define HS_RX_THRESHOLD(base) THRESHOLD(3, base)
143 unsigned int acp_rev; /* ACP Revision id */
146 unsigned int flag; /* Distinguish b/w Legacy or Only PDM */
155 int irq_bit;
156 int dai_id;
157 int id;
158 int dir;
166 int offset;
167 int no_of_ctrls;
168 int irqp_used;
179 unsigned int i2s_irq;
180 unsigned int acp_rev; /* ACP Revision id */
186 int num_dai;
203 unsigned int flag;
233 int acp_platform_register(struct device *dev);
234 int acp_platform_unregister(struct device *dev);
236 int acp_machine_select(struct acp_dev_data *adata);
238 int smn_read(struct pci_dev *dev, u32 smn_addr);
239 int smn_write(struct pci_dev *dev, u32 smn_addr, u32 data);
241 int acp_init(struct acp_chip_info *chip);
242 int acp_deinit(struct acp_chip_info *chip);
246 int snd_amd_acp_find_config(struct pci_dev *pci);
249 void config_acp_dma(struct acp_dev_data *adata, struct acp_stream *stream, int size);
253 int restore_acp_i2s_params(struct snd_pcm_substream *substream,
258 static inline u64 acp_get_byte_count(struct acp_dev_data *adata, int dai_id, int direction) in acp_get_byte_count()
265 high = readl(adata->acp_base + ACP_BT_TX_LINEARPOSITIONCNTR_HIGH(adata)); in acp_get_byte_count()
266 low = readl(adata->acp_base + ACP_BT_TX_LINEARPOSITIONCNTR_LOW(adata)); in acp_get_byte_count()
269 high = readl(adata->acp_base + ACP_I2S_TX_LINEARPOSITIONCNTR_HIGH(adata)); in acp_get_byte_count()
270 low = readl(adata->acp_base + ACP_I2S_TX_LINEARPOSITIONCNTR_LOW(adata)); in acp_get_byte_count()
273 high = readl(adata->acp_base + ACP_HS_TX_LINEARPOSITIONCNTR_HIGH); in acp_get_byte_count()
274 low = readl(adata->acp_base + ACP_HS_TX_LINEARPOSITIONCNTR_LOW); in acp_get_byte_count()
277 dev_err(adata->dev, "Invalid dai id %x\n", dai_id); in acp_get_byte_count()
283 high = readl(adata->acp_base + ACP_BT_RX_LINEARPOSITIONCNTR_HIGH(adata)); in acp_get_byte_count()
284 low = readl(adata->acp_base + ACP_BT_RX_LINEARPOSITIONCNTR_LOW(adata)); in acp_get_byte_count()
287 high = readl(adata->acp_base + ACP_I2S_RX_LINEARPOSITIONCNTR_HIGH(adata)); in acp_get_byte_count()
288 low = readl(adata->acp_base + ACP_I2S_RX_LINEARPOSITIONCNTR_LOW(adata)); in acp_get_byte_count()
291 high = readl(adata->acp_base + ACP_HS_RX_LINEARPOSITIONCNTR_HIGH); in acp_get_byte_count()
292 low = readl(adata->acp_base + ACP_HS_RX_LINEARPOSITIONCNTR_LOW); in acp_get_byte_count()
295 high = readl(adata->acp_base + ACP_WOV_RX_LINEARPOSITIONCNTR_HIGH); in acp_get_byte_count()
296 low = readl(adata->acp_base + ACP_WOV_RX_LINEARPOSITIONCNTR_LOW); in acp_get_byte_count()
299 dev_err(adata->dev, "Invalid dai id %x\n", dai_id); in acp_get_byte_count()