Commit graph

583651 commits

Author SHA1 Message Date
Vinayak Menon
9dd531d8e9 mm: vmpressure: fix sending wrong events on underflow
At the end of a window period, if the reclaimed pages is greater than
scanned, an unsigned underflow can result in a huge pressure value and
thus a critical event.  Reclaimed pages is found to go higher than scanned
because of the addition of reclaimed slab pages to reclaimed in
shrink_node without a corresponding increment to scanned pages.  Minchan
Kim mentioned that this can also happen in the case of a THP page where
the scanned is 1 and reclaimed could be 512.

Link: http://lkml.kernel.org/r/1486641577-11685-1-git-send-email-vinmenon@codeaurora.org
Acked-by: Minchan Kim <minchan@kernel.org>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Rik van Riel <riel@redhat.com>
Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
Cc: Anton Vorontsov <anton.vorontsov@linaro.org>
Cc: Shiraz Hashim <shashim@codeaurora.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Change-Id: Ic1221fa129c9b3512127537d62df7bd4a7606d24
Git-commit: 746d8d8f3ebb49a62ffcffb4b1f41cc27d020a2e
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2017-02-20 12:12:11 +05:30
Utkarsh Saxena
1aa7b92146 msm: ipa: changes to suspend/disable for WDI 2
Adapt to latest changes to IPA micro-controller(IPA uC).

For pipe SUSPEND, IPA uC will fail in case
the pipe is not empty.

IPA driver needs to insure pipe is empty
and then issue a SUSPEND command.

For pipe DISABLE, pipe is already empty on SUSPEND,
IPA driver does not need to do ensure anything before
issuing a DISABLE command.

Change-Id: Ic0e65b671fc29583203986defada31e92065adfd
Acked-by: Mohammed Javid <mjavid@qti.qualcomm.com>
Signed-off-by: Utkarsh Saxena <usaxena@codeaurora.org>
2017-02-20 11:29:17 +05:30
Hareesh Gundu
9c6461b067 msm: kgsl: Log mmap_base value on _get_svm_area failure
_get_svm_area can fail to find available address range
from mmap_base which was adjusted by random factor.
By logging mmap_base value will help to identify
any issue with the VA randomization.

Change-Id: Ibdc3fac975adde02c30aa253b53d6533ee558161
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
2017-02-20 11:17:32 +05:30
Ashay Jaiswal
bb7e704af7 ARM: dts: msm: update enable signal polarity of SMB1351 for SDM660
Update enable signal polarity of SMB1351 as active high to make
sure STAT pin of main charger controls SMB1351.

Change-Id: I7c3fa06d59667639899ad795537ed49cb1f59e2d
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
2017-02-20 09:11:21 +05:30
WANG Cong
a1e9116dac ppp: defer netns reference release for ppp channel
Matt reported that we have a NULL pointer dereference
in ppp_pernet() from ppp_connect_channel(),
i.e. pch->chan_net is NULL.

This is due to that a parallel ppp_unregister_channel()
could happen while we are in ppp_connect_channel(), during
which pch->chan_net set to NULL. Since we need a reference
to net per channel, it makes sense to sync the refcnt
with the life time of the channel, therefore we should
release this reference when we destroy it.

Fixes: 1f461dcdd296 ("ppp: take reference on channels netns")
Reported-by: Matt Bennett <Matt.Bennett@alliedtelesis.co.nz>
Cc: Paul Mackerras <paulus@samba.org>
Cc: linux-ppp@vger.kernel.org
Cc: Guillaume Nault <g.nault@alphalink.fr>
Cc: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Reviewed-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Git-repo:https://source.codeaurora.org/quic/la/kernel/msm-4.4
Git-commit: 205e1e255c479f3fd77446415706463b282f94e4

Change-Id: Ic7ce3be365ebdc1505ed8ce68df981c855638a3c
Signed-off-by: Srinivasa Rao Kuppala <srkupp@codeaurora.org>
2017-02-19 15:57:19 -08:00
Jordan Crouse
efa51be2e1 drm/msm: gpu: Return error on hw_init failure
When the GPU hardware init function fails (like say, ME_INIT timed
out) return error instead of blindly continuing on. This gives us
a small chance of saving the system before it goes boom.

