Lines Matching refs:fsi

245 			struct fsi_priv *fsi);
273 int (*init)(struct fsi_priv *fsi, struct fsi_stream *io);
274 int (*quit)(struct fsi_priv *fsi, struct fsi_stream *io);
275 int (*probe)(struct fsi_priv *fsi, struct fsi_stream *io, struct device *dev);
276 int (*transfer)(struct fsi_priv *fsi, struct fsi_stream *io);
277 int (*remove)(struct fsi_priv *fsi, struct fsi_stream *io);
278 int (*start_stop)(struct fsi_priv *fsi, struct fsi_stream *io,
304 static int fsi_stream_is_play(struct fsi_priv *fsi, struct fsi_stream *io);
376 static struct fsi_master *fsi_get_master(struct fsi_priv *fsi) in fsi_get_master() argument
378 return fsi->master; in fsi_get_master()
381 static int fsi_is_clk_master(struct fsi_priv *fsi) in fsi_is_clk_master() argument
383 return fsi->clk_master; in fsi_is_clk_master()
386 static int fsi_is_port_a(struct fsi_priv *fsi) in fsi_is_port_a() argument
388 return fsi->master->base == fsi->base; in fsi_is_port_a()
391 static int fsi_is_spdif(struct fsi_priv *fsi) in fsi_is_spdif() argument
393 return fsi->spdif; in fsi_is_spdif()
396 static int fsi_is_enable_stream(struct fsi_priv *fsi) in fsi_is_enable_stream() argument
398 return fsi->enable_stream; in fsi_is_enable_stream()
428 static u32 fsi_get_port_shift(struct fsi_priv *fsi, struct fsi_stream *io) in fsi_get_port_shift() argument
430 int is_play = fsi_stream_is_play(fsi, io); in fsi_get_port_shift()
431 int is_porta = fsi_is_port_a(fsi); in fsi_get_port_shift()
442 static int fsi_frame2sample(struct fsi_priv *fsi, int frames) in fsi_frame2sample() argument
444 return frames * fsi->chan_num; in fsi_frame2sample()
447 static int fsi_sample2frame(struct fsi_priv *fsi, int samples) in fsi_sample2frame() argument
449 return samples / fsi->chan_num; in fsi_sample2frame()
452 static int fsi_get_current_fifo_samples(struct fsi_priv *fsi, in fsi_get_current_fifo_samples() argument
455 int is_play = fsi_stream_is_play(fsi, io); in fsi_get_current_fifo_samples()
460 fsi_reg_read(fsi, DOFF_ST) : in fsi_get_current_fifo_samples()
461 fsi_reg_read(fsi, DIFF_ST); in fsi_get_current_fifo_samples()
465 return fsi_frame2sample(fsi, frames); in fsi_get_current_fifo_samples()
468 static void fsi_count_fifo_err(struct fsi_priv *fsi) in fsi_count_fifo_err() argument
470 u32 ostatus = fsi_reg_read(fsi, DOFF_ST); in fsi_count_fifo_err()
471 u32 istatus = fsi_reg_read(fsi, DIFF_ST); in fsi_count_fifo_err()
474 fsi->playback.oerr_num++; in fsi_count_fifo_err()
477 fsi->playback.uerr_num++; in fsi_count_fifo_err()
480 fsi->capture.oerr_num++; in fsi_count_fifo_err()
483 fsi->capture.uerr_num++; in fsi_count_fifo_err()
485 fsi_reg_write(fsi, DOFF_ST, 0); in fsi_count_fifo_err()
486 fsi_reg_write(fsi, DIFF_ST, 0); in fsi_count_fifo_err()
492 static inline int fsi_stream_is_play(struct fsi_priv *fsi, in fsi_stream_is_play() argument
495 return &fsi->playback == io; in fsi_stream_is_play()
498 static inline struct fsi_stream *fsi_stream_get(struct fsi_priv *fsi, in fsi_stream_get() argument
501 return fsi_is_play(substream) ? &fsi->playback : &fsi->capture; in fsi_stream_get()
504 static int fsi_stream_is_working(struct fsi_priv *fsi, in fsi_stream_is_working() argument
507 struct fsi_master *master = fsi_get_master(fsi); in fsi_stream_is_working()
523 static void fsi_stream_init(struct fsi_priv *fsi, in fsi_stream_init() argument
528 struct fsi_master *master = fsi_get_master(fsi); in fsi_stream_init()
533 io->buff_sample_capa = fsi_frame2sample(fsi, runtime->buffer_size); in fsi_stream_init()
535 io->period_samples = fsi_frame2sample(fsi, runtime->period_size); in fsi_stream_init()
541 fsi_stream_handler_call(io, init, fsi, io); in fsi_stream_init()
545 static void fsi_stream_quit(struct fsi_priv *fsi, struct fsi_stream *io) in fsi_stream_quit() argument
548 struct fsi_master *master = fsi_get_master(fsi); in fsi_stream_quit()
559 fsi_stream_handler_call(io, quit, fsi, io); in fsi_stream_quit()
574 struct fsi_priv *fsi = fsi_stream_to_priv(io); in fsi_stream_transfer() local
575 if (!fsi) in fsi_stream_transfer()
578 return fsi_stream_handler_call(io, transfer, fsi, io); in fsi_stream_transfer()
581 #define fsi_stream_start(fsi, io)\ argument
582 fsi_stream_handler_call(io, start_stop, fsi, io, 1)
584 #define fsi_stream_stop(fsi, io)\ argument
585 fsi_stream_handler_call(io, start_stop, fsi, io, 0)
587 static int fsi_stream_probe(struct fsi_priv *fsi, struct device *dev) in fsi_stream_probe() argument
592 io = &fsi->playback; in fsi_stream_probe()
593 ret1 = fsi_stream_handler_call(io, probe, fsi, io, dev); in fsi_stream_probe()
595 io = &fsi->capture; in fsi_stream_probe()
596 ret2 = fsi_stream_handler_call(io, probe, fsi, io, dev); in fsi_stream_probe()
606 static int fsi_stream_remove(struct fsi_priv *fsi) in fsi_stream_remove() argument
611 io = &fsi->playback; in fsi_stream_remove()
612 ret1 = fsi_stream_handler_call(io, remove, fsi, io); in fsi_stream_remove()
614 io = &fsi->capture; in fsi_stream_remove()
615 ret2 = fsi_stream_handler_call(io, remove, fsi, io); in fsi_stream_remove()
628 static void fsi_format_bus_setup(struct fsi_priv *fsi, struct fsi_stream *io, in fsi_format_bus_setup() argument
631 struct fsi_master *master = fsi_get_master(fsi); in fsi_format_bus_setup()
632 int is_play = fsi_stream_is_play(fsi, io); in fsi_format_bus_setup()
633 u32 fmt = fsi->fmt; in fsi_format_bus_setup()
661 fsi_reg_write(fsi, OUT_DMAC, dma); in fsi_format_bus_setup()
663 fsi_reg_write(fsi, IN_DMAC, dma); in fsi_format_bus_setup()
667 fsi_reg_write(fsi, DO_FMT, fmt); in fsi_format_bus_setup()
669 fsi_reg_write(fsi, DI_FMT, fmt); in fsi_format_bus_setup()
676 static void fsi_irq_enable(struct fsi_priv *fsi, struct fsi_stream *io) in fsi_irq_enable() argument
678 u32 data = AB_IO(1, fsi_get_port_shift(fsi, io)); in fsi_irq_enable()
679 struct fsi_master *master = fsi_get_master(fsi); in fsi_irq_enable()
685 static void fsi_irq_disable(struct fsi_priv *fsi, struct fsi_stream *io) in fsi_irq_disable() argument
687 u32 data = AB_IO(1, fsi_get_port_shift(fsi, io)); in fsi_irq_disable()
688 struct fsi_master *master = fsi_get_master(fsi); in fsi_irq_disable()
699 static void fsi_irq_clear_status(struct fsi_priv *fsi) in fsi_irq_clear_status() argument
702 struct fsi_master *master = fsi_get_master(fsi); in fsi_irq_clear_status()
704 data |= AB_IO(1, fsi_get_port_shift(fsi, &fsi->playback)); in fsi_irq_clear_status()
705 data |= AB_IO(1, fsi_get_port_shift(fsi, &fsi->capture)); in fsi_irq_clear_status()
716 static void fsi_spdif_clk_ctrl(struct fsi_priv *fsi, int enable) in fsi_spdif_clk_ctrl() argument
718 struct fsi_master *master = fsi_get_master(fsi); in fsi_spdif_clk_ctrl()
724 fsi_is_port_a(fsi) ? in fsi_spdif_clk_ctrl()
733 struct fsi_priv *fsi, in fsi_clk_init() argument
738 struct fsi_priv *fsi)) in fsi_clk_init()
740 struct fsi_clk *clock = &fsi->clock; in fsi_clk_init()
741 int is_porta = fsi_is_port_a(fsi); in fsi_clk_init()
796 #define fsi_clk_invalid(fsi) fsi_clk_valid(fsi, 0) argument
797 static void fsi_clk_valid(struct fsi_priv *fsi, unsigned long rate) in fsi_clk_valid() argument
799 fsi->clock.rate = rate; in fsi_clk_valid()
802 static int fsi_clk_is_valid(struct fsi_priv *fsi) in fsi_clk_is_valid() argument
804 return fsi->clock.set_rate && in fsi_clk_is_valid()
805 fsi->clock.rate; in fsi_clk_is_valid()
809 struct fsi_priv *fsi) in fsi_clk_enable() argument
811 struct fsi_clk *clock = &fsi->clock; in fsi_clk_enable()
814 if (!fsi_clk_is_valid(fsi)) in fsi_clk_enable()
818 ret = clock->set_rate(dev, fsi); in fsi_clk_enable()
820 fsi_clk_invalid(fsi); in fsi_clk_enable()
835 struct fsi_priv *fsi) in fsi_clk_disable() argument
837 struct fsi_clk *clock = &fsi->clock; in fsi_clk_disable()
839 if (!fsi_clk_is_valid(fsi)) in fsi_clk_disable()
852 struct fsi_priv *fsi, in fsi_clk_set_ackbpf() argument
912 fsi_reg_mask_set(fsi, CKG1, (ACKMD_MASK | BPFMD_MASK) , data); in fsi_clk_set_ackbpf()
919 struct fsi_priv *fsi) in fsi_clk_set_rate_external() argument
921 struct clk *xck = fsi->clock.xck; in fsi_clk_set_rate_external()
922 struct clk *ick = fsi->clock.ick; in fsi_clk_set_rate_external()
923 unsigned long rate = fsi->clock.rate; in fsi_clk_set_rate_external()
938 bpfmd = fsi->chan_num * 32; in fsi_clk_set_rate_external()
943 ret = fsi_clk_set_ackbpf(dev, fsi, ackmd, bpfmd); in fsi_clk_set_rate_external()
951 struct fsi_priv *fsi) in fsi_clk_set_rate_cpg() argument
953 struct clk *ick = fsi->clock.ick; in fsi_clk_set_rate_cpg()
954 struct clk *div = fsi->clock.div; in fsi_clk_set_rate_cpg()
955 unsigned long rate = fsi->clock.rate; in fsi_clk_set_rate_cpg()
973 bpfmd = fsi->chan_num * 32; in fsi_clk_set_rate_cpg()
975 ret = fsi_clk_set_ackbpf(dev, fsi, ackmd, bpfmd); in fsi_clk_set_rate_cpg()
1059 static void fsi_pio_push16(struct fsi_priv *fsi, u8 *_buf, int samples) in fsi_pio_push16() argument
1063 if (fsi_is_enable_stream(fsi)) { in fsi_pio_push16()
1072 fsi_reg_write(fsi, DODT, buf[i]); in fsi_pio_push16()
1078 fsi_reg_write(fsi, DODT, ((u32)*(buf + i) << 8)); in fsi_pio_push16()
1082 static void fsi_pio_pop16(struct fsi_priv *fsi, u8 *_buf, int samples) in fsi_pio_pop16() argument
1088 *(buf + i) = (u16)(fsi_reg_read(fsi, DIDT) >> 8); in fsi_pio_pop16()
1091 static void fsi_pio_push32(struct fsi_priv *fsi, u8 *_buf, int samples) in fsi_pio_push32() argument
1097 fsi_reg_write(fsi, DODT, *(buf + i)); in fsi_pio_push32()
1100 static void fsi_pio_pop32(struct fsi_priv *fsi, u8 *_buf, int samples) in fsi_pio_pop32() argument
1106 *(buf + i) = fsi_reg_read(fsi, DIDT); in fsi_pio_pop32()
1109 static u8 *fsi_pio_get_area(struct fsi_priv *fsi, struct fsi_stream *io) in fsi_pio_get_area() argument
1117 static int fsi_pio_transfer(struct fsi_priv *fsi, struct fsi_stream *io, in fsi_pio_transfer() argument
1118 void (*run16)(struct fsi_priv *fsi, u8 *buf, int samples), in fsi_pio_transfer() argument
1119 void (*run32)(struct fsi_priv *fsi, u8 *buf, int samples), in fsi_pio_transfer() argument
1124 if (!fsi_stream_is_working(fsi, io)) in fsi_pio_transfer()
1127 buf = fsi_pio_get_area(fsi, io); in fsi_pio_transfer()
1131 run16(fsi, buf, samples); in fsi_pio_transfer()
1134 run32(fsi, buf, samples); in fsi_pio_transfer()
1145 static int fsi_pio_pop(struct fsi_priv *fsi, struct fsi_stream *io) in fsi_pio_pop() argument
1151 sample_residues = fsi_get_current_fifo_samples(fsi, io); in fsi_pio_pop()
1156 return fsi_pio_transfer(fsi, io, in fsi_pio_pop()
1162 static int fsi_pio_push(struct fsi_priv *fsi, struct fsi_stream *io) in fsi_pio_push() argument
1170 fsi_get_current_fifo_samples(fsi, io); in fsi_pio_push()
1174 return fsi_pio_transfer(fsi, io, in fsi_pio_push()
1180 static int fsi_pio_start_stop(struct fsi_priv *fsi, struct fsi_stream *io, in fsi_pio_start_stop() argument
1183 struct fsi_master *master = fsi_get_master(fsi); in fsi_pio_start_stop()
1184 u32 clk = fsi_is_port_a(fsi) ? CRA : CRB; in fsi_pio_start_stop()
1187 fsi_irq_enable(fsi, io); in fsi_pio_start_stop()
1189 fsi_irq_disable(fsi, io); in fsi_pio_start_stop()
1191 if (fsi_is_clk_master(fsi)) in fsi_pio_start_stop()
1197 static int fsi_pio_push_init(struct fsi_priv *fsi, struct fsi_stream *io) in fsi_pio_push_init() argument
1206 if (fsi_is_enable_stream(fsi)) in fsi_pio_push_init()
1215 static int fsi_pio_pop_init(struct fsi_priv *fsi, struct fsi_stream *io) in fsi_pio_pop_init() argument
1267 static int fsi_dma_init(struct fsi_priv *fsi, struct fsi_stream *io) in fsi_dma_init() argument
1282 struct fsi_priv *fsi = fsi_stream_to_priv(io); in fsi_dma_complete() local
1286 fsi_count_fifo_err(fsi); in fsi_dma_complete()
1289 static int fsi_dma_transfer(struct fsi_priv *fsi, struct fsi_stream *io) in fsi_dma_transfer() argument
1294 int is_play = fsi_stream_is_play(fsi, io); in fsi_dma_transfer()
1334 if (ERR_OVER & fsi_reg_read(fsi, DIFF_ST)) { in fsi_dma_transfer()
1335 fsi_reg_mask_set(fsi, DIFF_CTL, FIFO_CLR, FIFO_CLR); in fsi_dma_transfer()
1336 fsi_reg_write(fsi, DIFF_ST, 0); in fsi_dma_transfer()
1346 static int fsi_dma_push_start_stop(struct fsi_priv *fsi, struct fsi_stream *io, in fsi_dma_push_start_stop() argument
1349 struct fsi_master *master = fsi_get_master(fsi); in fsi_dma_push_start_stop()
1350 u32 clk = fsi_is_port_a(fsi) ? CRA : CRB; in fsi_dma_push_start_stop()
1353 fsi_reg_mask_set(fsi, OUT_DMAC, DMA_ON, enable); in fsi_dma_push_start_stop()
1357 if (fsi_is_clk_master(fsi)) in fsi_dma_push_start_stop()
1363 static int fsi_dma_probe(struct fsi_priv *fsi, struct fsi_stream *io, struct device *dev) in fsi_dma_probe() argument
1366 int is_play = fsi_stream_is_play(fsi, io); in fsi_dma_probe()
1379 cfg.dst_addr = fsi->phys + REG_DODT; in fsi_dma_probe()
1383 cfg.src_addr = fsi->phys + REG_DIDT; in fsi_dma_probe()
1399 fsi->playback.handler = &fsi_pio_push_handler; in fsi_dma_probe()
1401 fsi->capture.handler = &fsi_pio_pop_handler; in fsi_dma_probe()
1406 return fsi_stream_probe(fsi, dev); in fsi_dma_probe()
1412 static int fsi_dma_remove(struct fsi_priv *fsi, struct fsi_stream *io) in fsi_dma_remove() argument
1414 fsi_stream_stop(fsi, io); in fsi_dma_remove()
1434 static void fsi_fifo_init(struct fsi_priv *fsi, in fsi_fifo_init() argument
1438 struct fsi_master *master = fsi_get_master(fsi); in fsi_fifo_init()
1439 int is_play = fsi_stream_is_play(fsi, io); in fsi_fifo_init()
1445 shift >>= fsi_get_port_shift(fsi, io); in fsi_fifo_init()
1469 for (i = 1; i < fsi->chan_num; i <<= 1) in fsi_fifo_init()
1472 fsi->chan_num, frame_capa); in fsi_fifo_init()
1474 io->fifo_sample_capa = fsi_frame2sample(fsi, frame_capa); in fsi_fifo_init()
1481 fsi_reg_write(fsi, DOFF_CTL, IRQ_HALF); in fsi_fifo_init()
1482 fsi_reg_mask_set(fsi, DOFF_CTL, FIFO_CLR, FIFO_CLR); in fsi_fifo_init()
1484 fsi_reg_write(fsi, DIFF_CTL, IRQ_HALF); in fsi_fifo_init()
1485 fsi_reg_mask_set(fsi, DIFF_CTL, FIFO_CLR, FIFO_CLR); in fsi_fifo_init()
1489 static int fsi_hw_startup(struct fsi_priv *fsi, in fsi_hw_startup() argument
1496 if (fsi_is_clk_master(fsi)) in fsi_hw_startup()
1499 fsi_reg_mask_set(fsi, CKG1, (DIMD | DOMD), data); in fsi_hw_startup()
1503 if (fsi->bit_clk_inv) in fsi_hw_startup()
1505 if (fsi->lr_clk_inv) in fsi_hw_startup()
1507 if (fsi_is_clk_master(fsi)) in fsi_hw_startup()
1509 fsi_reg_write(fsi, CKG2, data); in fsi_hw_startup()
1512 if (fsi_is_spdif(fsi)) { in fsi_hw_startup()
1513 fsi_spdif_clk_ctrl(fsi, 1); in fsi_hw_startup()
1514 fsi_reg_mask_set(fsi, OUT_SEL, DMMD, DMMD); in fsi_hw_startup()
1529 fsi_format_bus_setup(fsi, io, data, dev); in fsi_hw_startup()
1532 fsi_irq_disable(fsi, io); in fsi_hw_startup()
1533 fsi_irq_clear_status(fsi); in fsi_hw_startup()
1536 fsi_fifo_init(fsi, io, dev); in fsi_hw_startup()
1539 if (fsi_is_clk_master(fsi)) in fsi_hw_startup()
1540 return fsi_clk_enable(dev, fsi); in fsi_hw_startup()
1545 static int fsi_hw_shutdown(struct fsi_priv *fsi, in fsi_hw_shutdown() argument
1549 if (fsi_is_clk_master(fsi)) in fsi_hw_shutdown()
1550 return fsi_clk_disable(dev, fsi); in fsi_hw_shutdown()
1558 struct fsi_priv *fsi = fsi_get_priv(substream); in fsi_dai_startup() local
1560 fsi_clk_invalid(fsi); in fsi_dai_startup()
1568 struct fsi_priv *fsi = fsi_get_priv(substream); in fsi_dai_shutdown() local
1570 fsi_clk_invalid(fsi); in fsi_dai_shutdown()
1576 struct fsi_priv *fsi = fsi_get_priv(substream); in fsi_dai_trigger() local
1577 struct fsi_stream *io = fsi_stream_get(fsi, substream); in fsi_dai_trigger()
1582 fsi_stream_init(fsi, io, substream); in fsi_dai_trigger()
1584 ret = fsi_hw_startup(fsi, io, dai->dev); in fsi_dai_trigger()
1586 ret = fsi_stream_start(fsi, io); in fsi_dai_trigger()
1592 ret = fsi_hw_shutdown(fsi, dai->dev); in fsi_dai_trigger()
1593 fsi_stream_stop(fsi, io); in fsi_dai_trigger()
1594 fsi_stream_quit(fsi, io); in fsi_dai_trigger()
1601 static int fsi_set_fmt_dai(struct fsi_priv *fsi, unsigned int fmt) in fsi_set_fmt_dai() argument
1605 fsi->fmt = CR_I2S; in fsi_set_fmt_dai()
1606 fsi->chan_num = 2; in fsi_set_fmt_dai()
1609 fsi->fmt = CR_PCM; in fsi_set_fmt_dai()
1610 fsi->chan_num = 2; in fsi_set_fmt_dai()
1619 static int fsi_set_fmt_spdif(struct fsi_priv *fsi) in fsi_set_fmt_spdif() argument
1621 struct fsi_master *master = fsi_get_master(fsi); in fsi_set_fmt_spdif()
1626 fsi->fmt = CR_DTMD_SPDIF_PCM | CR_PCM; in fsi_set_fmt_spdif()
1627 fsi->chan_num = 2; in fsi_set_fmt_spdif()
1634 struct fsi_priv *fsi = fsi_get_priv_frm_dai(dai); in fsi_dai_set_fmt() local
1642 fsi->clk_master = 1; /* codec is slave, cpu is master */ in fsi_dai_set_fmt()
1651 fsi->bit_clk_inv = 0; in fsi_dai_set_fmt()
1652 fsi->lr_clk_inv = 1; in fsi_dai_set_fmt()
1655 fsi->bit_clk_inv = 1; in fsi_dai_set_fmt()
1656 fsi->lr_clk_inv = 0; in fsi_dai_set_fmt()
1659 fsi->bit_clk_inv = 1; in fsi_dai_set_fmt()
1660 fsi->lr_clk_inv = 1; in fsi_dai_set_fmt()
1664 fsi->bit_clk_inv = 0; in fsi_dai_set_fmt()
1665 fsi->lr_clk_inv = 0; in fsi_dai_set_fmt()
1669 if (fsi_is_clk_master(fsi)) { in fsi_dai_set_fmt()
1670 if (fsi->clk_cpg) in fsi_dai_set_fmt()
1671 fsi_clk_init(dai->dev, fsi, 0, 1, 1, in fsi_dai_set_fmt()
1674 fsi_clk_init(dai->dev, fsi, 1, 1, 0, in fsi_dai_set_fmt()
1679 if (fsi_is_spdif(fsi)) in fsi_dai_set_fmt()
1680 ret = fsi_set_fmt_spdif(fsi); in fsi_dai_set_fmt()
1682 ret = fsi_set_fmt_dai(fsi, fmt & SND_SOC_DAIFMT_FORMAT_MASK); in fsi_dai_set_fmt()
1691 struct fsi_priv *fsi = fsi_get_priv(substream); in fsi_dai_hw_params() local
1693 if (fsi_is_clk_master(fsi)) in fsi_dai_hw_params()
1694 fsi_clk_valid(fsi, params_rate(params)); in fsi_dai_hw_params()
1750 struct fsi_priv *fsi = fsi_get_priv(substream); in fsi_pointer() local
1751 struct fsi_stream *io = fsi_stream_get(fsi, substream); in fsi_pointer()
1753 return fsi_sample2frame(fsi, io->buff_sample_pos); in fsi_pointer()
1858 static void fsi_port_info_init(struct fsi_priv *fsi, in fsi_port_info_init() argument
1862 fsi->spdif = 1; in fsi_port_info_init()
1865 fsi->clk_cpg = 1; in fsi_port_info_init()
1868 fsi->enable_stream = 1; in fsi_port_info_init()
1871 static void fsi_handler_init(struct fsi_priv *fsi, in fsi_handler_init() argument
1874 fsi->playback.handler = &fsi_pio_push_handler; /* default PIO */ in fsi_handler_init()
1875 fsi->playback.priv = fsi; in fsi_handler_init()
1876 fsi->capture.handler = &fsi_pio_pop_handler; /* default PIO */ in fsi_handler_init()
1877 fsi->capture.priv = fsi; in fsi_handler_init()
1880 fsi->playback.dma_id = info->tx_id; in fsi_handler_init()
1881 fsi->playback.handler = &fsi_dma_push_handler; in fsi_handler_init()
1925 struct fsi_priv *fsi; in fsi_probe() local
1981 fsi = &master->fsia; in fsi_probe()
1982 fsi->base = master->base; in fsi_probe()
1983 fsi->phys = res->start; in fsi_probe()
1984 fsi->master = master; in fsi_probe()
1985 fsi_port_info_init(fsi, &info.port_a); in fsi_probe()
1986 fsi_handler_init(fsi, &info.port_a); in fsi_probe()
1987 ret = fsi_stream_probe(fsi, &pdev->dev); in fsi_probe()
1994 fsi = &master->fsib; in fsi_probe()
1995 fsi->base = master->base + 0x40; in fsi_probe()
1996 fsi->phys = res->start + 0x40; in fsi_probe()
1997 fsi->master = master; in fsi_probe()
1998 fsi_port_info_init(fsi, &info.port_b); in fsi_probe()
1999 fsi_handler_init(fsi, &info.port_b); in fsi_probe()
2000 ret = fsi_stream_probe(fsi, &pdev->dev); in fsi_probe()
2059 static void __fsi_suspend(struct fsi_priv *fsi, in __fsi_suspend() argument
2063 if (!fsi_stream_is_working(fsi, io)) in __fsi_suspend()
2066 fsi_stream_stop(fsi, io); in __fsi_suspend()
2067 fsi_hw_shutdown(fsi, dev); in __fsi_suspend()
2070 static void __fsi_resume(struct fsi_priv *fsi, in __fsi_resume() argument
2074 if (!fsi_stream_is_working(fsi, io)) in __fsi_resume()
2077 fsi_hw_startup(fsi, io, dev); in __fsi_resume()
2078 fsi_stream_start(fsi, io); in __fsi_resume()