/* * mtk-base-afe.h -- Mediatek base afe structure * * Copyright (c) 2016 MediaTek Inc. * Author: Garlic Tseng * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that 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. */ #ifndef _MTK_BASE_AFE_H_ #define _MTK_BASE_AFE_H_ struct mtk_base_memif_data { int id; const char *name; int reg_ofs_base; int reg_ofs_cur; int fs_reg; int fs_shift; int fs_maskbit; int mono_reg; int mono_shift; int enable_reg; int enable_shift; int hd_reg; int hd_shift; int msb_reg; int msb_shift; int agent_disable_reg; int agent_disable_shift; }; struct mtk_base_irq_data { int id; int irq_cnt_reg; int irq_cnt_shift; int irq_cnt_maskbit; int irq_fs_reg; int irq_fs_shift; int irq_fs_maskbit; int irq_en_reg; int irq_en_shift; int irq_clr_reg; int irq_clr_shift; }; struct device; struct mtk_base_afe_memif; struct mtk_base_afe_irq; struct regmap; struct snd_pcm_substream; struct snd_soc_dai; struct mtk_base_afe { void __iomem *base_addr; struct device *dev; struct regmap *regmap; struct mutex irq_alloc_lock; /* dynamic alloc irq lock */ unsigned int const *reg_back_up_list; unsigned int *reg_back_up; unsigned int reg_back_up_list_num; int (*runtime_suspend)(struct device *dev); int (*runtime_resume)(struct device *dev); bool suspended; struct mtk_base_afe_memif *memif; int memif_size; struct mtk_base_afe_irq *irqs; int irqs_size; const struct snd_pcm_hardware *mtk_afe_hardware; int (*memif_fs)(struct snd_pcm_substream *substream, unsigned int rate); int (*irq_fs)(struct snd_pcm_substream *substream, unsigned int rate); void *platform_priv; }; struct mtk_base_afe_memif { unsigned int phys_buf_addr; int buffer_size; struct snd_pcm_substream *substream; const struct mtk_base_memif_data *data; int irq_usage; int const_irq; }; struct mtk_base_afe_irq { const struct mtk_base_irq_data *irq_data; int irq_occupyed; }; #endif >
path: root/sound/aoa/fabrics
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-01-05 10:29:40 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2017-01-05 10:29:40 -0800
commit383378d115ab6e702d77896071d36056875602db (patch)
tree1dce033018c7b3946a9ed249f851752e265ed010 /sound/aoa/fabrics
parent9e3596b0c6539e28546ff7c72a06576627068353 (diff)
parent0b47a6bd1150f4846b1d61925a4cc5a96593a541 (diff)
Merge tag 'for-linus-4.10-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip
Pull xen fixes and cleanups from Juergen Gross: - small fixes for xenbus driver - one fix for xen dom0 boot on huge system - small cleanups * tag 'for-linus-4.10-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: Xen: ARM: Zero reserved fields of xatp before making hypervisor call xen: events: Replace BUG() with BUG_ON() xen: remove stale xs_input_avail() from header xen: return xenstore command failures via response instead of rc xen: xenbus driver must not accept invalid transaction ids xen/evtchn: use rb_entry() xen/setup: Don't relocate p2m over existing one
Diffstat (limited to 'sound/aoa/fabrics')