msm_serial_hs: Fix the unbalanced clk_count

If clock vote is failed, clk_count is added. It may cause the unbalanced
clk_count. Also it's possible to be nagative clk_count on unvote. So do
not decrease the clk_count if it's already zero.

Change-Id: Ic63efd9447a18caaa8fabada4d4cae90558c8785
Signed-off-by: Devin Kim <dojip.kim@lge.com>
msm_serial_hs: check the returned value of clock vote

If voting clock is failed, we should not access the registers.
It may cause a crash to access the unclocked register.

Change-Id: Ifb75dd68696719905b373c4a276c4dc2d917f2fe
Signed-off-by: Devin Kim <dojip.kim@lge.com>
msm_serial_hs: vote for clocks in tty functions

to avoid accessing the unclocked registers.

Change-Id: I17af31b54e2c6288a5284b51670506c44a344fe8
Signed-off-by: Devin Kim <dojip.kim@lge.com>
msm_serial_hs: Fix race condition with BAM rx pipe

Crash observed due to the race condition with bam
rx pipe during sps_disconnect and sps_transfer_one
operations executed at the same time on two CPUs.

Because of this race condition rx bam descriptor
pointer becomes NULL and accessing of this pointer
leads to crash.

This patch waits for sps_transfer_one function to
complete, if it is in progress, before calling
sps_disconnect function from the set_termios.

https://www.codeaurora.org/cgit/quic/la/kernel/msm-3.10/commit/drivers/tty/serial/msm_serial_hs.c?h=msm-3.10&id=478fe086cb075301da4488e3e9e02683b2409084

CRs-Fixed: 534029
Change-Id: I7581062a17a3dc7ede8eb58e4d25e3b517812ab2
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
Signed-off-by: Devin Kim <dojip.kim@lge.com>
Signed-off-by: Patrick Tjin <pattjin@google.com>
sound control: add register cache

bump to version 3.2

Signed-off-by: Paul Reioux <reioux@gmail.com>
Asynchronous Fsync: initial extraction of Async Fsync from HTC

Signed-off-by: Paul Reioux <reioux@gmail.com>