OSDN Git Service

sagit-ice-cold/kernel_xiaomi_msm8998.git
6 years agodrm/msm: add SRM support for HDCP 2.2
Abhinav Kumar [Thu, 28 Sep 2017 03:23:53 +0000 (20:23 -0700)]
drm/msm: add SRM support for HDCP 2.2

Add support for clients to notify SRM update
to HDCP driver.

This shall also notify all the clients registered
with the HDCP driver to take further action on an
updated SRM list.

Change-Id: I2881e53fa15a11e4af57cdb632a71e1ad48c31b3
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
6 years agoMerge "msm: camera: isp: Reset frameskip range during streamoff"
Linux Build Service Account [Mon, 16 Oct 2017 09:48:26 +0000 (02:48 -0700)]
Merge "msm: camera: isp: Reset frameskip range during streamoff"

6 years agoMerge "usb: f_qdss: Use QDSS string descriptor with QDSS interface descriptor"
Linux Build Service Account [Sat, 14 Oct 2017 06:12:42 +0000 (23:12 -0700)]
Merge "usb: f_qdss: Use QDSS string descriptor with QDSS interface descriptor"

6 years agoMerge "crypto: msm: fix authdata copy issue in qcedev_sha_req_cb"
Linux Build Service Account [Sat, 14 Oct 2017 06:12:41 +0000 (23:12 -0700)]
Merge "crypto: msm: fix authdata copy issue in qcedev_sha_req_cb"

6 years agoMerge "msm: kgsl: Add a check for availability of RBBM timer clock"
Linux Build Service Account [Fri, 13 Oct 2017 19:12:17 +0000 (12:12 -0700)]
Merge "msm: kgsl: Add a check for availability of RBBM timer clock"

6 years agoMerge "clk: msm: Fix dummy clock fixed rate setting issue"
Linux Build Service Account [Fri, 13 Oct 2017 19:12:16 +0000 (12:12 -0700)]
Merge "clk: msm: Fix dummy clock fixed rate setting issue"

6 years agoMerge "soc: qcom: Create additional ramdump device node for SSR minidump"
Linux Build Service Account [Fri, 13 Oct 2017 19:12:15 +0000 (12:12 -0700)]
Merge "soc: qcom: Create additional ramdump device node for SSR minidump"

6 years agoMerge "soc: qcom: Optimize minidump collection check and add debug log"
Linux Build Service Account [Fri, 13 Oct 2017 19:12:14 +0000 (12:12 -0700)]
Merge "soc: qcom: Optimize minidump collection check and add debug log"

6 years agoMerge "drivers: swr-wcd-ctrl: Fix wsa mute at boot"
Linux Build Service Account [Fri, 13 Oct 2017 19:12:13 +0000 (12:12 -0700)]
Merge "drivers: swr-wcd-ctrl: Fix wsa mute at boot"

6 years agocrypto: msm: fix authdata copy issue in qcedev_sha_req_cb
Zhen Kong [Mon, 18 Sep 2017 19:59:23 +0000 (12:59 -0700)]
crypto: msm: fix authdata copy issue in qcedev_sha_req_cb

qcedev_sha_req_cb() is only called by _sha_complete() during sha
operation, and will copy byte_count value from authdata array.
This array size is two, and only contains two byte_count value
that are used for sha operation. So make change to only copy the
first two elements from this array.

Change-Id: I535f2ec0e358870a9a2163b3c0bf154b2c8d003f
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
6 years agoMerge "cnss2: Add multiple recoveries support without WLAN host driver"
Linux Build Service Account [Fri, 13 Oct 2017 09:11:10 +0000 (02:11 -0700)]
Merge "cnss2: Add multiple recoveries support without WLAN host driver"

6 years agoMerge "power: qpnp-fg-gen3: Improve the accuracy of charge_counter"
Linux Build Service Account [Fri, 13 Oct 2017 09:11:07 +0000 (02:11 -0700)]
Merge "power: qpnp-fg-gen3: Improve the accuracy of charge_counter"

6 years agoMerge "icnss: Re-probe if driver probe returns error of defer"
Linux Build Service Account [Fri, 13 Oct 2017 09:11:06 +0000 (02:11 -0700)]
Merge "icnss: Re-probe if driver probe returns error of defer"

6 years agoMerge "ARM: dts: msm: Add verify flag in fs_mgr of vendor"
Linux Build Service Account [Fri, 13 Oct 2017 09:11:05 +0000 (02:11 -0700)]
Merge "ARM: dts: msm: Add verify flag in fs_mgr of vendor"

6 years agoMerge "USB: rndis: Honor dl_max_packet_size value sent by host"
Linux Build Service Account [Fri, 13 Oct 2017 09:11:04 +0000 (02:11 -0700)]
Merge "USB: rndis: Honor dl_max_packet_size value sent by host"

6 years agoMerge "drivers/misc: dont send content stream type for HDMI sinks"
Linux Build Service Account [Fri, 13 Oct 2017 09:11:03 +0000 (02:11 -0700)]
Merge "drivers/misc: dont send content stream type for HDMI sinks"

