Lines Matching refs:master
191 struct spi_master *master; member
248 int (*transfer_one)(struct spi_master *master, struct spi_device *spi,
465 dev_err(&rspi->master->dev, "transmit timeout\n"); in rspi_data_out()
479 dev_err(&rspi->master->dev, "receive timeout\n"); in rspi_data_in()
525 desc_rx = dmaengine_prep_slave_sg(rspi->master->dma_rx, in rspi_dma_transfer()
545 desc_tx = dmaengine_prep_slave_sg(rspi->master->dma_tx, in rspi_dma_transfer()
583 dma_async_issue_pending(rspi->master->dma_rx); in rspi_dma_transfer()
585 dma_async_issue_pending(rspi->master->dma_tx); in rspi_dma_transfer()
592 dev_err(&rspi->master->dev, "DMA timeout\n"); in rspi_dma_transfer()
595 dmaengine_terminate_all(rspi->master->dma_tx); in rspi_dma_transfer()
597 dmaengine_terminate_all(rspi->master->dma_rx); in rspi_dma_transfer()
611 dmaengine_terminate_all(rspi->master->dma_rx); in rspi_dma_transfer()
615 dev_driver_string(&rspi->master->dev), in rspi_dma_transfer()
616 dev_name(&rspi->master->dev)); in rspi_dma_transfer()
657 static bool rspi_can_dma(struct spi_master *master, struct spi_device *spi, in rspi_can_dma() argument
660 struct rspi_data *rspi = spi_master_get_devdata(master); in rspi_can_dma()
668 if (rspi->master->can_dma && __rspi_can_dma(rspi, xfer)) { in rspi_dma_check_then_transfer()
698 static int rspi_transfer_one(struct spi_master *master, struct spi_device *spi, in rspi_transfer_one() argument
701 struct rspi_data *rspi = spi_master_get_devdata(master); in rspi_transfer_one()
716 static int rspi_rz_transfer_one(struct spi_master *master, in rspi_rz_transfer_one() argument
720 struct rspi_data *rspi = spi_master_get_devdata(master); in rspi_rz_transfer_one()
739 dev_err(&rspi->master->dev, "transmit timeout\n"); in qspi_trigger_transfer_out_int()
747 dev_err(&rspi->master->dev, "receive timeout\n"); in qspi_trigger_transfer_out_int()
786 if (rspi->master->can_dma && __rspi_can_dma(rspi, xfer)) { in qspi_transfer_out()
804 if (rspi->master->can_dma && __rspi_can_dma(rspi, xfer)) { in qspi_transfer_in()
813 static int qspi_transfer_one(struct spi_master *master, struct spi_device *spi, in qspi_transfer_one() argument
816 struct rspi_data *rspi = spi_master_get_devdata(master); in qspi_transfer_one()
834 struct rspi_data *rspi = spi_master_get_devdata(spi->master); in rspi_setup()
919 static int rspi_prepare_message(struct spi_master *master, in rspi_prepare_message() argument
922 struct rspi_data *rspi = spi_master_get_devdata(master); in rspi_prepare_message()
938 static int rspi_unprepare_message(struct spi_master *master, in rspi_unprepare_message() argument
941 struct rspi_data *rspi = spi_master_get_devdata(master); in rspi_unprepare_message()
1045 static int rspi_request_dma(struct device *dev, struct spi_master *master, in rspi_request_dma() argument
1063 master->dma_tx = rspi_request_dma_chan(dev, DMA_MEM_TO_DEV, dma_tx_id, in rspi_request_dma()
1065 if (!master->dma_tx) in rspi_request_dma()
1068 master->dma_rx = rspi_request_dma_chan(dev, DMA_DEV_TO_MEM, dma_rx_id, in rspi_request_dma()
1070 if (!master->dma_rx) { in rspi_request_dma()
1071 dma_release_channel(master->dma_tx); in rspi_request_dma()
1072 master->dma_tx = NULL; in rspi_request_dma()
1076 master->can_dma = rspi_can_dma; in rspi_request_dma()
1081 static void rspi_release_dma(struct spi_master *master) in rspi_release_dma() argument
1083 if (master->dma_tx) in rspi_release_dma()
1084 dma_release_channel(master->dma_tx); in rspi_release_dma()
1085 if (master->dma_rx) in rspi_release_dma()
1086 dma_release_channel(master->dma_rx); in rspi_release_dma()
1093 rspi_release_dma(rspi->master); in rspi_remove()
1138 static int rspi_parse_dt(struct device *dev, struct spi_master *master) in rspi_parse_dt() argument
1150 master->num_chipselect = num_cs; in rspi_parse_dt()
1155 static inline int rspi_parse_dt(struct device *dev, struct spi_master *master) in rspi_parse_dt() argument
1176 struct spi_master *master; in rspi_probe() local
1183 master = spi_alloc_master(&pdev->dev, sizeof(struct rspi_data)); in rspi_probe()
1184 if (master == NULL) { in rspi_probe()
1192 ret = rspi_parse_dt(&pdev->dev, master); in rspi_probe()
1199 master->num_chipselect = rspi_pd->num_chipselect; in rspi_probe()
1201 master->num_chipselect = 2; /* default */ in rspi_probe()
1211 rspi = spi_master_get_devdata(master); in rspi_probe()
1214 rspi->master = master; in rspi_probe()
1234 master->bus_num = pdev->id; in rspi_probe()
1235 master->setup = rspi_setup; in rspi_probe()
1236 master->auto_runtime_pm = true; in rspi_probe()
1237 master->transfer_one = ops->transfer_one; in rspi_probe()
1238 master->prepare_message = rspi_prepare_message; in rspi_probe()
1239 master->unprepare_message = rspi_unprepare_message; in rspi_probe()
1240 master->mode_bits = ops->mode_bits; in rspi_probe()
1241 master->flags = ops->flags; in rspi_probe()
1242 master->dev.of_node = pdev->dev.of_node; in rspi_probe()
1279 ret = rspi_request_dma(&pdev->dev, master, res); in rspi_probe()
1283 ret = devm_spi_register_master(&pdev->dev, master); in rspi_probe()
1294 rspi_release_dma(master); in rspi_probe()
1298 spi_master_put(master); in rspi_probe()