Change-Id: Ic0dedbad142efbc9bd93e8531b40c391ec15f557
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-02-19 16:07:56 -07:00
Jordan Crouse
41f5926f41 drm/msm: Detach the MMU during msm_gpu_cleanup()
Make sure to detach the MMU device before destroying the address
space.

Change-Id: Ic0dedbadff27fed017840a61ec5e0d55ce0c71e6
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-02-19 16:07:56 -07:00
Jordan Crouse
ffd2f3eb42 drm/msm: Support different SMMU backends for address spaces
SDE and the GPU have different requirements for the SMMU backends - the
SDE generates its own iova addresses and needs special support for DMA
buffers and the GPU does its own IOMMU operations. Add a shim layer to
aspace to break out the address generation and call the appropriate
SMMU functions. There is probably consolidation that can be done, but for
now this is the best way to deal with the two use cases.

Change-Id: Ic0dedbadc6dc03504ef7dffded18ba09fb3ef291
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-02-19 16:07:56 -07:00
Rob Clark
1de066f014 drm/msm: support multiple address spaces
We can have various combinations of 64b and 32b address space, ie. 64b
CPU but 32b display and gpu, or 64b CPU and GPU but 32b display.  So
best to decouple the device iova's from mmap offset.

Change-Id: Ic0dedbad2b36b535df3e8fb2ddddc20add592cea
Signed-off-by: Rob Clark <robdclark@gmail.com>
Git-commit: 22877bcbdacd50d076f9b2f829e6a3753aa9821f
Git-repo: https://github.com/freedreno/kernel-msm.git
[jcrouse@codeaurora.org: Fix merge conflicts, remove mdp5 due to large
infrastructure changes, compile fixes]
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-02-19 16:07:56 -07:00
Linux Build Service Account
5a092dc83c Merge "msm: ipa: Do not assert if IPA FW loading fails" 2017-02-19 09:46:35 -08:00
Linux Build Service Account
3436baed84 Merge "ath10k: Add support for shadow register for WNC3990" 2017-02-19 09:46:35 -08:00
Ghanim Fodi
a13e78525f msm: ipa: Do not assert if IPA FW loading fails
Currently, IPA driver asserts if IPA FW loading
fails. Some environments do not have IPA FW
integrated and we should not crash at these cases.

CRs-fixed: 2005599
Change-Id: I78b9f2cadb8c35ab455f4514c7efc9cee4cf4542
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
2017-02-19 06:58:14 -08:00
Kiran Raparthy
2a725d1c02 ARM: dts: msm: enable SSC based sensors for SDM630 MTP/CDP
Add device node for SSC sensor device for sdm630. It
helps to create device node to make userspace clients read
snapdragonsensor(SSC) related information.

Change-Id: I6f402843656400ad38f5f5b822ba1b05165867bf
Signed-off-by: Kiran Raparthy <kraparth@codeaurora.org>
2017-02-19 01:44:44 -08:00
Linux Build Service Account
6f0b536eb7 Merge "power: qcom-charger: fix minor bugs in parallel path" 2017-02-19 01:04:40 -08:00
Linux Build Service Account
73069045ea Merge "power: qcom-charger: add a workaround flag for QC AUTH interrupt" 2017-02-19 01:04:39 -08:00
Linux Build Service Account
3fae2f4837 Merge "ARM: dts: msm: fix the compatible string used for GFX LDO CPR for sdm630" 2017-02-19 01:04:39 -08:00
Linux Build Service Account
e7d1d81cfb Merge "ARM: dts: msm: increase the system pm levels in sdm660" 2017-02-19 01:04:38 -08:00
Linux Build Service Account
523d252348 Merge "ARM: dts: msm: Enable wil6210 device for 8998 qrd-vr" 2017-02-19 01:04:37 -08:00
Linux Build Service Account
c3ad604dca Merge "ARM: dts: msm: Correct the number of bus frequency levels for SDM630" 2017-02-19 01:04:36 -08:00
Linux Build Service Account
943a2abd1a Merge "defconfig: msm: Enable BALANCE_ANON_FILE_RECLAIM for sdm660" 2017-02-19 01:04:36 -08:00
Linux Build Service Account
35dc4eff61 Merge "ARM: dts: msm: Fix DCVS load for SDM660" 2017-02-18 16:15:19 -08:00
Linux Build Service Account
1e81b8b188 Merge "drm/msm: add put_iova() helper" 2017-02-18 16:15:14 -08:00
Linux Build Service Account
1b3c3b33a7 Merge "drm/msm: set dma_mask properly" 2017-02-18 16:15:12 -08:00
Linux Build Service Account
ae42883322 Merge "wil6210: convert symbolic permissions to octal permissions" 2017-02-18 16:15:10 -08:00
Linux Build Service Account
b02b05a6d4 Merge "wil6210: option to override A-BFT length in start AP/PCP" 2017-02-18 16:15:09 -08:00
Linux Build Service Account
5d755997fd Merge "wil6210: report association ID (AID) per station in debugfs" 2017-02-18 16:15:08 -08:00
Linux Build Service Account
c9874a8186 Merge "wil6210: remove __func__ from debug printouts" 2017-02-18 16:15:08 -08:00
Vishnuvardhan Prodduturi
e355807417 ARM: dts: msm: disable dynamic fps for nt35597 truly panel on sdm660
Disable dynamic fps for nt35597 truly dual dsi panel to avoid
split screen artifacts.