6 years agoclk: msm: Fix dummy clock fixed rate setting issue
Zhiqiang Tu [Thu, 12 Oct 2017 09:27:49 +0000 (17:27 +0800)]
clk: msm: Fix dummy clock fixed rate setting issue

Set fixed rate in of_dummy_get since dummy_clk_dt_parser
is not called.

Change-Id: Id33be0a00a0a29100618f5fd25a917983f654025
Signed-off-by: Zhiqiang Tu <ztu@codeaurora.org>
6 years agopower: qpnp-fg-gen3: Improve the accuracy of charge_counter
Subbaraman Narayanamurthy [Wed, 13 Sep 2017 23:38:40 +0000 (16:38 -0700)]
power: qpnp-fg-gen3: Improve the accuracy of charge_counter

Currently, charge_counter is based off CC_SOC_SW which is based
off coulomb counter. However, there could be some accumulation
of error due to inaccuracy in ADC over time. This can potentially
affect the accuracy of charge_counter. To overcome this, prime
CC_SOC_SW during discharging based off battery SOC and to a full
value during charge termination.

While at it, expose the charge_counter_shadow property based off
battery SOC for comparison.

CRs-Fixed: 2109421
Change-Id: I50de44afbdbd747db95946416a09062df205fd6c
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
6 years agopower: qpnp-fg-gen3: Clear charge_full flag during discharging
Subbaraman Narayanamurthy [Thu, 5 Oct 2017 23:05:16 +0000 (16:05 -0700)]
power: qpnp-fg-gen3: Clear charge_full flag during discharging

When SOC is held @ 100% after charge termination, charge_full
flag is cleared only when the monotonic SOC drops below recharge
SOC threshold. This can cause the flag to be held for a long time
when the charger is removed. Fix this by clearing charge_full
flag when charging status had changed from FULL.

Change-Id: I35b52ddc45f314347f0e4d8433d5fb550663267c
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
6 years agoicnss: Re-probe if driver probe returns error of defer
Yuanyuan Liu [Tue, 10 Oct 2017 00:58:17 +0000 (17:58 -0700)]
icnss: Re-probe if driver probe returns error of defer

If wlan driver probe returns error of defer, platform driver will
try to recover by calling probe again. The maximun probe count
is 2.

CRs-Fixed: 2124152
Change-Id: Ic973d0f1d76fc59ce5950397d42a9e778cacaa5a
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
6 years agoMerge "media: v4l2-compat-ioctl32: memset stack union in compat ioctl"
Linux Build Service Account [Thu, 12 Oct 2017 12:07:53 +0000 (05:07 -0700)]
Merge "media: v4l2-compat-ioctl32: memset stack union in compat ioctl"

6 years agoMerge "power: fg-util: Wait for soc_update completion upon timeout"
Linux Build Service Account [Thu, 12 Oct 2017 12:07:52 +0000 (05:07 -0700)]
Merge "power: fg-util: Wait for soc_update completion upon timeout"

6 years agoMerge "input: touchpanel: fix TP frozen when ST's TP firstly probe up"
Linux Build Service Account [Thu, 12 Oct 2017 12:07:51 +0000 (05:07 -0700)]
Merge "input: touchpanel: fix TP frozen when ST's TP firstly probe up"

6 years agoMerge "cnss2: Keep a default copy of PCI config space"
Linux Build Service Account [Thu, 12 Oct 2017 12:07:50 +0000 (05:07 -0700)]
Merge "cnss2: Keep a default copy of PCI config space"

6 years agoMerge "usb: gadget: gsi: Defer freeing memory on free_inst if in use"
Linux Build Service Account [Thu, 12 Oct 2017 12:07:49 +0000 (05:07 -0700)]
Merge "usb: gadget: gsi: Defer freeing memory on free_inst if in use"

6 years agoMerge "mdss: dp: fix the NVID parameter calculation for Display Port"
Linux Build Service Account [Thu, 12 Oct 2017 12:07:48 +0000 (05:07 -0700)]
Merge "mdss: dp: fix the NVID parameter calculation for Display Port"

6 years agoMerge "ARM: dts: msm: add the dtsi entries for DP PLL clocks for msm8998"
Linux Build Service Account [Thu, 12 Oct 2017 12:07:47 +0000 (05:07 -0700)]
Merge "ARM: dts: msm: add the dtsi entries for DP PLL clocks for msm8998"

6 years agoARM: dts: msm: Add verify flag in fs_mgr of vendor
Sachin Grover [Thu, 12 Oct 2017 10:09:10 +0000 (15:39 +0530)]
ARM: dts: msm: Add verify flag in fs_mgr of vendor

Add verify flag in fs_mgr of vendor label to enable
verity on vendor partition for sdm630, sdm660 & msm8998.

