Re: [v2, 6/8] tty: serial: qcom_geni_serial: Use iowrite32_rep to write to FIFO

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 09, 2018 at 01:38:39PM -0600, Karthikeyan Ramasubramanian wrote:
> 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: Karthikeyan Ramasubramanian <kramasub@xxxxxxxxxxxxxx>
> ---
>  drivers/tty/serial/qcom_geni_serial.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/tty/serial/qcom_geni_serial.c b/drivers/tty/serial/qcom_geni_serial.c
> index 3274071..801e6eb 100644
> --- a/drivers/tty/serial/qcom_geni_serial.c
> +++ b/drivers/tty/serial/qcom_geni_serial.c
> @@ -600,14 +600,15 @@ static void qcom_geni_serial_handle_tx(struct uart_port *uport)
>  	remaining = chunk;
>  	for (i = 0; i < chunk; ) {
>  		unsigned int tx_bytes;
> -		unsigned int buf = 0;
> +		u8 buf[sizeof(u32)];
>  		int c;
>  
> +		memset(buf, 0, ARRAY_SIZE(buf));
>  		tx_bytes = min_t(size_t, remaining, port->tx_bytes_pw);
>  		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;
>  		tail = (tail + tx_bytes) & (UART_XMIT_SIZE - 1);

Reviewed-by: Matthias Kaehlcke <mka@xxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux