Lines Matching refs:master

103 	struct spi_master	*master;  member
227 dev_err(&pic32s->master->dev, "%s\n", msg); in pic32_err_stop()
228 if (pic32s->master->cur_msg) in pic32_err_stop()
229 pic32s->master->cur_msg->status = -EIO; in pic32_err_stop()
253 if (!pic32s->master->cur_msg) { in pic32_spi_fault_irq()
303 struct spi_master *master = pic32s->master; in pic32_spi_dma_transfer() local
309 if (!master->dma_rx || !master->dma_tx) in pic32_spi_dma_transfer()
312 desc_rx = dmaengine_prep_slave_sg(master->dma_rx, in pic32_spi_dma_transfer()
322 desc_tx = dmaengine_prep_slave_sg(master->dma_tx, in pic32_spi_dma_transfer()
346 dma_async_issue_pending(master->dma_rx); in pic32_spi_dma_transfer()
347 dma_async_issue_pending(master->dma_tx); in pic32_spi_dma_transfer()
352 dmaengine_terminate_all(master->dma_rx); in pic32_spi_dma_transfer()
360 struct spi_master *master = pic32s->master; in pic32_spi_dma_config() local
374 ret = dmaengine_slave_config(master->dma_tx, &cfg); in pic32_spi_dma_config()
376 dev_err(&master->dev, "tx channel setup failed\n"); in pic32_spi_dma_config()
382 ret = dmaengine_slave_config(master->dma_rx, &cfg); in pic32_spi_dma_config()
384 dev_err(&master->dev, "rx channel setup failed\n"); in pic32_spi_dma_config()
434 static int pic32_spi_prepare_hardware(struct spi_master *master) in pic32_spi_prepare_hardware() argument
436 struct pic32_spi *pic32s = spi_master_get_devdata(master); in pic32_spi_prepare_hardware()
443 static int pic32_spi_prepare_message(struct spi_master *master, in pic32_spi_prepare_message() argument
446 struct pic32_spi *pic32s = spi_master_get_devdata(master); in pic32_spi_prepare_message()
485 static bool pic32_spi_can_dma(struct spi_master *master, in pic32_spi_can_dma() argument
489 struct pic32_spi *pic32s = spi_master_get_devdata(master); in pic32_spi_can_dma()
496 static int pic32_spi_one_transfer(struct spi_master *master, in pic32_spi_one_transfer() argument
505 pic32s = spi_master_get_devdata(master); in pic32_spi_one_transfer()
553 dmaengine_terminate_all(master->dma_rx); in pic32_spi_one_transfer()
554 dmaengine_terminate_all(master->dma_tx); in pic32_spi_one_transfer()
564 static int pic32_spi_unprepare_message(struct spi_master *master, in pic32_spi_unprepare_message() argument
571 static int pic32_spi_unprepare_hardware(struct spi_master *master) in pic32_spi_unprepare_hardware() argument
573 struct pic32_spi *pic32s = spi_master_get_devdata(master); in pic32_spi_unprepare_hardware()
611 struct spi_master *master = pic32s->master; in pic32_spi_dma_prep() local
617 master->dma_rx = dma_request_slave_channel_compat(mask, NULL, NULL, in pic32_spi_dma_prep()
619 if (!master->dma_rx) { in pic32_spi_dma_prep()
624 master->dma_tx = dma_request_slave_channel_compat(mask, NULL, NULL, in pic32_spi_dma_prep()
626 if (!master->dma_tx) { in pic32_spi_dma_prep()
640 if (master->dma_rx) in pic32_spi_dma_prep()
641 dma_release_channel(master->dma_rx); in pic32_spi_dma_prep()
643 if (master->dma_tx) in pic32_spi_dma_prep()
644 dma_release_channel(master->dma_tx); in pic32_spi_dma_prep()
653 if (pic32s->master->dma_rx) in pic32_spi_dma_unprep()
654 dma_release_channel(pic32s->master->dma_rx); in pic32_spi_dma_unprep()
656 if (pic32s->master->dma_tx) in pic32_spi_dma_unprep()
657 dma_release_channel(pic32s->master->dma_tx); in pic32_spi_dma_unprep()
748 struct spi_master *master; in pic32_spi_probe() local
752 master = spi_alloc_master(&pdev->dev, sizeof(*pic32s)); in pic32_spi_probe()
753 if (!master) in pic32_spi_probe()
756 pic32s = spi_master_get_devdata(master); in pic32_spi_probe()
757 pic32s->master = master; in pic32_spi_probe()
763 master->dev.of_node = pdev->dev.of_node; in pic32_spi_probe()
764 master->mode_bits = SPI_MODE_3 | SPI_MODE_0 | SPI_CS_HIGH; in pic32_spi_probe()
765 master->num_chipselect = 1; /* single chip-select */ in pic32_spi_probe()
766 master->max_speed_hz = clk_get_rate(pic32s->clk); in pic32_spi_probe()
767 master->setup = pic32_spi_setup; in pic32_spi_probe()
768 master->cleanup = pic32_spi_cleanup; in pic32_spi_probe()
769 master->flags = SPI_MASTER_MUST_TX | SPI_MASTER_MUST_RX; in pic32_spi_probe()
770 master->bits_per_word_mask = SPI_BPW_MASK(8) | SPI_BPW_MASK(16) | in pic32_spi_probe()
772 master->transfer_one = pic32_spi_one_transfer; in pic32_spi_probe()
773 master->prepare_message = pic32_spi_prepare_message; in pic32_spi_probe()
774 master->unprepare_message = pic32_spi_unprepare_message; in pic32_spi_probe()
775 master->prepare_transfer_hardware = pic32_spi_prepare_hardware; in pic32_spi_probe()
776 master->unprepare_transfer_hardware = pic32_spi_unprepare_hardware; in pic32_spi_probe()
781 master->can_dma = pic32_spi_can_dma; in pic32_spi_probe()
817 ret = devm_spi_register_master(&pdev->dev, master); in pic32_spi_probe()
819 dev_err(&master->dev, "failed registering spi master\n"); in pic32_spi_probe()
830 spi_master_put(master); in pic32_spi_probe()