Lines Matching refs:xs
277 static int xlp_spi_xfer_block(struct xlp_spi_priv *xs, in xlp_spi_xfer_block() argument
284 xs->tx_buf = tx_buf; in xlp_spi_xfer_block()
285 xs->rx_buf = rx_buf; in xlp_spi_xfer_block()
286 xs->tx_len = (xs->tx_buf == NULL) ? 0 : xfer_len; in xlp_spi_xfer_block()
287 xs->rx_len = (xs->rx_buf == NULL) ? 0 : xfer_len; in xlp_spi_xfer_block()
288 xs->txerrors = xs->rxerrors = 0; in xlp_spi_xfer_block()
291 if (xs->tx_len) in xlp_spi_xfer_block()
292 xlp_spi_fill_txfifo(xs); in xlp_spi_xfer_block()
294 xlp_spi_send_cmd(xs, xfer_len, cmd_cont); in xlp_spi_xfer_block()
301 if (xs->tx_len) in xlp_spi_xfer_block()
308 xlp_spi_reg_write(xs, xs->cs, XLP_SPI_INTR_EN, intr_mask); in xlp_spi_xfer_block()
310 timeout = wait_for_completion_timeout(&xs->done, in xlp_spi_xfer_block()
313 xlp_spi_reg_write(xs, xs->cs, XLP_SPI_INTR_EN, 0x0); in xlp_spi_xfer_block()
315 dev_err(&xs->dev, "xfer timedout!\n"); in xlp_spi_xfer_block()
318 if (xs->txerrors || xs->rxerrors) in xlp_spi_xfer_block()
319 dev_err(&xs->dev, "Over/Underflow rx %d tx %d xfer %d!\n", in xlp_spi_xfer_block()
320 xs->rxerrors, xs->txerrors, xfer_len); in xlp_spi_xfer_block()
327 static int xlp_spi_txrx_bufs(struct xlp_spi_priv *xs, struct spi_transfer *t) in xlp_spi_txrx_bufs() argument
338 sz = xlp_spi_xfer_block(xs, tx_buf, rx_buf, in xlp_spi_txrx_bufs()
341 sz = xlp_spi_xfer_block(xs, tx_buf, rx_buf, in xlp_spi_txrx_bufs()
342 bytesleft, xs->cmd_cont); in xlp_spi_txrx_bufs()