Change-Id: I172b3f8da55059658bb0caff5c8b2cab905a21ad
Signed-off-by: Sachin Grover <sgrover@codeaurora.org>
6 years agopower: qpnp-fg-gen3: Use disable_irq_nosync for disabling interrupts
Subbaraman Narayanamurthy [Fri, 29 Sep 2017 23:07:28 +0000 (16:07 -0700)]
power: qpnp-fg-gen3: Use disable_irq_nosync for disabling interrupts

Delta battery SOC interrupt can fire during boot just after
registering the interrupts before disabling it through vote() on
delta_bsoc_irq_en_votable during driver probe. When this happens,
from the delta_bsoc interrupt handler, an attempt to disable the
interrupt can be made by fg_charge_full_update() if charge_done
is not set. This will in turn acquire the mutex lock of votable
while trying to do disable_irq() which needs synchronization.

Prevent this situation by using disable_irq_nosync() when
disabling the interrupts from votable callbacks.

CRs-Fixed: 2125269
Change-Id: I1b617c4afd39c544ce79f9396030b730c55445a7
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
6 years agopower: fg-util: Wait for soc_update completion upon timeout
Subbaraman Narayanamurthy [Fri, 22 Sep 2017 02:50:56 +0000 (19:50 -0700)]
power: fg-util: Wait for soc_update completion upon timeout

Currently, wait for soc_update completion is attempted once again
only when the wait is interrupted. Try waiting again even when it
is timed out. This should help IMA_ATOMIC transactions go through
reliably.

Change-Id: I8d31fc41020b8c05ff4d562ae205eaa278d7ffcb
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
6 years agoinput: touchpanel: fix TP frozen when ST's TP firstly probe up
Jin Fu [Tue, 10 Oct 2017 06:14:55 +0000 (14:14 +0800)]
input: touchpanel: fix TP frozen when ST's TP firstly probe up

Set TP to display-unblank status when firstly probe up, so that
TP can detect interrupt and report touch event without press
power key.

Change-Id: I6e4ea48551463c6d0f747987d7c255987e3a11df
Signed-off-by: Jin Fu <jinf@codeaurora.org>
6 years agoMerge "Revert "drm/msm: remove the right vlbank event from the event list""
Linux Build Service Account [Thu, 12 Oct 2017 03:04:16 +0000 (20:04 -0700)]
Merge "Revert "drm/msm: remove the right vlbank event from the event list""

6 years agoMerge "ASoC: audio: add APIs to query for AVS version"
Linux Build Service Account [Thu, 12 Oct 2017 03:04:15 +0000 (20:04 -0700)]
Merge "ASoC: audio: add APIs to query for AVS version"

6 years agousb: gadget: gsi: Defer freeing memory on free_inst if in use
Liangliang Lu [Sun, 17 Sep 2017 07:34:55 +0000 (15:34 +0800)]
usb: gadget: gsi: Defer freeing memory on free_inst if in use

In the case of gsi_free_inst() called, whole f_gst structure is freed.
GSI control related API like gsi_ctrl_dev_poll do not check if f_gsi
is freed or not, only check gsi_ctrl_port is NULL or not.

If GSI driver is opened by userspace, gsi_free_inst() is executed,
mark inst_exist to false but do not free instance structures and
deregister misc device until misc device is closed.

Besides, in the GSI control related API read/write/ioctl/poll,
check if GSI instance is freed or not.

Change-Id: I4245964989a1284f5180efb69b64bd63e9104059
Signed-off-by: Liangliang Lu <luliang@codeaurora.org>
6 years agocnss2: Add multiple recoveries support without WLAN host driver
Yue Ma [Wed, 11 Oct 2017 18:25:17 +0000 (11:25 -0700)]
cnss2: Add multiple recoveries support without WLAN host driver

In order to support multiple recoveries without WLAN host driver,
clear recovery flag properly for debug state and also move WLAN
host driver ops check to proper place during powerup and shutdown.

Change-Id: I8cb17a495f6106bd07fe29dba282d4168c9f7411
CRs-fixed: 2124999
Signed-off-by: Yue Ma <yuem@codeaurora.org>
6 years agocnss2: Keep a default copy of PCI config space
Yue Ma [Mon, 2 Oct 2017 18:02:49 +0000 (11:02 -0700)]
cnss2: Keep a default copy of PCI config space

Since PCIe bus driver is going to deprecate msm_pcie_recover_config
API, PCIe device driver needs to keep a default copy of PCI config
space after PCI probe which will be used for recovering config space
for SSR and PCI linkdown recovery.

Change-Id: I4fb0db35770d616ad75b8b7329f99fd6a40e9385
CRs-fixed: 2124999
Signed-off-by: Yue Ma <yuem@codeaurora.org>
6 years agoMerge "locking/osq_lock: Fix osq_lock queue corruption"
Linux Build Service Account [Wed, 11 Oct 2017 06:22:10 +0000 (23:22 -0700)]
Merge "locking/osq_lock: Fix osq_lock queue corruption"

6 years agomsm: kgsl: Add a check for availability of RBBM timer clock
Archana Obannagari [Tue, 3 Oct 2017 12:15:56 +0000 (17:45 +0530)]
msm: kgsl: Add a check for availability of RBBM timer clock

