| .. | .. |
|---|
| 16 | 16 | const char *name; |
|---|
| 17 | 17 | int reg_ofs_base; |
|---|
| 18 | 18 | int reg_ofs_cur; |
|---|
| 19 | + int reg_ofs_end; |
|---|
| 20 | + int reg_ofs_base_msb; |
|---|
| 21 | + int reg_ofs_cur_msb; |
|---|
| 22 | + int reg_ofs_end_msb; |
|---|
| 19 | 23 | int fs_reg; |
|---|
| 20 | 24 | int fs_shift; |
|---|
| 21 | 25 | int fs_maskbit; |
|---|
| 22 | 26 | int mono_reg; |
|---|
| 23 | 27 | int mono_shift; |
|---|
| 28 | + int mono_invert; |
|---|
| 29 | + int quad_ch_reg; |
|---|
| 30 | + int quad_ch_mask; |
|---|
| 31 | + int quad_ch_shift; |
|---|
| 24 | 32 | int enable_reg; |
|---|
| 25 | 33 | int enable_shift; |
|---|
| 26 | 34 | int hd_reg; |
|---|
| 27 | 35 | int hd_shift; |
|---|
| 36 | + int hd_align_reg; |
|---|
| 37 | + int hd_align_mshift; |
|---|
| 28 | 38 | int msb_reg; |
|---|
| 29 | 39 | int msb_shift; |
|---|
| 40 | + int msb2_reg; |
|---|
| 41 | + int msb2_shift; |
|---|
| 30 | 42 | int agent_disable_reg; |
|---|
| 31 | 43 | int agent_disable_shift; |
|---|
| 44 | + /* playback memif only */ |
|---|
| 45 | + int pbuf_reg; |
|---|
| 46 | + int pbuf_mask; |
|---|
| 47 | + int pbuf_shift; |
|---|
| 48 | + int minlen_reg; |
|---|
| 49 | + int minlen_mask; |
|---|
| 50 | + int minlen_shift; |
|---|
| 32 | 51 | }; |
|---|
| 33 | 52 | |
|---|
| 34 | 53 | struct mtk_base_irq_data { |
|---|
| .. | .. |
|---|
| 82 | 101 | unsigned int rate); |
|---|
| 83 | 102 | int (*irq_fs)(struct snd_pcm_substream *substream, |
|---|
| 84 | 103 | unsigned int rate); |
|---|
| 104 | + int (*get_dai_fs)(struct mtk_base_afe *afe, |
|---|
| 105 | + int dai_id, unsigned int rate); |
|---|
| 106 | + int (*get_memif_pbuf_size)(struct snd_pcm_substream *substream); |
|---|
| 107 | + |
|---|
| 108 | + int (*request_dram_resource)(struct device *dev); |
|---|
| 109 | + int (*release_dram_resource)(struct device *dev); |
|---|
| 85 | 110 | |
|---|
| 86 | 111 | void *platform_priv; |
|---|
| 87 | 112 | }; |
|---|
| .. | .. |
|---|
| 93 | 118 | const struct mtk_base_memif_data *data; |
|---|
| 94 | 119 | int irq_usage; |
|---|
| 95 | 120 | int const_irq; |
|---|
| 121 | + unsigned char *dma_area; |
|---|
| 122 | + dma_addr_t dma_addr; |
|---|
| 123 | + size_t dma_bytes; |
|---|
| 96 | 124 | }; |
|---|
| 97 | 125 | |
|---|
| 98 | 126 | struct mtk_base_afe_irq { |
|---|