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 :(