Commit graph

592428 commits

Author SHA1 Message Date
Sarada Prasanna Garnayak
45bdc1b602 ARM: dts: msm: Config sleep state for wlan bootstrap pin for msm8996
Configure the sleep state for the wlan bootstrap pin for
msm8996. This configuration helps in power saving during
device sleep state.

CRs-Fixed: 1040537
Change-Id: Ia35f8bba901826b55722cb140c953f32b18610de
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2017-08-04 11:28:10 -07:00
Sarada Prasanna Garnayak
b094306e99 ARM: dts: msm: add fixed regulator support for wlan_en for msm8996
The QCA wlan chipset uses tlmm, msm and pmic gpio for the WLAN_EN
signal pin. The tlmm or msm gpio uses pinctrl or gpio library for
configuring the sleep/active state runtime.

The pmic gpio runtime configuration is not feasible using gpio
library or pinctrl framework. Convert the pmic gpio to fixed
regulator to runtime control(enable/disable) via regulator framework.

CRs-Fixed: 1040537
Change-Id: I4963c2753b463d5852a847a20fe280107abca337
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2017-08-04 11:28:03 -07:00
Sarada Prasanna Garnayak
2329e5a6ad net: cnss: add fixed regulator support for wlan enable pin
The QCA wlan chipset uses tlmm, msm and pmic gpio for the WLAN_EN
signal pin. The tlmm or msm gpio uses pinctrl or gpio library for
configuring the sleep/active state runtime.

The pmic gpio runtime configuration is not feasible using gpio
library or pinctrl framework. Convert the pmic gpio to fixed
regulator to runtime control(enable/disable) via regulator framework.

CRs-Fixed: 1040537
Change-Id: Ie74a659f309f248d335e03ca7a0a00244e9715b4
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2017-08-04 11:27:37 -07:00
Linux Build Service Account
d4a6462641 Merge "msm: kgsl: Add a trace event for the GPU clock" 2017-08-03 20:51:29 -07:00
Linux Build Service Account
17273e1577 Merge "drm/msm: Fix race condition in the submit path" 2017-08-03 20:51:28 -07:00
Linux Build Service Account
a0a59b7732 Merge "ion: Set the page private bit for secure CMA buffers" 2017-08-03 20:51:28 -07:00
Linux Build Service Account
48223b4b23 Merge "cnss: Correct boot sequence for WLAN hardware" 2017-08-03 20:51:27 -07:00
Linux Build Service Account
e5d965417f Merge "msm: kgsl: Set the abnormal power perf counter value to zero" 2017-08-03 20:51:26 -07:00
Linux Build Service Account
77be18d0c9 Merge "msm: mdss: setup infoframe for all HDMI modes" 2017-08-03 20:51:24 -07:00
Linux Build Service Account
647fc98bc8 Merge "msm: mdss: Fix the DSI lane swap programming logic" 2017-08-03 20:51:23 -07:00
Linux Build Service Account
d56f94c6dc Merge "ARM: dts: msm: Add physical width and height for sharp 4k panel" 2017-08-03 20:51:22 -07:00
Linux Build Service Account
1a607a6536 Merge "msm: ADSPRPC: Queue receive intent for adsprpc glink channel" 2017-08-03 20:51:14 -07:00
Linux Build Service Account
11623fddcd Merge "perf/core: Fix crash in perf_event_read()" 2017-08-03 20:51:14 -07:00
Linux Build Service Account
607bbf6f9b Merge "input: touchpanel: fix wastes of time when resume and probe for ST's TP" 2017-08-03 20:51:13 -07:00
Linux Build Service Account
c430aad6dc Merge "msm: ipa3: Fix Q6 resourse manager de-init" 2017-08-03 20:51:10 -07:00
Linux Build Service Account
8bb4bde4b2 Merge "msm: ipa: Fix invalid source pipe index" 2017-08-03 20:51:09 -07:00
Linux Build Service Account
7c1c4a6ddb Merge "wcnss: remove the wcn external gpio configuration support" 2017-08-03 20:51:07 -07:00
Linux Build Service Account
bb954f3696 Merge "wcnss: Update the wcnss wlan module power up sequence" 2017-08-03 20:51:05 -07:00
Linux Build Service Account
9d32ab94d7 Merge "usb: f_qc_rndis: Fix rndis message parsing of erroneous requests" 2017-08-03 20:51:04 -07:00
Linux Build Service Account
aca4631c48 Merge "msm: ipa: Fix wrong usage and cleanup code" 2017-08-03 20:51:03 -07:00
Linux Build Service Account
ab774aaad3 Merge "usb: f_rndis: Fix rndis message parsing of erroneous requests" 2017-08-03 20:51:03 -07:00
Linux Build Service Account
66bb3e3558 Merge "msm: ipa: Add support for per client statistics and UL firewall" 2017-08-03 20:51:01 -07:00
Linux Build Service Account
1625604b6e Merge "sched: avoid RT tasks contention during sched boost" 2017-08-03 20:51:00 -07:00
Linux Build Service Account
73c7c075c8 Merge "Revert "perf: stop deadlock if attempt to bring cpu up fails"" 2017-08-03 20:50:59 -07:00
Linux Build Service Account
c19a0c49cb Merge "crypto: msm: Fix several race condition issues in crypto drivers" 2017-08-03 20:50:58 -07:00
Yue Ma
4a2171cd80 cnss: Correct boot sequence for WLAN hardware
Vote 1.8V IO and XTAL regulators before 3.3V VREG for WLAN hardware
to strictly follow the hardware requirement. Make sure 3.3V VREG is
voted at least 100us after 1.8V IO.

