msm_serial_hs: Disable UART RxStale before Force RxStale in set_termios

There is possible race for handling normal RxStale event and Force
Rxstale event with UART Core, when Force RxStale is issued from
set_termios(). Hence on baud rate change request disable RxStale event
mechanism, and invoke Force RxStale. With RxStale event mechanism
disabled, Force RxStale still generates interrupt.

Fix possible race condition if before completion of previous UART RX CMD
flush, set_termios() request is received. With this case it is quite
possible that rx_tlet() queues one UART RX CMD with ADM driver and also
set_termios() queues one more UART RX CMD which would results with
queueing same UART RX CMD twice with ADM driver. With this device would
crash as the ADM driver will not be able to de-reference the second UART
RX CMD work. Hence add check in set_termios with rx.flush value as
FLUSH_DATA_READY which confirms that flush is initiated but it is not
completed and wait for rx.flush to become FLUSH_NONE which would happen
only once flush is completed and new UART RX CMD is being queued with ADM
driver.

Reduce waiting time for discard flush completion as it is already waited
for queued UART Rx CMD to be programmed with ADM hardware. Hence change
wait time out from 300 jiffies to 50 mseconds.

Add an API to get important UART core registers values which can be called
from error condition. Use the same when discard flush timeout happens with
set_termios(), when rx.dma_in_flight is not set with set_termios() and when
multiple UART RX CMD queueing condition is seen in msm_hs_start_rx_locked()
API.

CRs-Fixed: 486260
Change-Id: I9fd17e453fad619609e76e8b3a72a4f47210cff9
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
bluetooth: Remove bluesleep_bcm

Squash of the following commits:

Revert "bluetooth: Fix race conditions in BT LPM"

This reverts commit 096a4f8d351d1ed5e0cfea9dd896b89f78d2f438.

Signed-off-by: Bryan Smith <zarboz@gmail.com>

Conflicts:
	drivers/tty/serial/msm_serial_hs.c

Change-Id: Ie9f39e7976b085a80e838bba2bc820f312ee8a71

Revert "bluetooth: Add low-power mode to support Bluedroid"

This reverts commit 595c90c30e5cfa8f91b795fe57a6a796f00beb71.

Conflicts:
	drivers/tty/serial/msm_serial_hs.c

Change-Id: Ia4941f5b650dcd66a32a870e6c726b68dd46329c

Revert "Add bluedroid compatible bluesleep and utilize it."

This reverts commit df67b974ec101f4ee6b241a82313c8e85b44b237.

Change-Id: I7e1dd61062deb071c3a9d00872d63310234060b4