Lines Matching refs:uccf
30 void ucc_fast_dump_regs(struct ucc_fast_private * uccf) in ucc_fast_dump_regs() argument
32 printk(KERN_INFO "UCC%u Fast registers:\n", uccf->uf_info->ucc_num); in ucc_fast_dump_regs()
33 printk(KERN_INFO "Base address: 0x%p\n", uccf->uf_regs); in ucc_fast_dump_regs()
36 &uccf->uf_regs->gumr, in_be32(&uccf->uf_regs->gumr)); in ucc_fast_dump_regs()
38 &uccf->uf_regs->upsmr, in_be32(&uccf->uf_regs->upsmr)); in ucc_fast_dump_regs()
40 &uccf->uf_regs->utodr, in_be16(&uccf->uf_regs->utodr)); in ucc_fast_dump_regs()
42 &uccf->uf_regs->udsr, in_be16(&uccf->uf_regs->udsr)); in ucc_fast_dump_regs()
44 &uccf->uf_regs->ucce, in_be32(&uccf->uf_regs->ucce)); in ucc_fast_dump_regs()
46 &uccf->uf_regs->uccm, in_be32(&uccf->uf_regs->uccm)); in ucc_fast_dump_regs()
48 &uccf->uf_regs->uccs, in_8(&uccf->uf_regs->uccs)); in ucc_fast_dump_regs()
50 &uccf->uf_regs->urfb, in_be32(&uccf->uf_regs->urfb)); in ucc_fast_dump_regs()
52 &uccf->uf_regs->urfs, in_be16(&uccf->uf_regs->urfs)); in ucc_fast_dump_regs()
54 &uccf->uf_regs->urfet, in_be16(&uccf->uf_regs->urfet)); in ucc_fast_dump_regs()
56 &uccf->uf_regs->urfset, in_be16(&uccf->uf_regs->urfset)); in ucc_fast_dump_regs()
58 &uccf->uf_regs->utfb, in_be32(&uccf->uf_regs->utfb)); in ucc_fast_dump_regs()
60 &uccf->uf_regs->utfs, in_be16(&uccf->uf_regs->utfs)); in ucc_fast_dump_regs()
62 &uccf->uf_regs->utfet, in_be16(&uccf->uf_regs->utfet)); in ucc_fast_dump_regs()
64 &uccf->uf_regs->utftt, in_be16(&uccf->uf_regs->utftt)); in ucc_fast_dump_regs()
66 &uccf->uf_regs->utpt, in_be16(&uccf->uf_regs->utpt)); in ucc_fast_dump_regs()
68 &uccf->uf_regs->urtry, in_be32(&uccf->uf_regs->urtry)); in ucc_fast_dump_regs()
70 &uccf->uf_regs->guemr, in_8(&uccf->uf_regs->guemr)); in ucc_fast_dump_regs()
90 void ucc_fast_transmit_on_demand(struct ucc_fast_private * uccf) in ucc_fast_transmit_on_demand() argument
92 out_be16(&uccf->uf_regs->utodr, UCC_FAST_TOD); in ucc_fast_transmit_on_demand()
96 void ucc_fast_enable(struct ucc_fast_private * uccf, enum comm_dir mode) in ucc_fast_enable() argument
101 uf_regs = uccf->uf_regs; in ucc_fast_enable()
107 uccf->enabled_tx = 1; in ucc_fast_enable()
111 uccf->enabled_rx = 1; in ucc_fast_enable()
117 void ucc_fast_disable(struct ucc_fast_private * uccf, enum comm_dir mode) in ucc_fast_disable() argument
122 uf_regs = uccf->uf_regs; in ucc_fast_disable()
128 uccf->enabled_tx = 0; in ucc_fast_disable()
132 uccf->enabled_rx = 0; in ucc_fast_disable()
140 struct ucc_fast_private *uccf; in ucc_fast_init() local
197 uccf = kzalloc(sizeof(struct ucc_fast_private), GFP_KERNEL); in ucc_fast_init()
198 if (!uccf) { in ucc_fast_init()
205 uccf->uf_info = uf_info; in ucc_fast_init()
207 uccf->uf_regs = ioremap(uf_info->regs, sizeof(struct ucc_fast)); in ucc_fast_init()
208 if (uccf->uf_regs == NULL) { in ucc_fast_init()
210 kfree(uccf); in ucc_fast_init()
214 uccf->enabled_tx = 0; in ucc_fast_init()
215 uccf->enabled_rx = 0; in ucc_fast_init()
216 uccf->stopped_tx = 0; in ucc_fast_init()
217 uccf->stopped_rx = 0; in ucc_fast_init()
218 uf_regs = uccf->uf_regs; in ucc_fast_init()
219 uccf->p_ucce = &uf_regs->ucce; in ucc_fast_init()
220 uccf->p_uccm = &uf_regs->uccm; in ucc_fast_init()
222 uccf->p_utodr = &uf_regs->utodr; in ucc_fast_init()
225 uccf->tx_frames = 0; in ucc_fast_init()
226 uccf->rx_frames = 0; in ucc_fast_init()
227 uccf->rx_discarded = 0; in ucc_fast_init()
234 ucc_fast_free(uccf); in ucc_fast_init()
238 uccf->mrblr = uf_info->max_rx_buf_length; in ucc_fast_init()
269 uccf->ucc_fast_tx_virtual_fifo_base_offset = in ucc_fast_init()
271 if (IS_ERR_VALUE(uccf->ucc_fast_tx_virtual_fifo_base_offset)) { in ucc_fast_init()
274 uccf->ucc_fast_tx_virtual_fifo_base_offset = 0; in ucc_fast_init()
275 ucc_fast_free(uccf); in ucc_fast_init()
280 uccf->ucc_fast_rx_virtual_fifo_base_offset = in ucc_fast_init()
284 if (IS_ERR_VALUE(uccf->ucc_fast_rx_virtual_fifo_base_offset)) { in ucc_fast_init()
287 uccf->ucc_fast_rx_virtual_fifo_base_offset = 0; in ucc_fast_init()
288 ucc_fast_free(uccf); in ucc_fast_init()
300 out_be32(&uf_regs->utfb, uccf->ucc_fast_tx_virtual_fifo_base_offset); in ucc_fast_init()
301 out_be32(&uf_regs->urfb, uccf->ucc_fast_rx_virtual_fifo_base_offset); in ucc_fast_init()
318 ucc_fast_free(uccf); in ucc_fast_init()
327 ucc_fast_free(uccf); in ucc_fast_init()
342 *uccf_ret = uccf; in ucc_fast_init()
347 void ucc_fast_free(struct ucc_fast_private * uccf) in ucc_fast_free() argument
349 if (!uccf) in ucc_fast_free()
352 if (uccf->ucc_fast_tx_virtual_fifo_base_offset) in ucc_fast_free()
353 qe_muram_free(uccf->ucc_fast_tx_virtual_fifo_base_offset); in ucc_fast_free()
355 if (uccf->ucc_fast_rx_virtual_fifo_base_offset) in ucc_fast_free()
356 qe_muram_free(uccf->ucc_fast_rx_virtual_fifo_base_offset); in ucc_fast_free()
358 if (uccf->uf_regs) in ucc_fast_free()
359 iounmap(uccf->uf_regs); in ucc_fast_free()
361 kfree(uccf); in ucc_fast_free()