Change-Id: Ifc52c2062349a9913e6c998573b62d111faa5886
CRs-fixed: 1009287
Signed-off-by: Yue Ma <yuem@codeaurora.org>
2017-08-03 14:16:07 -07:00
Abhilash Kumar
696ce310cf msm: kgsl: Set the abnormal power perf counter value to zero
During preemption microcode does save restore for all perf
counters. If we read the power counters at preemption boundary
we might get abnormal value from the perf counter. This will
result in showing incorrect GPU busy percentage. Fix this by
setting the abnormal power perf counter value with zero.

Change-Id: I96ba367ceeeb92d6adb507d0d917113297b4b58d
Signed-off-by: Abhilash Kumar <krabhi@codeaurora.org>
2017-08-03 11:22:12 -07:00
Linux Build Service Account
4ba44196e6 Merge "cfg80211: Validate frequencies nested in NL80211_ATTR_SCAN_FREQUENCIES" 2017-08-03 10:08:03 -07:00
Linux Build Service Account
0e4e7eab42 Merge "power: fg-util: add median filter for circular buffer" 2017-08-03 10:07:58 -07:00
Linux Build Service Account
f473715d77 Merge "msm: ais: Make use of mutex lock to avoid race condition" 2017-08-03 10:07:57 -07:00
Linux Build Service Account
cf1869044b Merge "SoC: msm: audio-effects: return directly to avoid integer overflow" 2017-08-03 10:07:56 -07:00
Linux Build Service Account
071e7f4168 Merge "mmc: card: blk: Add support for deferred SD bus resume" 2017-08-03 10:07:55 -07:00
Linux Build Service Account
b26562a8d3 Merge "msm: kgsl: Disallow L2PC during wake up from SLUMBER" 2017-08-03 10:07:54 -07:00
Linux Build Service Account
a9009e8dd5 Merge "qcom: scm: update function return value and input parameter type" 2017-08-03 10:07:53 -07:00
Srinivas Dasari
486f03c640 cfg80211: Validate frequencies nested in NL80211_ATTR_SCAN_FREQUENCIES
validate_scan_freqs() retrieves frequencies from attributes
nested in the attribute NL80211_ATTR_SCAN_FREQUENCIES with
nla_get_u32(), which reads 4 bytes from each attribute
without validating the size of data received. Attributes
nested in NL80211_ATTR_SCAN_FREQUENCIES don't have an nla policy.

Validate size of each attribute before parsing to avoid potential buffer
overread.