Before calling kgsl_pwrctrl_clk_set_rate(), make sure the
RBBM timer clock is available. This avoids warning messages
in the driver log.

Change-Id: I0cd21b7253c802e8522d570056c8aeda02729267
Signed-off-by: Archana Obannagari <aobann@codeaurora.org>
6 years agodrivers/misc: dont send content stream type for HDMI sinks
Abhinav Kumar [Fri, 6 Oct 2017 02:14:01 +0000 (19:14 -0700)]
drivers/misc: dont send content stream type for HDMI sinks

Remove sending the content stream type message for HDMI sinks.
This message is applicable only for DP receivers.

Sending this message for HDMI sinks is a write to unknown
space which causes undefined behavior on some sinks.

Change-Id: Id4894021528c17ebaeb5818a2bdcf7ae9c91c070
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
6 years agoRevert "drm/msm: remove the right vlbank event from the event list"
Suresh Reddy Yellala [Tue, 10 Oct 2017 19:29:53 +0000 (12:29 -0700)]
Revert "drm/msm: remove the right vlbank event from the event list"

This reverts commit 792779946ea16cbe54052e1b08ca56c58b3cbe24.
This is reverted to fix the weston display.

Change-Id: Iff811f643a8756d6d0921a743736f1a535893883
Signed-off-by: suresh <suresh@codeaurora.org>
6 years agoMerge "defconfig: arm64: msm: Enable boot time marker on virtual platform"
Linux Build Service Account [Tue, 10 Oct 2017 16:40:12 +0000 (09:40 -0700)]
Merge "defconfig: arm64: msm: Enable boot time marker on virtual platform"

6 years agoMerge "diag: Flush mdlog table entries while reallocation of data buffer"
Linux Build Service Account [Tue, 10 Oct 2017 16:40:11 +0000 (09:40 -0700)]
Merge "diag: Flush mdlog table entries while reallocation of data buffer"

6 years agomdss: dp: fix the NVID parameter calculation for Display Port
Padmanabhan Komanduru [Fri, 23 Jun 2017 11:38:13 +0000 (17:08 +0530)]
mdss: dp: fix the NVID parameter calculation for Display Port

The NVID programming for Display Port needs to be set to twice
the 'n' divider of the pixel clock RCG for 5.4 GHz link rate.
Add change to take care of this in Display Port driver.

Change-Id: Ied31f67372d9738e96d1d908acd96a02b82d4630
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
6 years agoARM: dts: msm: add the dtsi entries for DP PLL clocks for msm8998
Padmanabhan Komanduru [Fri, 23 Jun 2017 11:20:05 +0000 (16:50 +0530)]
ARM: dts: msm: add the dtsi entries for DP PLL clocks for msm8998

The parent of DP VCO divided mux clock needs to be set from the
Display Port driver based on the link rate. Add the dtsi entries
needs for this support for msm8998.

Change-Id: I76c2568579735f20106e40a359fd0052a2f51fbf
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
6 years agomdss: dp: set the proper parent for dp_vco_divided_clk_mux
Padmanabhan Komanduru [Fri, 23 Jun 2017 11:14:31 +0000 (16:44 +0530)]
mdss: dp: set the proper parent for dp_vco_divided_clk_mux

The DP VCO divided mux clock has two parent dividers div_two
and div_four. The parent for this needs to be set based on the
link rate frequency as per the hardware programming guide and
not based on the auto PLL calculation logic. Add support to set
the correct parent for this.

Change-Id: Ia2d340a4e8790d90161c1f4a7c8273449fa3f53c
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
6 years agoMerge "msm: mdss: read active line count before triggering ESD read"
Linux Build Service Account [Tue, 10 Oct 2017 07:03:34 +0000 (00:03 -0700)]
Merge "msm: mdss: read active line count before triggering ESD read"

6 years agoUSB: rndis: Honor dl_max_packet_size value sent by host
Vijayavardhan Vennapusa [Tue, 10 Oct 2017 06:20:18 +0000 (11:50 +0530)]
USB: rndis: Honor dl_max_packet_size value sent by host

This change starts using dl_max_packet_size value sent by host
as part of USB RNDIS init message communication. Using default
dl_max_packet_size value results into low throughput with more
data loss on host side as host side RNDIS can't support
de-aggregation (applicable for Linux Host RNDIS driver) or it
ignores received more data then host side RNDIS can handle. To
use fine tune dl_max_packet_size for better throughput, driver
selects minimum value between host supported dl_max_packet_size
and default size (i.e. 9216 bytes as RNDIS IN aggregation size).

Change-Id: I00c81bc905a032867c537536b01bf32584c37e63
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
6 years agodefconfig: arm64: msm: Enable boot time marker on virtual platform
Zhiqiang Tu [Wed, 27 Sep 2017 08:44:23 +0000 (16:44 +0800)]
defconfig: arm64: msm: Enable boot time marker on virtual platform

Enable boot time marker to profile booting time.

