• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/spi/

Lines Matching defs:xfer

148 					struct spi_transfer *xfer)
150 return msg->transfers.prev == &xfer->transfer_list;
153 static inline int atmel_spi_xfer_can_be_chained(struct spi_transfer *xfer)
155 return xfer->delay_usecs == 0 && !xfer->cs_change;
159 struct spi_transfer *xfer,
168 if (xfer->rx_buf)
169 *rx_dma = xfer->rx_dma + xfer->len - *plen;
175 if (xfer->tx_buf)
176 *tx_dma = xfer->tx_dma + xfer->len - *plen;
197 struct spi_transfer *xfer;
203 xfer = list_entry(msg->transfers.next,
206 xfer = list_entry(as->current_transfer->transfer_list.next,
209 xfer = NULL;
211 if (xfer) {
214 len = xfer->len;
215 atmel_spi_next_xfer_data(master, xfer, &tx_dma, &rx_dma, &len);
216 remaining = xfer->len - len;
227 " start xfer %p: len %u tx %p/%08x rx %p/%08x\n",
228 xfer, xfer->len, xfer->tx_buf, xfer->tx_dma,
229 xfer->rx_buf, xfer->rx_dma);
231 xfer = as->next_transfer;
235 as->current_transfer = xfer;
240 else if (!atmel_spi_xfer_is_last(msg, xfer)
241 && atmel_spi_xfer_can_be_chained(xfer)) {
242 xfer = list_entry(xfer->transfer_list.next,
244 len = xfer->len;
246 xfer = NULL;
248 as->next_transfer = xfer;
250 if (xfer) {
254 atmel_spi_next_xfer_data(master, xfer, &tx_dma, &rx_dma, &len);
266 " next xfer %p: len %u tx %p/%08x rx %p/%08x\n",
267 xfer, xfer->len, xfer->tx_buf, xfer->tx_dma,
268 xfer->rx_buf, xfer->rx_dma);
325 atmel_spi_dma_map_xfer(struct atmel_spi *as, struct spi_transfer *xfer)
329 xfer->tx_dma = xfer->rx_dma = INVALID_DMA_ADDRESS;
330 if (xfer->tx_buf) {
331 xfer->tx_dma = dma_map_single(dev,
332 (void *) xfer->tx_buf, xfer->len,
334 if (dma_mapping_error(dev, xfer->tx_dma))
337 if (xfer->rx_buf) {
338 xfer->rx_dma = dma_map_single(dev,
339 xfer->rx_buf, xfer->len,
341 if (dma_mapping_error(dev, xfer->rx_dma)) {
342 if (xfer->tx_buf)
344 xfer->tx_dma, xfer->len,
353 struct spi_transfer *xfer)
355 if (xfer->tx_dma != INVALID_DMA_ADDRESS)
356 dma_unmap_single(master->dev.parent, xfer->tx_dma,
357 xfer->len, DMA_TO_DEVICE);
358 if (xfer->rx_dma != INVALID_DMA_ADDRESS)
359 dma_unmap_single(master->dev.parent, xfer->rx_dma,
360 xfer->len, DMA_FROM_DEVICE);
376 "xfer complete: %u bytes transferred\n",
399 struct spi_transfer *xfer;
405 xfer = as->current_transfer;
424 * updated with the last xfer.
433 atmel_spi_dma_unmap_xfer(master, xfer);
436 if (xfer->delay_usecs)
437 udelay(xfer->delay_usecs);
469 msg->actual_length += xfer->len;
472 atmel_spi_dma_unmap_xfer(master, xfer);
475 if (xfer->delay_usecs)
476 udelay(xfer->delay_usecs);
478 if (atmel_spi_xfer_is_last(msg, xfer)) {
481 xfer->cs_change);
483 if (xfer->cs_change) {
625 struct spi_transfer *xfer;
640 list_for_each_entry(xfer, &msg->transfers, transfer_list) {
641 if (!(xfer->tx_buf || xfer->rx_buf) && xfer->len) {
646 if (xfer->bits_per_word || xfer->speed_hz) {
660 if (atmel_spi_dma_map_xfer(as, xfer) < 0)
666 list_for_each_entry(xfer, &msg->transfers, transfer_list) {
668 " xfer %p: len %u tx %p/%08x rx %p/%08x\n",
669 xfer, xfer->len,
670 xfer->tx_buf, xfer->tx_dma,
671 xfer->rx_buf, xfer->rx_dma);