Commit graph

586664 commits

Author SHA1 Message Date
John Youn
c451e3744b usb: dwc3: Workaround for irq mask issue
This is a workaround for STAR 9000961433 which affects only version
3.00a of the DWC_usb3 core. This prevents the controller interrupt from
being masked while handling events. Enabling interrupt moderation allows
us to work around this issue because once the GEVNTCOUNT.count is
written the IRQ is immediately deasserted and won't be asserted again
until GEVNTCOUNT.EHB is cleared.

Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Change-Id: I18d507ec98401341d08537cd347aefd940c24da0
Git-commit: 28632b44d129cd2dc677475197a01cced307cfc5
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[hemantk@codeaurora.org: Moved WA to dwc3_core_init()]
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2017-03-31 15:20:36 -07:00
John Youn
df622b1759 usb: dwc3: Implement interrupt moderation
Implement interrupt moderation which allows the interrupt rate to be
throttled. To enable this feature the dwc->imod_interval must be set to
1 or greater. This value specifies the minimum inter-interrupt interval,
in 250 ns increments. A value of 0 disables interrupt moderation.

This applies for DWC_usb3 version 3.00a and higher and for DWC_usb31
version 1.20a and higher.

Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Change-Id: I5c5997c6eea817e49102b8e080f3a9bcf45305b4
Git-commit: cf40b86b6ef6df5262ef5a8463b42524e6aa5590
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[hemantk@codeaurora.org: removed write to DWC3_DEV_IMOD in dwc3_interrupt,
and fixed merge conflicts]
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2017-03-31 15:19:34 -07:00
John Youn
4be0173416 usb: dwc3: Add a check for the DWC_usb3 core
Add a helper function to check if we are running on a DWC_usb3 core.

Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Change-Id: Ic0c3810b798df8bf34a2ad7e1879884e7bf3c8f5
Git-commit: a987a906e95c4d80a364629d6bcb7cf69d2018e4
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[mrana@codeaurora.org: resolved merge conflicts]
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2017-03-31 14:19:53 -07:00
John Youn
fc1a0913c1 usb: dwc3: DWC_usb31 controller check
Add a convenience function to check if the controller is DWC_usb31.

Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
Change-Id: I2f9080a4a54269790e3594d0e61a76bd37d8b2c9
Git-commit: c4137a9c841ec7fb300782d211f2d6907f4d6e20
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2017-03-31 14:19:27 -07:00
John Youn
e63417d73c usb: dwc3: gadget: clear events in top-half handler
Now that all the infrastructure is in place, we can
clear events in the top-half handler in order to
bring IRQ line low ASAP.

This is also a necessary step in order to implement
workaround for known erratum in follow-up patches.

Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Change-Id: Ic0823f85c0386045ab4865544bef0403ec047a99
Git-commit: 65aca3205046d159b2c79f7531203a53aec9cf35
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[hemantk@codeaurora.org: resolved merge conflict by replacing
DWC3_GEVNTCOUNT(0) with DWC3_GEVNTCOUNT(buf)]
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2017-03-31 14:14:15 -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
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
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
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
Subbaraman Narayanamurthy
688cf0d310 power: qpnp-fg-gen3: Whitelist the values in profile integrity word
While checking the profile integrity word to determine whether a
profile load is required or not, whitelist the values so that
profile loading cannot be skipped because of a garbage value
present.

Change-Id: Iff1d116541d07dbb39de966d98fa69b76aeab93d
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
2017-03-29 18:32:33 -07:00
Subbaraman Narayanamurthy
30e3afea93 power: qpnp-fg-gen3: Use votable for controlling delta_bsoc irq
Instead of using a flag to retain the interrupt enabled status
of delta_bsoc interrupt, switch it to use a votable instead. This
improves the readability of code by not worrying about the flag.

While at it, fix cleaning up the resources in some error paths
during driver probe.

Change-Id: I2c17a9d90c7b549435caa75da81f4c4779ea3344
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
2017-03-29 18:32:32 -07:00
Tony Truong
173f66be34 msm: pcie: add sysfs entry for PCIe enumeration
Create a sysfs entry for each RC (root complex) so
that clients can manually trigger enumeration from
userspace.

Change-Id: I88b1276d95a2a894759a2f122621e10e171d6528
Signed-off-by: Tony Truong <truong@codeaurora.org>
2017-03-29 18:30:39 -07:00
Arun KS
2e139766ca esoc: Fix user space corruption due to wrong data type
ESOC IOCTL was designed to transfer data of type unsigned int, but
was pushing data of unsigned long type. Hence causing data corruption
in user space. Fix this by changing put user to use unsigned int.

Change-Id: Ia233eedd76f1ca1ec3036889d6764e568ee975dd
Signed-off-by: Arun KS <arunks@codeaurora.org>
2017-03-29 17:25:35 -07:00
Mayank Rana
eae2d6033f usb: gadget: mtp: reset string descriptor's index with unbind
When USB host is re-enumerating USB MTP device multiple time, it
has been observed that USB MTP enumeration fails. USB MTP host
side environment (i.e. libmtp) is looking for USB MTP device to
pass string descriptor as "MTP" for successful enumeration. Due
to iInterface ID conflict, USB device is passing next interface
related string descriptor instead of USB MTP interface related
string descriptor. This results into no enumeration with USB MTP
configuration. Fix this issue by resetting mtp_string_defs string
descriptor id to zero, so next mtp_function_bind() call re-allocates
string ID.

CRs-Fixed: 2024744
Change-Id: Iad290ad480ccf23bd514a67128541d7ff67de1a5
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2017-03-29 16:53:21 -07:00
Harry Yang
c6484e6fec qcom: qnovo: Disable ok_to_qnovo right after charging stops
Disable ok_to_qnovo immediately after charging is disabled while pulse
train is in progress. The flag property ok_to_qnovo indicates qnovno
charging readiness, A delay in doing so could make a normal charging
stop mistakenly treated as an error.

Change-Id: If0c43a4e05b2e0f8cc0ce9a9edca15f466c7fbff
Signed-off-by: Harry Yang <harryy@codeaurora.org>
2017-03-29 15:10:10 -07:00
Harry Yang
b65cce9734 qcom: smb138x-charger: support two usb input properties
POWER_SUPPLY_PROP_INPUT_CURRENT_LIMITED - indicate if the switcher
	is acting in input limited state.
POWER_SUPPLY_PROP_CURRENT_MAX - set/get usb input current limit in
	parallel charger.

Change-Id: I3827735a3900680e3e79104e388c2712f12cbbfb
Signed-off-by: Harry Yang <harryy@codeaurora.org>
2017-03-29 14:52:01 -07:00