Change-Id: I236f5e9076e4138fdb871c40afaa4cb691386485
Signed-off-by: Zhiqiang Tu <ztu@codeaurora.org>
6 years agoMerge "cnss2: Add asynchronous probe support"
Linux Build Service Account [Mon, 9 Oct 2017 23:00:05 +0000 (16:00 -0700)]
Merge "cnss2: Add asynchronous probe support"

6 years agoMerge "msm: vidc: Support ioctl VIDIOC_ENUM_FRAMESIZES"
Linux Build Service Account [Mon, 9 Oct 2017 23:00:04 +0000 (16:00 -0700)]
Merge "msm: vidc: Support ioctl VIDIOC_ENUM_FRAMESIZES"

6 years agoMerge "ARM: dts: msm: Add device for boot time marker on msm8996 virtual platform"
Linux Build Service Account [Mon, 9 Oct 2017 14:36:58 +0000 (07:36 -0700)]
Merge "ARM: dts: msm: Add device for boot time marker on msm8996 virtual platform"

6 years agoMerge "drm/sde: fix smmu fault while running DRM test"
Linux Build Service Account [Mon, 9 Oct 2017 14:36:57 +0000 (07:36 -0700)]
Merge "drm/sde: fix smmu fault while running DRM test"

6 years agomsm: mdss: read active line count before triggering ESD read
Ashish Garg [Wed, 30 Aug 2017 06:15:06 +0000 (11:45 +0530)]
msm: mdss: read active line count before triggering ESD read

In the current implementation before triggering ESD read,
DSI SW waits for extra time to skip display blanking period.
Add an additional check for active line count to ensure that
ESD read is always triggered during display active region only.

Change-Id: I5893daf7cdfb8c1d0a0e962eb2e37d7cd053a6a5
Signed-off-by: Ashish Garg <ashigarg@codeaurora.org>
6 years agodiag: Flush mdlog table entries while reallocation of data buffer
Hardik Arya [Wed, 6 Sep 2017 10:04:19 +0000 (15:34 +0530)]
diag: Flush mdlog table entries while reallocation of data buffer

Currently there is a possibility of accessing freed up buffer
address after reallocation due to availability of old address
in mdlog entry table. The patch flushes table entries before
reallocating data buffer. Additional case of entries cleanup
during erroneous buffer free avoiding further buffer corruption.

CRs-Fixed: 2063721
Change-Id: I8424598ad34b809414518a1f7f5b1737ebe51e53
Signed-off-by: Hardik Arya <harya@codeaurora.org>
6 years agoMerge "wil6210: potential buffer overflow in wmi_evt_aoa_meas"
Linux Build Service Account [Sat, 7 Oct 2017 16:46:47 +0000 (09:46 -0700)]
Merge "wil6210: potential buffer overflow in wmi_evt_aoa_meas"

6 years agoMerge "usb: gadget: CCID: Add support for SuperSpeed enumeration"
Linux Build Service Account [Sat, 7 Oct 2017 08:38:04 +0000 (01:38 -0700)]
Merge "usb: gadget: CCID: Add support for SuperSpeed enumeration"

6 years agoMerge "msm: kgsl: Avoid cache ops on secure memory"
Linux Build Service Account [Sat, 7 Oct 2017 08:38:02 +0000 (01:38 -0700)]
Merge "msm: kgsl: Avoid cache ops on secure memory"

6 years agoMerge "drm/msm: reset HDCP 2.2 sink support during disconnect"
Linux Build Service Account [Sat, 7 Oct 2017 08:38:01 +0000 (01:38 -0700)]
Merge "drm/msm: reset HDCP 2.2 sink support during disconnect"

6 years agoMerge "cnss2: Remove utils"
Linux Build Service Account [Sat, 7 Oct 2017 08:38:00 +0000 (01:38 -0700)]
Merge "cnss2: Remove utils"

6 years agowil6210: potential buffer overflow in wmi_evt_aoa_meas
Lior David [Thu, 28 Sep 2017 10:44:54 +0000 (13:44 +0300)]
wil6210: potential buffer overflow in wmi_evt_aoa_meas

The code in wmi_evt_aoa_meas can potentially overflow a data
buffer if the len parameter is smaller than
offsetof(struct wmi_aoa_meas_event, meas_data). Add protection
against this case.

Change-Id: I3f86f231e0c6b5ac54abbb9865cba0cbbd8d0448
Signed-off-by: Lior David <liord@codeaurora.org>
6 years agolocking/osq_lock: Fix osq_lock queue corruption
Prateek Sood [Fri, 14 Jul 2017 13:47:56 +0000 (19:17 +0530)]
locking/osq_lock: Fix osq_lock queue corruption

Fix ordering of link creation between node->prev and prev->next in
osq_lock(). A case in which the status of optimistic spin queue is
CPU6->CPU2 in which CPU6 has acquired the lock.

        tail
          v
  ,-. <- ,-.
  |6|    |2|
  `-' -> `-'

