Lines Matching refs:controller

363 		spi_controller_get_devdata(spi->controller);
386 (drv_data->controller->max_speed_hz / 2));
393 spi_controller_get_devdata(spi->controller);
429 spi_controller_get_devdata(spi->controller);
443 spi_controller_get_devdata(spi->controller);
586 if (drv_data->controller->cur_msg) {
587 chip = spi_get_ctldata(drv_data->controller->cur_msg->spi);
627 drv_data->controller->cur_msg->status = err;
628 spi_finalize_current_transfer(drv_data->controller);
635 spi_finalize_current_transfer(drv_data->controller);
766 if (!drv_data->controller->cur_msg) {
898 unsigned long ssp_clk = drv_data->controller->max_speed_hz;
917 spi_get_ctldata(drv_data->controller->cur_msg->spi);
931 static bool pxa2xx_spi_can_dma(struct spi_controller *controller,
942 static int pxa2xx_spi_transfer_one(struct spi_controller *controller,
946 struct driver_data *drv_data = spi_controller_get_devdata(controller);
947 struct spi_message *message = controller->cur_msg;
1020 dma_mapped = controller->can_dma &&
1021 controller->can_dma(controller, spi, transfer) &&
1022 controller->cur_msg_mapped;
1050 controller->max_speed_hz
1055 controller->max_speed_hz / 2
1105 if (spi_controller_is_target(controller)) {
1124 static int pxa2xx_spi_target_abort(struct spi_controller *controller)
1126 struct driver_data *drv_data = spi_controller_get_devdata(controller);
1133 static void pxa2xx_spi_handle_err(struct spi_controller *controller,
1136 struct driver_data *drv_data = spi_controller_get_devdata(controller);
1154 static int pxa2xx_spi_unprepare_transfer(struct spi_controller *controller)
1156 struct driver_data *drv_data = spi_controller_get_devdata(controller);
1170 spi_controller_get_devdata(spi->controller);
1202 if (spi_controller_is_target(drv_data->controller)) {
1251 if (spi_controller_is_target(drv_data->controller)) {
1406 static int pxa2xx_spi_fw_translate_cs(struct spi_controller *controller,
1409 struct driver_data *drv_data = spi_controller_get_devdata(controller);
1439 struct spi_controller *controller;
1465 controller = devm_spi_alloc_target(dev, sizeof(*drv_data));
1467 controller = devm_spi_alloc_host(dev, sizeof(*drv_data));
1469 if (!controller) {
1474 drv_data = spi_controller_get_devdata(controller);
1475 drv_data->controller = controller;
1479 device_set_node(&controller->dev, dev_fwnode(dev));
1482 controller->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH | SPI_LOOP;
1484 controller->bus_num = ssp->port_id;
1485 controller->dma_alignment = DMA_ALIGNMENT;
1486 controller->cleanup = cleanup;
1487 controller->setup = setup;
1488 controller->set_cs = pxa2xx_spi_set_cs;
1489 controller->transfer_one = pxa2xx_spi_transfer_one;
1490 controller->target_abort = pxa2xx_spi_target_abort;
1491 controller->handle_err = pxa2xx_spi_handle_err;
1492 controller->unprepare_transfer_hardware = pxa2xx_spi_unprepare_transfer;
1493 controller->fw_translate_cs = pxa2xx_spi_fw_translate_cs;
1494 controller->auto_runtime_pm = true;
1495 controller->flags = SPI_CONTROLLER_MUST_RX | SPI_CONTROLLER_MUST_TX;
1502 controller->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 32);
1505 controller->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 16);
1514 controller->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 32);
1536 controller->can_dma = pxa2xx_spi_can_dma;
1537 controller->max_dma_len = MAX_DMA_LEN;
1538 controller->max_transfer_size =
1548 controller->max_speed_hz = clk_get_rate(ssp->clk);
1554 controller->min_speed_hz =
1555 DIV_ROUND_UP(controller->max_speed_hz, 4096);
1557 controller->min_speed_hz =
1558 DIV_ROUND_UP(controller->max_speed_hz, 512);
1582 if (spi_controller_is_target(controller)) {
1595 if (!spi_controller_is_target(controller))
1620 controller->num_chipselect = platform_info->num_chipselect;
1621 controller->use_gpio_descriptors = true;
1639 status = spi_register_controller(controller);
1641 dev_err(&pdev->dev, "problem registering SPI controller\n");
1669 spi_unregister_controller(drv_data->controller);
1695 status = spi_controller_suspend(drv_data->controller);
1721 return spi_controller_resume(drv_data->controller);