| /linux/drivers/i2c/busses/ |
| H A D | i2c-hisi.c | 114 static void hisi_i2c_enable_int(struct hisi_i2c_controller *ctlr, u32 mask) in hisi_i2c_enable_int() argument 116 writel_relaxed(mask, ctlr->iobase + HISI_I2C_INT_MASK); in hisi_i2c_enable_int() 119 static void hisi_i2c_disable_int(struct hisi_i2c_controller *ctlr, u32 mask) in hisi_i2c_disable_int() argument 121 writel_relaxed((~mask) & HISI_I2C_INT_ALL, ctlr->iobase + HISI_I2C_INT_MASK); in hisi_i2c_disable_int() 124 static void hisi_i2c_clear_int(struct hisi_i2c_controller *ctlr, u32 mask) in hisi_i2c_clear_int() argument 126 writel_relaxed(mask, ctlr->iobase + HISI_I2C_INT_CLR); in hisi_i2c_clear_int() 129 static void hisi_i2c_clear_tx_int(struct hisi_i2c_controller *ctlr, u32 mask) in hisi_i2c_clear_tx_int() argument 131 writel_relaxed(mask, ctlr->iobase + HISI_I2C_TX_INT_CLR); in hisi_i2c_clear_tx_int() 134 static void hisi_i2c_handle_errors(struct hisi_i2c_controller *ctlr) in hisi_i2c_handle_errors() argument 136 u32 int_err = ctlr->xfer_err, reg; in hisi_i2c_handle_errors() [all …]
|
| /linux/drivers/spi/ |
| H A D | spi.c | 149 struct spi_controller *ctlr = container_of(dev, \ 151 return spi_statistics_##field##_show(ctlr->pcpu_statistics, buf); \ 564 struct spi_device *spi_alloc_device(struct spi_controller *ctlr) in spi_alloc_device() argument 568 if (!spi_controller_get(ctlr)) in spi_alloc_device() 573 spi_controller_put(ctlr); in spi_alloc_device() 580 spi_controller_put(ctlr); in spi_alloc_device() 584 spi->controller = ctlr; in spi_alloc_device() 585 spi->dev.parent = &ctlr->dev; in spi_alloc_device() 588 spi->mode = ctlr->buswidth_override_bits; in spi_alloc_device() 668 struct spi_controller *ctlr = spi->controller; in __spi_add_device() local [all …]
|
| H A D | spi-bcm2835.c | 127 struct spi_controller *ctlr; member 404 spi_finalize_current_transfer(bs->ctlr); in bcm2835_spi_interrupt() 410 static int bcm2835_spi_transfer_one_irq(struct spi_controller *ctlr, in bcm2835_spi_transfer_one_irq() argument 415 struct bcm2835_spi *bs = spi_controller_get_devdata(ctlr); in bcm2835_spi_transfer_one_irq() 485 static void bcm2835_spi_transfer_prologue(struct spi_controller *ctlr, in bcm2835_spi_transfer_prologue() argument 530 dma_sync_single_for_device(ctlr->dma_rx->device->dev, in bcm2835_spi_transfer_prologue() 609 struct spi_controller *ctlr = data; in bcm2835_spi_dma_rx_done() local 610 struct bcm2835_spi *bs = spi_controller_get_devdata(ctlr); in bcm2835_spi_dma_rx_done() 617 dmaengine_terminate_async(ctlr->dma_tx); in bcm2835_spi_dma_rx_done() 626 spi_finalize_current_transfer(ctlr); in bcm2835_spi_dma_rx_done() [all …]
|
| H A D | spi-cadence.c | 432 struct spi_controller *ctlr = dev_id; in cdns_spi_irq() local 433 struct cdns_spi *xspi = spi_controller_get_devdata(ctlr); in cdns_spi_irq() 447 spi_finalize_current_transfer(ctlr); in cdns_spi_irq() 473 spi_finalize_current_transfer(ctlr); in cdns_spi_irq() 481 static int cdns_prepare_message(struct spi_controller *ctlr, in cdns_prepare_message() argument 484 if (!spi_controller_is_target(ctlr)) in cdns_prepare_message() 502 static int cdns_transfer_one(struct spi_controller *ctlr, in cdns_transfer_one() argument 506 struct cdns_spi *xspi = spi_controller_get_devdata(ctlr); in cdns_transfer_one() 513 if (!spi_controller_is_target(ctlr)) { in cdns_transfer_one() 548 static int cdns_prepare_transfer_hardware(struct spi_controller *ctlr) in cdns_prepare_transfer_hardware() argument [all …]
|
| H A D | spi-at91-usart.c | 105 struct spi_controller *ctlr = data; in dma_callback() local 106 struct at91_usart_spi *aus = spi_controller_get_devdata(ctlr); in dma_callback() 122 static int at91_usart_spi_configure_dma(struct spi_controller *ctlr, in at91_usart_spi_configure_dma() argument 134 ctlr->dma_tx = dma_request_chan(dev, "tx"); in at91_usart_spi_configure_dma() 135 if (IS_ERR(ctlr->dma_tx)) { in at91_usart_spi_configure_dma() 136 err = PTR_ERR(ctlr->dma_tx); in at91_usart_spi_configure_dma() 140 ctlr->dma_rx = dma_request_chan(dev, "rx"); in at91_usart_spi_configure_dma() 141 if (IS_ERR(ctlr->dma_rx)) { in at91_usart_spi_configure_dma() 142 err = PTR_ERR(ctlr->dma_rx); in at91_usart_spi_configure_dma() 155 if (dmaengine_slave_config(ctlr->dma_rx, &slave_config)) { in at91_usart_spi_configure_dma() [all …]
|
| H A D | spi-mem.c | 39 int spi_controller_dma_map_mem_op_data(struct spi_controller *ctlr, in spi_controller_dma_map_mem_op_data() argument 48 if (op->data.dir == SPI_MEM_DATA_OUT && ctlr->dma_tx) in spi_controller_dma_map_mem_op_data() 49 dmadev = ctlr->dma_tx->device->dev; in spi_controller_dma_map_mem_op_data() 50 else if (op->data.dir == SPI_MEM_DATA_IN && ctlr->dma_rx) in spi_controller_dma_map_mem_op_data() 51 dmadev = ctlr->dma_rx->device->dev; in spi_controller_dma_map_mem_op_data() 53 dmadev = ctlr->dev.parent; in spi_controller_dma_map_mem_op_data() 58 return spi_map_buf(ctlr, dmadev, sgt, op->data.buf.in, op->data.nbytes, in spi_controller_dma_map_mem_op_data() 85 void spi_controller_dma_unmap_mem_op_data(struct spi_controller *ctlr, in spi_controller_dma_unmap_mem_op_data() argument 94 if (op->data.dir == SPI_MEM_DATA_OUT && ctlr->dma_tx) in spi_controller_dma_unmap_mem_op_data() 95 dmadev = ctlr->dma_tx->device->dev; in spi_controller_dma_unmap_mem_op_data() [all …]
|
| H A D | spi-dw-core.c | 66 snprintf(name, 32, "dw_spi%d", dws->ctlr->bus_num); in dw_spi_debugfs_init() 188 dev_err(&dws->ctlr->dev, "RX FIFO overflow detected\n"); in dw_spi_check_status() 193 dev_err(&dws->ctlr->dev, "RX FIFO underflow detected\n"); in dw_spi_check_status() 198 dev_err(&dws->ctlr->dev, "TX FIFO overflow detected\n"); in dw_spi_check_status() 205 if (dws->ctlr->cur_msg) in dw_spi_check_status() 206 dws->ctlr->cur_msg->status = ret; in dw_spi_check_status() 218 spi_finalize_current_transfer(dws->ctlr); in dw_spi_transfer_handler() 232 spi_finalize_current_transfer(dws->ctlr); in dw_spi_transfer_handler() 253 struct spi_controller *ctlr = dev_id; in dw_spi_irq() local 254 struct dw_spi *dws = spi_controller_get_devdata(ctlr); in dw_spi_irq() [all …]
|
| H A D | spi-omap2-mcspi.c | 122 struct spi_controller *ctlr; member 150 static inline void mcspi_write_reg(struct spi_controller *ctlr, in mcspi_write_reg() argument 153 struct omap2_mcspi *mcspi = spi_controller_get_devdata(ctlr); in mcspi_write_reg() 158 static inline u32 mcspi_read_reg(struct spi_controller *ctlr, int idx) in mcspi_read_reg() argument 160 struct omap2_mcspi *mcspi = spi_controller_get_devdata(ctlr); in mcspi_read_reg() 279 static void omap2_mcspi_set_mode(struct spi_controller *ctlr) in omap2_mcspi_set_mode() argument 281 struct omap2_mcspi *mcspi = spi_controller_get_devdata(ctlr); in omap2_mcspi_set_mode() 288 l = mcspi_read_reg(ctlr, OMAP2_MCSPI_MODULCTRL); in omap2_mcspi_set_mode() 290 if (spi_controller_is_target(ctlr)) { in omap2_mcspi_set_mode() 301 mcspi_write_reg(ctlr, OMAP2_MCSPI_MODULCTRL, l); in omap2_mcspi_set_mode() [all …]
|
| H A D | spi-bitbang.c | 290 static int spi_bitbang_transfer_one(struct spi_controller *ctlr, in spi_bitbang_transfer_one() argument 294 struct spi_bitbang *bitbang = spi_controller_get_devdata(ctlr); in spi_bitbang_transfer_one() 312 spi_finalize_current_transfer(ctlr); in spi_bitbang_transfer_one() 350 struct spi_controller *ctlr = bitbang->ctlr; in spi_bitbang_init() local 353 if (!ctlr) in spi_bitbang_init() 361 custom_cs = (!ctlr->use_gpio_descriptors || in spi_bitbang_init() 362 (ctlr->flags & SPI_CONTROLLER_GPIO_SS)); in spi_bitbang_init() 369 if (!ctlr->mode_bits) in spi_bitbang_init() 370 ctlr->mode_bits = SPI_CPOL | SPI_CPHA | bitbang->flags; in spi_bitbang_init() 372 if (ctlr->transfer || ctlr->transfer_one_message) in spi_bitbang_init() [all …]
|
| H A D | internals.h | 23 int spi_map_buf(struct spi_controller *ctlr, struct device *dev, 26 void spi_unmap_buf(struct spi_controller *ctlr, struct device *dev, 29 static inline int spi_map_buf(struct spi_controller *ctlr, struct device *dev, in spi_map_buf() argument 36 static inline void spi_unmap_buf(struct spi_controller *ctlr, in spi_unmap_buf() argument 43 static inline bool spi_xfer_is_dma_mapped(struct spi_controller *ctlr, in spi_xfer_is_dma_mapped() argument 47 return ctlr->can_dma && ctlr->can_dma(ctlr, spi, xfer) && in spi_xfer_is_dma_mapped()
|
| H A D | spi-microchip-core-qspi.c | 385 struct spi_controller *ctlr = spi_dev->controller; in mchp_coreqspi_setup_op() local 386 struct mchp_coreqspi *qspi = spi_controller_get_devdata(ctlr); in mchp_coreqspi_setup_op() 579 static int mchp_coreqspi_unprepare_message(struct spi_controller *ctlr, struct spi_message *m) in mchp_coreqspi_unprepare_message() argument 581 struct mchp_coreqspi *qspi = spi_controller_get_devdata(ctlr); in mchp_coreqspi_unprepare_message() 594 static int mchp_coreqspi_prepare_message(struct spi_controller *ctlr, struct spi_message *m) in mchp_coreqspi_prepare_message() argument 596 struct mchp_coreqspi *qspi = spi_controller_get_devdata(ctlr); in mchp_coreqspi_prepare_message() 607 dev_err(&ctlr->dev, "Timeout waiting on QSPI ready.\n"); in mchp_coreqspi_prepare_message() 661 static int mchp_coreqspi_transfer_one(struct spi_controller *ctlr, struct spi_device *spi, in mchp_coreqspi_transfer_one() argument 664 struct mchp_coreqspi *qspi = spi_controller_get_devdata(ctlr); in mchp_coreqspi_transfer_one() 684 struct spi_controller *ctlr; in mchp_coreqspi_probe() local [all …]
|
| H A D | spi-zynqmp-gqspi.c | 191 struct spi_controller *ctlr; member 391 if (xqspi->ctlr->mode_bits & SPI_CPHA) in zynqmp_qspi_init_hw() 396 if (xqspi->ctlr->mode_bits & SPI_CPOL) in zynqmp_qspi_init_hw() 598 struct spi_controller *ctlr = qspi->controller; in zynqmp_qspi_setup_op() local 599 struct zynqmp_qspi *xqspi = spi_controller_get_devdata(ctlr); in zynqmp_qspi_setup_op() 601 if (ctlr->busy) in zynqmp_qspi_setup_op() 941 struct spi_controller *ctlr = xqspi->ctlr; in zynqmp_qspi_suspend() local 944 ret = spi_controller_suspend(ctlr); in zynqmp_qspi_suspend() 965 struct spi_controller *ctlr = xqspi->ctlr; in zynqmp_qspi_resume() local 969 spi_controller_resume(ctlr); in zynqmp_qspi_resume() [all …]
|
| H A D | spi-fsl-dspi.c | 339 struct spi_controller *ctlr; member 501 if (spi_controller_is_target(dspi->ctlr)) in dspi_pop_tx_pushr() 616 if (spi_controller_is_target(dspi->ctlr)) { in dspi_next_xfer_dma_submit() 691 if (spi_controller_is_target(dspi->ctlr)) { in dspi_request_dma() 1047 spi_take_timestamp_pre(dspi->ctlr, xfer, dspi->progress, !dspi->irq); in dspi_fifo_write() 1056 spi_take_timestamp_post(dspi->ctlr, dspi->cur_transfer, in dspi_fifo_write() 1152 static int dspi_transfer_one_message(struct spi_controller *ctlr, in dspi_transfer_one_message() argument 1155 struct fsl_dspi *dspi = spi_controller_get_devdata(ctlr); in dspi_transfer_one_message() 1214 spi_take_timestamp_pre(dspi->ctlr, dspi->cur_transfer, in dspi_transfer_one_message() 1256 spi_finalize_current_message(ctlr); in dspi_transfer_one_message() [all …]
|
| H A D | spi-sprd-adi.c | 146 struct spi_controller *ctlr; member 333 static int sprd_adi_transfer_one(struct spi_controller *ctlr, in sprd_adi_transfer_one() argument 337 struct sprd_adi *sadi = spi_controller_get_devdata(ctlr); in sprd_adi_transfer_one() 511 struct spi_controller *ctlr; in sprd_adi_probe() local 531 ctlr = devm_spi_alloc_host(&pdev->dev, sizeof(struct sprd_adi)); in sprd_adi_probe() 532 if (!ctlr) in sprd_adi_probe() 535 dev_set_drvdata(&pdev->dev, ctlr); in sprd_adi_probe() 536 sadi = spi_controller_get_devdata(ctlr); in sprd_adi_probe() 545 sadi->ctlr = ctlr; in sprd_adi_probe() 569 ctlr->bus_num = pdev->id; in sprd_adi_probe() [all …]
|
| /linux/drivers/net/ethernet/ti/ |
| H A D | davinci_cpdma.c | 112 struct cpdma_ctlr *ctlr; member 173 #define dma_reg_read(ctlr, ofs) readl((ctlr)->dmaregs + (ofs)) argument 176 #define dma_reg_write(ctlr, ofs, v) writel(v, (ctlr)->dmaregs + (ofs)) argument 190 static void cpdma_desc_pool_destroy(struct cpdma_ctlr *ctlr) in cpdma_desc_pool_destroy() argument 192 struct cpdma_desc_pool *pool = ctlr->pool; in cpdma_desc_pool_destroy() 202 dma_free_coherent(ctlr->dev, pool->mem_size, pool->cpumap, in cpdma_desc_pool_destroy() 212 static int cpdma_desc_pool_create(struct cpdma_ctlr *ctlr) in cpdma_desc_pool_create() argument 214 struct cpdma_params *cpdma_params = &ctlr->params; in cpdma_desc_pool_create() 218 pool = devm_kzalloc(ctlr->dev, sizeof(*pool), GFP_KERNEL); in cpdma_desc_pool_create() 221 ctlr->pool = pool; in cpdma_desc_pool_create() [all …]
|
| H A D | davinci_cpdma.h | 67 int cpdma_ctlr_destroy(struct cpdma_ctlr *ctlr); 68 int cpdma_ctlr_start(struct cpdma_ctlr *ctlr); 69 int cpdma_ctlr_stop(struct cpdma_ctlr *ctlr); 71 struct cpdma_chan *cpdma_chan_create(struct cpdma_ctlr *ctlr, int chan_num, 90 int cpdma_ctlr_int_ctrl(struct cpdma_ctlr *ctlr, bool enable); 91 void cpdma_ctlr_eoi(struct cpdma_ctlr *ctlr, u32 value); 93 u32 cpdma_ctrl_rxchs_state(struct cpdma_ctlr *ctlr); 94 u32 cpdma_ctrl_txchs_state(struct cpdma_ctlr *ctlr); 99 u32 cpdma_chan_get_min_rate(struct cpdma_ctlr *ctlr); 116 int cpdma_control_get(struct cpdma_ctlr *ctlr, int control); [all …]
|
| /linux/drivers/scsi/fcoe/ |
| H A D | fcoe_sysfs.c | 138 struct fcoe_ctlr_device *ctlr = dev_to_ctlr(dev); \ 139 if (ctlr->f->get_fcoe_ctlr_##field) \ 140 ctlr->f->get_fcoe_ctlr_##field(ctlr); \ 142 cast fcoe_ctlr_##field(ctlr)); \ 151 struct fcoe_ctlr_device *ctlr = fcoe_fcf_dev_to_ctlr_dev(fcf); \ 152 if (ctlr->f->get_fcoe_fcf_##field) \ 153 ctlr->f->get_fcoe_fcf_##field(fcf); \ 163 struct fcoe_ctlr_device *ctlr = dev_to_ctlr(dev); \ 164 return snprintf(buf, sz, format_string, cast fcoe_ctlr_##field(ctlr)); \ 178 static FCOE_DEVICE_ATTR(ctlr, field, S_IRUGO, \ [all …]
|
| H A D | fcoe.c | 383 struct fcoe_ctlr *ctlr; in fcoe_interface_create() local 404 ctlr = fcoe_ctlr_device_priv(ctlr_dev); in fcoe_interface_create() 405 ctlr->cdev = ctlr_dev; in fcoe_interface_create() 406 fcoe = fcoe_ctlr_priv(ctlr); in fcoe_interface_create() 413 fcoe_ctlr_init(ctlr, fip_mode); in fcoe_interface_create() 414 ctlr->send = fcoe_fip_send; in fcoe_interface_create() 415 ctlr->update_mac = fcoe_update_src_mac; in fcoe_interface_create() 416 ctlr->get_src_addr = fcoe_get_src_mac; in fcoe_interface_create() 420 fcoe_ctlr_destroy(ctlr); in fcoe_interface_create() 513 struct fcoe_ctlr *ctlr; in fcoe_fip_recv() local [all …]
|
| /linux/drivers/scsi/device_handler/ |
| H A D | scsi_dh_rdac.c | 186 struct rdac_controller *ctlr; member 264 static unsigned int rdac_failover_get(struct rdac_controller *ctlr, in rdac_failover_get() argument 273 if (ctlr->use_ms10) { in rdac_failover_get() 277 rdac_pg = &ctlr->mode_select.expanded; in rdac_failover_get() 289 rdac_pg = &ctlr->mode_select.legacy; in rdac_failover_get() 305 if (ctlr->use_ms10) { in rdac_failover_get() 319 struct rdac_controller *ctlr; in release_controller() local 320 ctlr = container_of(kref, struct rdac_controller, kref); in release_controller() 322 list_del(&ctlr->node); in release_controller() 323 kfree(ctlr); in release_controller() [all …]
|
| /linux/drivers/mtd/hyperbus/ |
| H A D | hyperbus-core.c | 23 struct hyperbus_ctlr *ctlr = hbdev->ctlr; in hyperbus_read16() local 26 read_data.x[0] = ctlr->ops->read16(hbdev, addr); in hyperbus_read16() 35 struct hyperbus_ctlr *ctlr = hbdev->ctlr; in hyperbus_write16() local 37 ctlr->ops->write16(hbdev, addr, d.x[0]); in hyperbus_write16() 44 struct hyperbus_ctlr *ctlr = hbdev->ctlr; in hyperbus_copy_from() local 46 ctlr->ops->copy_from(hbdev, to, from, len); in hyperbus_copy_from() 53 struct hyperbus_ctlr *ctlr = hbdev->ctlr; in hyperbus_copy_to() local 55 ctlr->ops->copy_to(hbdev, to, from, len); in hyperbus_copy_to() 61 struct hyperbus_ctlr *ctlr; in hyperbus_register_device() local 67 if (!hbdev || !hbdev->np || !hbdev->ctlr || !hbdev->ctlr->dev) { in hyperbus_register_device() [all …]
|
| H A D | rpc-if.c | 22 struct hyperbus_ctlr ctlr; member 142 hyperbus->ctlr.dev = dev; in rpcif_hb_probe() 143 hyperbus->ctlr.ops = &rpcif_hb_ops; in rpcif_hb_probe() 144 hyperbus->hbdev.ctlr = &hyperbus->ctlr; in rpcif_hb_probe()
|
| /linux/include/linux/spi/ |
| H A D | spi.h | 718 bool (*can_dma)(struct spi_controller *ctlr, 753 int (*prepare_transfer_hardware)(struct spi_controller *ctlr); 754 int (*transfer_one_message)(struct spi_controller *ctlr, 756 int (*unprepare_transfer_hardware)(struct spi_controller *ctlr); 757 int (*prepare_message)(struct spi_controller *ctlr, 759 int (*unprepare_message)(struct spi_controller *ctlr, 761 int (*target_abort)(struct spi_controller *ctlr); 768 int (*transfer_one)(struct spi_controller *ctlr, struct spi_device *spi, 770 void (*handle_err)(struct spi_controller *ctlr, 801 int (*fw_translate_cs)(struct spi_controller *ctlr, unsigned cs); [all …]
|
| /linux/drivers/staging/greybus/ |
| H A D | spilib.c | 327 static int gb_spi_transfer_one_message(struct spi_controller *ctlr, in gb_spi_transfer_one_message() argument 330 struct gb_spilib *spi = spi_controller_get_devdata(ctlr); in gb_spi_transfer_one_message() 374 spi_finalize_current_message(ctlr); in gb_spi_transfer_one_message() 379 static int gb_spi_prepare_transfer_hardware(struct spi_controller *ctlr) in gb_spi_prepare_transfer_hardware() argument 381 struct gb_spilib *spi = spi_controller_get_devdata(ctlr); in gb_spi_prepare_transfer_hardware() 386 static int gb_spi_unprepare_transfer_hardware(struct spi_controller *ctlr) in gb_spi_unprepare_transfer_hardware() argument 388 struct gb_spilib *spi = spi_controller_get_devdata(ctlr); in gb_spi_unprepare_transfer_hardware() 443 struct spi_controller *ctlr = get_controller_from_spi(spi); in gb_spi_setup_device() local 474 spi_board.bus_num = ctlr->bus_num; in gb_spi_setup_device() 478 spidev = spi_new_device(ctlr, &spi_board); in gb_spi_setup_device() [all …]
|
| /linux/drivers/scsi/bnx2fc/ |
| H A D | bnx2fc_fcoe.c | 143 struct fcoe_ctlr *ctlr = fcoe_ctlr_device_priv(ctlr_dev); in bnx2fc_fcf_get_vlan_id() local 144 struct bnx2fc_interface *fcoe = fcoe_ctlr_priv(ctlr); in bnx2fc_fcf_get_vlan_id() 271 struct fcoe_ctlr *ctlr; in bnx2fc_xmit() local 283 ctlr = bnx2fc_to_ctlr(interface); in bnx2fc_xmit() 296 if (!ctlr->sel_fcf) { in bnx2fc_xmit() 301 if (fcoe_ctlr_els_send(ctlr, lport, skb)) in bnx2fc_xmit() 374 if (ctlr->map_dest) in bnx2fc_xmit() 378 memcpy(eh->h_dest, ctlr->dest_addr, ETH_ALEN); in bnx2fc_xmit() 380 if (unlikely(ctlr->flogi_oxid != FC_XID_UNKNOWN)) in bnx2fc_xmit() 381 memcpy(eh->h_source, ctlr->ctl_src_addr, ETH_ALEN); in bnx2fc_xmit() [all …]
|
| /linux/include/linux/platform_data/ |
| H A D | edma.h | 48 #define EDMA_CTLR_CHAN(ctlr, chan) (((ctlr) << 16) | (chan)) argument 52 #define EDMA_FILTER_PARAM(ctlr, chan) ((int[]) { EDMA_CTLR_CHAN(ctlr, chan) }) argument
|