At this point if CPU0 comes in to acquire osq_lock, it will update the
tail count.

  CPU2 CPU0
  ----------------------------------

       tail
         v
  ,-. <- ,-.    ,-.
  |6|    |2|    |0|
  `-' -> `-'    `-'

After tail count update if CPU2 starts to unqueue itself from
optimistic spin queue, it will find an updated tail count with CPU0 and
update CPU2 node->next to NULL in osq_wait_next().

  unqueue-A

       tail
         v
  ,-. <- ,-.    ,-.
  |6|    |2|    |0|
  `-'    `-'    `-'

  unqueue-B

  ->tail != curr && !node->next

If reordering of following stores happen then prev->next where prev
being CPU2 would be updated to point to CPU0 node:

       tail
         v
  ,-. <- ,-.    ,-.
  |6|    |2|    |0|
  `-'    `-' -> `-'

  osq_wait_next()
    node->next <- 0
    xchg(node->next, NULL)

       tail
         v
  ,-. <- ,-.    ,-.
  |6|    |2|    |0|
  `-'    `-'    `-'

  unqueue-C

At this point if next instruction
WRITE_ONCE(next->prev, prev);
in CPU2 path is committed before the update of CPU0 node->prev = prev then
CPU0 node->prev will point to CPU6 node.

       tail
    v----------. v
  ,-. <- ,-.    ,-.
  |6|    |2|    |0|
  `-'    `-'    `-'
     `----------^

At this point if CPU0 path's node->prev = prev is committed resulting
in change of CPU0 prev back to CPU2 node. CPU2 node->next is NULL
currently,

       tail
                 v
  ,-. <- ,-. <- ,-.
  |6|    |2|    |0|
  `-'    `-'    `-'
     `----------^

so if CPU0 gets into unqueue path of osq_lock it will keep spinning
in infinite loop as condition prev->next == node will never be true.

Change-Id: I5f473433ae2e10308fa7b27680bf98530fe65b0d
Signed-off-by: Prateek Sood <prsood@codeaurora.org>
[ Added pictures, rewrote comments. ]
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: sramana@codeaurora.org
Link: http://lkml.kernel.org/r/1500040076-27626-1-git-send-email-prsood@codeaurora.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Git-commit: 50972fe78f24f1cd0b9d7bbf1f87d2be9e4f412e
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

6 years agomsm: vidc: Support ioctl VIDIOC_ENUM_FRAMESIZES
Akshay Chandrashekhar Kalghatgi [Mon, 2 Oct 2017 20:13:09 +0000 (13:13 -0700)]
msm: vidc: Support ioctl VIDIOC_ENUM_FRAMESIZES

Changed ioctl VIDIOC_ENUM_FRAMESIZES behavior in conformance with
V4L2 specification to be able to query based on pixel format.

Change-Id: Ia5803341070d14335cbb939108575f835471a857
Signed-off-by: Akshay Chandrashekhar Kalghatgi <akalghat@codeaurora.org>
6 years agoMerge "dwc3: msm: Notify -ETIMEDOUT always in case of floating charger"
Linux Build Service Account [Fri, 6 Oct 2017 20:42:30 +0000 (13:42 -0700)]
Merge "dwc3: msm: Notify -ETIMEDOUT always in case of floating charger"

6 years agoMerge "msm: camera: Fix framedrop pattern and period"
Linux Build Service Account [Fri, 6 Oct 2017 20:42:29 +0000 (13:42 -0700)]
Merge "msm: camera: Fix framedrop pattern and period"

6 years agoMerge "iommu: fix smmu_secure_pool access list after free issue"
Linux Build Service Account [Fri, 6 Oct 2017 20:42:28 +0000 (13:42 -0700)]
Merge "iommu: fix smmu_secure_pool access list after free issue"

6 years agoMerge "msm: ipa: Add support for UL Firewall"
Linux Build Service Account [Fri, 6 Oct 2017 20:42:27 +0000 (13:42 -0700)]
Merge "msm: ipa: Add support for UL Firewall"

6 years agoMerge "msm: mhi_rmnet: set ifalias to unidentified_net_dev on error from MHI"
Linux Build Service Account [Fri, 6 Oct 2017 20:42:26 +0000 (13:42 -0700)]
Merge "msm: mhi_rmnet: set ifalias to unidentified_net_dev on error from MHI"

6 years agoMerge "msm: ipa: Add support for per client lan statistics"
Linux Build Service Account [Fri, 6 Oct 2017 10:11:23 +0000 (03:11 -0700)]
Merge "msm: ipa: Add support for per client lan statistics"

6 years agoMerge "mmc: block: Return error in case of partition switch failure"
Linux Build Service Account [Fri, 6 Oct 2017 10:11:22 +0000 (03:11 -0700)]
Merge "mmc: block: Return error in case of partition switch failure"

6 years agoMerge "mmc: core: Ignore bus resume flags when card removal event is detected"
Linux Build Service Account [Fri, 6 Oct 2017 10:11:21 +0000 (03:11 -0700)]
Merge "mmc: core: Ignore bus resume flags when card removal event is detected"

