serial: qcom_geni_serial: To correct QUP Version detection logic
authorParas Sharma <parashar@codeaurora.org>
Wed, 30 Sep 2020 06:05:26 +0000 (11:35 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Sep 2020 07:12:03 +0000 (09:12 +0200)
commitc9ca43d42ed8d5fd635d327a664ed1d8579eb2af
tree3be2c9a5517b3d47aa9d792868fd43e48ce3682d
parent58e49346672f738cf6eeb62009a5b0ae194374c4
serial: qcom_geni_serial: To correct QUP Version detection logic

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")
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Paras Sharma <parashar@codeaurora.org>
Reviewed-by: Akash Asthana <akashast@codeaurora.org>
Link: https://lore.kernel.org/r/1601445926-23673-1-git-send-email-parashar@codeaurora.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/qcom_geni_serial.c
include/linux/qcom-geni-se.h