Commit graph

593876 commits

Author SHA1 Message Date
Linux Build Service Account
c85421c41a Merge "ARM: dts: msm: Enable CAN controller for msm8996 CV2X boards" 2017-09-08 22:04:16 -07:00
Linux Build Service Account
ef93f7a163 Merge "Merge android-4.4@4b8fc9f (v4.4.82) into msm-4.4" 2017-09-08 22:04:15 -07:00
Linux Build Service Account
8027efd3cc Merge "soc: qcom: initialize glink link state" 2017-09-08 22:04:14 -07:00
Jordan Crouse
eeec27265a drm/msm: Add save/restore functions for perfcounters
Add functions to save and restore the value of some of the
performance counters during a power cycle.

Change-Id: Ic0dedbad4037d6a2262792b752dc5d33a2d0eb36
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-09-08 13:36:40 -06:00
Manaf Meethalavalappu Pallikunhi
5bd5aebe3d msm: thermal: Check cpu variables are initialized before setting threshold
Userspace thermal daemon initiate KTM hotplug monitor related
initialization. Thermal core control can be disabled/enabled from
userspace via KTM sysfs for cpu related initialization after boot.
There is a possible race condition between KTM hotplug initialization
from thermal daemon and KTM core control re-enablement from userpsace
shell. When these both events are triggered at the same time,
thermal core control enablement tries to set emergency hotplug
threshold prior to per cpu hotplug related initialization like sensor
id, trip and threshold value etc. This leads to wrong sensor
threshold settings and eventually thermal core sensor threshold list
will be broken.

To avoid this wrong threshold settings during thermal core control
enablement, check KTM hotplug related initialization is done prior
to threshold setting for each core.

Change-Id: I916527d187146d5e292dd57897aa70b21cf87fbc
Signed-off-by: Manaf Meethalavalappu Pallikunhi <manafm@codeaurora.org>
2017-09-08 20:28:13 +05:30
Govind Singh
49bb00b877 ath10k: Destroy QMI handle during driver unload
QMI handle was not destroyed during unload and server exit
and resulting in qmi handle leak.

Fix this problem by destroying the QMI handle during
driver unload and server exit.

Change-Id: I7557de7c2ff2cb7d82d6e8a3480e8d5f4be6a5f4
Signed-off-by: Govind Singh <govinds@codeaurora.org>
2017-09-08 06:57:01 -07:00
Tanvi Aggarwal
f33863c42e msm: sensor: flash: add conditional check for ioctl
Add conditional check when sending VIDIOC_MSM_FLASH_CFG
in 32-bit process.

Change-Id: I73bcce85a212495ce94e6265947c11a6bc0e4040
CRs-Fixed: 2092793
Signed-off-by: Tanvi Aggarwal <tanvia@codeaurora.org>
2017-09-08 04:45:28 -07:00
VijayaKumar T M
9d24ba00e9 msm: camera: isp: Check null pointer for VFE0 base
Add NULL pointer check for vfe_base of VFE0.

CRs-Fixed: 1032715
Change-Id: I540d9ff831fc9447ecf145f75ea84da3668c4f6f
Signed-off-by: Haibin Liu <haibinl@codeaurora.org>
Signed-off-by: VijayaKumar T M <vtmuni@codeaurora.org>
2017-09-08 02:36:13 -07:00
Hareesh Gundu
273f50746c msm: kgsl: Do not allocate scratch memory for A3xx
A3xx device gets the ring buffer read pointer directly
from the GPU registers. So don’t allocate scratch memory
which can’t be used for A3xx GPU devices.

Change-Id: I95016dfc169b9fee74e978f5560592740f34515e
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
2017-09-08 02:02:40 -07:00
Hareesh Gundu
40e0712361 msm: kgsl: Fix gpu fault issue while enabling stall on page fault
Stall on page fault feature is supported on A5XX and later GPUs.
Enabling this feature on unsupported GPUs causes GPU faults.
So don't insert GPU stall related commands in ringbuffer if
not supported. But allow user to capture the GPU snapshot on
GPU page fault.