6 years agoMerge "usb: pd: Add support to send PD 3.0 extended messages"
Linux Build Service Account [Fri, 6 Oct 2017 10:11:18 +0000 (03:11 -0700)]
Merge "usb: pd: Add support to send PD 3.0 extended messages"

6 years agoMerge "usb: pd: Add support to handle alert message for PD 3.0"
Linux Build Service Account [Fri, 6 Oct 2017 10:11:17 +0000 (03:11 -0700)]
Merge "usb: pd: Add support to handle alert message for PD 3.0"

6 years agoMerge "usb: pd: Add support for PD revision 3.0 control messages"
Linux Build Service Account [Fri, 6 Oct 2017 10:11:16 +0000 (03:11 -0700)]
Merge "usb: pd: Add support for PD revision 3.0 control messages"

6 years agomsm: camera: Fix framedrop pattern and period
Ramesh V [Thu, 5 Oct 2017 14:09:51 +0000 (19:39 +0530)]
msm: camera: Fix framedrop pattern and period

In reset_framedrop function configure period
based on pattern to avoid overflow in fastaec mode.

Change-Id: Iddf19fb8a293a2c72682c65ee8fe6f3b7ea2b223
Signed-off-by: Ramesh V <ramev@codeaurora.org>
6 years agomsm: camera: isp: Reset frameskip range during streamoff
Ramesh V [Fri, 6 Oct 2017 06:52:23 +0000 (12:22 +0530)]
msm: camera: isp: Reset frameskip range during streamoff

Frameskip range will not get reset if session ends at
max_frameid, in next session same frame will get skip.
to avoid this reset in every streamoff.

Change-Id: Ic363d8d53e96379f9d69f4a0adc079d20a9e87bb
Signed-off-by: Ramesh V <ramev@codeaurora.org>
6 years agomsm: ipa: Add support for UL Firewall
Utkarsh Saxena [Thu, 23 Mar 2017 17:16:15 +0000 (22:46 +0530)]
msm: ipa: Add support for UL Firewall

For UL firewall v6 rules are sent to IPA Q6 in case of
whitelisting to allow only specific connections and drop
the rest of the connections.

Add a support to handle UL firewall request, response and
indication in rmnet ipa driver.

Change-Id: I74a80dce2e16bd8a2c22f12ae3a3f50807c4784e
Acked-by: Abhishek Choubey <abchoube@qti.qualcomm.com>
Acked-by: Mohammed Javid <mjavid@qti.qualcomm.com>
Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
Signed-off-by: Utkarsh Saxena <usaxena@codeaurora.org>
6 years agousb: gadget: CCID: Add support for SuperSpeed enumeration
Vijayavardhan Vennapusa [Wed, 27 Sep 2017 12:24:35 +0000 (17:54 +0530)]
usb: gadget: CCID: Add support for SuperSpeed enumeration

Currently CCID function supports only upto HighSpeed
enumeration. Add descriptors for SuperSpeed mode
and bind them to enable SuperSpeed enumeration of
USB CCID function.

Change-Id: I1908a9aa2daec7d1d361cb996e82cd1a0700f7cc
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
6 years agommc: block: Return error in case of partition switch failure
Sayali Lokhande [Wed, 4 Oct 2017 10:12:18 +0000 (15:42 +0530)]
mmc: block: Return error in case of partition switch failure

If some error occurs in mmc_blk_cmdq_part_switch() function,
the error is not being passed to higher layers to inform the
failure. Instead it returns zero even though no request is
completed with success. This change returns error to higher
layers in case of any failures in mmc_blk_cmdq_part_switch.

Change-Id: Icd1d2d9bc6bb5bd16bc24706fb20603cc33cee40
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
6 years agousb: f_qdss: Use QDSS string descriptor with QDSS interface descriptor
Mayank Rana [Fri, 15 Sep 2017 23:40:24 +0000 (16:40 -0700)]
usb: f_qdss: Use QDSS string descriptor with QDSS interface descriptor

QDSS Data and QDSS Ctrl related string descriptors are defined but those
are not being advertised to Host. Hence update USB QDSS interface
descriptor with USB QDSS string descriptor. This helps some of host side
application to detect enuermated QDSS interface and allows IO with it.

Change-Id: I1ff141f1b52d867d70ecc8f23ac065639999c0f9
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
6 years agoMerge "crypto: ice: Sanitize the ice device return address."
Linux Build Service Account [Thu, 5 Oct 2017 23:10:25 +0000 (16:10 -0700)]
Merge "crypto: ice: Sanitize the ice device return address."

6 years agoMerge "power: qpnp-fg-gen3: Handle notifications from parallel charger"
Linux Build Service Account [Thu, 5 Oct 2017 23:10:24 +0000 (16:10 -0700)]
Merge "power: qpnp-fg-gen3: Handle notifications from parallel charger"

