Lines Matching refs:xs
270 static int xlp_spi_xfer_block(struct xlp_spi_priv *xs,
277 xs->tx_buf = tx_buf;
278 xs->rx_buf = rx_buf;
279 xs->tx_len = (xs->tx_buf == NULL) ? 0 : xfer_len;
280 xs->rx_len = (xs->rx_buf == NULL) ? 0 : xfer_len;
281 xs->txerrors = xs->rxerrors = 0;
284 if (xs->tx_len)
285 xlp_spi_fill_txfifo(xs);
287 xlp_spi_send_cmd(xs, xfer_len, cmd_cont);
294 if (xs->tx_len)
301 xlp_spi_reg_write(xs, xs->cs, XLP_SPI_INTR_EN, intr_mask);
303 timeout = wait_for_completion_timeout(&xs->done,
306 xlp_spi_reg_write(xs, xs->cs, XLP_SPI_INTR_EN, 0x0);
308 dev_err(&xs->dev, "xfer timedout!\n");
311 if (xs->txerrors || xs->rxerrors)
312 dev_err(&xs->dev, "Over/Underflow rx %d tx %d xfer %d!\n",
313 xs->rxerrors, xs->txerrors, xfer_len);
320 static int xlp_spi_txrx_bufs(struct xlp_spi_priv *xs, struct spi_transfer *t)
331 sz = xlp_spi_xfer_block(xs, tx_buf, rx_buf,
334 sz = xlp_spi_xfer_block(xs, tx_buf, rx_buf,
335 bytesleft, xs->cmd_cont);