Commit graph

586915 commits

Author SHA1 Message Date
Walter Yang
4e26a02aab ASoC: mbhc: Modify special headset detection
Modify detection sequence to support the fast special headset
detection with more reliable plug type result.

Change-Id: I74df2c8c54e49a3888511843a15122ca708425ed
CRs-Fixed: 2022622
Signed-off-by: Walter Yang <yandongy@codeaurora.org>
2017-03-30 19:40:36 -07:00
Anirudh Ghayal
e8662c7b5d power: smb-lib: Rerun APSD regardless of charger-type
It is observed that the USB_PHY may interfere with APSD
when the charger is inserted at PON. This may lead to
incorrect charger type detection.

Fix this by doing a APSD re-run during driver initialization
if USB is present and regardless of the charger type.

CRs-Fixed: 2011764
Change-Id: Icc9ee7bacf0eecdb311ca52979758514abca154e
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2017-03-30 18:03:50 -07:00
Mayank Rana
265b668a10 usb: gadget: f_mass_storage: Perform async runtime resume upon set_alt
commit 82f2935616 ("usb: gadget: f_mass_storage: Allow USB LPM
upon ep disable") just increments power usage count by 1 for dwc3 device
in thread handler. Since child count for dwc3 parent remains 0, there is
possibility of dwc3 parent going into suspend even if dwc3 power usage
count is set to 1. This causes unclocked register access as mdwc gets
runtime suspended and mass storage thread handler disables the endpoint.
Fix this issue by calling usb_gadget_autopm_get_async() in set_alt which
increments dwc3 power usage count and carry out resume asynchronously.

Change-Id: Iccce928590d8e67e234f0aa371f78eb1e6a326b7
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2017-03-30 17:56:21 -07:00
Jack Pham
775e281fb6 trace: ipc_logging: Avoid buffer overflow in ipc_log_string()
In ipc_log_string() the return value from vsnprintf(), data_size,
is used to increment ectxt.offset. However, this length could
actually be much larger than that of ectxt.buff itself. This is a
typical mistake of [v]snprintf() usage [1], in that it returns
not the number of characters written but how many characters
*would* have been written regardless of whether it was truncated.
The result is that even though ectxt.buff itself is not overrun,
the incorrect size in ectxt.offset will be later used as the length
parameter when memcpy()'ing to the ipc_log_page's data, overflowing
that memory and beyond. The write_page's write_offset would also
indicate an out-of-bounds (greater than PAGE_SIZE) length.

The fix is simple: use vscnprintf() instead of vsnprintf().

[1] https://lwn.net/Articles/69419/

Change-Id: I2e9d44e74f5f30a009732e31a554d82e31946999
Signed-off-by: Jack Pham <jackp@codeaurora.org>
2017-03-30 17:34:50 -07:00
Linux Build Service Account
92124c76a2 Merge "drm/msm: Remove ringbuffer restriction from idle" 2017-03-30 15:31:40 -07:00
Linux Build Service Account
2146eb6702 Merge "drm/msm: Update registers for performance counters" 2017-03-30 15:31:39 -07:00
Linux Build Service Account
e7e5fdf600 Merge "ARM: dts: msm: Update QoS priority for pimem bus master for sdm660" 2017-03-30 15:31:38 -07:00
Linux Build Service Account
8bbbda45fb Merge "msm_serial_hs: Change GPIO config sequence during runtime resume/suspend" 2017-03-30 15:31:37 -07:00
Linux Build Service Account
afe9a529cb Merge "msm: sde: Protect concurrent access to resources in SDE rotator" 2017-03-30 15:31:35 -07:00
Linux Build Service Account
45a51fbf92 Merge "msm-4.4: driver to create cld80211 nl family at bootup time" 2017-03-30 15:31:34 -07:00
Linux Build Service Account
32aa03c0c5 Merge "wil6210: do not start regular scan on stopped p2p device" 2017-03-30 15:31:33 -07:00
Linux Build Service Account
e19e1d6ed8 Merge "msm: ipa: Fix to reset the sticky_rear flag" 2017-03-30 15:31:30 -07:00
Linux Build Service Account
3e41080faa Merge "usb: gadget: mtp: reset string descriptor's index with unbind" 2017-03-30 15:31:29 -07:00
Linux Build Service Account
a9a7492ba1 Merge "esoc: Fix user space corruption due to wrong data type" 2017-03-30 15:31:28 -07:00
Linux Build Service Account
2959ac0a18 Merge "qseecom: fix macro QSEECOM_ALIGN definition issue" 2017-03-30 15:31:26 -07:00
Linux Build Service Account
2645a39019 Merge "qcom: qnovo: Disable ok_to_qnovo right after charging stops" 2017-03-30 15:31:25 -07:00
Linux Build Service Account
2b504b9bae Merge "qcom: smb138x-charger: support two usb input properties" 2017-03-30 15:31:23 -07:00
Linux Build Service Account
c93957ac9a Merge "qcom: smblib: supsend USB input during boost" 2017-03-30 15:31:22 -07:00
Linux Build Service Account
8208716117 Merge "ARM: dts: msm: Specify smb138x vbus regulator for USBIN-USBIN" 2017-03-30 15:31:22 -07:00
Linux Build Service Account
0afbd651a7 Merge "msm: hdmi: edid: fix parsing of 4K resolution from DTD" 2017-03-30 15:31:21 -07:00
Linux Build Service Account
09dd8a3ae5 Merge "ARM: dts: msm: Correct primary camera mount angle on SDM660" 2017-03-30 15:31:14 -07:00
Jack Pham
9ef3d654f2 qcom: smb-lib: Disable HW trigger when forcing sink-only mode
Due to an existing HW workaround, the UFP_EN_CMD bit may end up
getting cleared even after having been set. The result of this
is the Type-C state machine returns to DRP behavior despite SW
intention to force sink mode, such as PR Swap or Try.SNK.

Temporarily disable this particular HW trigger whenever the
typec_power_role property is getting set to sink-only mode, and
restore it when leaving sink mode.

Change-Id: I21e840bfeee3ad88b0562645378b1fea200e3803
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-03-30 15:13:17 -07:00
Honghao Liu
f2d361d5d0 ARM: dts: msm: add support for secondary MI2S on msm8996 adp/cdp
Update secondary MI2S DAI entry to use SD0 for TX path and SD1
for RX path, and add secondary MI2S DAI in the automotive sound
card entry for msm8996 automotive ADP/CDP platforms.

CRs-fixed: 2026814
Change-Id: I7c29aa605549f54339b108beae39a4e8816ac6dd
Signed-off-by: Honghao Liu <honghaol@codeaurora.org>
2017-03-30 17:46:43 -04:00
Alok Kediya
911cdb1374 msm: camera: isp: Set the clock rate for camss vfe clock
Make sure rate for camss vfe clock is set before enabling it.
Also, reuse existing variables for the vfe src clk.

CRs-Fixed: 2013802
Change-Id: Ic4acd4c8330b9300ea6bb84eb99a120453841f7a
Signed-off-by: Alok Kediya <kediya@codeaurora.org>
2017-03-30 14:22:48 -07:00
Lior David
943920d41d msm_11ad: copy FW crash dump before starting SSR flow
Currently when WIGIG FW crashes and SSR is in SYSTEM mode,
SSR causes a kernel panic and its panic handler will call
msm_11ad_ssr_crash_shutdown which will copy the FW crash
dump. However this is done when kernel panic is in progress
and kernel is not fully operational, so sometimes the copy
fails and the FW crash dump will not be found in the DDR
dump from the device.
Fix this problem by copying the FW crash dump before
notifying SSR, so the crash dump will always be copied
correctly when WIGIG FW crashes.
We also keep copying in crash_shutdown so the WIGIG FW
crash dump will be available also after normal kernel
panics, though it is not always copied in this case.

Change-Id: Idabb1497d8a1f60a74191f1c93ec5b2ce3b3043c
Signed-off-by: Lior David <liord@codeaurora.org>
2017-03-30 17:47:47 +03:00
Linux Build Service Account
928cd38621 Merge "soc: qcom: fix to avoid multiple memory allocations" 2017-03-30 07:20:57 -07:00
Linux Build Service Account
c63da8bee6 Merge "input: touchpanel: Add ST Touchscreen version 4.1.0 driver" 2017-03-30 07:20:52 -07:00
Linux Build Service Account
5609e231ef Merge "mmc: host: sdhci-msm: Skip reading GENERICS register in check_pwr_status" 2017-03-30 07:20:49 -07:00
Linux Build Service Account
512f631e40 Merge "wil6210: fix memory access violation in wil_memcpy_from/toio_32" 2017-03-30 07:20:46 -07:00
Linux Build Service Account
ef3cab22d8 Merge "fs: fat: ratelimit the IO errors" 2017-03-30 07:20:43 -07:00
Linux Build Service Account
225393f7b3 Merge "power: qpnp-fg-gen3: Whitelist the values in profile integrity word" 2017-03-30 07:20:37 -07:00
Linux Build Service Account
1743983a43 Merge "diag: Fix race condition while accessing mdlog session info" 2017-03-30 07:20:34 -07:00
Linux Build Service Account
74611ac55a Merge "soc: qcom: glink_ssr: Add kref for cb_data" 2017-03-30 07:20:31 -07:00
Linux Build Service Account
f51c9cc206 Merge "msm: pcie: add sysfs entry for PCIe enumeration" 2017-03-30 07:20:28 -07:00
Linux Build Service Account
49dae267db Merge "input: touchscreen: synaptics_dsx: Remove fw_update sysfs entries" 2017-03-30 07:20:25 -07:00
Linux Build Service Account
dc99ab9dfe Merge "mmc: sdhci-msm: Change pm_qos cpu groups latency to PM_QOS_DEFAULT_VALUE" 2017-03-30 07:20:22 -07:00
Linux Build Service Account
4b62ecc631 Merge "ARM: dts: msm: enable display for SDM630 PM660A QRD" 2017-03-30 07:20:19 -07:00
Linux Build Service Account
971aa31600 Merge "ASoC: sdm660-cdc: Change val_bits to 8 from 32 in digital cdc regmap" 2017-03-30 07:20:17 -07:00
Odelu Kukatla
dd9b926b63 ARM: dts: msm: Update QoS priority for pimem bus master for sdm660
pimem bus master is starving for data from ddr and time out is
observed with QoS priority set to 0, so increase the QoS priority
for pimem bus master to 1.

Change-Id: Ie90d0a41953e03d8cba9843fd8fb4f7dc511a62d
Signed-off-by: Odelu Kukatla <okukatla@codeaurora.org>
2017-03-30 17:49:01 +05:30
Mukesh Kumar Savaliya
d7aebcc75c msm_serial_hs: Change GPIO config sequence during runtime resume/suspend
In runtime resume scenarios we first enable the HW resources, clocks and
then set the gpio to UART functionalities. When GPIOS are changing the
state RX line samples as zero resulting in RX Break detection. This stops
data coming from BT SOC sending to the BT host causing failures.

Modify the GPIO config sequence such that GPIO functionalities changed
only when resources like Clocks are OFF.

Change-Id: Iaf3b7c7a66dd83fc631e4a779a804ef98836e00b
Signed-off-by: Mukesh Kumar Savaliya <msavaliy@codeaurora.org>
2017-03-30 04:41:49 -07:00
chenx
052f629254 input: touchpanel: Add ST Touchscreen version 4.1.0 driver
This is the reference driver source code for ST
Touchscreen of version 4.1.0. It is used for QVR8998
touchscreen.
(cherry picked from commit 2cd09314337d614e69d0ebd99afb71d99d31b69a)

Signed-off-by: chenx <chenxiang0527@thundersoft.com>
Git-commit: 2cd09314337d614e69d0ebd99afb71d99d31b69a
Git-repo: https://source.codeaurora.org/quic/la/kernel/msm-3.10
CRs-Fixed: 1106217
Change-Id: I5c26deaa3943ff300ce9835678bb4a550e40f096
Signed-off-by: Jin Fu <jinf@codeaurora.org>
2017-03-30 02:39:08 -07:00
Jayant Shekhar
b26abf21b0 ARM: dts: msm: Update MDSS max mixer/pipe width for sdm630
On sdm630, as per HW design, maximum mixer and pipe width
has been changed to 2048. Update the same in MDSS MDP node.

Change-Id: I21eb3fc77fd0fe08827d85777c39b24ed30911af
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
2017-03-30 15:07:18 +05:30
Utkarsh Saxena
39aa452031 msm: ipa: Fix to reset the sticky_rear flag
When hotspot tethering is toggled quickly
WLAN_AP_CONNECT is received even before all
the filter rules are cleaned up for the previous
DISCONNECT. As the sticky_rear is set, default
rule is not added at the end. Make a change to
reset sticky_rear when default rules are deleted.

Change-Id: I8b63fec360e91ddd5f5267fe74c769547bb5bbfe
Acked-by: Chaitanya Pratapa <cpratapa@qti.qualcomm.com>
Signed-off-by: Utkarsh Saxena <usaxena@codeaurora.org>
2017-03-30 14:17:11 +05:30
Vegard Nossum
4748cf2bde sched/debug: Make the "Preemption disabled at ..." message more useful
This message is currently really useless since it always prints a value
that comes from the printk() we just did, e.g.:

    BUG: sleeping function called from invalid context at mm/slab.h:388
    in_atomic(): 0, irqs_disabled(): 0, pid: 31996, name: trinity-c1
    Preemption disabled at:[<ffffffff8119db33>] down_trylock+0x13/0x80

    BUG: sleeping function called from invalid context at include/linux/freezer.h:56
    in_atomic(): 0, irqs_disabled(): 0, pid: 31996, name: trinity-c1
    Preemption disabled at:[<ffffffff811aaa37>] console_unlock+0x2f7/0x930

Here, both down_trylock() and console_unlock() is somewhere in the
printk() path.

We should save the value before calling printk() and use the saved value
instead. That immediately reveals the offending callsite:

    BUG: sleeping function called from invalid context at mm/slab.h:388
    in_atomic(): 0, irqs_disabled(): 0, pid: 14971, name: trinity-c2
    Preemption disabled at:[<ffffffff819bcd46>] rhashtable_walk_start+0x46/0x150

Bug report:

  http://marc.info/?l=linux-netdev&m=146925979821849&w=2

Change-Id: I5b08294385a2ac625dbf28d1f18ffd164aedabe0
Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rusty Russel <rusty@rustcorp.com.au>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
[mkhaja@codeaurora.org: Fix trivial merge conflict]
Git-commit: d1c6d149cf04d6c7c3c3ebf4b66c82500cbcf6e1
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Mohammed Khajapasha <mkhaja@codeaurora.org>
2017-03-30 13:30:38 +05:30
Deepak Kumar
b3e7113283 msm: kgsl: Remove incorrect check to cap AB vote to IB vote
For dual channel DDR, IB vote from client is half of actual
IB vote as IB vote calculation on client side doesn't consider
number of DDR channels. ICB driver takes care of multiplying
the client IB vote with number of DDR channels.

This change removes the AB capping check to avoid the scenarios
where AB vote > actual IB vote/2 but gets capped to actual
IB vote/2 because client side IB vote is half of actual IB vote.

Removal of this check will not impact single channel DDR targets
because of the way AB value is calculated. In case of honest BW
voting, AB will always be less than IB as AB calculation doesn't
consider RAM wait value. In case of unhonest vote, AB value is
always caluclated as some percentage of IB vote and this percentage
value is always <=100%.

Change-Id: Icdca6118f6605665979a1bead35ba3ef631d50e8
Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
2017-03-30 13:06:40 +05:30
Imran Khan
466ddfd69a Revert "defconfig: msm: Enable RCU_STALL_WATCHDOG_BITE flag"
This reverts commit de6e934118 ("defconfig: msm: Enable
RCU_STALL_WATCHDOG_BITE flag") to disable watchdog bites
during RCU stalls because RCU stalls may recover and killing
the system for very first RCU stall warning is an overkill.

Change-Id: I10b9d7858071f586fd3d1e925f18f7386890105a
Signed-off-by: Imran Khan <kimran@codeaurora.org>
2017-03-30 12:27:57 +05:30
Dedy Lansky
98b0bcfa6c wil6210: fix memory access violation in wil_memcpy_from/toio_32
In case count is not multiple of 4, there is a read access in
wil_memcpy_toio_32() from outside src buffer boundary.
In wil_memcpy_fromio_32(), in case count is not multiple of 4, there
is a write access to outside dst io memory boundary.

Fix these issues with proper handling of the last 1 to 4 copied bytes.

Change-Id: Iff7853bc4803a01449ddcee996a54a0dccc1db1a
Signed-off-by: Dedy Lansky <dlansky@codeaurora.org>
2017-03-29 23:00:32 -07:00
Andrew Chant
3a1ff8eac1 input: touchscreen: synaptics_dsx: Remove fw_update sysfs entries
Remove the sysfs entrypoints to fw_update of synaptics_dsx
touch driver.

BUG: 32769717
Change-Id: I1b2ea28e6a8c5c6c583077fbc6801ebb17447a38
Git-commit: 2615c5f302441568e6dd20007bc5246d72837e80
Git-repo: https://android.googlesource.com/kernel/msm.git
Signed-off-by: Andrew Chant <achant@google.com>
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2017-03-29 22:32:31 -07:00
Veerabhadrarao Badiganti
20bc196762 mmc: host: sdhci-msm: Skip reading GENERICS register in check_pwr_status
Skip checking the SWITCHABLE_SIGNALING_VOLTAGE bit of MCI_GENERICS
register while checking power status on SDHC v5.0 onwards.

This bit shows whether controller supports switching of IO signaling
voltage or not.  On SDHC v5.0, switchable signaling voltage support
is present by default and this bit was removed. So we can skip checking
this bit in case of v5.0 controller.

Without this patch, driver tries to read a non-existing bit field which is
causing driver to proceed without waiting for pwr-irq. In some case its
turning off the clock even before pwr irq finishes thus resulting in
un-clocked access errors.


Change-Id: I5beaf5bf043999522e3f2ec537568524c5aec4bf
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
2017-03-29 21:39:44 -07:00
Sahitya Tummala
b6d885842e fs: fat: ratelimit the IO errors
In case the application is still issuing the requests after
the low-level driver is shutdown, IO errors are expected.
Ratelimit those errors with the default ratelimit to avoid
watchdog bark issue in some cases.

Change-Id: Ida436cbf1be9556f456652e72bc1dac508abd047
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
2017-03-30 09:07:45 +05:30