6 years agoMerge "ARM: dts: msm: Add AFE clock version for primary auxpcm"
Linux Build Service Account [Thu, 5 Oct 2017 23:10:23 +0000 (16:10 -0700)]
Merge "ARM: dts: msm: Add AFE clock version for primary auxpcm"

6 years agoMerge "ASoC: codecs: Fix pop noise in HPH plus LO4 concurrent usecase"
Linux Build Service Account [Thu, 5 Oct 2017 23:10:21 +0000 (16:10 -0700)]
Merge "ASoC: codecs: Fix pop noise in HPH plus LO4 concurrent usecase"

6 years agoMerge "ASoC: msm: qdsp6v2: initialize L/R/C gain for both mono/stereo playback"
Linux Build Service Account [Thu, 5 Oct 2017 23:10:20 +0000 (16:10 -0700)]
Merge "ASoC: msm: qdsp6v2: initialize L/R/C gain for both mono/stereo playback"

6 years agoMerge "soc: qcom: fix out of bounds read issue"
Linux Build Service Account [Thu, 5 Oct 2017 23:10:19 +0000 (16:10 -0700)]
Merge "soc: qcom: fix out of bounds read issue"

6 years agoMerge "ASoC: wcd-dsp-mgr: Add range check before getting component"
Linux Build Service Account [Thu, 5 Oct 2017 23:10:18 +0000 (16:10 -0700)]
Merge "ASoC: wcd-dsp-mgr: Add range check before getting component"

6 years agoMerge "ASoC: msm-lsm-client: cleanup ioctl functions"
Linux Build Service Account [Thu, 5 Oct 2017 23:10:17 +0000 (16:10 -0700)]
Merge "ASoC: msm-lsm-client: cleanup ioctl functions"

6 years agoMerge "Revert "osq_lock: fix osq_lock queue corruption""
Linux Build Service Account [Thu, 5 Oct 2017 23:10:16 +0000 (16:10 -0700)]
Merge "Revert "osq_lock: fix osq_lock queue corruption""

6 years agoMerge "msm: camera: Check if regulator is null before enabling"
Linux Build Service Account [Thu, 5 Oct 2017 23:10:15 +0000 (16:10 -0700)]
Merge "msm: camera: Check if regulator is null before enabling"

6 years agoMerge "defconfig: msm: enable DRM driver for msm8996"
Linux Build Service Account [Thu, 5 Oct 2017 23:10:14 +0000 (16:10 -0700)]
Merge "defconfig: msm: enable DRM driver for msm8996"

6 years agoMerge "drm/msm: null check before initializing a submitqueue"
Linux Build Service Account [Thu, 5 Oct 2017 23:10:12 +0000 (16:10 -0700)]
Merge "drm/msm: null check before initializing a submitqueue"

6 years agoMerge "ARM: dts: msm: use sde terminology for DRM based nodes"
Linux Build Service Account [Thu, 5 Oct 2017 23:10:12 +0000 (16:10 -0700)]
Merge "ARM: dts: msm: use sde terminology for DRM based nodes"

6 years agoMerge "drm/msm: avoid loading gpu components if qcom_kgsl present"
Linux Build Service Account [Thu, 5 Oct 2017 23:10:11 +0000 (16:10 -0700)]
Merge "drm/msm: avoid loading gpu components if qcom_kgsl present"

6 years agoMerge "drm/msm: remove the right vlbank event from the event list"
Linux Build Service Account [Thu, 5 Oct 2017 23:10:10 +0000 (16:10 -0700)]
Merge "drm/msm: remove the right vlbank event from the event list"

6 years agoMerge "drm/msm/sde: update release & retire fence timeline"
Linux Build Service Account [Thu, 5 Oct 2017 23:10:09 +0000 (16:10 -0700)]
Merge "drm/msm/sde: update release & retire fence timeline"

6 years agoMerge "step-chg-jeita: run only when charging"
Linux Build Service Account [Thu, 5 Oct 2017 23:10:08 +0000 (16:10 -0700)]
Merge "step-chg-jeita: run only when charging"

6 years agoMerge "FROMLIST: binder: fix memory corruption in binder_transaction binder"
Linux Build Service Account [Thu, 5 Oct 2017 23:10:07 +0000 (16:10 -0700)]
Merge "FROMLIST: binder: fix memory corruption in binder_transaction binder"

6 years agoMerge "sched: Make resched_cpu() unconditional"
Linux Build Service Account [Thu, 5 Oct 2017 23:10:06 +0000 (16:10 -0700)]
Merge "sched: Make resched_cpu() unconditional"

6 years agoMerge "rcu: Stop disabling interrupts in scheduler fastpaths"
Linux Build Service Account [Thu, 5 Oct 2017 23:10:05 +0000 (16:10 -0700)]
Merge "rcu: Stop disabling interrupts in scheduler fastpaths"

6 years agoMerge "iio: qcom-rradc: Disable continuous mode when read fails"
Linux Build Service Account [Thu, 5 Oct 2017 23:10:03 +0000 (16:10 -0700)]
Merge "iio: qcom-rradc: Disable continuous mode when read fails"