Lines Matching defs:host
89 struct spi_controller *host;
224 static int img_spfi_start_pio(struct spi_controller *host,
288 spi_finalize_current_transfer(spfi->host);
302 spi_finalize_current_transfer(spfi->host);
306 static int img_spfi_start_dma(struct spi_controller *host,
387 static void img_spfi_handle_err(struct spi_controller *host,
390 struct img_spfi *spfi = spi_controller_get_devdata(host);
408 static int img_spfi_prepare(struct spi_controller *host, struct spi_message *msg)
410 struct img_spfi *spfi = spi_controller_get_devdata(host);
430 static int img_spfi_unprepare(struct spi_controller *host,
433 struct img_spfi *spfi = spi_controller_get_devdata(host);
440 static void img_spfi_config(struct spi_controller *host, struct spi_device *spi,
479 static int img_spfi_transfer_one(struct spi_controller *host,
493 img_spfi_config(host, spi, xfer);
494 if (host->can_dma && host->can_dma(host, spi, xfer))
495 ret = img_spfi_start_dma(host, spi, xfer);
497 ret = img_spfi_start_pio(host, spi, xfer);
502 static bool img_spfi_can_dma(struct spi_controller *host, struct spi_device *spi,
527 struct spi_controller *host;
533 host = spi_alloc_host(&pdev->dev, sizeof(*spfi));
534 if (!host)
536 platform_set_drvdata(pdev, host);
538 spfi = spi_controller_get_devdata(host);
540 spfi->host = host;
585 host->auto_runtime_pm = true;
586 host->bus_num = pdev->id;
587 host->mode_bits = SPI_CPOL | SPI_CPHA | SPI_TX_DUAL | SPI_RX_DUAL;
589 host->mode_bits |= SPI_TX_QUAD | SPI_RX_QUAD;
590 host->dev.of_node = pdev->dev.of_node;
591 host->bits_per_word_mask = SPI_BPW_MASK(32) | SPI_BPW_MASK(8);
592 host->max_speed_hz = clk_get_rate(spfi->spfi_clk) / 4;
593 host->min_speed_hz = clk_get_rate(spfi->spfi_clk) / 512;
604 if (host->max_speed_hz > max_speed_hz)
605 host->max_speed_hz = max_speed_hz;
608 host->transfer_one = img_spfi_transfer_one;
609 host->prepare_message = img_spfi_prepare;
610 host->unprepare_message = img_spfi_unprepare;
611 host->handle_err = img_spfi_handle_err;
612 host->use_gpio_descriptors = true;
639 host->dma_tx = spfi->tx_ch;
640 host->dma_rx = spfi->rx_ch;
641 host->can_dma = img_spfi_can_dma;
647 ret = devm_spi_register_controller(spfi->dev, host);
663 spi_controller_put(host);
670 struct spi_controller *host = platform_get_drvdata(pdev);
671 struct img_spfi *spfi = spi_controller_get_devdata(host);
688 struct spi_controller *host = dev_get_drvdata(dev);
689 struct img_spfi *spfi = spi_controller_get_devdata(host);
699 struct spi_controller *host = dev_get_drvdata(dev);
700 struct img_spfi *spfi = spi_controller_get_devdata(host);
719 struct spi_controller *host = dev_get_drvdata(dev);
721 return spi_controller_suspend(host);
726 struct spi_controller *host = dev_get_drvdata(dev);
727 struct img_spfi *spfi = spi_controller_get_devdata(host);
736 return spi_controller_resume(host);