Re: [PATCH V5] serial: qcom_geni_serial: To correct QUP Version detection logic

From: Greg Kroah-Hartman
Date: Mon Sep 28 2020 - 03:01:20 EST


On Mon, Sep 28, 2020 at 12:29:38PM +0530, Paras Sharma wrote:
> For QUP IP versions 2.5 and above the oversampling rate is
> halved from 32 to 16.
> Commit ce734600545f ("tty: serial: qcom_geni_serial: Update
> the oversampling rate") is pushed to handle this scenario.But
> the existing logic is failing to classify QUP Version 3.0 into
> the correct group ( 2.5 and above).
>
> As result Serial Engine clocks are not configured properly for
> baud rate and garbage data is sampled to FIFOs from the line.
>
> So, fix the logic to detect QUP with versions 2.5 and above.
>
> Fixes: ce734600545f ("tty: serial: qcom_geni_serial: Update the oversampling rate")
> Signed-off-by: Paras Sharma <parashar@xxxxxxxxxxxxxx>
> ---
> Changes in V5:
> Moved QUP_SE_VERSION_2_5 to common header file qcom-geni-se.h
>
> Changes in V4:
> Created a new #define QUP_SE_VERSION_2_5 for Qup serial engine having version 2.5
>
> Changes in V3:
> Replaced the condition for detecting Qup version(2.5 or greater) with value 0x20050000
>
> Changes in V2:
> Changed subject line and logic for checking Qup version
>
> drivers/tty/serial/qcom_geni_serial.c | 3 ++-
> include/linux/qcom-geni-se.h | 3 +++
> 2 files changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/tty/serial/qcom_geni_serial.c b/drivers/tty/serial/qcom_geni_serial.c
> index f0b1b47..198ecdd7 100644
> --- a/drivers/tty/serial/qcom_geni_serial.c
> +++ b/drivers/tty/serial/qcom_geni_serial.c
> @@ -106,6 +106,7 @@
> /* We always configure 4 bytes per FIFO word */
> #define BYTES_PER_FIFO_WORD 4
>
> +
> struct qcom_geni_private_data {
> /* NOTE: earlycon port will have NULL here */
> struct uart_driver *drv;

Unneeded change :(