Lines Matching refs:master

191 	struct spi_master *master;  member
248 int (*transfer_one)(struct spi_master *master, struct spi_device *spi,
466 dev_err(&rspi->master->dev, "transmit timeout\n"); in rspi_data_out()
480 dev_err(&rspi->master->dev, "receive timeout\n"); in rspi_data_in()
526 desc_rx = dmaengine_prep_slave_sg(rspi->master->dma_rx, in rspi_dma_transfer()
546 desc_tx = dmaengine_prep_slave_sg(rspi->master->dma_tx, in rspi_dma_transfer()
584 dma_async_issue_pending(rspi->master->dma_rx); in rspi_dma_transfer()
586 dma_async_issue_pending(rspi->master->dma_tx); in rspi_dma_transfer()
593 dev_err(&rspi->master->dev, "DMA timeout\n"); in rspi_dma_transfer()
596 dmaengine_terminate_all(rspi->master->dma_tx); in rspi_dma_transfer()
598 dmaengine_terminate_all(rspi->master->dma_rx); in rspi_dma_transfer()
612 dmaengine_terminate_all(rspi->master->dma_rx); in rspi_dma_transfer()
616 dev_driver_string(&rspi->master->dev), in rspi_dma_transfer()
617 dev_name(&rspi->master->dev)); in rspi_dma_transfer()
658 static bool rspi_can_dma(struct spi_master *master, struct spi_device *spi, in rspi_can_dma() argument
661 struct rspi_data *rspi = spi_master_get_devdata(master); in rspi_can_dma()
669 if (!rspi->master->can_dma || !__rspi_can_dma(rspi, xfer)) in rspi_dma_check_then_transfer()
696 static int rspi_transfer_one(struct spi_master *master, struct spi_device *spi, in rspi_transfer_one() argument
699 struct rspi_data *rspi = spi_master_get_devdata(master); in rspi_transfer_one()
714 static int rspi_rz_transfer_one(struct spi_master *master, in rspi_rz_transfer_one() argument
718 struct rspi_data *rspi = spi_master_get_devdata(master); in rspi_rz_transfer_one()
737 dev_err(&rspi->master->dev, "transmit timeout\n"); in qspi_trigger_transfer_out_in()
745 dev_err(&rspi->master->dev, "receive timeout\n"); in qspi_trigger_transfer_out_in()
780 if (rspi->master->can_dma && __rspi_can_dma(rspi, xfer)) { in qspi_transfer_out()
798 if (rspi->master->can_dma && __rspi_can_dma(rspi, xfer)) { in qspi_transfer_in()
807 static int qspi_transfer_one(struct spi_master *master, struct spi_device *spi, in qspi_transfer_one() argument
810 struct rspi_data *rspi = spi_master_get_devdata(master); in qspi_transfer_one()
828 struct rspi_data *rspi = spi_master_get_devdata(spi->master); in rspi_setup()
913 static int rspi_prepare_message(struct spi_master *master, in rspi_prepare_message() argument
916 struct rspi_data *rspi = spi_master_get_devdata(master); in rspi_prepare_message()
932 static int rspi_unprepare_message(struct spi_master *master, in rspi_unprepare_message() argument
935 struct rspi_data *rspi = spi_master_get_devdata(master); in rspi_unprepare_message()
1039 static int rspi_request_dma(struct device *dev, struct spi_master *master, in rspi_request_dma() argument
1057 master->dma_tx = rspi_request_dma_chan(dev, DMA_MEM_TO_DEV, dma_tx_id, in rspi_request_dma()
1059 if (!master->dma_tx) in rspi_request_dma()
1062 master->dma_rx = rspi_request_dma_chan(dev, DMA_DEV_TO_MEM, dma_rx_id, in rspi_request_dma()
1064 if (!master->dma_rx) { in rspi_request_dma()
1065 dma_release_channel(master->dma_tx); in rspi_request_dma()
1066 master->dma_tx = NULL; in rspi_request_dma()
1070 master->can_dma = rspi_can_dma; in rspi_request_dma()
1075 static void rspi_release_dma(struct spi_master *master) in rspi_release_dma() argument
1077 if (master->dma_tx) in rspi_release_dma()
1078 dma_release_channel(master->dma_tx); in rspi_release_dma()
1079 if (master->dma_rx) in rspi_release_dma()
1080 dma_release_channel(master->dma_rx); in rspi_release_dma()
1087 rspi_release_dma(rspi->master); in rspi_remove()
1132 static int rspi_parse_dt(struct device *dev, struct spi_master *master) in rspi_parse_dt() argument
1144 master->num_chipselect = num_cs; in rspi_parse_dt()
1149 static inline int rspi_parse_dt(struct device *dev, struct spi_master *master) in rspi_parse_dt() argument
1170 struct spi_master *master; in rspi_probe() local
1177 master = spi_alloc_master(&pdev->dev, sizeof(struct rspi_data)); in rspi_probe()
1178 if (master == NULL) { in rspi_probe()
1186 ret = rspi_parse_dt(&pdev->dev, master); in rspi_probe()
1193 master->num_chipselect = rspi_pd->num_chipselect; in rspi_probe()
1195 master->num_chipselect = 2; /* default */ in rspi_probe()
1205 rspi = spi_master_get_devdata(master); in rspi_probe()
1208 rspi->master = master; in rspi_probe()
1228 master->bus_num = pdev->id; in rspi_probe()
1229 master->setup = rspi_setup; in rspi_probe()
1230 master->auto_runtime_pm = true; in rspi_probe()
1231 master->transfer_one = ops->transfer_one; in rspi_probe()
1232 master->prepare_message = rspi_prepare_message; in rspi_probe()
1233 master->unprepare_message = rspi_unprepare_message; in rspi_probe()
1234 master->mode_bits = ops->mode_bits; in rspi_probe()
1235 master->flags = ops->flags; in rspi_probe()
1236 master->dev.of_node = pdev->dev.of_node; in rspi_probe()
1273 ret = rspi_request_dma(&pdev->dev, master, res); in rspi_probe()
1277 ret = devm_spi_register_master(&pdev->dev, master); in rspi_probe()
1288 rspi_release_dma(master); in rspi_probe()
1292 spi_master_put(master); in rspi_probe()