Change-Id: I47fc1045152fcc30bacc258d7c6943dec6047e3a
Signed-off-by: Vishnuvardhan Prodduturi <vproddut@codeaurora.org>
2017-02-18 22:41:00 +05:30
Linux Build Service Account
97115a67ec Merge "ARM: dts: msm: Update cpufreq table for sdm630" 2017-02-18 06:38:28 -08:00
Linux Build Service Account
6aff0fb88a Merge "ARM: dts: msm: add ESD and ULPS support for SDM660 panels" 2017-02-18 06:38:27 -08:00
Linux Build Service Account
99c09871f6 Merge "msm: mdss: Rate limit hist bin error logs" 2017-02-18 06:38:26 -08:00
Linux Build Service Account
d0f2ea3824 Merge "msm: mdss: Use DMA pipe in pan display path for SDM 3.x.x" 2017-02-18 06:38:25 -08:00
Linux Build Service Account
237a49b330 Merge "msm: sde: Fix SW timestamp initialization when missing power event" 2017-02-18 06:38:24 -08:00
Linux Build Service Account
4160f2ac41 Merge "msm: mdss: fix autorefresh during kickoff" 2017-02-18 06:38:24 -08:00
Linux Build Service Account
abd5000b68 Merge "msm: mdss: correct bpp for TP10 in bandwidth calculations" 2017-02-18 06:38:23 -08:00
Linux Build Service Account
b2f08c6c88 Merge "usb: gsi: Capture USB GSI endpoint operations" 2017-02-18 06:38:22 -08:00
Linux Build Service Account
fb033a4afd Merge "scsi: ufs: full reinit upon resume if link was off" 2017-02-18 06:38:22 -08:00
Linux Build Service Account
8020c4ccfc Merge "regulator: cpr4-mmss-ldo: Correct the GFX LDO CPR sensor count for sdm630" 2017-02-18 06:38:21 -08:00
Tirupathi Reddy
9ae481d986 ARM: dts: msm: Update cpufreq table for sdm630
Update cpufreq table for sdm630 as per new cpu clock plan.

CRs-Fixed: 2008773
Change-Id: Ibaa5d3c2d1dbafd14b5e9bee382cd3980f89aa51
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
2017-02-18 16:22:11 +05:30
Neeraj Upadhyay
971e647ea7 ARM: dts: msm: add support for NO jacktype for SDM630
Add device tree files for headset jacktype NO, for CDP
and RCM platforms of SDM630.

Change-Id: I297e6467ed47c51950ae527077c3d20cf738e0b6
Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
2017-02-18 02:08:42 -08:00
Raviteja Tamatam
35ec11d49d ARM: dts: msm: update correct read OT settings for mdss
Fix default read vbif OT settings for mdss driver
in sdm630 and sdm660.

Change-Id: I9efbda397ffbf3552a165887d43e25a0426fd5b5
Signed-off-by: Raviteja Tamatam <travitej@codeaurora.org>
2017-02-18 11:08:32 +05:30
Ashay Jaiswal
9c5b523f78 power: qcom-charger: delay ICL change reporting to parallel psy
ICL change interrupt triggers whenever there is change in the
input ICL, in case of AICL restart(done as part of S/W base
pulsing) AICL starts from 500mA and ICL change gets triggered
for every 25mA ICL as part of AICL ramping.
ICL change handler generates a power_supply event on parallel
psys and thus causing parallel framework to re-split ICL for
every 25mA. Fix this by delaying power_supply event until AICL
settles.

