• Home
  • Raw
  • Download

Lines Matching refs:ch

151 static inline struct mic_dma_chan *to_mic_dma_chan(struct dma_chan *ch)  in to_mic_dma_chan()  argument
153 return container_of(ch, struct mic_dma_chan, api_ch); in to_mic_dma_chan()
156 static inline struct mic_dma_device *to_mic_dma_dev(struct mic_dma_chan *ch) in to_mic_dma_dev() argument
160 (ch - ch->ch_num), struct mic_dma_device, mic_ch); in to_mic_dma_dev()
163 static inline struct mbus_device *to_mbus_device(struct mic_dma_chan *ch) in to_mbus_device() argument
165 return to_mic_dma_dev(ch)->mbdev; in to_mbus_device()
168 static inline struct mbus_hw_ops *to_mbus_hw_ops(struct mic_dma_chan *ch) in to_mbus_hw_ops() argument
170 return to_mbus_device(ch)->hw_ops; in to_mbus_hw_ops()
173 static inline struct device *mic_dma_ch_to_device(struct mic_dma_chan *ch) in mic_dma_ch_to_device() argument
175 return to_mic_dma_dev(ch)->dma_dev.dev; in mic_dma_ch_to_device()
178 static inline void __iomem *mic_dma_chan_to_mmio(struct mic_dma_chan *ch) in mic_dma_chan_to_mmio() argument
180 return to_mic_dma_dev(ch)->mmio; in mic_dma_chan_to_mmio()
183 static inline u32 mic_dma_read_reg(struct mic_dma_chan *ch, u32 reg) in mic_dma_read_reg() argument
185 return ioread32(mic_dma_chan_to_mmio(ch) + MIC_DMA_SBOX_CH_BASE + in mic_dma_read_reg()
186 ch->ch_num * MIC_DMA_SBOX_CHAN_OFF + reg); in mic_dma_read_reg()
189 static inline void mic_dma_write_reg(struct mic_dma_chan *ch, u32 reg, u32 val) in mic_dma_write_reg() argument
191 iowrite32(val, mic_dma_chan_to_mmio(ch) + MIC_DMA_SBOX_CH_BASE + in mic_dma_write_reg()
192 ch->ch_num * MIC_DMA_SBOX_CHAN_OFF + reg); in mic_dma_write_reg()
195 static inline u32 mic_dma_mmio_read(struct mic_dma_chan *ch, u32 offset) in mic_dma_mmio_read() argument
197 return ioread32(mic_dma_chan_to_mmio(ch) + offset); in mic_dma_mmio_read()
200 static inline void mic_dma_mmio_write(struct mic_dma_chan *ch, u32 val, in mic_dma_mmio_write() argument
203 iowrite32(val, mic_dma_chan_to_mmio(ch) + offset); in mic_dma_mmio_write()
206 static inline u32 mic_dma_read_cmp_cnt(struct mic_dma_chan *ch) in mic_dma_read_cmp_cnt() argument
208 return mic_dma_read_reg(ch, MIC_DMA_REG_DSTAT) & in mic_dma_read_cmp_cnt()
212 static inline void mic_dma_chan_set_owner(struct mic_dma_chan *ch) in mic_dma_chan_set_owner() argument
214 u32 dcr = mic_dma_mmio_read(ch, MIC_DMA_SBOX_BASE + MIC_DMA_SBOX_DCR); in mic_dma_chan_set_owner()
215 u32 chan_num = ch->ch_num; in mic_dma_chan_set_owner()
217 dcr = (dcr & ~(0x1 << (chan_num * 2))) | (ch->owner << (chan_num * 2)); in mic_dma_chan_set_owner()
218 mic_dma_mmio_write(ch, dcr, MIC_DMA_SBOX_BASE + MIC_DMA_SBOX_DCR); in mic_dma_chan_set_owner()
221 static inline void mic_dma_enable_chan(struct mic_dma_chan *ch) in mic_dma_enable_chan() argument
223 u32 dcr = mic_dma_mmio_read(ch, MIC_DMA_SBOX_BASE + MIC_DMA_SBOX_DCR); in mic_dma_enable_chan()
225 dcr |= 2 << (ch->ch_num << 1); in mic_dma_enable_chan()
226 mic_dma_mmio_write(ch, dcr, MIC_DMA_SBOX_BASE + MIC_DMA_SBOX_DCR); in mic_dma_enable_chan()
229 static inline void mic_dma_disable_chan(struct mic_dma_chan *ch) in mic_dma_disable_chan() argument
231 u32 dcr = mic_dma_mmio_read(ch, MIC_DMA_SBOX_BASE + MIC_DMA_SBOX_DCR); in mic_dma_disable_chan()
233 dcr &= ~(2 << (ch->ch_num << 1)); in mic_dma_disable_chan()
234 mic_dma_mmio_write(ch, dcr, MIC_DMA_SBOX_BASE + MIC_DMA_SBOX_DCR); in mic_dma_disable_chan()
237 static void mic_dma_chan_set_desc_ring(struct mic_dma_chan *ch) in mic_dma_chan_set_desc_ring() argument
240 dma_addr_t desc_ring_micpa = ch->desc_ring_micpa; in mic_dma_chan_set_desc_ring()
243 if (MIC_DMA_CHAN_MIC == ch->owner) { in mic_dma_chan_set_desc_ring()
251 mic_dma_write_reg(ch, MIC_DMA_REG_DRAR_LO, (u32) desc_ring_micpa); in mic_dma_chan_set_desc_ring()
252 mic_dma_write_reg(ch, MIC_DMA_REG_DRAR_HI, drar_hi); in mic_dma_chan_set_desc_ring()
255 static inline void mic_dma_chan_mask_intr(struct mic_dma_chan *ch) in mic_dma_chan_mask_intr() argument
257 u32 dcar = mic_dma_read_reg(ch, MIC_DMA_REG_DCAR); in mic_dma_chan_mask_intr()
259 if (MIC_DMA_CHAN_MIC == ch->owner) in mic_dma_chan_mask_intr()
263 mic_dma_write_reg(ch, MIC_DMA_REG_DCAR, dcar); in mic_dma_chan_mask_intr()
266 static inline void mic_dma_chan_unmask_intr(struct mic_dma_chan *ch) in mic_dma_chan_unmask_intr() argument
268 u32 dcar = mic_dma_read_reg(ch, MIC_DMA_REG_DCAR); in mic_dma_chan_unmask_intr()
270 if (MIC_DMA_CHAN_MIC == ch->owner) in mic_dma_chan_unmask_intr()
274 mic_dma_write_reg(ch, MIC_DMA_REG_DCAR, dcar); in mic_dma_chan_unmask_intr()
277 static void mic_dma_ack_interrupt(struct mic_dma_chan *ch) in mic_dma_ack_interrupt() argument
279 if (MIC_DMA_CHAN_MIC == ch->owner) { in mic_dma_ack_interrupt()
281 mic_dma_chan_mask_intr(ch); in mic_dma_ack_interrupt()
282 mic_dma_chan_unmask_intr(ch); in mic_dma_ack_interrupt()
284 to_mbus_hw_ops(ch)->ack_interrupt(to_mbus_device(ch), ch->ch_num); in mic_dma_ack_interrupt()