Fixes: 2a51931192 ("cfg80211/nl80211: scanning (and mac80211 update to use it)")
Cc: stable@vger.kernel.org
Signed-off-by: Srinivas Dasari <dasaris@qti.qualcomm.com>
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
Git-commit: d7f13f7450369281a5d0ea463cc69890a15923ae
Change-Id: I34198e599a950c30495ec3445799972db7f9f42e
CRs-Fixed: 2069828
Signed-off-by: Srinivas Dasari <dasaris@codeaurora.org>
2017-08-03 08:26:09 -07:00
Srinivas Dasari
d4fa50e5ae cfg80211: Define nla_policy for NL80211_ATTR_LOCAL_MESH_POWER_MODE
Buffer overread may happen as nl80211_set_station() reads 4 bytes
from the attribute NL80211_ATTR_LOCAL_MESH_POWER_MODE without
validating the size of data received when userspace sends less
than 4 bytes of data with NL80211_ATTR_LOCAL_MESH_POWER_MODE.
Define nla_policy for NL80211_ATTR_LOCAL_MESH_POWER_MODE to avoid
the buffer overread.

Fixes: 3b1c5a5307 ("{cfg,nl}80211: mesh power mode primitives and userspace access")
Cc: stable@vger.kernel.org
Signed-off-by: Srinivas Dasari <dasaris@qti.qualcomm.com>
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
Git-commit: 8feb69c7bd89513be80eb19198d48f154b254021
Change-Id: Ie20993309501fd242782311b9fe787931f716116
CRs-Fixed: 2055013
Signed-off-by: Srinivas Dasari <dasaris@codeaurora.org>
2017-08-03 05:55:10 -07:00
Sharat Masetty
ddfc1dd716 drm/msm: Fix race condition in the submit path
There is a race condition issue between the IRQ context trying to
trigger preemption and the user context trying to submit commands to
the GPU. The check in a5xx_flush() API only updates the wptr if the GPU is
not in preemption. In the cases where we move from PREEMPT_START to
PREEMPT_NONE there is a small window where the preempt state is still
in START but the CPU context switches to the user thread which is in
the a5xx_flush() call to update the wptr, but fails to update the wptr to
the GPU since the preempt state is not PREEMPT_NONE. This leads to a
GPU stall.

Introduce a new intermediate state PREEMPT_ABORT and
change preempt_trigger() to use gpu's current ring instead of the
ring retrieved from get_next_ring() while in this state.

Change-Id: I333e9de19824bd373901bbc8afc829de04635017
CRs-Fixed: 2081164
Signed-off-by: Sharat Masetty <smasetty@codeaurora.org>
2017-08-03 10:51:43 +05:30
Linux Build Service Account
fc30a7a640 Merge "usb: f_gsi: Fix rndis message parsing of erroneous requests" 2017-08-02 18:19:46 -07:00
Linux Build Service Account
6da0b6fea3 Merge "cnss_pci: fix the race condition bug in WLAN firmware table config" 2017-08-02 18:19:45 -07:00
Linux Build Service Account
0a87783561 Merge "msm: sde: move early splash's node parsing code for msm8996 auto" 2017-08-02 18:19:44 -07:00
Srinivas Dasari
3cbe913661 cfg80211: Check if PMKID attribute is of expected size
nla policy checks for only maximum length of the attribute data
when the attribute type is NLA_BINARY. If userspace sends less
data than specified, the wireless drivers may access illegal
memory. When type is NLA_UNSPEC, nla policy check ensures that
userspace sends minimum specified length number of bytes.

Remove type assignment to NLA_BINARY from nla_policy of
NL80211_ATTR_PMKID to make this NLA_UNSPEC and to make sure minimum
WLAN_PMKID_LEN bytes are received from userspace with
NL80211_ATTR_PMKID.

Fixes: 67fbb16be6 ("nl80211: PMKSA caching support")
Cc: stable@vger.kernel.org
Signed-off-by: Srinivas Dasari <dasaris@qti.qualcomm.com>
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
Git-commit: 9361df14d1cbf966409d5d6f48bb334384fbe138
Change-Id: I5feb729a9ef48f67c4ee460e7e133d5fc8cecd4f
CRs-Fixed: 2061676
Signed-off-by: Srinivas Dasari <dasaris@codeaurora.org>
2017-08-02 18:03:45 -07:00
Peter Zijlstra
2e54dcd5ed perf/core: Fix crash in perf_event_read()
Alexei had his box explode because doing read() on a package
(rapl/uncore) event that isn't currently scheduled in ends up doing an
out-of-bounds load.

Rework the code to more explicitly deal with event->oncpu being -1.