Change-Id: I9270a99f536db4534e46764b2e053ff93b38cb54
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
2017-02-18 10:37:43 +05:30
Ashay Jaiswal
b5a4cf7bb6 power: qcom-charger: Add support for software INOV
Hardware autonomous INOV does adapter's output voltage
manipulation only based on the input limited state of main
charger. This works well with MID-MID parallel configuration
but with USBIN-USBIN parallel configuration parallel charger's
input limited state also plays role for INOV manipulations.
Thus disable hardware based autonomous INOV and add support
for software based INOV for USBIN-USBIN configuration.

Note that if authentication is disabled, the hw assumes QC3.0 and
if the autonomous bit is enabled, it issues increment/decrement pulses.
This happens even when QC3.0 has not been actually authenticated.

Change-Id: I397acb558c9ba3b6fc7d7b974d64459f278697fd
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-02-18 10:11:06 +05:30
Ashay Jaiswal
58ca30db67 power: qcom-charger: add support for internal and external rsense
USBIN-USBIN parallel configuration can have either an internal current
sensing via main charger's BATFET or an external current sense resistor.
The FCC split between main and parallel charger differs based on current
sensing mode, add support to differentiate internal/external sensing and
the FCC split is done as follows:
- Internal Sensing: Main charger configure to full FCC
		    Parallel charger configured to 50% FCC.
- External sensing: Main charger configure to 50% FCC
		    Parallel charger configured to 50% FCC.

Change-Id: Ia0c6234ce6f62af460edd3c4f56e34810899b3e3
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
2017-02-18 09:41:34 +05:30
Tony Truong
a395a07088 msm: pcie: add bounds check for debugfs register write
Via debugfs nodes, users have the option to read and write to
any PCIe register. To ensure clients do not access registers
outside the PCIe range, add checks to validate the offset clients
provide.

Change-Id: Ia35cd04c57f01c21a47962be596bca395b5ca247
Signed-off-by: Tony Truong <truong@codeaurora.org>
2017-02-17 20:07:04 -08:00
Ajay Singh Parmar
9a59582230 msm: hdcp: enable encryption only if not done already
Content Stream Management message can be sent multiple times
after successful authentication. Encryption is enabled after
receiving acknowledgment for Content Stream Management. Check
if the encryption is already enabled, if so, do not enable it
again.

CRs-Fixed: 1114981
Change-Id: I429b2ca2bf9dc0986f8fee6a814538031336c53b
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2017-02-17 20:04:45 -08:00
Ajay Singh Parmar
e18a7a0a90 msm: mdss: hdcp2p2: fix sysfs node name
Fix the name of the sysfs node used by user modules to
avoid file access issues.

CRs-Fixed: 1114981
Change-Id: Ief0a8ce77a932ce4923e2ec6ee2477d4e2c9627c
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2017-02-17 20:04:21 -08:00
Ashay Jaiswal
fb2e7e9869 power: qcom-charger: fix minor bugs in parallel path
"icl_reduction_ua" is not updated to new slave ICL value after
ICL split, update the variable.

Change-Id: I944fddfda1aa2c359785d1a3155ac22ebe91fa65
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
2017-02-18 09:29:20 +05:30
Ashay Jaiswal
6477a9e902 power: qcom-charger: add a workaround flag for QC AUTH interrupt
In PM660 "QC authentication done" IRQ is a pulse and thus it
does not require workaround to disable this IRQ after authentication
completes. Add a workaround flag to enable this only for PMI8998.

Change-Id: I766219df38fc4954f5208d6db323b680e8e5fafd
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
2017-02-18 09:27:14 +05:30
Mayank Rana
ccb139843c usb: gsi: Capture USB GSI endpoint operations
In some cases it has been observed that after sending STARTXFER
command with USB GSI IN endpoint, USB controller is accessing zero
address resulting into bus error. This change captures USB GSI
operation sequence in debug buffer which may help to understand
race condition in terms of USB gadget events and USB GSI endpoint
operations.

Change-Id: Ia46877bb92ea0cc1d5f3712e5c70bb44232d5cfe
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2017-02-17 17:49:44 -08:00