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()
722 struct spi_imx_data *spi_imx = spi_master_get_devdata(spi->master); in spi_imx_chipselect()
777 struct spi_imx_data *spi_imx = spi_master_get_devdata(spi->master); in spi_imx_setupxfer()
809 struct spi_master *master = spi_imx->bitbang.master; in spi_imx_sdma_exit() local
811 if (master->dma_rx) { in spi_imx_sdma_exit()
812 dma_release_channel(master->dma_rx); in spi_imx_sdma_exit()
813 master->dma_rx = NULL; in spi_imx_sdma_exit()
816 if (master->dma_tx) { in spi_imx_sdma_exit()
817 dma_release_channel(master->dma_tx); in spi_imx_sdma_exit()
818 master->dma_tx = NULL; in spi_imx_sdma_exit()
825 struct spi_master *master, in spi_imx_sdma_init() argument
836 master->dma_tx = dma_request_slave_channel(dev, "tx"); in spi_imx_sdma_init()
837 if (!master->dma_tx) { in spi_imx_sdma_init()
847 ret = dmaengine_slave_config(master->dma_tx, &slave_config); in spi_imx_sdma_init()
854 master->dma_rx = dma_request_slave_channel(dev, "rx"); in spi_imx_sdma_init()
855 if (!master->dma_rx) { in spi_imx_sdma_init()
865 ret = dmaengine_slave_config(master->dma_rx, &slave_config); in spi_imx_sdma_init()
873 master->can_dma = spi_imx_can_dma; in spi_imx_sdma_init()
874 master->max_dma_len = MAX_SDMA_BD_BYTES; in spi_imx_sdma_init()
875 spi_imx->bitbang.master->flags = SPI_MASTER_MUST_RX | in spi_imx_sdma_init()
909 struct spi_master *master = spi_imx->bitbang.master; in spi_imx_dma_transfer() local
913 desc_tx = dmaengine_prep_slave_sg(master->dma_tx, in spi_imx_dma_transfer()
925 desc_rx = dmaengine_prep_slave_sg(master->dma_rx, in spi_imx_dma_transfer()
951 dma_async_issue_pending(master->dma_tx); in spi_imx_dma_transfer()
952 dma_async_issue_pending(master->dma_rx); in spi_imx_dma_transfer()
958 dev_driver_string(&master->dev), in spi_imx_dma_transfer()
959 dev_name(&master->dev)); in spi_imx_dma_transfer()
960 dmaengine_terminate_all(master->dma_tx); in spi_imx_dma_transfer()
966 dev_driver_string(&master->dev), in spi_imx_dma_transfer()
967 dev_name(&master->dev)); in spi_imx_dma_transfer()
969 dmaengine_terminate_all(master->dma_rx); in spi_imx_dma_transfer()
988 dev_driver_string(&master->dev), in spi_imx_dma_transfer()
989 dev_name(&master->dev)); in spi_imx_dma_transfer()
996 struct spi_imx_data *spi_imx = spi_master_get_devdata(spi->master); in spi_imx_pio_transfer()
1018 struct spi_imx_data *spi_imx = spi_master_get_devdata(spi->master); in spi_imx_transfer()
1020 if (spi_imx->bitbang.master->can_dma && in spi_imx_transfer()
1021 spi_imx_can_dma(spi_imx->bitbang.master, spi, transfer)) { in spi_imx_transfer()
1034 struct spi_imx_data *spi_imx = spi_master_get_devdata(spi->master); in spi_imx_setup()
1053 spi_imx_prepare_message(struct spi_master *master, struct spi_message *msg) in spi_imx_prepare_message() argument
1055 struct spi_imx_data *spi_imx = spi_master_get_devdata(master); in spi_imx_prepare_message()
1072 spi_imx_unprepare_message(struct spi_master *master, struct spi_message *msg) in spi_imx_unprepare_message() argument
1074 struct spi_imx_data *spi_imx = spi_master_get_devdata(master); in spi_imx_unprepare_message()
1088 struct spi_master *master; in spi_imx_probe() local
1106 master = spi_alloc_master(&pdev->dev, in spi_imx_probe()
1108 if (!master) in spi_imx_probe()
1111 platform_set_drvdata(pdev, master); in spi_imx_probe()
1113 master->bits_per_word_mask = SPI_BPW_RANGE_MASK(1, 32); in spi_imx_probe()
1114 master->bus_num = pdev->id; in spi_imx_probe()
1115 master->num_chipselect = num_cs; in spi_imx_probe()
1117 spi_imx = spi_master_get_devdata(master); in spi_imx_probe()
1118 spi_imx->bitbang.master = master; in spi_imx_probe()
1120 for (i = 0; i < master->num_chipselect; i++) { in spi_imx_probe()
1140 spi_imx->bitbang.master->setup = spi_imx_setup; in spi_imx_probe()
1141 spi_imx->bitbang.master->cleanup = spi_imx_cleanup; in spi_imx_probe()
1142 spi_imx->bitbang.master->prepare_message = spi_imx_prepare_message; in spi_imx_probe()
1143 spi_imx->bitbang.master->unprepare_message = spi_imx_unprepare_message; in spi_imx_probe()
1144 spi_imx->bitbang.master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH; in spi_imx_probe()
1197 && spi_imx_sdma_init(&pdev->dev, spi_imx, master, res)) in spi_imx_probe()
1204 master->dev.of_node = pdev->dev.of_node; in spi_imx_probe()
1222 spi_master_put(master); in spi_imx_probe()
1229 struct spi_master *master = platform_get_drvdata(pdev); in spi_imx_remove() local
1230 struct spi_imx_data *spi_imx = spi_master_get_devdata(master); in spi_imx_remove()
1238 spi_master_put(master); in spi_imx_remove()