Lines Matching full:master

213 	struct mtk_spi *mdata = spi_master_get_devdata(spi->master);  in mtk_spi_set_hw_cs_timing()
278 static int mtk_spi_prepare_message(struct spi_master *master, in mtk_spi_prepare_message() argument
285 struct mtk_spi *mdata = spi_master_get_devdata(master); in mtk_spi_prepare_message()
362 struct mtk_spi *mdata = spi_master_get_devdata(spi->master); in mtk_spi_set_cs()
379 static void mtk_spi_prepare_transfer(struct spi_master *master, in mtk_spi_prepare_transfer() argument
383 struct mtk_spi *mdata = spi_master_get_devdata(master); in mtk_spi_prepare_transfer()
412 static void mtk_spi_setup_packet(struct spi_master *master) in mtk_spi_setup_packet() argument
415 struct mtk_spi *mdata = spi_master_get_devdata(master); in mtk_spi_setup_packet()
427 static void mtk_spi_enable_transfer(struct spi_master *master) in mtk_spi_enable_transfer() argument
430 struct mtk_spi *mdata = spi_master_get_devdata(master); in mtk_spi_enable_transfer()
452 static void mtk_spi_update_mdata_len(struct spi_master *master) in mtk_spi_update_mdata_len() argument
455 struct mtk_spi *mdata = spi_master_get_devdata(master); in mtk_spi_update_mdata_len()
480 static void mtk_spi_setup_dma_addr(struct spi_master *master, in mtk_spi_setup_dma_addr() argument
483 struct mtk_spi *mdata = spi_master_get_devdata(master); in mtk_spi_setup_dma_addr()
506 static int mtk_spi_fifo_transfer(struct spi_master *master, in mtk_spi_fifo_transfer() argument
512 struct mtk_spi *mdata = spi_master_get_devdata(master); in mtk_spi_fifo_transfer()
517 mtk_spi_prepare_transfer(master, xfer); in mtk_spi_fifo_transfer()
518 mtk_spi_setup_packet(master); in mtk_spi_fifo_transfer()
531 mtk_spi_enable_transfer(master); in mtk_spi_fifo_transfer()
536 static int mtk_spi_dma_transfer(struct spi_master *master, in mtk_spi_dma_transfer() argument
541 struct mtk_spi *mdata = spi_master_get_devdata(master); in mtk_spi_dma_transfer()
550 mtk_spi_prepare_transfer(master, xfer); in mtk_spi_dma_transfer()
573 mtk_spi_update_mdata_len(master); in mtk_spi_dma_transfer()
574 mtk_spi_setup_packet(master); in mtk_spi_dma_transfer()
575 mtk_spi_setup_dma_addr(master, xfer); in mtk_spi_dma_transfer()
576 mtk_spi_enable_transfer(master); in mtk_spi_dma_transfer()
581 static int mtk_spi_transfer_one(struct spi_master *master, in mtk_spi_transfer_one() argument
585 if (master->can_dma(master, spi, xfer)) in mtk_spi_transfer_one()
586 return mtk_spi_dma_transfer(master, spi, xfer); in mtk_spi_transfer_one()
588 return mtk_spi_fifo_transfer(master, spi, xfer); in mtk_spi_transfer_one()
591 static bool mtk_spi_can_dma(struct spi_master *master, in mtk_spi_can_dma() argument
603 struct mtk_spi *mdata = spi_master_get_devdata(spi->master); in mtk_spi_setup()
617 struct spi_master *master = dev_id; in mtk_spi_interrupt() local
618 struct mtk_spi *mdata = spi_master_get_devdata(master); in mtk_spi_interrupt()
627 if (!master->can_dma(master, master->cur_msg->spi, trans)) { in mtk_spi_interrupt()
645 spi_finalize_current_transfer(master); in mtk_spi_interrupt()
651 mtk_spi_setup_packet(master); in mtk_spi_interrupt()
666 mtk_spi_enable_transfer(master); in mtk_spi_interrupt()
698 spi_finalize_current_transfer(master); in mtk_spi_interrupt()
702 mtk_spi_update_mdata_len(master); in mtk_spi_interrupt()
703 mtk_spi_setup_packet(master); in mtk_spi_interrupt()
704 mtk_spi_setup_dma_addr(master, trans); in mtk_spi_interrupt()
705 mtk_spi_enable_transfer(master); in mtk_spi_interrupt()
712 struct spi_master *master; in mtk_spi_probe() local
717 master = spi_alloc_master(&pdev->dev, sizeof(*mdata)); in mtk_spi_probe()
718 if (!master) { in mtk_spi_probe()
719 dev_err(&pdev->dev, "failed to alloc spi master\n"); in mtk_spi_probe()
723 master->auto_runtime_pm = true; in mtk_spi_probe()
724 master->dev.of_node = pdev->dev.of_node; in mtk_spi_probe()
725 master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_LSB_FIRST; in mtk_spi_probe()
727 master->set_cs = mtk_spi_set_cs; in mtk_spi_probe()
728 master->prepare_message = mtk_spi_prepare_message; in mtk_spi_probe()
729 master->transfer_one = mtk_spi_transfer_one; in mtk_spi_probe()
730 master->can_dma = mtk_spi_can_dma; in mtk_spi_probe()
731 master->setup = mtk_spi_setup; in mtk_spi_probe()
732 master->set_cs_timing = mtk_spi_set_hw_cs_timing; in mtk_spi_probe()
741 mdata = spi_master_get_devdata(master); in mtk_spi_probe()
745 master->mode_bits |= SPI_CS_HIGH; in mtk_spi_probe()
748 master->flags = SPI_MASTER_MUST_TX; in mtk_spi_probe()
781 platform_set_drvdata(pdev, master); in mtk_spi_probe()
798 IRQF_TRIGGER_NONE, dev_name(&pdev->dev), master); in mtk_spi_probe()
848 if (mdata->pad_num != master->num_chipselect) { in mtk_spi_probe()
851 mdata->pad_num, master->num_chipselect); in mtk_spi_probe()
856 if (!master->cs_gpios && master->num_chipselect > 1) { in mtk_spi_probe()
863 if (master->cs_gpios) { in mtk_spi_probe()
864 for (i = 0; i < master->num_chipselect; i++) { in mtk_spi_probe()
866 master->cs_gpios[i], in mtk_spi_probe()
886 ret = devm_spi_register_master(&pdev->dev, master); in mtk_spi_probe()
888 dev_err(&pdev->dev, "failed to register master (%d)\n", ret); in mtk_spi_probe()
897 spi_master_put(master); in mtk_spi_probe()
904 struct spi_master *master = platform_get_drvdata(pdev); in mtk_spi_remove() local
905 struct mtk_spi *mdata = spi_master_get_devdata(master); in mtk_spi_remove()
921 struct spi_master *master = dev_get_drvdata(dev); in mtk_spi_suspend() local
922 struct mtk_spi *mdata = spi_master_get_devdata(master); in mtk_spi_suspend()
924 ret = spi_master_suspend(master); in mtk_spi_suspend()
937 struct spi_master *master = dev_get_drvdata(dev); in mtk_spi_resume() local
938 struct mtk_spi *mdata = spi_master_get_devdata(master); in mtk_spi_resume()
948 ret = spi_master_resume(master); in mtk_spi_resume()
959 struct spi_master *master = dev_get_drvdata(dev); in mtk_spi_runtime_suspend() local
960 struct mtk_spi *mdata = spi_master_get_devdata(master); in mtk_spi_runtime_suspend()
972 struct spi_master *master = dev_get_drvdata(dev); in mtk_spi_runtime_resume() local
973 struct mtk_spi *mdata = spi_master_get_devdata(master); in mtk_spi_runtime_resume()