Lines Matching refs:controller

373 		spi_controller_get_devdata(spi->controller);
396 (drv_data->controller->max_speed_hz / 2));
403 spi_controller_get_devdata(spi->controller);
439 spi_controller_get_devdata(spi->controller);
453 spi_controller_get_devdata(spi->controller);
596 if (drv_data->controller->cur_msg) {
597 chip = spi_get_ctldata(drv_data->controller->cur_msg->spi);
637 drv_data->controller->cur_msg->status = err;
638 spi_finalize_current_transfer(drv_data->controller);
645 spi_finalize_current_transfer(drv_data->controller);
776 if (!drv_data->controller->cur_msg) {
908 unsigned long ssp_clk = drv_data->controller->max_speed_hz;
927 spi_get_ctldata(drv_data->controller->cur_msg->spi);
941 static bool pxa2xx_spi_can_dma(struct spi_controller *controller,
945 struct driver_data *drv_data = spi_controller_get_devdata(controller);
952 static int pxa2xx_spi_transfer_one(struct spi_controller *controller,
956 struct driver_data *drv_data = spi_controller_get_devdata(controller);
1007 dma_mapped = controller->can_dma &&
1008 controller->can_dma(controller, spi, transfer) &&
1009 controller->cur_msg_mapped;
1037 controller->max_speed_hz
1042 controller->max_speed_hz / 2
1092 if (spi_controller_is_target(controller)) {
1111 static int pxa2xx_spi_target_abort(struct spi_controller *controller)
1113 struct driver_data *drv_data = spi_controller_get_devdata(controller);
1120 static void pxa2xx_spi_handle_err(struct spi_controller *controller,
1123 struct driver_data *drv_data = spi_controller_get_devdata(controller);
1141 static int pxa2xx_spi_unprepare_transfer(struct spi_controller *controller)
1143 struct driver_data *drv_data = spi_controller_get_devdata(controller);
1156 spi_controller_get_devdata(spi->controller);
1188 if (spi_controller_is_target(drv_data->controller)) {
1214 if (spi_controller_is_target(drv_data->controller)) {
1375 static int pxa2xx_spi_fw_translate_cs(struct spi_controller *controller,
1378 struct driver_data *drv_data = spi_controller_get_devdata(controller);
1408 struct spi_controller *controller;
1431 controller = devm_spi_alloc_target(dev, sizeof(*drv_data));
1433 controller = devm_spi_alloc_host(dev, sizeof(*drv_data));
1435 if (!controller) {
1439 drv_data = spi_controller_get_devdata(controller);
1440 drv_data->controller = controller;
1444 device_set_node(&controller->dev, dev_fwnode(dev));
1447 controller->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH | SPI_LOOP;
1449 controller->bus_num = ssp->port_id;
1450 controller->dma_alignment = DMA_ALIGNMENT;
1451 controller->cleanup = cleanup;
1452 controller->setup = setup;
1453 controller->set_cs = pxa2xx_spi_set_cs;
1454 controller->transfer_one = pxa2xx_spi_transfer_one;
1455 controller->target_abort = pxa2xx_spi_target_abort;
1456 controller->handle_err = pxa2xx_spi_handle_err;
1457 controller->unprepare_transfer_hardware = pxa2xx_spi_unprepare_transfer;
1458 controller->fw_translate_cs = pxa2xx_spi_fw_translate_cs;
1459 controller->auto_runtime_pm = true;
1460 controller->flags = SPI_CONTROLLER_MUST_RX | SPI_CONTROLLER_MUST_TX;
1467 controller->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 32);
1470 controller->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 16);
1479 controller->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 32);
1501 controller->can_dma = pxa2xx_spi_can_dma;
1502 controller->max_dma_len = MAX_DMA_LEN;
1503 controller->max_transfer_size =
1513 controller->max_speed_hz = clk_get_rate(ssp->clk);
1519 controller->min_speed_hz =
1520 DIV_ROUND_UP(controller->max_speed_hz, 4096);
1522 controller->min_speed_hz =
1523 DIV_ROUND_UP(controller->max_speed_hz, 512);
1547 if (spi_controller_is_target(controller)) {
1560 if (!spi_controller_is_target(controller))
1585 controller->num_chipselect = platform_info->num_chipselect;
1586 controller->use_gpio_descriptors = true;
1604 status = spi_register_controller(controller);
1606 dev_err_probe(dev, status, "problem registering SPI controller\n");
1634 spi_unregister_controller(drv_data->controller);
1660 status = spi_controller_suspend(drv_data->controller);
1686 return spi_controller_resume(drv_data->controller);