Commit 69736b57 authored by Karthikeyan Ramasubramanian's avatar Karthikeyan Ramasubramanian Committed by Greg Kroah-Hartman

tty: serial: qcom_geni_serial: Use iowrite32_rep to write to FIFO

Use iowrite32_rep to write to the hardware FIFO so that the code does
not have to worry about the system endianness.
Signed-off-by: default avatarKarthikeyan Ramasubramanian <kramasub@codeaurora.org>
Reviewed-by: default avatarMatthias Kaehlcke <mka@chromium.org>
Reviewed-by: default avatarStephen Boyd <swboyd@chromium.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 7fb5b880
...@@ -600,14 +600,15 @@ static void qcom_geni_serial_handle_tx(struct uart_port *uport) ...@@ -600,14 +600,15 @@ static void qcom_geni_serial_handle_tx(struct uart_port *uport)
remaining = chunk; remaining = chunk;
for (i = 0; i < chunk; ) { for (i = 0; i < chunk; ) {
unsigned int tx_bytes; unsigned int tx_bytes;
unsigned int buf = 0; u8 buf[sizeof(u32)];
int c; int c;
memset(buf, 0, ARRAY_SIZE(buf));
tx_bytes = min_t(size_t, remaining, port->tx_bytes_pw); tx_bytes = min_t(size_t, remaining, port->tx_bytes_pw);
for (c = 0; c < tx_bytes ; c++) for (c = 0; c < tx_bytes ; c++)
buf |= (xmit->buf[tail + c] << (c * BITS_PER_BYTE)); buf[c] = xmit->buf[tail + c];
writel_relaxed(buf, uport->membase + SE_GENI_TX_FIFOn); iowrite32_rep(uport->membase + SE_GENI_TX_FIFOn, buf, 1);
i += tx_bytes; i += tx_bytes;
tail = (tail + tx_bytes) & (UART_XMIT_SIZE - 1); tail = (tail + tx_bytes) & (UART_XMIT_SIZE - 1);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment