Lines Matching full:ssi
2 /* OMAP SSI port driver.
51 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in ssi_port_regs_show() local
52 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_port_regs_show()
187 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in ssi_claim_lch() local
188 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_claim_lch()
205 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in ssi_start_dma() local
206 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_start_dma()
225 err = dma_map_sg(&ssi->device, msg->sgt.sgl, msg->sgt.nents, in ssi_start_dma()
228 dev_dbg(&ssi->device, "DMA map SG failed !\n"); in ssi_start_dma()
242 err = dma_map_sg(&ssi->device, msg->sgt.sgl, msg->sgt.nents, in ssi_start_dma()
245 dev_dbg(&ssi->device, "DMA map SG failed !\n"); in ssi_start_dma()
259 dev_dbg(&ssi->device, "lch %d cdsp %08x ccr %04x s_addr %08x d_addr %08x\n", in ssi_start_dma()
284 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in ssi_start_pio() local
285 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_start_pio()
336 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in ssi_async_break() local
337 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_async_break()
412 static u32 ssi_calculate_div(struct hsi_controller *ssi) in ssi_calculate_div() argument
414 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_calculate_div()
417 /* / 2 : SSI TX clock is always half of the SSI functional clock */ in ssi_calculate_div()
421 dev_dbg(&ssi->device, "TX div %d for fck_rate %lu Khz speed %d Kb/s\n", in ssi_calculate_div()
452 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in ssi_setup() local
453 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_setup()
464 div = ssi_calculate_div(ssi); in ssi_setup()
517 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in ssi_flush() local
518 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_flush()
528 /* stop all ssi communication */ in ssi_flush()
569 /* Resume SSI communication */ in ssi_flush()
584 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in start_tx_work() local
585 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in start_tx_work()
614 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in ssi_stop_tx() local
615 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_stop_tx()
664 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in ssi_cleanup_queues() local
665 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_cleanup_queues()
721 static void ssi_cleanup_gdd(struct hsi_controller *ssi, struct hsi_client *cl) in ssi_cleanup_gdd() argument
723 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_cleanup_gdd()
767 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in ssi_release() local
772 ssi_cleanup_gdd(ssi, cl); in ssi_release()
784 /* Stop any SSI TX/RX without a client */ in ssi_release()
802 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in ssi_error() local
803 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_error()
812 dev_err(&port->device, "SSI error: 0x%02x\n", err); in ssi_error()
814 dev_dbg(&port->device, "spurious SSI error ignored!\n"); in ssi_error()
860 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in ssi_break_complete() local
861 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_break_complete()
889 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in ssi_pio_complete() local
890 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_pio_complete()
954 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in ssi_pio_thread() local
956 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_pio_thread()
993 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in ssi_wake_thread() local
995 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_wake_thread()
1007 dev_dbg(&ssi->device, "Wake in high\n"); in ssi_wake_thread()
1014 dev_dbg(&ssi->device, "Wake in low\n"); in ssi_wake_thread()
1039 ssi_pio_thread, IRQF_ONESHOT, "SSI PORT", port); in ssi_port_irq()
1063 "SSI cawake", port); in ssi_wake_irq()
1124 struct hsi_controller *ssi = dev_get_drvdata(pd->dev.parent); in ssi_port_probe() local
1125 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_port_probe()
1130 dev_dbg(&pd->dev, "init ssi port...\n"); in ssi_port_probe()
1132 if (!ssi->port || !omap_ssi->port) { in ssi_port_probe()
1133 dev_err(&pd->dev, "ssi controller not initialized!\n"); in ssi_port_probe()
1139 for (port_id = 0; port_id < ssi->num_ports && omap_ssi->port[port_id]; in ssi_port_probe()
1143 if (port_id >= ssi->num_ports) { in ssi_port_probe()
1149 port = ssi->port[port_id]; in ssi_port_probe()
1157 cawake_gpio = devm_gpiod_get(&pd->dev, "ti,ssi-cawake", GPIOD_IN); in ssi_port_probe()
1219 dev_info(&pd->dev, "ssi port %u successfully initialized\n", port_id); in ssi_port_probe()
1231 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in ssi_port_remove() local
1232 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_port_remove()
1264 void omap_ssi_port_update_fclk(struct hsi_controller *ssi, in omap_ssi_port_update_fclk() argument
1268 u32 div = ssi_calculate_div(ssi); in omap_ssi_port_update_fclk()
1277 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in ssi_save_port_ctx() local
1278 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_save_port_ctx()
1289 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in ssi_restore_port_ctx() local
1290 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_restore_port_ctx()
1329 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in omap_ssi_port_runtime_suspend() local
1330 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in omap_ssi_port_runtime_suspend()
1337 omap_ssi->get_loss(ssi->device.parent); in omap_ssi_port_runtime_suspend()
1347 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in omap_ssi_port_runtime_resume() local
1348 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in omap_ssi_port_runtime_resume()
1353 omap_ssi->get_loss(ssi->device.parent))) in omap_ssi_port_runtime_resume()
1378 { .compatible = "ti,omap3-ssi-port", },