Messages in this thread Patch in this message | | | From | Paras Sharma <> | Subject | [PATCH V2] serial: qcom_geni_serial: To correct QUP Version detection logic | Date | Tue, 11 Aug 2020 13:13:14 +0530 |
| |
The current implementation reduces the sampling rate by half if qup HW version greater is than 2.5 by checking if the geni SE major version is greater than 2 and geni SE minor version is greater than 5.
This implementation fails when the version is 3 or greater.
Hence by adding the another check for geni SE major version, this problem can be solved.
Signed-off-by: Paras Sharma <parashar@codeaurora.org> --- drivers/tty/serial/qcom_geni_serial.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/tty/serial/qcom_geni_serial.c b/drivers/tty/serial/qcom_geni_serial.c index 3aa29d2..a9f92d8 100644 --- a/drivers/tty/serial/qcom_geni_serial.c +++ b/drivers/tty/serial/qcom_geni_serial.c @@ -995,7 +995,8 @@ static void qcom_geni_serial_set_termios(struct uart_port *uport, sampling_rate = UART_OVERSAMPLING; /* Sampling rate is halved for IP versions >= 2.5 */ ver = geni_se_get_qup_hw_version(&port->se); - if (GENI_SE_VERSION_MAJOR(ver) >= 2 && GENI_SE_VERSION_MINOR(ver) >= 5) + if ((GENI_SE_VERSION_MAJOR(ver) >= 2 && GENI_SE_VERSION_MINOR(ver) >= 5) + || GENI_SE_VERSION_MAJOR(ver) >= 3) sampling_rate /= 2; clk_rate = get_clk_div_rate(baud, sampling_rate, &clk_div); -- QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
| |