Revert "msm: kgsl: Squashed update from msm-3.4"

This reverts commit 70eb762247c1bbad763d06ce3ebbb57456d31cb9.
msm_fb: display: add one more pipe_commit delay before free ion buffer

It is possible that two consective pipe_commits happen within
same vsync period.  This will cause iommu page fault due to an ion buffer
that is being fetched by mdp's pipe is freed. It needs one pipe_commit
delay to free ion buffer to prevent iommu page from happening. Therefore
an extra free stage is needed to empty ion buffer free list.
Also, ION_IOMMU_UNMAP_DELAYED flag is not necessary at mapping of an
ion buffer since one pipe_commit delay had been added.

Change-Id: I340e002e8dc30b6faa0c095ba042eab50e8b7c88
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
msm_fb: display: fix the suspend/resume hang caused by wait4vsync stuck

wait_for_completion in wait4vsync stucks after multiple suspend/resume
tests. The cause is that when show_event timeout happens, or vsync isr
is disabled for long time, wait_vsync_cnt resets to zero, and in vsync
isr complete_all has no chance to be called which caused mdp hang. So
complete_all needs to be called whenever show_event has timeouts.

Change-Id: I124899ff95fd5550d2759d215f16fa9cb8c0c211
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
mmc: core: Fix some driver hangs when dealing with broken devices

There are infinite loops in the mmc code that can be caused by bad
hardware.  The code will loop forever if the device never comes back
from program mode, R1_STATE_PRG, and it is not ready for data,
R1_READY_FOR_DATA.

A long timeout is added to prevent the code from looping forever.
The timeout will occur if the device never comes back from program
state or the device never becomes ready for data.

It's not clear whether the timeout will do more than log a pr_err()
and then start a fresh hang all over again.  We may need to extend
this patch later to perform some kind of reset of the device (is
that possible?) or rejection of new I/O to the device.

Change-Id: I1f3e5fddffb5134743fbfbcdef5e97803fd25fc6
Signed-off-by: Trey Ramsay <tramsay@linux.vnet.ibm.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
rmnet_smux: device state check condition removed

If SSR happens in high watermark hit case, then the high-watermark-hit
condition is not reset correctly which causes TX data stall after
recovered from SSR.

In the SSR case, SMUX sends disconnect event to clients. For this event,
the RMNET client changes the device state to INACTIVE which prevents
call to msm_smux_close() from smux_rmnet_remove().

Remove the device state check condtion to iopen and close the RMNET
logical channel during RMNET device probe and remove.

CRs-fixed: 465510
Change-Id: I4dded65d41af4415f2427da388a59de4a1980a29
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
msm: Avoid NULL derefernce and array overflow

Add checks for NULL pointer dereference,array boundaries.

Change-Id: I0039f0f85b4782ea6215ee9241b0d5161336704f
Signed-off-by: Monika Alekhya <malekh@codeaurora.org>
msm8930: Use appropriate VDD_CP for msm8930 platform

The VDD_CP supply to WCD9304 codec is supplied from PMIC voltage
regulator S4. WCD9304 codec expects VDD_CP of either 1.8 volts or
2.2 volts. Since PM8038 can supply VDD_CP of upto 2.2 volts whereas
PM8917 can suuply VDD_CP of only 1.8 volts, dynamically select the
voltage regulator request value from platform data by fixing up
the platform data during bootup.

CRs-fixed: 416727
Change-Id: I3f596bf880d0a7fca5e2ee41695c324cdfd5252f
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
msm_fb: hdmi: Resolution modes on HDMI

Add a new header file that lists all supported
HDMI resolution modes and the associated timing
information.

CRs-Fixed: 470335
Change-Id: I971422ddb97e3b219cc682032eb67212b434daab
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
msm_fb: hdmi: Use common header for resolution modes

Use a common header file that lists all the supported
resolution modes instead of locally defining them in
the driver files.

CRs-Fixed: 470335
Change-Id: Ibcba6b31a81c066ef8aa3ec0d74d01e3ecd2f5b2
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
msm: display: Fix composition issues when framework rebooted in suspend.

Currently, if framework is rebooted while in suspend mode, borderfill
is not unset due to which MDP composition can not be enabled. This patch
fixes the issue.

Change-Id: I8b671eccedebf2bb08724cf2d284d4ab27a71360
Signed-off-by: Vishnuvardhan Prodduturi <vproddut@codeaurora.org>
mmc: core: Fix some driver hangs when dealing with broken devices

There are infinite loops in the mmc code that can be caused by bad
hardware.  The code will loop forever if the device never comes back
from program mode, R1_STATE_PRG, and it is not ready for data,
R1_READY_FOR_DATA.

A long timeout is added to prevent the code from looping forever.
The timeout will occur if the device never comes back from program
state or the device never becomes ready for data.

It's not clear whether the timeout will do more than log a pr_err()
and then start a fresh hang all over again.  We may need to extend
this patch later to perform some kind of reset of the device (is
that possible?) or rejection of new I/O to the device.

Change-Id: I1f3e5fddffb5134743fbfbcdef5e97803fd25fc6
Signed-off-by: Trey Ramsay <tramsay@linux.vnet.ibm.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>