Commit graph

583466 commits

Author SHA1 Message Date
Linux Build Service Account
53995bb66d Merge "wil6210: Move dma mask setting after platform initialization" 2017-02-21 05:33:40 -08:00
Linux Build Service Account
d2c8f5b696 Merge "MMC : host: clear interrupt after halt in case of error" 2017-02-21 05:33:39 -08:00
Linux Build Service Account
5478ccfd84 Merge "ARM: dts: msm: Correct vote on LDO11 for VDDIO on sdm630" 2017-02-21 05:33:38 -08:00
Linux Build Service Account
dcf939a8a2 Merge "clk: qcom: Move gcc_usb3_phy_pipe_clk to branch clock" 2017-02-21 05:33:37 -08:00
Linux Build Service Account
f388e2608c Merge "Bluetooth: Enhance logging in btfm slim & audio codec drivers" 2017-02-21 05:33:37 -08:00
Linux Build Service Account
5c930890db Merge "ARM: dts: msm: Update bus bandwidth for msm8998" 2017-02-21 05:33:36 -08:00
Linux Build Service Account
22b8004d4a Merge "ARM: dts: msm: Enable SSC based sensors for QRD SDM660" 2017-02-21 05:33:35 -08:00
Linux Build Service Account
b62eea1c6f Merge "ARM: dts: msm: Update icnss device node for sdm630" 2017-02-21 05:33:34 -08:00
Linux Build Service Account
fc6e67dd82 Merge "clk: qcom: Remove few multimedia clocks for sdm630" 2017-02-21 05:33:33 -08:00
Linux Build Service Account
2647f6c8b6 Merge "msm: kgsl: Log mmap_base value on _get_svm_area failure" 2017-02-21 05:33:33 -08:00
Linux Build Service Account
3ca63be946 Merge "soc: qcom: rpm_rail_stats: Add support for lpcx and lpmx rail stats" 2017-02-21 05:33:32 -08:00
Linux Build Service Account
89c9719dbc Merge "ARM: dts: msm: Enable OSM CPU clocks for SDM630" 2017-02-21 05:33:31 -08:00
Linux Build Service Account
ac3b6b3050 Merge "ARM: dts: msm: Enable home key for qrd sdm630" 2017-02-21 05:33:30 -08:00
Linux Build Service Account
feb73440b7 Merge "ARM: dts: msm: disable dynamic fps for nt35597 truly panel on sdm660" 2017-02-21 05:33:30 -08:00
Linux Build Service Account
b62d031aa6 Merge "ARM: dts: msm: update correct read OT settings for mdss" 2017-02-21 05:33:29 -08:00
Linux Build Service Account
37002c2c34 Merge "smb138x-charger: use SW based comparison for connector health" 2017-02-21 05:33:28 -08:00
Linux Build Service Account
a49e87ee73 Merge "ARM: dts: msm: add connector temp iio channel for SMB138X" 2017-02-21 05:33:27 -08:00
Linux Build Service Account
6cf18cf002 Merge "mm: vmscan: do not pass reclaimed slab to vmpressure" 2017-02-21 05:33:26 -08:00
Linux Build Service Account
1449de5126 Merge "mm: vmpressure: fix sending wrong events on underflow" 2017-02-21 05:33:26 -08:00
Linux Build Service Account
3e0898136d Merge "USB: qusb: Add support to change TUNEX registers dynamically" 2017-02-21 05:33:25 -08:00
Linux Build Service Account
9576ebffd1 Merge "phy: qcom-ufs: parse ref-clk details prior to resource request" 2017-02-21 05:33:24 -08:00
Linux Build Service Account
b3b9d63434 Merge "ARM: dts: msm: update enable signal polarity of SMB1351 for SDM660" 2017-02-21 05:33:23 -08:00
Linux Build Service Account
7997223a2d Merge "msm: ipa: changes to suspend/disable for WDI 2" 2017-02-21 05:33:23 -08:00
Linux Build Service Account
bf0ca85b71 Merge "net: validate the range we feed to iov_iter_init() in sys_sendto/sys_recvfrom" 2017-02-21 05:33:19 -08:00
Linux Build Service Account
32ba260669 Merge "usb: pd: Skip decreasing current when requesting the same PPS" 2017-02-21 05:33:18 -08:00
Linux Build Service Account
7fd898c7d3 Merge "ARM: dts: msm: Update Temperature sensor support for sdm660" 2017-02-21 05:33:17 -08:00
Linux Build Service Account
488d502924 Merge "USB: gadget: Replace %pK with %p" 2017-02-21 05:33:16 -08:00
Linux Build Service Account
328a15d380 Merge "msm: kgsl: Fix false timeout gpu faults" 2017-02-21 05:33:16 -08:00
Linux Build Service Account
921ba81bc3 Merge "input: touchscreen: remove msg21xx mstar touch driver" 2017-02-21 05:33:15 -08:00
Linux Build Service Account
abe0d1ce01 Merge "mmc: core: Fix deadlock in suspend & rescan path" 2017-02-21 05:33:14 -08:00
Linux Build Service Account
82ab22b4ae Merge "mmc: sdhci-msm: Dont wait infinitely for pwr_irq interrupt" 2017-02-21 05:33:13 -08:00
Veerabhadrarao Badiganti
43464aa84e mmc: cmdq_hci: Enable legacy interrupts immediately after halt
Enable the legacy interrupts immediately after halt interrupt is
handled, from cmdq_irq() itself.