Author: Peter Zijlstra (Intel) <peterz@infradead.org>
Reported-by: Alexei Starovoitov <alexei.starovoitov@gmail.com>
Tested-by: Alexei Starovoitov <ast@kernel.org>
Tested-by: David Carrillo-Cisneros <davidcc@google.com>
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: eranian@google.com
Fixes: d6a2f9035bfc ("perf/core: Introduce PMU_EV_CAP_READ_ACTIVE_PKG")
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Git-commit: 451d24d1e5f40bad000fa9abe36ddb16fc9928cb
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[pfay@codeaurora.org: apply the event->oncpu validity check from
  from the patch. Other code from the patch calls routines
  not yet in 4.4 so omit that part of patch. This code fixes
  segfault crashes during reboot where the event->oncpu value is -1.
Change-Id: I040f0af2030e53ac3329e4b3a1bbcd37f080cdcf
Signed-off-by: Patrick Fay <pfay@codeaurora.org>
2017-08-02 11:10:44 -07:00
Jonathan Wicks
e18cd5657a msm: kgsl: Add a trace event for the GPU clock
If requested, trace the GPU time to ensure
a useful mapping regardless of the chosen
trace clock.

Change-Id: I76a893975de9a278c8178f935991191354f29e2f
Signed-off-by: Jonathan Wicks <jwicks@codeaurora.org>
2017-08-02 11:13:31 -06:00
Sarada Prasanna Garnayak
9c67942e15 wcnss: remove the wcn external gpio configuration support
The wcn external gpio configuration has moved to WLAN firmware
code. To avoid the gpio resource request conflict and power offload
failure between wcnss platform driver and WLAN firmware.
Remove external gpio configuration from the wcnss platform driver.

Change-Id: Iaef979437d9e48d66a5e9e2fc88bc5783fed7480
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2017-08-02 05:11:47 -07:00
Sarada Prasanna Garnayak
cca1739db3 wcnss: Update the wcnss wlan module power up sequence
The wcnss wlan module power up sequence has been changed.
To add support for the wcnss new power up sequence configured
3.3v external GPIO in wcnss platform driver.

Add check for the target to support the 3.3v external gpio for
the wcnss power up and routine to control the gpio like gpio
init, enable, disable for the device power management in different
state of the wcnss wlan device.

CRs-Fixed: 2065396
Change-Id: Ie6b79415b670522aa0abee58a23a31cffec76f5a
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2017-08-02 05:11:40 -07:00
Sarada Prasanna Garnayak
6d11c13b43 wcnss: Add support to read wifi dual band capability
The WLAN dual band support vary from target to target
and to enable/disable dual band support for a particular
target the wcnss platform driver read the wlan hardware
qfuse register and export the dual band capability info
to wlan host driver to enable/disable this dual band feature.

Add export symbol for dual band capability info.

CRs-Fixed: 1115909
Change-Id: I7dc26435e3ac0ac1eec71f0e334878b35e25224d
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2017-08-02 05:11:06 -07:00
Sarada Prasanna Garnayak
06782fb5db wcnss: Add support to enable and disable wcnss snoc clock
It is a hardware requirement to increase snoc clock frequency
in HID sniff mode due to low wlan throughput. To provide this,
add support to enable and disable snoc clock.

Update the voltage regulator configuration API as per upstream
kernel.

CRs-Fixed: 1101377
Change-Id: I1130353bf861ca31792c40ef51243497788ed56d
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2017-08-02 05:03:34 -07:00
Sarada Prasanna Garnayak
8c025ab193 cnss_pci: fix the race condition bug in WLAN firmware table config
Update the synchronization process of the cnss platform driver
memory expansion and WLAN firmware table configuration from
the userspace through sysfs firmware update node.

CRs-Fixed: 2071560
Change-Id: I672ba84ad10c905be7855c1b8a930ac7adf349f1
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2017-08-02 02:09:58 -07:00
Mohammed Javid
0cb4f8abcd msm: ipa: Fix invalid source pipe index
Source pipe index may returned invalid or
given invalid from IOCTl.

Check it for valid before sending it to Q6.

Change-Id: I9dbbc930014549ed2d0620af6872816a18b438b5
Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
2017-08-02 01:34:46 -07:00
Mohammed Javid
b977cc3ede msm: ipa: Fix wrong usage and cleanup code
Couple of code cleanup
 - Initialize the return variable before using it.
 - Remove unnecessary NULL check.

Change-Id: I8e63cb95ae99d1656143ae4b1d130f92890bb3c5
Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
2017-08-02 01:18:45 -07:00