Lines Matching refs:master
199 static bool spi_imx_can_dma(struct spi_master *master, struct spi_device *spi, in spi_imx_can_dma() argument
202 struct spi_imx_data *spi_imx = spi_master_get_devdata(master); in spi_imx_can_dma()
715 struct spi_imx_data *spi_imx = spi_master_get_devdata(spi->master); in spi_imx_chipselect()
770 struct spi_imx_data *spi_imx = spi_master_get_devdata(spi->master); in spi_imx_setupxfer()
802 struct spi_master *master = spi_imx->bitbang.master; in spi_imx_sdma_exit() local
804 if (master->dma_rx) { in spi_imx_sdma_exit()
805 dma_release_channel(master->dma_rx); in spi_imx_sdma_exit()
806 master->dma_rx = NULL; in spi_imx_sdma_exit()
809 if (master->dma_tx) { in spi_imx_sdma_exit()
810 dma_release_channel(master->dma_tx); in spi_imx_sdma_exit()
811 master->dma_tx = NULL; in spi_imx_sdma_exit()
818 struct spi_master *master, in spi_imx_sdma_init() argument
829 master->dma_tx = dma_request_slave_channel(dev, "tx"); in spi_imx_sdma_init()
830 if (!master->dma_tx) { in spi_imx_sdma_init()
840 ret = dmaengine_slave_config(master->dma_tx, &slave_config); in spi_imx_sdma_init()
847 master->dma_rx = dma_request_slave_channel(dev, "rx"); in spi_imx_sdma_init()
848 if (!master->dma_rx) { in spi_imx_sdma_init()
858 ret = dmaengine_slave_config(master->dma_rx, &slave_config); in spi_imx_sdma_init()
866 master->can_dma = spi_imx_can_dma; in spi_imx_sdma_init()
867 master->max_dma_len = MAX_SDMA_BD_BYTES; in spi_imx_sdma_init()
868 spi_imx->bitbang.master->flags = SPI_MASTER_MUST_RX | in spi_imx_sdma_init()
902 struct spi_master *master = spi_imx->bitbang.master; in spi_imx_dma_transfer() local
906 desc_tx = dmaengine_prep_slave_sg(master->dma_tx, in spi_imx_dma_transfer()
918 desc_rx = dmaengine_prep_slave_sg(master->dma_rx, in spi_imx_dma_transfer()
944 dma_async_issue_pending(master->dma_tx); in spi_imx_dma_transfer()
945 dma_async_issue_pending(master->dma_rx); in spi_imx_dma_transfer()
951 dev_driver_string(&master->dev), in spi_imx_dma_transfer()
952 dev_name(&master->dev)); in spi_imx_dma_transfer()
953 dmaengine_terminate_all(master->dma_tx); in spi_imx_dma_transfer()
959 dev_driver_string(&master->dev), in spi_imx_dma_transfer()
960 dev_name(&master->dev)); in spi_imx_dma_transfer()
962 dmaengine_terminate_all(master->dma_rx); in spi_imx_dma_transfer()
981 dev_driver_string(&master->dev), in spi_imx_dma_transfer()
982 dev_name(&master->dev)); in spi_imx_dma_transfer()
989 struct spi_imx_data *spi_imx = spi_master_get_devdata(spi->master); in spi_imx_pio_transfer()
1011 struct spi_imx_data *spi_imx = spi_master_get_devdata(spi->master); in spi_imx_transfer()
1013 if (spi_imx->bitbang.master->can_dma && in spi_imx_transfer()
1014 spi_imx_can_dma(spi_imx->bitbang.master, spi, transfer)) { in spi_imx_transfer()
1027 struct spi_imx_data *spi_imx = spi_master_get_devdata(spi->master); in spi_imx_setup()
1046 spi_imx_prepare_message(struct spi_master *master, struct spi_message *msg) in spi_imx_prepare_message() argument
1048 struct spi_imx_data *spi_imx = spi_master_get_devdata(master); in spi_imx_prepare_message()
1065 spi_imx_unprepare_message(struct spi_master *master, struct spi_message *msg) in spi_imx_unprepare_message() argument
1067 struct spi_imx_data *spi_imx = spi_master_get_devdata(master); in spi_imx_unprepare_message()
1081 struct spi_master *master; in spi_imx_probe() local
1099 master = spi_alloc_master(&pdev->dev, in spi_imx_probe()
1101 if (!master) in spi_imx_probe()
1104 platform_set_drvdata(pdev, master); in spi_imx_probe()
1106 master->bits_per_word_mask = SPI_BPW_RANGE_MASK(1, 32); in spi_imx_probe()
1107 master->bus_num = pdev->id; in spi_imx_probe()
1108 master->num_chipselect = num_cs; in spi_imx_probe()
1110 spi_imx = spi_master_get_devdata(master); in spi_imx_probe()
1111 spi_imx->bitbang.master = master; in spi_imx_probe()
1113 for (i = 0; i < master->num_chipselect; i++) { in spi_imx_probe()
1133 spi_imx->bitbang.master->setup = spi_imx_setup; in spi_imx_probe()
1134 spi_imx->bitbang.master->cleanup = spi_imx_cleanup; in spi_imx_probe()
1135 spi_imx->bitbang.master->prepare_message = spi_imx_prepare_message; in spi_imx_probe()
1136 spi_imx->bitbang.master->unprepare_message = spi_imx_unprepare_message; in spi_imx_probe()
1137 spi_imx->bitbang.master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH; in spi_imx_probe()
1190 && spi_imx_sdma_init(&pdev->dev, spi_imx, master, res)) in spi_imx_probe()
1197 master->dev.of_node = pdev->dev.of_node; in spi_imx_probe()
1215 spi_master_put(master); in spi_imx_probe()
1222 struct spi_master *master = platform_get_drvdata(pdev); in spi_imx_remove() local
1223 struct spi_imx_data *spi_imx = spi_master_get_devdata(master); in spi_imx_remove()
1231 spi_master_put(master); in spi_imx_remove()