When cmdq halt is initiated, as per existing logic driver waits either
for halt interrupt to fire or for certain period of time.  In case if
cmdq is halted but halt interrupt got delayed than wait-timeout period,
driver disables cmdq interrupts since cmdq is in halt state.
The delayed halt interrupt gets fired only when cmdq is unhalted next
time and cmdq interrupts are enabled. And this delayed interrupt is
treated as an unexpected interrupt.

By enabling legacy interrupts (i.e., disabling cmdq interrupts) from
cmdq_irq(), we can ensure that we don't disable cmdq interrupts until
halt interrupt get fired. So we can avoid above mentioned scenario.

Change-Id: Ic052d41fac789b6390a5d80dfaee91767bdb783f
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
2017-02-21 17:20:14 +05:30
Veerabhadrarao Badiganti
23a7da0be7 mmc: cmdq_hci: Increase HAC interrupt wait time in halt path
When system is heavily loaded, in some cases interrupt servicing
is getting effected and cmdq halt interrupt handler is getting invoked
after 1 sec delay. Since wait time of HAC interrupt in cmdq driver
is 1 sec, the delayed interrupt is being treated as unexpected
interrupt.
For fixing this case, increasing the timeout to 10 seconds.

Change-Id: I55879095aa2b81a10f40963aee02b2068a3305b4
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
2017-02-21 17:18:48 +05:30
Jin Fu
1fdcd6cd5a ARM: dts: msm: Add touch device node for HDK835
Add ST touch controller device node for MSM8998 HDK835.
Touch controller is connected to the host processor via
I2C.

Change-Id: Id94f2feaddfa0c7aca74a52448b652afcd013ed7
Signed-off-by: Jin Fu <jinf@codeaurora.org>
2017-02-21 19:43:42 +08:00
Ankit Sharma
6951006459 ARM: dts: msm: Add VOL_UP node for SDM630
Add the GPIO and VOL_UP key configuration for SDM630.

CRs-Fixed: 2009507
Change-Id: I63b76194c07c1ce92a0801861cbe349cb2324ef6
Signed-off-by: Ankit Sharma <ansharma@codeaurora.org>
2017-02-21 17:06:32 +05:30
Laxminath Kasam
cf29faa1ee Revert "ASoC: wsa881x: Add cache-always mode for sdm660"
This reverts 'commit b3f17f8fe8
("ASoC: wsa881x: Add cache-always mode for sdm660")'
as wsa881x speaker mute without cache-always mode is fixed.

CRs-Fixed: 2000566
Change-Id: Ia3c4f2ad5749fd32bb7426ab855c20acc378f563
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2017-02-21 15:53:50 +05:30
Laxminath Kasam
da31eab171 Revert "ARM: dts: msm: Enable cache-always for WSA in sdm660 internal codec"
This reverts 'commit 4dd5dc49ac
("ARM: dts: msm: Enable cache-always for WSA in sdm660 internal codec")'
as WSA881x speaker mute without cache-always mode is fixed.

CRs-Fixed: 2000566
Change-Id: Iab2fb5745de5c8356b64ecf6178f1afac05d4d26
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2017-02-21 15:53:27 +05:30
Laxminath Kasam
6f5b527c17 ASoC: msm_sdw: Fix wsa881x random speaker mute
In internal codec with WSA, wsa881x codec registers
accessed using soundwire expect to have delay.
So back to back registers access needs to ensure
proper delay, otherwise previous filled register
value is read and results in speaker mute.

CRs-Fixed: 2000566
Change-Id: I6b3441f206a3a9d0531b40d701636d7dd5a74cc0
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2017-02-21 15:53:02 +05:30
Laxminath Kasam
613aec8015 ARM: dts: msm: Fix compile warning in sdm660 audio node
Add address cells and size cells for digital audio node present
within analog codec node.

CRs-Fixed: 2000566
Change-Id: Iaf7ce40e9bcf8a1eabba0552377372fe2dd43ea3
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2017-02-21 15:39:06 +05:30
Amit Nischal
e9a6b4b935 clk: qcom: Remove gcc_hmss_ahb_clk for sdm660
The gcc_hmss_ahb_clk will be controlled by RPM. Remove all
control of it from the HLOS clock driver.

