msm_serial_hs_lite: Save UART registers if stuck

Preserve and attempt to print out relevant UARTDM core
registers, followed by panicing the system, if the
polling-mode serial console fails to print a character as a
result of the TX buffer remaining full for more than 100
character transmit times. This information is useful for
troubleshooting extremely rare cases where the serial
console unexpectedly stops producing output.

CRs-Fixed: 340339
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
(cherry picked from commit 1d4731ee979106d1f661418bf0f5544634d26b8e)

Change-Id: If45e8449f65eca2ebfb217d2ee680fa69b108ce7
Signed-off-by: Ram Kumar Chakravarthy Chebathini <rcheba@codeaurora.org>
msm_serial_hs_lite: Fix hardware bug by using dummy read of UARTDM register

UARTDM hardware doesn't work if data is transferred immediately after
programming NO_CHARS_FOR_TX register. Hence read out UART Status
Register which introduces one AHB clock cycle delay after programming
NO_CHARS_FOR_TX register.

CRs-Fixed: 340339
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
(cherry picked from commit ec41e9351875484e5c1e83005c20689c3b3ed2cc)

Change-Id: I292a83e760038451129daeeb5de8cb9ffbd77bac
Signed-off-by: Ram Kumar Chakravarthy Chebathini <rcheba@codeaurora.org>