Lines Matching refs:master
89 struct spi_master *master;
224 static int img_spfi_start_pio(struct spi_master *master,
228 struct img_spfi *spfi = spi_master_get_devdata(spi->master);
288 spi_finalize_current_transfer(spfi->master);
302 spi_finalize_current_transfer(spfi->master);
306 static int img_spfi_start_dma(struct spi_master *master,
310 struct img_spfi *spfi = spi_master_get_devdata(spi->master);
387 static void img_spfi_handle_err(struct spi_master *master,
390 struct img_spfi *spfi = spi_master_get_devdata(master);
408 static int img_spfi_prepare(struct spi_master *master, struct spi_message *msg)
410 struct img_spfi *spfi = spi_master_get_devdata(master);
430 static int img_spfi_unprepare(struct spi_master *master,
433 struct img_spfi *spfi = spi_master_get_devdata(master);
440 static void img_spfi_config(struct spi_master *master, struct spi_device *spi,
443 struct img_spfi *spfi = spi_master_get_devdata(spi->master);
479 static int img_spfi_transfer_one(struct spi_master *master,
483 struct img_spfi *spfi = spi_master_get_devdata(spi->master);
493 img_spfi_config(master, spi, xfer);
494 if (master->can_dma && master->can_dma(master, spi, xfer))
495 ret = img_spfi_start_dma(master, spi, xfer);
497 ret = img_spfi_start_pio(master, spi, xfer);
502 static bool img_spfi_can_dma(struct spi_master *master, struct spi_device *spi,
527 struct spi_master *master;
533 master = spi_alloc_master(&pdev->dev, sizeof(*spfi));
534 if (!master)
536 platform_set_drvdata(pdev, master);
538 spfi = spi_master_get_devdata(master);
540 spfi->master = master;
586 master->auto_runtime_pm = true;
587 master->bus_num = pdev->id;
588 master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_TX_DUAL | SPI_RX_DUAL;
590 master->mode_bits |= SPI_TX_QUAD | SPI_RX_QUAD;
591 master->dev.of_node = pdev->dev.of_node;
592 master->bits_per_word_mask = SPI_BPW_MASK(32) | SPI_BPW_MASK(8);
593 master->max_speed_hz = clk_get_rate(spfi->spfi_clk) / 4;
594 master->min_speed_hz = clk_get_rate(spfi->spfi_clk) / 512;
605 if (master->max_speed_hz > max_speed_hz)
606 master->max_speed_hz = max_speed_hz;
609 master->transfer_one = img_spfi_transfer_one;
610 master->prepare_message = img_spfi_prepare;
611 master->unprepare_message = img_spfi_unprepare;
612 master->handle_err = img_spfi_handle_err;
613 master->use_gpio_descriptors = true;
640 master->dma_tx = spfi->tx_ch;
641 master->dma_rx = spfi->rx_ch;
642 master->can_dma = img_spfi_can_dma;
648 ret = devm_spi_register_master(spfi->dev, master);
664 spi_master_put(master);
671 struct spi_master *master = platform_get_drvdata(pdev);
672 struct img_spfi *spfi = spi_master_get_devdata(master);
691 struct spi_master *master = dev_get_drvdata(dev);
692 struct img_spfi *spfi = spi_master_get_devdata(master);
702 struct spi_master *master = dev_get_drvdata(dev);
703 struct img_spfi *spfi = spi_master_get_devdata(master);
722 struct spi_master *master = dev_get_drvdata(dev);
724 return spi_master_suspend(master);
729 struct spi_master *master = dev_get_drvdata(dev);
730 struct img_spfi *spfi = spi_master_get_devdata(master);
741 return spi_master_resume(master);