Change-Id: I26525787352cb0b85937cc005afba7c37a7989ff
Signed-off-by: Amit Nischal <anischal@codeaurora.org>
2017-02-21 14:39:12 +05:30
Sayali Lokhande
23fc79cd39 mmc: cmdq_hci: CQ Register changes for sdm660
For SDHC version 5.0 onwards, ICE3.0 specific
registers are added in CQ register space, due to
which few CQ registers(like CQ_VENDOR_GFG,
CQ_CMD_DBG_RAM) are shifted. This change is to
update CQ register offset for sdm660.

Change-Id: Ie85b8f6c68511dccd2b545bd9cc17c747f3da8e7
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
2017-02-21 13:46:54 +05:30
Vlastimil Babka
28aea75c4b mm, memory hotplug: small cleanup in online_pages()
We can reuse the nid we've determined instead of repeated pfn_to_nid()
usages.  Also zone_to_nid() should be a bit cheaper in general than
pfn_to_nid().

Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: David Rientjes <rientjes@google.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Git-commit: e888ca3545dc6823603b976e40b62af2c68b6fcc
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Change-Id: I6bdb2530fd6306ceb49022ef9cdc82b5598ebe8c
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2017-02-21 12:37:10 +05:30
Vlastimil Babka
f9d29d58eb mm, compaction: introduce kcompactd
Memory compaction can be currently performed in several contexts:

 - kswapd balancing a zone after a high-order allocation failure
 - direct compaction to satisfy a high-order allocation, including THP
   page fault attemps
 - khugepaged trying to collapse a hugepage
 - manually from /proc

The purpose of compaction is two-fold.  The obvious purpose is to
satisfy a (pending or future) high-order allocation, and is easy to
evaluate.  The other purpose is to keep overal memory fragmentation low
and help the anti-fragmentation mechanism.  The success wrt the latter
purpose is more

The current situation wrt the purposes has a few drawbacks:

 - compaction is invoked only when a high-order page or hugepage is not
   available (or manually).  This might be too late for the purposes of
   keeping memory fragmentation low.
 - direct compaction increases latency of allocations.  Again, it would
   be better if compaction was performed asynchronously to keep
   fragmentation low, before the allocation itself comes.
 - (a special case of the previous) the cost of compaction during THP
   page faults can easily offset the benefits of THP.
 - kswapd compaction appears to be complex, fragile and not working in
   some scenarios.  It could also end up compacting for a high-order
   allocation request when it should be reclaiming memory for a later
   order-0 request.

To improve the situation, we should be able to benefit from an
equivalent of kswapd, but for compaction - i.e. a background thread
which responds to fragmentation and the need for high-order allocations
(including hugepages) somewhat proactively.

One possibility is to extend the responsibilities of kswapd, which could
however complicate its design too much.  It should be better to let
kswapd handle reclaim, as order-0 allocations are often more critical
than high-order ones.

Another possibility is to extend khugepaged, but this kthread is a
single instance and tied to THP configs.

This patch goes with the option of a new set of per-node kthreads called
kcompactd, and lays the foundations, without introducing any new
tunables.  The lifecycle mimics kswapd kthreads, including the memory
hotplug hooks.

For compaction, kcompactd uses the standard compaction_suitable() and
ompact_finished() criteria and the deferred compaction functionality.
Unlike direct compaction, it uses only sync compaction, as there's no
allocation latency to minimize.

This patch doesn't yet add a call to wakeup_kcompactd.  The kswapd
compact/reclaim loop for high-order pages will be replaced by waking up
kcompactd in the next patch with the description of what's wrong with
the old approach.

Waking up of the kcompactd threads is also tied to kswapd activity and
follows these rules:
 - we don't want to affect any fastpaths, so wake up kcompactd only from
   the slowpath, as it's done for kswapd
 - if kswapd is doing reclaim, it's more important than compaction, so
   don't invoke kcompactd until kswapd goes to sleep
 - the target order used for kswapd is passed to kcompactd

Future possible future uses for kcompactd include the ability to wake up
kcompactd on demand in special situations, such as when hugepages are
not available (currently not done due to __GFP_NO_KSWAPD) or when a
fragmentation event (i.e.  __rmqueue_fallback()) occurs.  It's also
possible to perform periodic compaction with kcompactd.

