Lines Matching refs:target
108 * @target: SPI target currently selected
138 struct bcm2835_spidev *target;
146 * struct bcm2835_spidev - BCM2835 SPI target
148 * (uses target-specific clock polarity and phase settings)
153 * (uses target-specific clock polarity and phase settings)
638 bcm2835_wr(bs, BCM2835_SPI_CS, bs->target->clear_rx_cs);
661 * @target: BCM2835 SPI target
670 struct bcm2835_spidev *target,
710 bs->target = target;
723 * @target: BCM2835 SPI target
735 * this is called only once, on target registration. A DMA descriptor to write
768 struct bcm2835_spidev *target,
786 ret = bcm2835_spi_prepare_sg(ctlr, tfr, bs, target, true);
812 ret = bcm2835_spi_prepare_sg(ctlr, tfr, bs, target, false);
814 cookie = dmaengine_submit(target->clear_rx_desc);
1053 struct bcm2835_spidev *target = spi_get_ctldata(spi);
1056 u32 cs = target->prepare_cs;
1104 return bcm2835_spi_transfer_one_dma(ctlr, tfr, target, cs);
1115 struct bcm2835_spidev *target = spi_get_ctldata(spi);
1134 bcm2835_wr(bs, BCM2835_SPI_CS, target->prepare_cs);
1166 struct bcm2835_spidev *target = spi_get_ctldata(spi);
1169 if (target->clear_rx_desc)
1170 dmaengine_desc_free(target->clear_rx_desc);
1172 if (target->clear_rx_addr)
1174 target->clear_rx_addr,
1178 kfree(target);
1184 struct bcm2835_spidev *target)
1191 target->clear_rx_addr = dma_map_single(ctlr->dma_rx->device->dev,
1192 &target->clear_rx_cs,
1195 if (dma_mapping_error(ctlr->dma_rx->device->dev, target->clear_rx_addr)) {
1197 target->clear_rx_addr = 0;
1201 target->clear_rx_desc = dmaengine_prep_dma_cyclic(ctlr->dma_rx,
1202 target->clear_rx_addr,
1205 if (!target->clear_rx_desc) {
1210 ret = dmaengine_desc_set_reuse(target->clear_rx_desc);
1223 struct bcm2835_spidev *target = spi_get_ctldata(spi);
1228 if (!target) {
1229 target = kzalloc(ALIGN(sizeof(*target), dma_get_cache_alignment()),
1231 if (!target)
1234 spi_set_ctldata(spi, target);
1236 ret = bcm2835_spi_setup_dma(ctlr, spi, bs, target);
1242 * Precalculate SPI target's CS register value for ->prepare_message():
1252 target->prepare_cs = cs;
1255 * Precalculate SPI target's CS register value to clear RX FIFO
1259 target->clear_rx_cs = cs | BCM2835_SPI_CS_TA |
1263 target->clear_rx_addr,