Lines Matching refs:xs
269 static int xlp_spi_xfer_block(struct xlp_spi_priv *xs,
276 xs->tx_buf = tx_buf;
277 xs->rx_buf = rx_buf;
278 xs->tx_len = (xs->tx_buf == NULL) ? 0 : xfer_len;
279 xs->rx_len = (xs->rx_buf == NULL) ? 0 : xfer_len;
280 xs->txerrors = xs->rxerrors = 0;
283 if (xs->tx_len)
284 xlp_spi_fill_txfifo(xs);
286 xlp_spi_send_cmd(xs, xfer_len, cmd_cont);
293 if (xs->tx_len)
300 xlp_spi_reg_write(xs, xs->cs, XLP_SPI_INTR_EN, intr_mask);
302 timeout = wait_for_completion_timeout(&xs->done,
305 xlp_spi_reg_write(xs, xs->cs, XLP_SPI_INTR_EN, 0x0);
307 dev_err(&xs->dev, "xfer timedout!\n");
310 if (xs->txerrors || xs->rxerrors)
311 dev_err(&xs->dev, "Over/Underflow rx %d tx %d xfer %d!\n",
312 xs->rxerrors, xs->txerrors, xfer_len);
319 static int xlp_spi_txrx_bufs(struct xlp_spi_priv *xs, struct spi_transfer *t)
330 sz = xlp_spi_xfer_block(xs, tx_buf, rx_buf,
333 sz = xlp_spi_xfer_block(xs, tx_buf, rx_buf,
334 bytesleft, xs->cmd_cont);