[arnd@arndb.de: fix build errors with kcompactd]
[paul.gortmaker@windriver.com: don't use modular references for non modular code]
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: David Rientjes <rientjes@google.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: Hugh Dickins <hughd@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Git-commit: 698b1b30642f1ff0ea10ef1de9745ab633031377
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Change-Id: I987ae548cba936987b8479dc02de67d0f88b9cb6
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2017-02-21 12:36:57 +05:30
Vlastimil Babka
d7e25d6390 mm, kswapd: remove bogus check of balance_classzone_idx
During work on kcompactd integration I have spotted a confusing check of
balance_classzone_idx, which I believe is bogus.

The balanced_classzone_idx is filled by balance_pgdat() as the highest
zone it attempted to balance.  This was introduced by commit dc83edd941
("mm: kswapd: use the classzone idx that kswapd was using for
sleeping_prematurely()").

The intention is that (as expressed in today's function names), the
value used for kswapd_shrink_zone() calls in balance_pgdat() is the same
as for the decisions in kswapd_try_to_sleep().

An unwanted side-effect of that commit was breaking the checks in
kswapd() whether there was another kswapd_wakeup with a tighter (=lower)
classzone_idx.  Commits 215ddd6664 ("mm: vmscan: only read
new_classzone_idx from pgdat when reclaiming successfully") and
d2ebd0f6b8 ("kswapd: avoid unnecessary rebalance after an unsuccessful
balancing") tried to fixed, but apparently introduced a bogus check that
this patch removes.

Consider zone indexes X < Y < Z, where:
- Z is the value used for the first kswapd wakeup.
- Y is returned as balanced_classzone_idx, which means zones with index higher
  than Y (including Z) were found to be unreclaimable.
- X is the value used for the second kswapd wakeup

The new wakeup with value X means that kswapd is now supposed to balance
harder all zones with index <= X.  But instead, due to Y < Z, it will go
sleep and won't read the new value X.  This is subtly wrong.

The effect of this patch is that kswapd will react better in some
situations, where e.g.  the first wakeup is for ZONE_DMA32, the second is
for ZONE_DMA, and due to unreclaimable ZONE_NORMAL.  Before this patch,
kswapd would go sleep instead of reclaiming ZONE_DMA harder.  I expect
these situations are very rare, and more value is in better
maintainability due to the removal of confusing and bogus check.

Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: David Rientjes <rientjes@google.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Git-commit: 81c5857b279e6b18f6ff0d1975e80a07af542cd1
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Change-Id: If520144bb67b346a739166721137284112b9816a
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2017-02-21 12:36:28 +05:30
Jin Fu
ebfafe11f2 defconfig: msmcortex: Add ST TP configuration for QVR8998
As QVR8998 project needed, add configuration for ST touch
panel driver.

Change-Id: I5bf4d705cedb32a26bed3832dac3fe08a0f45cfa
Signed-off-by: Jin Fu <jinf@codeaurora.org>
2017-02-21 14:56:54 +08:00
Jin Fu
ba6b93c16b ARM: dts: msm: Add touch device node for QVR8998
Add ST touch controller device node for QVR8998.Touch
controller is connected to the host processor via I2C.

Change-Id: Iad7db584a80c025e24f574292a63e019732da12c
Signed-off-by: Jin Fu <jinf@codeaurora.org>
2017-02-21 14:50:45 +08:00
Gopikrishnaiah Anandan
6465ed1ec2 ARM: dts: msm: Add sde dtsi for msm8998
msm8998 has a new version of display hardware block.
This Change adds the dtsi support for sde block.

CRs-Fixed: 2002381
Change-Id: Ib18d2e2134a314295667d557ab314cd9aab82585
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
Signed-off-by: Manoj Kumar AVM <manojavm@codeaurora.org>
2017-02-20 22:42:18 -08:00
Vatsal Bucha
59645729eb drivers:soc: Avoid use of uninitialized variable
While notifier de_register, we access the list which is not initialized.
Hence can result in access of uninitialized variable.
Update the loop to use correct list variable.

CRs-Fixed: 2002748
Change-Id: Ibff56477ed3fba90c8ff704ea7dbe3c472f59836
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2017-02-20 21:31:48 -08:00
Jayant Shekhar
82fc7a7b26 msm: mdss: Correct mixer enumeration for sdm630
For sdm630, LM0 and LM2 layer-mixers are present.
LM1 interface mixer is removed. So, enumerate the
LM2 mixer correctly.

Change-Id: Iceff8f215ca34e95556368a13a9b0c8aeb7c2ef3
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
2017-02-21 10:57:09 +05:30
Taniya Das
1a5c4d6ac3 clk: qcom: Remove mmssnoc cpu active vote clock for SDM660
There is no requirement to vote on active only clock of MMSSNOC cpu clock,
as the handoff flag for rpm clocks already takes care of the initial vote,
until the client puts across a vote.

Change-Id: I7804daa804d06ea3a7a81c4cf33156cc7324a542
Signed-off-by: Taniya Das <tdas@codeaurora.org>
2017-02-20 20:59:45 -08:00