Lines Matching defs:master
138 * @sel_clk: SPI master mux clock
285 struct mtk_spi *mdata = spi_master_get_devdata(spi->master);
350 static int mtk_spi_hw_init(struct spi_master *master,
356 struct mtk_spi *mdata = spi_master_get_devdata(master);
455 static int mtk_spi_prepare_message(struct spi_master *master,
458 return mtk_spi_hw_init(master, msg->spi);
464 struct mtk_spi *mdata = spi_master_get_devdata(spi->master);
481 static void mtk_spi_prepare_transfer(struct spi_master *master,
485 struct mtk_spi *mdata = spi_master_get_devdata(master);
514 static void mtk_spi_setup_packet(struct spi_master *master)
517 struct mtk_spi *mdata = spi_master_get_devdata(master);
541 static void mtk_spi_enable_transfer(struct spi_master *master)
544 struct mtk_spi *mdata = spi_master_get_devdata(master);
569 static void mtk_spi_update_mdata_len(struct spi_master *master)
572 struct mtk_spi *mdata = spi_master_get_devdata(master);
597 static void mtk_spi_setup_dma_addr(struct spi_master *master,
600 struct mtk_spi *mdata = spi_master_get_devdata(master);
623 static int mtk_spi_fifo_transfer(struct spi_master *master,
629 struct mtk_spi *mdata = spi_master_get_devdata(master);
634 mtk_spi_prepare_transfer(master, xfer->speed_hz);
635 mtk_spi_setup_packet(master);
648 mtk_spi_enable_transfer(master);
653 static int mtk_spi_dma_transfer(struct spi_master *master,
658 struct mtk_spi *mdata = spi_master_get_devdata(master);
667 mtk_spi_prepare_transfer(master, xfer->speed_hz);
690 mtk_spi_update_mdata_len(master);
691 mtk_spi_setup_packet(master);
692 mtk_spi_setup_dma_addr(master, xfer);
693 mtk_spi_enable_transfer(master);
698 static int mtk_spi_transfer_one(struct spi_master *master,
702 struct mtk_spi *mdata = spi_master_get_devdata(spi->master);
715 if (master->can_dma(master, spi, xfer))
716 return mtk_spi_dma_transfer(master, spi, xfer);
718 return mtk_spi_fifo_transfer(master, spi, xfer);
721 static bool mtk_spi_can_dma(struct spi_master *master,
733 struct mtk_spi *mdata = spi_master_get_devdata(spi->master);
748 struct spi_master *master = dev_id;
749 struct mtk_spi *mdata = spi_master_get_devdata(master);
764 if (!master->can_dma(master, NULL, trans)) {
782 spi_finalize_current_transfer(master);
788 mtk_spi_setup_packet(master);
805 mtk_spi_enable_transfer(master);
837 spi_finalize_current_transfer(master);
841 mtk_spi_update_mdata_len(master);
842 mtk_spi_setup_packet(master);
843 mtk_spi_setup_dma_addr(master, trans);
844 mtk_spi_enable_transfer(master);
889 static void mtk_spi_mem_setup_dma_xfer(struct spi_master *master,
892 struct mtk_spi *mdata = spi_master_get_devdata(master);
916 struct mtk_spi *mdata = spi_master_get_devdata(mem->spi->master);
946 struct mtk_spi *mdata = spi_master_get_devdata(mem->spi->master);
955 mtk_spi_hw_init(mem->spi->master, mem->spi);
956 mtk_spi_prepare_transfer(mem->spi->master, mem->spi->max_speed_hz);
976 mtk_spi_setup_packet(mem->spi->master);
1074 mtk_spi_mem_setup_dma_xfer(mem->spi->master, op);
1076 mtk_spi_enable_transfer(mem->spi->master);
1120 struct spi_master *master;
1124 master = devm_spi_alloc_master(dev, sizeof(*mdata));
1125 if (!master)
1126 return dev_err_probe(dev, -ENOMEM, "failed to alloc spi master\n");
1128 master->auto_runtime_pm = true;
1129 master->dev.of_node = dev->of_node;
1130 master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_LSB_FIRST;
1132 master->set_cs = mtk_spi_set_cs;
1133 master->prepare_message = mtk_spi_prepare_message;
1134 master->transfer_one = mtk_spi_transfer_one;
1135 master->can_dma = mtk_spi_can_dma;
1136 master->setup = mtk_spi_setup;
1137 master->set_cs_timing = mtk_spi_set_hw_cs_timing;
1138 master->use_gpio_descriptors = true;
1140 mdata = spi_master_get_devdata(master);
1144 master->mode_bits |= SPI_CS_HIGH;
1147 master->flags = SPI_CONTROLLER_MUST_TX;
1149 master->mode_bits |= SPI_LOOP | SPI_RX_DUAL | SPI_TX_DUAL |
1154 master->mem_ops = &mtk_spi_mem_ops;
1181 platform_set_drvdata(pdev, master);
1240 if (mdata->pad_num != master->num_chipselect)
1243 mdata->pad_num, master->num_chipselect);
1245 if (!master->cs_gpiods && master->num_chipselect > 1)
1260 IRQF_TRIGGER_NONE, dev_name(dev), master);
1266 ret = devm_spi_register_master(dev, master);
1269 return dev_err_probe(dev, ret, "failed to register master\n");
1277 struct spi_master *master = platform_get_drvdata(pdev);
1278 struct mtk_spi *mdata = spi_master_get_devdata(master);
1309 struct spi_master *master = dev_get_drvdata(dev);
1310 struct mtk_spi *mdata = spi_master_get_devdata(master);
1312 ret = spi_master_suspend(master);
1327 struct spi_master *master = dev_get_drvdata(dev);
1328 struct mtk_spi *mdata = spi_master_get_devdata(master);
1345 ret = spi_master_resume(master);
1358 struct spi_master *master = dev_get_drvdata(dev);
1359 struct mtk_spi *mdata = spi_master_get_devdata(master);
1374 struct spi_master *master = dev_get_drvdata(dev);
1375 struct mtk_spi *mdata = spi_master_get_devdata(master);