serial: msm_geni_serial: Modify the clock on/off sequence for HS-UART

Currently the driver leaves the Rx state machine running when it votes the
clocks off. However if the system enters certain deeper sleep modes it is
possible that the Rx state machine will not be in a known state once the
clocks are turned back on resulting in undefined behavior on the Rx path.
To counter this hardware limitation always cancel the Rx sequencer when
clocking off the core, and enable the sequencer again when turning the
clocks on.

When turning off the resource votes, modify the pinctrl settings at the
end after the clocks and bus votes are done, to avoid any glitches on the
line. Modify the inflight transfer check to include DMA mode as well.
For clients that use inband wakeup mechanism, set the active and sleep
GPIO settings to be the same since in these cases we always want the pins
connected to the core.

Change-Id: I297a6292914e4b1881202aba8e9b8151da0cac67
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2 files changed