OSDN Git Service
Vijayavardhan Vennapusa [Wed, 5 Apr 2017 07:07:46 +0000 (12:37 +0530)]
usb: gadget: f_mass_storage: Perform async runtime suspend after ep disable
commit
82f29356165b6a584 ("usb: gadget: f_mass_storage: Allow USB LPM
upon ep disable") decrements power usage count by 1 for dwc3 device
in thread handler as part of do_set_interface(). fsg_disable() and
fsg_unbind() will raise exception for status change so that status change
is handled in thread handler. Due to this, there is a chance that
fsg_thread can run two times and results in calling do_set_interface()
twice for disabling endpoints. This causes decrementing power usage count
two times instead of 1 and power usage count can become negative. If cable
is disconnected at this time, it could cause unclocked access or fsg_thread
gets stuck. common->fsg bieng non NULL confirms that MSC interface is being
enabled. Hence fix the issue by decrementing power usage count only right
after disbling endpoints as disabling endpoints happens once due to check
of common->fsg.
Change-Id: Ia870838f5a7055436b7412fec5910b5cdbb42de2
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Linux Build Service Account [Sat, 1 Apr 2017 04:24:37 +0000 (21:24 -0700)]
Merge "ANDROID: ion: check for kref overflow"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:36 +0000 (21:24 -0700)]
Merge "qcom: qnovo: Fix PCURx reporting error"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:35 +0000 (21:24 -0700)]
Merge "drivers: net: rmnet: Initial implementation"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:34 +0000 (21:24 -0700)]
Merge "msm: mdss: re-configure DP mainlink clocks during link training"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:33 +0000 (21:24 -0700)]
Merge "ARM: dts: msm: add sde rotator reg bus scale properties"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:32 +0000 (21:24 -0700)]
Merge "sde: rotator: add support to configure bus scale vectors"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:30 +0000 (21:24 -0700)]
Merge "msm: mdss: Update write gather register value for MDSS"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:29 +0000 (21:24 -0700)]
Merge "ARM: dts: msm: update vote on ldo11 for amoled panel on sdm630"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:28 +0000 (21:24 -0700)]
Merge "msm: mdss: make hpd call asynchronous for HDMI in certain cases"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:27 +0000 (21:24 -0700)]
Merge "msm: mdss: dp: set failsafe link params when DPCD read fails"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:26 +0000 (21:24 -0700)]
Merge "trace: ipc_logging: Avoid buffer overflow in ipc_log_string()"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:26 +0000 (21:24 -0700)]
Merge "msm: pcie: log PCIe LTSSM state during link training"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:25 +0000 (21:24 -0700)]
Merge "power: smb-lib: Rerun APSD regardless of charger-type"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:24 +0000 (21:24 -0700)]
Merge "usb: gadget: f_mass_storage: Perform async runtime resume upon set_alt"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:23 +0000 (21:24 -0700)]
Merge "qcom: smb-lib: Disable HW trigger when forcing sink-only mode"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:22 +0000 (21:24 -0700)]
Merge "ARM: dts: msm: Update GFX PM-QoS values for SDM630"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:21 +0000 (21:24 -0700)]
Merge "net: ipv6: Add early demux handler for UDP unicast"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:21 +0000 (21:24 -0700)]
Merge "drm/msm: Add performance counter tracking"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:20 +0000 (21:24 -0700)]
Merge "icnss: Separate debug and verbose log"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:19 +0000 (21:24 -0700)]
Merge "msm: qpnp-haptic: Enable HW auto-resonance for PM660"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:18 +0000 (21:24 -0700)]
Merge "msm_11ad: 11AD SMMU changes to allow enabling of SMMU stage1"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:17 +0000 (21:24 -0700)]
Merge "msm: media: Allocate extra memory after alignment"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:17 +0000 (21:24 -0700)]
Merge "soc: qcom: spcom: lock ion buf, decrement ref count if no free entry"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:16 +0000 (21:24 -0700)]
Merge "diag: Add support for header untagging"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:15 +0000 (21:24 -0700)]
Merge "ASoC: codecs: Correct stream name, add dapm sync"
Linux Build Service Account [Sat, 1 Apr 2017 04:24:14 +0000 (21:24 -0700)]
Merge "drivers: soc: Add mutex lock in audio_notifier_late_init"
Daniel Rosenberg [Tue, 6 Dec 2016 00:28:28 +0000 (16:28 -0800)]
ANDROID: ion: check for kref overflow
Userspace can cause the kref to handles to increment
arbitrarily high. Ensure it does not overflow.
Signed-off-by: Daniel Rosenberg <drosen@google.com>
Bug:
31992382
Test: See bug for poc
Change-Id: I6bff1df385742b1d836d43180dc87fadcea80782
Git-repo: https://android.googlesource.com/kernel/msm
Git-commit:
0c702db4d90de88df11057bcf0d8fb2dfe741605
Signed-off-by: Dennis Cagle <d-cagle@codeaurora.org>
Harry Yang [Fri, 31 Mar 2017 21:28:20 +0000 (14:28 -0700)]
qcom: qnovo: Fix PCURx reporting error
PCURx[MSB:LSB] is a 14-bit signed raw data, but treated as two full bytes
during reg reading, as a result bit 14 and 15 are filled with 0s. When
the raw data is negative, the mistreated reading gives positive result.
Hence the eventual PCURx after applying the gain and offset corrections
is incorrect.
Fix it by extending sign bit when negative.
Change-Id: Ia35406809355bd5e2d6cfeb890dd870430e38f66
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Subash Abhinov Kasiviswanathan [Mon, 13 Mar 2017 02:40:24 +0000 (20:40 -0600)]
drivers: net: rmnet: Initial implementation
RmNet driver provides a transport agnostic MAP (multiplexing and
aggregation protocol) support in embedded and bridge modes. Module
provides virtual network devices which can be attached to any IP-mode
physical device. This will be used to provide all MAP functionality
on future hardware in a single consistent location.
CRs-Fixed:
2022292
Change-Id: I4dd0f4fcf00bbf9dcbec65cec82436d48a813ecc
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
Deepak Kumar [Fri, 24 Mar 2017 11:58:58 +0000 (17:28 +0530)]
ARM: dts: msm: Update GFX PM-QoS values for SDM630
Update GFX PM-QoS entries according to the measured
LPM latencies for SDM630 to prevent l2-pc.
Change-Id: I3a59a26bf19d79393c4b45c8a3b243897f3f6eb2
Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
Anirudh Ghayal [Mon, 27 Mar 2017 10:49:20 +0000 (16:19 +0530)]
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>
Mayank Rana [Wed, 15 Mar 2017 23:12:35 +0000 (16:12 -0700)]
usb: gadget: f_mass_storage: Perform async runtime resume upon set_alt
commit
82f29356165b6a584 ("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>
Jack Pham [Thu, 30 Mar 2017 16:53:53 +0000 (09:53 -0700)]
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>
Linux Build Service Account [Thu, 30 Mar 2017 22:31:40 +0000 (15:31 -0700)]
Merge "drm/msm: Remove ringbuffer restriction from idle"
Linux Build Service Account [Thu, 30 Mar 2017 22:31:39 +0000 (15:31 -0700)]
Merge "drm/msm: Update registers for performance counters"
Linux Build Service Account [Thu, 30 Mar 2017 22:31:38 +0000 (15:31 -0700)]
Merge "ARM: dts: msm: Update QoS priority for pimem bus master for sdm660"
Linux Build Service Account [Thu, 30 Mar 2017 22:31:38 +0000 (15:31 -0700)]
Merge "msm_serial_hs: Change GPIO config sequence during runtime resume/suspend"
Linux Build Service Account [Thu, 30 Mar 2017 22:31:35 +0000 (15:31 -0700)]
Merge "msm: sde: Protect concurrent access to resources in SDE rotator"
Linux Build Service Account [Thu, 30 Mar 2017 22:31:34 +0000 (15:31 -0700)]
Merge "msm-4.4: driver to create cld80211 nl family at bootup time"
Linux Build Service Account [Thu, 30 Mar 2017 22:31:33 +0000 (15:31 -0700)]
Merge "wil6210: do not start regular scan on stopped p2p device"
Linux Build Service Account [Thu, 30 Mar 2017 22:31:32 +0000 (15:31 -0700)]
Merge "msm: ipa: Fix to reset the sticky_rear flag"
Linux Build Service Account [Thu, 30 Mar 2017 22:31:29 +0000 (15:31 -0700)]
Merge "usb: gadget: mtp: reset string descriptor's index with unbind"
Linux Build Service Account [Thu, 30 Mar 2017 22:31:28 +0000 (15:31 -0700)]
Merge "esoc: Fix user space corruption due to wrong data type"
Linux Build Service Account [Thu, 30 Mar 2017 22:31:27 +0000 (15:31 -0700)]
Merge "qseecom: fix macro QSEECOM_ALIGN definition issue"
Linux Build Service Account [Thu, 30 Mar 2017 22:31:26 +0000 (15:31 -0700)]
Merge "qcom: qnovo: Disable ok_to_qnovo right after charging stops"
Linux Build Service Account [Thu, 30 Mar 2017 22:31:24 +0000 (15:31 -0700)]
Merge "qcom: smb138x-charger: support two usb input properties"
Linux Build Service Account [Thu, 30 Mar 2017 22:31:23 +0000 (15:31 -0700)]
Merge "qcom: smblib: supsend USB input during boost"
Linux Build Service Account [Thu, 30 Mar 2017 22:31:22 +0000 (15:31 -0700)]
Merge "ARM: dts: msm: Specify smb138x vbus regulator for USBIN-USBIN"
Linux Build Service Account [Thu, 30 Mar 2017 22:31:21 +0000 (15:31 -0700)]
Merge "msm: hdmi: edid: fix parsing of 4K resolution from DTD"
Linux Build Service Account [Thu, 30 Mar 2017 22:31:20 +0000 (15:31 -0700)]
Merge "ARM: dts: msm: Correct primary camera mount angle on SDM660"
Jack Pham [Thu, 30 Mar 2017 01:59:37 +0000 (18:59 -0700)]
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>
Linux Build Service Account [Thu, 30 Mar 2017 14:20:58 +0000 (07:20 -0700)]
Merge "soc: qcom: fix to avoid multiple memory allocations"
Linux Build Service Account [Thu, 30 Mar 2017 14:20:53 +0000 (07:20 -0700)]
Merge "input: touchpanel: Add ST Touchscreen version 4.1.0 driver"
Linux Build Service Account [Thu, 30 Mar 2017 14:20:49 +0000 (07:20 -0700)]
Merge "mmc: host: sdhci-msm: Skip reading GENERICS register in check_pwr_status"
Linux Build Service Account [Thu, 30 Mar 2017 14:20:46 +0000 (07:20 -0700)]
Merge "wil6210: fix memory access violation in wil_memcpy_from/toio_32"
Linux Build Service Account [Thu, 30 Mar 2017 14:20:43 +0000 (07:20 -0700)]
Merge "fs: fat: ratelimit the IO errors"
Linux Build Service Account [Thu, 30 Mar 2017 14:20:37 +0000 (07:20 -0700)]
Merge "power: qpnp-fg-gen3: Whitelist the values in profile integrity word"
Linux Build Service Account [Thu, 30 Mar 2017 14:20:35 +0000 (07:20 -0700)]
Merge "diag: Fix race condition while accessing mdlog session info"
Linux Build Service Account [Thu, 30 Mar 2017 14:20:31 +0000 (07:20 -0700)]
Merge "soc: qcom: glink_ssr: Add kref for cb_data"
Linux Build Service Account [Thu, 30 Mar 2017 14:20:28 +0000 (07:20 -0700)]
Merge "msm: pcie: add sysfs entry for PCIe enumeration"
Linux Build Service Account [Thu, 30 Mar 2017 14:20:25 +0000 (07:20 -0700)]
Merge "input: touchscreen: synaptics_dsx: Remove fw_update sysfs entries"
Linux Build Service Account [Thu, 30 Mar 2017 14:20:22 +0000 (07:20 -0700)]
Merge "mmc: sdhci-msm: Change pm_qos cpu groups latency to PM_QOS_DEFAULT_VALUE"
Linux Build Service Account [Thu, 30 Mar 2017 14:20:20 +0000 (07:20 -0700)]
Merge "ARM: dts: msm: enable display for SDM630 PM660A QRD"
Linux Build Service Account [Thu, 30 Mar 2017 14:20:17 +0000 (07:20 -0700)]
Merge "ASoC: sdm660-cdc: Change val_bits to 8 from 32 in digital cdc regmap"
Odelu Kukatla [Thu, 23 Mar 2017 04:43:09 +0000 (10:13 +0530)]
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>
Mukesh Kumar Savaliya [Sun, 12 Mar 2017 07:19:31 +0000 (12:49 +0530)]
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>
chenx [Tue, 21 Mar 2017 13:11:25 +0000 (21:11 +0800)]
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>
Utkarsh Saxena [Tue, 28 Mar 2017 17:21:46 +0000 (22:51 +0530)]
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>
Dedy Lansky [Tue, 28 Mar 2017 18:25:42 +0000 (21:25 +0300)]
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>
Andrew Chant [Fri, 10 Mar 2017 06:47:47 +0000 (12:17 +0530)]
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>
Veerabhadrarao Badiganti [Mon, 27 Mar 2017 17:16:20 +0000 (22:46 +0530)]
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>
Sahitya Tummala [Tue, 28 Mar 2017 08:19:34 +0000 (13:49 +0530)]
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>
Subbaraman Narayanamurthy [Mon, 20 Mar 2017 21:37:54 +0000 (14:37 -0700)]
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>
Subbaraman Narayanamurthy [Wed, 15 Mar 2017 19:47:00 +0000 (12:47 -0700)]
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>
Tony Truong [Tue, 28 Feb 2017 02:30:13 +0000 (18:30 -0800)]
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>
Arun KS [Tue, 7 Feb 2017 13:11:25 +0000 (18:41 +0530)]
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>
Mayank Rana [Tue, 28 Mar 2017 22:17:03 +0000 (15:17 -0700)]
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>
Subash Abhinov Kasiviswanathan [Thu, 23 Mar 2017 03:50:49 +0000 (21:50 -0600)]
net: ipv6: Add early demux handler for UDP unicast
While running a single stream UDPv6 test, we observed that amount
of CPU spent in NET_RX softirq was much greater than UDPv4 for an
equivalent receive rate. The test here was run on an ARM64 based
Android system. On further analysis with perf, we found that UDPv6
was spending significant time in the statistics netfilter targets
which did socket lookup per packet. These statistics rules perform
a lookup when there is no socket associated with the skb. Since
there are multiple instances of these rules based on UID, there
will be equal number of lookups per skb.
By introducing early demux for UDPv6, we avoid the redundant lookups.
This also helped to improve the performance (800Mbps -> 870Mbps) on a
CPU limited system in a single stream UDPv6 receive test with 1450
byte sized datagrams using iperf.
v1->v2: Use IPv6 cookie to validate dst instead of 0 as suggested
by Eric
CRs-Fixed:
1114946
Change-Id: I2a59058656863c2e20629fe30fbbe3847319f439
Git-commit:
5425077d73e0c8e7e9267ca8397cc0e2293c1fb9
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Harry Yang [Fri, 24 Mar 2017 06:43:53 +0000 (23:43 -0700)]
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>
Harry Yang [Fri, 24 Mar 2017 00:34:46 +0000 (17:34 -0700)]
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>
Harry Yang [Thu, 23 Mar 2017 05:45:25 +0000 (22:45 -0700)]
qcom: smblib: supsend USB input during boost
In parallel configuration, suspend one charger usb input before the
other enters boost mode. Even more so in USBIN-USBIN mode.
Change-Id: I63728421b7697e70bbd83c4c82203b7ebafdaa9f
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Harry Yang [Wed, 15 Mar 2017 21:40:46 +0000 (14:40 -0700)]
ARM: dts: msm: Specify smb138x vbus regulator for USBIN-USBIN
Expose vbus regulator from smb138x in USBIN-USBIN parallel mode.
Change-Id: I3581cbc7ffade0d25363038c25e40e35bd4fce28
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Abhijeet Dharmapurikar [Thu, 23 Mar 2017 18:25:11 +0000 (11:25 -0700)]
pmic-voter: bump up from 8 clients to 16
The current code only supports 8 clients max. There are
situations where we will need more than that.
Bump it up to 16.
Change-Id: I7a32f67b3a4579ec79eb4f0e2a971a1a3a29a7c1
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Linux Build Service Account [Wed, 29 Mar 2017 21:30:49 +0000 (14:30 -0700)]
Merge "msm: isp: Fix stream off failure in LPM"
Linux Build Service Account [Wed, 29 Mar 2017 21:30:47 +0000 (14:30 -0700)]
Merge "qcom: smb2: Disable parallel charging on qnovo charging below 2A"
Linux Build Service Account [Wed, 29 Mar 2017 21:30:44 +0000 (14:30 -0700)]
Merge "qpnp-fg-gen3: use IMA single mode for pm660 fuel gauge"
Linux Build Service Account [Wed, 29 Mar 2017 21:30:43 +0000 (14:30 -0700)]
Merge "usb: phy: qmp: Select usb3 phy mode during PHY reset"
Linux Build Service Account [Wed, 29 Mar 2017 21:30:42 +0000 (14:30 -0700)]
Merge "msm: ispif: fix a bug in checking the validity of vfe intf"
Aravind Venkateswaran [Sat, 11 Mar 2017 01:26:49 +0000 (17:26 -0800)]
msm: mdss: dp: set failsafe link params when DPCD read fails
For DPCD read failures, set link parameters corresponding to
the fail safe link resolution to conform to the display port
specification.
CRs-Fixed:
2010344
Change-Id: I06f56f508fe7adcb9e76f1a8597fc59cdadd741b
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Aravind Venkateswaran [Wed, 15 Mar 2017 22:23:26 +0000 (15:23 -0700)]
msm: hdmi: edid: fix parsing of 4K resolution from DTD
Detailed Timing Descriptors (DTDs) listed in the EDID data contain
the information about the horizontal addressable video pixels for
each resolution. The maximum value that can be specified for this
field is 4095. In certain instances, a sink may list a resolution
with 4096 horizontal addressable video pixels in the DTD by listing
a value of 4095. If this value is parsed as is, it can lead to
incorrect behavior. Fix this by explicitly updating the value to
4096.
CRs-Fixed:
2020154
Change-Id: I035bbef7d245c7cdd75a5bba8719fcca4592d8b7
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Zhen Kong [Sat, 6 Feb 2016 01:46:40 +0000 (17:46 -0800)]
qseecom: fix macro QSEECOM_ALIGN definition issue
In macro QSEECOM_ALIGN, change (x + QSEECOM_ALIGN_SIZE) to
(x + QSEECOM_ALIGN_MASK); otherwise, when x is already aligned,
QSEECOM_ALIGN(x) will get (x + QSEECOM_ALIGN_SIZE), but it should
be x. Also, remove the dulplicate QSEECOM_ALIGN definition
in hdcp.c and mpq_sdmx.c, since they already include
"qseecom_kernel.h"
Change-Id: I9dbcadb618372fce71c2ff7ab62ca691afe7c7fa
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
Tony Truong [Wed, 29 Mar 2017 18:28:44 +0000 (11:28 -0700)]
msm: pcie: log PCIe LTSSM state during link training
During link training, capture RC LTSSM state every 5ms
until link comes up or fails. Output will be stored
in PCIe IPC logs.
Change-Id: I41a0bbc75144ea77dfa61374dbcc5591ca63b28f
Signed-off-by: Tony Truong <truong@codeaurora.org>
Jordan Crouse [Wed, 29 Mar 2017 13:59:56 +0000 (07:59 -0600)]
drm/msm: Add performance counter tracking
Adreno GPUs have a certain number of fixed performance counters
most of which can be programmed to a large number of different
items (countables). A centralized database in the kernel is
needed to make the most efficient use of counters across processes.
Add performance counter tracking and APIs to allow applications to
reserve performance counters by requesting a group ID and a countable
(countables differ from block to block). The kernel will check to
see if an active counter is already selected for that countable or
if a new one should be assigned. Different processes can share the
same counter if they both need the same countable.
Counters are reserved with DRM_IOCTL_MSM_COUNTER_GET which returns
a counter ID for the reserved counter and the hi/lo offset of
the counter register. The reserving application can either read the
counter from within a PM4 stream or it can use the group ID and
counter ID and read the value of the counter with
DRM_MSM_COUNTER_READ. After the counter is no longer needed
DRM_IOCTL_MSM_COUNTER_PUT returns it and it can be released for
other countables if no other processes are sharing it.
Reservations are tracked for each process and cleaned up if the
process dies without putting back the counters.
Change-Id: Ic0dedbadc45e85ab0063331b39ca6f3289523038
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Jordan Crouse [Wed, 29 Mar 2017 13:59:55 +0000 (07:59 -0600)]
drm/msm: Remove ringbuffer restriction from idle
Remove the check in a5xx_idle() to see if idle is being called
on the current ring. a5xx_idle() is to used make sure the
commands in the specified ring have completed and it is entirely
reasonably to expect that a ring switch might need to be
executed first.
Change-Id: Ic0dedbadf45c7f624093efae72f3a9d75dc6857d
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Jordan Crouse [Wed, 29 Mar 2017 13:59:55 +0000 (07:59 -0600)]
drm/msm: Update registers for performance counters
Update a5xx rnddb database to add some VBIF registers for clearing
and enabling performance counters.
Change-Id: Ic0dedbada994e916527e8c44e2cf0a20115985a9
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Linux Build Service Account [Wed, 29 Mar 2017 13:49:33 +0000 (06:49 -0700)]
Merge "ath10k: Use atomic read for fw_crashed state"
Linux Build Service Account [Wed, 29 Mar 2017 13:49:32 +0000 (06:49 -0700)]
Merge "ASoC: msm: add support for ADSP Stream Cmd and Callback"
Linux Build Service Account [Wed, 29 Mar 2017 13:49:32 +0000 (06:49 -0700)]
Merge "soc: qcom: pil: Explicitly clear the subsystem loading address"
Linux Build Service Account [Wed, 29 Mar 2017 13:49:31 +0000 (06:49 -0700)]
Merge "soc: qcom: Separate out qmi handle destruction and PD notification"