Lines Matching defs:master

223 static bool spi_imx_can_dma(struct spi_master *master, struct spi_device *spi,
226 struct spi_imx_data *spi_imx = spi_master_get_devdata(master);
228 if (!use_dma || master->fallback)
231 if (!master->dma_rx)
1166 static int spi_imx_dma_configure(struct spi_master *master)
1171 struct spi_imx_data *spi_imx = spi_master_get_devdata(master);
1191 ret = dmaengine_slave_config(master->dma_tx, &tx);
1201 ret = dmaengine_slave_config(master->dma_rx, &rx);
1213 struct spi_imx_data *spi_imx = spi_master_get_devdata(spi->master);
1258 if (spi_imx_can_dma(spi_imx->bitbang.master, spi, t))
1276 struct spi_master *master = spi_imx->bitbang.master;
1278 if (master->dma_rx) {
1279 dma_release_channel(master->dma_rx);
1280 master->dma_rx = NULL;
1283 if (master->dma_tx) {
1284 dma_release_channel(master->dma_tx);
1285 master->dma_tx = NULL;
1290 struct spi_master *master)
1301 master->dma_tx = dma_request_chan(dev, "tx");
1302 if (IS_ERR(master->dma_tx)) {
1303 ret = PTR_ERR(master->dma_tx);
1305 master->dma_tx = NULL;
1310 master->dma_rx = dma_request_chan(dev, "rx");
1311 if (IS_ERR(master->dma_rx)) {
1312 ret = PTR_ERR(master->dma_rx);
1314 master->dma_rx = NULL;
1320 master->can_dma = spi_imx_can_dma;
1321 master->max_dma_len = MAX_SDMA_BD_BYTES;
1322 spi_imx->bitbang.master->flags = SPI_MASTER_MUST_RX |
1365 struct spi_master *master = spi_imx->bitbang.master;
1383 ret = spi_imx_dma_configure(master);
1398 desc_rx = dmaengine_prep_slave_sg(master->dma_rx,
1410 dma_async_issue_pending(master->dma_rx);
1412 desc_tx = dmaengine_prep_slave_sg(master->dma_tx,
1416 dmaengine_terminate_all(master->dma_tx);
1417 dmaengine_terminate_all(master->dma_rx);
1425 dma_async_issue_pending(master->dma_tx);
1434 dmaengine_terminate_all(master->dma_tx);
1435 dmaengine_terminate_all(master->dma_rx);
1442 dev_err(&master->dev, "I/O Error in DMA RX\n");
1444 dmaengine_terminate_all(master->dma_rx);
1458 struct spi_imx_data *spi_imx = spi_master_get_devdata(spi->master);
1490 struct spi_imx_data *spi_imx = spi_master_get_devdata(spi->master);
1534 struct spi_imx_data *spi_imx = spi_master_get_devdata(spi->master);
1564 spi_imx_prepare_message(struct spi_master *master, struct spi_message *msg)
1566 struct spi_imx_data *spi_imx = spi_master_get_devdata(master);
1585 spi_imx_unprepare_message(struct spi_master *master, struct spi_message *msg)
1587 struct spi_imx_data *spi_imx = spi_master_get_devdata(master);
1594 static int spi_imx_slave_abort(struct spi_master *master)
1596 struct spi_imx_data *spi_imx = spi_master_get_devdata(master);
1609 struct spi_master *master;
1621 master = spi_alloc_slave(&pdev->dev,
1624 master = spi_alloc_master(&pdev->dev,
1626 if (!master)
1635 platform_set_drvdata(pdev, master);
1637 master->bits_per_word_mask = SPI_BPW_RANGE_MASK(1, 32);
1638 master->bus_num = np ? -1 : pdev->id;
1639 master->use_gpio_descriptors = true;
1641 spi_imx = spi_master_get_devdata(master);
1642 spi_imx->bitbang.master = master;
1655 master->num_chipselect = val;
1657 master->num_chipselect = 3;
1661 spi_imx->bitbang.master->setup = spi_imx_setup;
1662 spi_imx->bitbang.master->cleanup = spi_imx_cleanup;
1663 spi_imx->bitbang.master->prepare_message = spi_imx_prepare_message;
1664 spi_imx->bitbang.master->unprepare_message = spi_imx_unprepare_message;
1665 spi_imx->bitbang.master->slave_abort = spi_imx_slave_abort;
1666 spi_imx->bitbang.master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH \
1670 spi_imx->bitbang.master->mode_bits |= SPI_LOOP | SPI_READY;
1729 ret = spi_imx_sdma_init(&pdev->dev, spi_imx, master);
1742 master->dev.of_node = pdev->dev.of_node;
1766 spi_master_put(master);
1773 struct spi_master *master = platform_get_drvdata(pdev);
1774 struct spi_imx_data *spi_imx = spi_master_get_devdata(master);
1790 spi_master_put(master);
1797 struct spi_master *master = dev_get_drvdata(dev);
1801 spi_imx = spi_master_get_devdata(master);
1818 struct spi_master *master = dev_get_drvdata(dev);
1821 spi_imx = spi_master_get_devdata(master);