Change-Id: Ied26a5b4f44c1877b289a0ff5c0a6d47901e453d
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
2017-09-08 14:08:57 +05:30
Linux Build Service Account
ccfb8c3db0 Merge "mmc: sdhci: Fix SDHCI_QUIRK2_IGNORE_DATATOUT_FOR_R1BCMD handling" 2017-09-07 22:42:20 -07:00
Linux Build Service Account
f906a06b89 Merge "mmc: core: power off host if SD card resume fails" 2017-09-07 22:42:20 -07:00
Lei wang
b8f1ab847c tty: serial_core: add tty NULL check to uart_tx_stopped
Commit 761ed4a94582 ("tty: serial_core: convert uart_close to use
tty_port_close") created a case where a port used for a console does not
get shutdown on tty closing. Then a call to uart_tx_stopped() segfaults
because the tty is NULL. This could be fixed to restore old behavior,
but we also want to allow tty_ports to work without a tty attached. So
this change to allow a NULL tty_struct is needed either way.

Fixes: 761ed4a94582
("tty: serial_core: convert uart_close to use tty_port_close")
Reported-by: kernel test robot <xiaolong.ye@intel.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Change-Id: Ifbeeacc89d396b857332ce94cc2d77bdd6e12bb7
Git-repo: git://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git
Git-commit: a727b025f43d7952c0697562f5cecda9f42758aa
Signed-off-by: Lei wang <leiwan@codeaurora.org>
2017-09-07 21:46:18 -07:00
Sushmita Susheelendra
a2d757fccc drm/msm: Decrement the device usage count on the recovery thread
A faulting submit is retired on the recovery worker and not
the retire worker. The usage count for the device must be
decremented for the faulting submit or the device will never
go into suspend following a fault despite being inactive for
the inactivity period.

Change-Id: Ieda698eb00008f5bcc7287f76b9261704e51e28b
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
2017-09-07 15:04:47 -06:00
Sushmita Susheelendra
5ec068d55b drm/msm: Reset ringbuffer pointers at hw init
Ringbuffer pointers were getting reset only when resuming after
recovery. However, we need to reset them even after resuming
from SLUMBER or we will end up sending stale commands to the GPU
with bad results. Make ringbuffer reset part of the GPU init
sequence.

Change-Id: I93fc2f2e293245e584184315f8eb8a4ec73d2455
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
2017-09-07 15:04:46 -06:00
Archit Taneja
9d4c3788b4 drm/msm/adreno: Prevent unclocked access when retrieving timestamps
msm_gpu's get_timestamp() op (called by the MSM_GET_PARAM ioctl) can
result in register accesses. We need our power domain and clocks to
be active for that. Make sure they are enabled here.

Change-Id: I1b8e59e0246ed7d9b8a0b6ae660ebfbb15b08782
Signed-off-by: Archit Taneja <architt@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
2017-09-07 15:02:36 -06:00
Rob Clark
d223bc2236 drm/msm/gpu: use pm-runtime
We need to use pm-runtime properly when IOMMU is using device_link() to
control it's own clocks.

Change-Id: I7c5668e6a0fcfc2d4664355e49c49d4dcb26323e
Signed-off-by: Rob Clark <robdclark@gmail.com>
Git-commit: eeb754746b140c5f55e6b25706a9142aa549b348
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[ssusheel@codeaurora.org: fix some merge conflicts]
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
2017-09-07 15:02:35 -06:00
Linux Build Service Account
cb8f9c4da7 Merge "power: qpnp-fg-gen3: update SOC masking algorithm" 2017-09-07 11:05:40 -07:00
Gustavo Solaira
1b1517142f ARM: dts: msm: Add FAN cooling device to msm8996 CV2X boards
Add a node for a GPIO-based FAN cooling device for msm8996
CV2X boards. This GPIO has a single speed and can be controlled
from user space.

Change-Id: Iee427407f3c4032e1394c61dd1f225e24a091a99
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
2017-09-07 10:35:31 -07:00
Gustavo Solaira
c283bfe1d5 defconfig: msm: Enable GPIO-based FAN for msm8996-auto
Enable the GPIO FAN driver to enable control of GPIO based
fans for cooling on msm8996-auto devices.

Change-Id: I5494fae1c7ab75362bc6c71c4e731f0581b01995
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
2017-09-07 10:35:23 -07:00
Venkateswara Rao Tadikonda
a33cdc7723 msm: kgsl: Limit the kgsl log frequency in kgsl_get_unmapped_area()
Reduce the frequency of kgsl logging when kgsl driver failed to get
memory mapping for requested memory.

Change-Id: If1a8832a9aa0396e3c990916deec7949697be12d
Signed-off-by: Venkateswara Rao Tadikonda <vtadik@codeaurora.org>
2017-09-07 21:04:46 +05:30
Sunil Khatri
8b6bbeab08 msm: kgsl: Protect the bind object against bad dereference
Sparse bind object are unbinded with bind id. This
can be exploited by any malicious application calling
unbind with same bind id again and again.

This can lead to a race condition between two threads
where one free the bind object and second thread uses
same object leading to bad dereference.

Change-Id: I542a008fc647489560667fb5016453a0c3448f7a
Signed-off-by: Sunil Khatri <sunilkh@codeaurora.org>
2017-09-07 05:18:38 -07:00
Prakash Gupta
d6bb6d333c arm64: stacktrace: avoid listing stacktrace functions in stacktrace
The stacktraces always begin as follows:

 [<c00117b4>] save_stack_trace_tsk+0x0/0x98
 [<c0011870>] save_stack_trace+0x24/0x28
 ...

This is because the stack trace code includes the stack frames for itself.
This is incorrect behaviour, and also leads to "skip" doing the wrong
thing (which is the number of stack frames to avoid recording.)

Perversely, it does the right thing when passed a non-current thread.  Fix
this by ensuring that we have a known constant number of frames above the
main stack trace function, and always skip these.

This was fixed for arch arm by 3683f44c42 ("ARM: stacktrace: avoid
listing stacktrace functions in stacktrace")

Change-Id: I1a65ee011f022227204b406bb0288828a7beb0b8
Link: http://lkml.kernel.org/r/1504078343-28754-1-git-send-email-guptap@codeaurora.org
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Git-commit: 457b9ab50babff7100fe7902d195069561bc1db7
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
[guptap@codeaurora.org: resolve trivial merge conflicts]
Signed-off-by: Prakash Gupta <guptap@codeaurora.org>
2017-09-07 16:14:56 +05:30
Prakash Gupta
bf6d3e63f9 mm, page_owner: skip unnecessary stack_trace entries
The page_owner stacktrace always begin as follows:

[<ffffff987bfd48f4>] save_stack+0x40/0xc8
[<ffffff987bfd4da8>] __set_page_owner+0x3c/0x6c

These two entries do not provide any useful information and limits the
available stacktrace depth.  The page_owner stacktrace was skipping caller
function from stack entries but this was missed with commit f2ca0b557107
("mm/page_owner: use stackdepot to store stacktrace")

Example page_owner entry after the patch:

Page allocated via order 0, mask 0x8(ffffff80085fb714)
PFN 654411 type Movable Block 639 type CMA Flags 0x0(ffffffbe5c7f12c0)
[<ffffff9b64989c14>] post_alloc_hook+0x70/0x80
...
[<ffffff9b651216e8>] msm_comm_try_state+0x5f8/0x14f4
[<ffffff9b6512486c>] msm_vidc_open+0x5e4/0x7d0
[<ffffff9b65113674>] msm_v4l2_open+0xa8/0x224

Change-Id: Ia34fc127d691c2858d991bb631aad9ebc703bcee
Link: http://lkml.kernel.org/r/1504078343-28754-2-git-send-email-guptap@codeaurora.org
Fixes: f2ca0b557107 ("mm/page_owner: use stackdepot to store stacktrace")
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Git-commit: 665bb76dd71bc061c5f730226dc1881d151983c8
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
Signed-off-by: Prakash Gupta <guptap@codeaurora.org>
2017-09-07 15:52:20 +05:30
Veerabhadrarao Badiganti
739a7c1e43 mmc: host: Update the USE_PIO_FOR_EMMC_TUNING quirk value
SDHCI_QUIRK2_USE_PIO_FOR_EMMC_TUNING quirk is defined with a bit position
of 23 (1 << 23). Since this bit position is already defined for some other
quirk, update its bit position to next available one.

Change-Id: I878b3c0b3f4cb32ecaf27fc77ccdfb7d4215a39c
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
2017-09-07 15:22:43 +05:30
Rakesh Pillai
2b8566eb27 ath10k: skip sending default IE in scan request added by firmware
Supported rates and extended supported rates are added in probe
request automatically by firmware. The IE sent by host in the scan
request command is appended to this. If host also sends supported
and extended supported rates IE, then these IEs are duplicated in
the probe requests.

Skip sending the supported rates and extended supported rates IEs
in the start scan command for wcn3990.

CRs-Fixed: 2093804
Change-Id: I9afe85a3602a3935557894ed8c6e1af8cb47967d
Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
2017-09-07 14:36:03 +05:30
Linux Build Service Account
aa450b1d93 Merge "drivers: net: can: Add K61 CAN controller driver" 2017-09-07 00:46:05 -07:00
Linux Build Service Account
7edaca927d Merge "diag: Support buffering mode for non-diag_id peripherals" 2017-09-07 00:46:04 -07:00
Linux Build Service Account
329b7b4c99 Merge "lib/stackdepot.c: use __GFP_NOWARN for stack allocations" 2017-09-07 00:46:03 -07:00
Mohammed Javid
bb96b54c01 msm: ipa: Cache CNE event
Provide support to cache CNE event for debugging purpose.

Change-Id: I00d101d3b9a627d7aba3e4524ff301797ea6085e
Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
2017-09-07 10:34:59 +05:30
Linux Build Service Account
b864286bdb Merge "diag: Proper Update of the PD packet buffer status and length" 2017-09-06 12:55:56 -07:00
Linux Build Service Account
b42a5cc33b Merge "msm: mdss: Enable clocks for WFD setup" 2017-09-06 12:55:55 -07:00
Linux Build Service Account
02411b451a Merge "msm: sde: Avoid NULL pointer dereference in cancel request" 2017-09-06 12:55:54 -07:00
Linux Build Service Account
120dd65a36 Merge "defconfig: msm: enable Linux Kernel Dump Test Tool" 2017-09-06 12:55:53 -07:00
Linux Build Service Account
aa748b591b Merge "msm: camera: Return -NOTTY on invalid ioctl command." 2017-09-06 12:55:52 -07:00
Linux Build Service Account
bb516d3651 Merge "cnss2: Increase QMI ATHDIAG maximum data size" 2017-09-06 12:55:51 -07:00
Skylar Chang
964eeebd3c msm: ipa: ipa_usb: teth_prot and ttype validation
Add input validation logic for accessing teth_prot and ttype
members.

Change-Id: I05780fb3b09616b7a9cf0c36f71e9f1e5e49f136
CRs-Fixed: 2091803
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2017-09-06 12:46:37 -07:00
Subbaraman Narayanamurthy
394bb414b7 power: qcom: smb135x: change OTG regulator ops to static
Change the OTG regulator ops to static for smb1351 and smb135x
charger drivers.

Change-Id: Ide0c6461275f3ba74e0420e1d1a36c1e1f2bd18d
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
2017-09-06 11:21:26 -07:00
Subbaraman Narayanamurthy
092b095537 power: qpnp-fg-gen3: adjust ki coefficient for full soc dynamically
In certain conditions, after the battery SOC reaches 100%, SOC is
not getting updated during discharging. Based on the hardware
recommendation, adjust the Ki coefficient for full SOC so that
SOC can be updated faster during discharging.

While at it, remove prev_charge_status variable which is not
used really.

CRs-Fixed: 2089555
Change-Id: I54b7d86529c21c016ab777053895ccda9c7a2b35
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
2017-09-06 11:21:26 -07:00
Subbaraman Narayanamurthy
491c46fc13 power: qpnp-fg-gen3: update SOC masking algorithm
Currently, FULL_SOC and MONOTONIC_SOC registers are updated
multiple times when the recharge SOC threshold is close enough to
trigger the recharging frequently. This was leading to a SOC
fluctuation when SOC masking algorithm is enabled.

Rearrange charge_full_update used in SOC masking algorithm such
that FULL_SOC and MONOTONIC_SOC registers are updated just once
when the charge_full flag is cleared.

Also, when the device is rebooted/shutdown and if charge_full
flag is set, write to FULL_SOC with battery_soc and a full value
to MONOTONIC_SOC registers. This helps to maintain the same SOC
across a device reboot.

Change-Id: I95afa90f27e4c0f948f301ff8d6a1f84ae422ef0
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
2017-09-06 11:21:25 -07:00
Gustavo Solaira
be06210b35 ARM: dts: msm: Enable CAN controller for msm8996 CV2X boards
Add a device tree node for the SPI CAN controller to enable
a CAN network interface for msm8996 CV2X boards.

Change-Id: Ib9c1d63bf86e3b823aa8d762065ed374bdfeaa0e
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
2017-09-06 10:45:33 -07:00
Gustavo Solaira
79be912c14 defconfig: msm: Enable the K61 CAN driver
Enable configuration for K61 CAN over SPI driver.

Change-Id: I801629ac04303582530bed354282960db8f9c9ab
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
2017-09-06 10:44:54 -07:00
Gustavo Solaira
36d4d74d63 can: k61: Changes to support the mpc5746c controller
Add new parameters to account for different MCUs that can
be used with this driver. These devices have different reset
sequences and number of bits per word supported via SPI. Add
bindings for the mpc5746c controller and make the reset signal
optional.

Change-Id: I616dd3cfedf18a6e21683e1c07551c57c62a675d
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
2017-09-06 10:44:42 -07:00
Abinaya P
4cf8fd54ec drivers: net: can: Add K61 CAN controller driver
This driver creates Network device of type CAN
and processes tx and rx frames that it sends and
receives over SPI protocol.

Change-Id: I54a8665d1b9eda7e9b1ff695bd67de312c410195
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
Signed-off-by: Abinaya P <abinayap@codeaurora.org>
2017-09-06 10:13:38 -07:00
Trishansh Bhardwaj
f80627ce13 msm: camera: Return -NOTTY on invalid ioctl command.
Check validity of command before processing.

Change-Id: Icc5c57eac999b7c40fbb9505b2b88745167adc66
Signed-off-by: Trishansh Bhardwaj <tbhardwa@codeaurora.org>
2017-09-06 01:49:32 -07:00
Linux Build Service Account
b92b0cea6d Merge "ASoC: wsa881x: Fix wsa881x speaker damage" 2017-09-06 01:42:39 -07:00
Laxminath Kasam
faf60ba74f ALSA: info: Protect list access of new entry
At bootup, two different contexts access same list
result in crash. Add mutex lock protect around list access.

CRs-Fixed: 2060390
Change-Id: I648db0a96c507c7e3ad9a5bb7d59021ebf86b27e
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2017-09-06 00:08:30 -07:00
Manoj Prabhu B
a5464d3b72 diag: Support buffering mode for non-diag_id peripherals
The patch adds the support for buffering mode configuration
for peripherals not supporting diag_id.

CRs-Fixed: 2104591
Change-Id: I2ed34a5141a9b9042dc925c9109d22009b272484
Signed-off-by: Manoj Prabhu B <bmanoj@codeaurora.org>
2017-09-05 22:45:52 -07:00
Hemant Kumar
bb2db688eb usb: gadget: Update default class subclass and protocol for rndis
This allows Host to load NDIS 6.0 driver for RNDIS over ethernet.
Design objectives of NDIS 6.0 is to enhance driver performance
and scalability. Observing higher peak tput (308Mbps --> 480Mbps)
for FTP transfer on live network. It resolves the data stall that
is being caused by the sudden transfer abort coming from the NDIS
5.0 Host driver.

Change-Id: I503a5573af71eb1b004c68abb64bb04d7e06f9af
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2017-09-05 13:53:39 -07:00
Linux Build Service Account
e91bfdb176 Merge "soc: qcom: ipc_router_glink_xprt: Add wakeup source in RX path" 2017-09-05 13:45:23 -07:00