Commit graph

591811 commits

Author SHA1 Message Date
Yue Ma
022e1f5a20 net: Kconfig: Add config entry for WLAN QCA6290 chipset
WLAN QCA6290 chipset specific changes are featurized under
this config entry.

Change-Id: I9283ea5dcac702018b2483cdcd4aea254e96c51a
CRs-fixed: 2071634
Signed-off-by: Yue Ma <yuem@codeaurora.org>
2017-07-11 10:36:28 -07:00
Linux Build Service Account
e5a68ffaa3 Merge "Merge android-4.4@8c91412 (v4.4.75) into msm-4.4" 2017-07-11 00:40:22 -07:00
Linux Build Service Account
0f0e37eeac Merge "mmc: core: Select HS mode in device first and then in the host" 2017-07-11 00:40:21 -07:00
Linux Build Service Account
d6b4382bc7 Merge "mm/page_alloc: introduce post allocation processing on page allocator" 2017-07-11 00:40:15 -07:00
Linux Build Service Account
329e421aab Merge "mm/page_owner: use stackdepot to store stacktrace" 2017-07-11 00:40:13 -07:00
Linux Build Service Account
11470983e5 Merge "mm/page_owner: introduce split_page_owner and replace manual handling" 2017-07-11 00:40:12 -07:00
Linux Build Service Account
09437acc78 Merge "lib/stackdepot: avoid to return 0 handle" 2017-07-11 00:40:12 -07:00
Linux Build Service Account
dee9c65c16 Merge "lib/stackdepot.c: allow the stack trace hash to be zero" 2017-07-11 00:40:11 -07:00
Linux Build Service Account
79f2b434d4 Merge "mm, kasan: stackdepot implementation. Enable stackdepot for SLAB" 2017-07-11 00:40:11 -07:00
Linux Build Service Account
381c897543 Merge "mm/page_owner: copy last_migrate_reason in copy_page_owner()" 2017-07-11 00:40:10 -07:00
Linux Build Service Account
17ead552c0 Merge "mm/page_owner: add zone range overlapping check" 2017-07-11 00:40:10 -07:00
Linux Build Service Account
038a9502b1 Merge "mm, page_owner: dump page owner info from dump_page()" 2017-07-11 00:40:09 -07:00
Linux Build Service Account
e8b8b04e8e Merge "mm, page_owner: track and print last migrate reason" 2017-07-11 00:40:09 -07:00
Linux Build Service Account
4eaf0330f9 Merge "mm, page_owner: copy page owner info during migration" 2017-07-11 00:40:08 -07:00
Linux Build Service Account
5fd1a48477 Merge "mm, page_owner: convert page_owner_inited to static key" 2017-07-11 00:40:08 -07:00
Linux Build Service Account
b7d16a2978 Merge "mm, page_owner: print migratetype of page and pageblock, symbolic flags" 2017-07-11 00:40:07 -07:00
Linux Build Service Account
ccc6c3b3c8 Merge "ARM: dts: msm: configure GPIO19 on msm8998 for 11ad refclk3" 2017-07-11 00:40:06 -07:00
Linux Build Service Account
1f575ad700 Merge "power: reset: msm: Restore disabling SDI during reset" 2017-07-11 00:40:05 -07:00
Linux Build Service Account
15e4cb50b3 Merge "net: rps: reset backlog state when IPI fails." 2017-07-11 00:40:05 -07:00
Linux Build Service Account
0d2bf7e895 Merge "cnss2: Bypass SMMU stage-1 by default" 2017-07-10 14:09:14 -07:00
Sayali Lokhande
b52748d7fc mmc: core: Select HS mode in device first and then in the host
While switching from hs400 to hs200 mode, high speed mode
timing should be selected in the device before changing the
clock frequency in the host. But current implementation,
(mmc_hs400_to_hs200) first updates the frequency in the host
and then updates mode in the device. This is a spec violation.
Hence update the sequence to comply with the spec.

Change-Id: I0694edac9dd005ec68add9cc38bbe6fa4245ed48
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
2017-07-10 02:28:00 -07:00
Linux Build Service Account
d6f171ce52 Merge "i2c-msm-v2: Avoid accessing unassigned memory" 2017-07-10 00:04:21 -07:00
Shrey Vijay
9f3114efc5 i2c-msm-v2: Avoid accessing unassigned memory
Memory translation fault occurs when incorrect memory
is accessed. To avoid translation fault, do not access
message memory which is not initialized.

Change-Id: Id5e89350a4bc51021964ee63286ea69040f1b32a
Signed-off-by: Shrey Vijay <shreyv@codeaurora.org>
2017-07-09 22:34:43 -07:00
Ashwanth Goli
68af09edd5 net: rps: reset backlog state when IPI fails.
Changes that reset remote cpu backlog state are removed with the
following commit. Adding them back.
I6e688bf0d09 ("net: rps: send out pending IPI's on CPU hotplug")

Change-Id: I436d1a1f185f0ddc375349e135bbb5d6eb8c5f26
Signed-off-by: Ashwanth Goli <ashwanth@codeaurora.org>
2017-07-10 09:57:47 +05:30
Neeraj Upadhyay
79a6aefd94 power: reset: msm: Restore disabling SDI during reset
This reverts commit b67bb93f56 ("power: reset: Do not
disable SDI during reset"), to restore the original
behavior of disabling SDI during reset.

Change-Id: I6ad0472dc5d766ffea2a942fc226fb742fe44242
Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
2017-07-10 08:23:52 +05:30
Abhinav Kumar
5b678cb82f drm/msm: add input validation before setting HDR infoframe
Move the input validation for the connector's HDR support
before calling the API to set the infoframe rather than within
the API itself.

This helps to avoid redundant checks and logging.

Change-Id: If21562920edb1613a73b5e18ab258a57e46c1d7b
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-07-09 10:59:31 -07:00
Maya Erez
fc3a244ccb ARM: dts: msm: configure GPIO19 on msm8998 for 11ad refclk3
PMIC GPIO19 is used by 11ad device to control the refclk3,
while switching to slow clock.
Configure GPIO as input, no pull and VIN 1 for 1.8V source.

Change-Id: I89c04d70f1d8eff550b85d4fcb16bf08bf128ca7
Signed-off-by: Maya Erez <merez@codeaurora.org>
2017-07-08 22:29:40 -07:00
Linux Build Service Account
3ec8bfc9bb Merge "icnss: Use fixed memory region for WLAN MSA0 memory" 2017-07-07 17:45:54 -07:00
Linux Build Service Account
719e5e1640 Merge "msm: mdss: information leak during buffer copy from userspace" 2017-07-07 17:45:53 -07:00
Linux Build Service Account
a142e886a7 Merge "msm: mdss: Increase fbmem buf ref count before use" 2017-07-07 17:45:52 -07:00
Linux Build Service Account
209c402fa5 Merge "mdss: dp: avoid notifying DP connect during AUX timeout cases" 2017-07-07 17:45:51 -07:00
Linux Build Service Account
799bcf26f3 Merge "msm: mdss: Put smmu interface errors under pr_err" 2017-07-07 17:45:50 -07:00
Linux Build Service Account
1a20f4d483 Merge "ARM: dts: msm: Support for adv7533 1024x600P panel resolution on msm8996" 2017-07-07 17:45:49 -07:00
Linux Build Service Account
4669039895 Merge "msm: mdss: Fix possible integer overflow" 2017-07-07 17:45:48 -07:00
Linux Build Service Account
4e9710b652 Merge "soc: qcom: ipc_router_mhi_xprt: Do not defer MHI open and close work" 2017-07-07 17:45:47 -07:00
Yue Ma
243575bddb cnss2: Bypass SMMU stage-1 by default
Bypass SMMU stage-1 till it is fully supported by WLAN driver and
device.

Change-Id: I186345c20f9b71171bba6acc8c5eaa689e39b51c
CRs-fixed: 2071634
Signed-off-by: Yue Ma <yuem@codeaurora.org>
2017-07-07 09:44:28 -07:00
Yue Ma
abb697f2a1 cnss2: Fix issues when migrating to msm-4.4 kernel
Fix the issues during migrating CNSS2 platform driver to msm-4.4
kernel.

Change-Id: Ifcef708fa9394ad54c92a26a397ec60631e74ef2
CRs-fixed: 2071634
Signed-off-by: Yue Ma <yuem@codeaurora.org>
2017-07-07 09:44:27 -07:00
Yue Ma
5fc7e6650d net: cnss2: Add snapshot of CNSS2 driver
This is a snapshot of the CNSS2 driver and associated files as
of msm-3.18 commit c1bbe6d5e136 ("cnss2: Fix kernel checkpatch
issues").

Change-Id: Ia77d3abe3f86e4dbeac8d55ea2e0120bed480126
CRs-fixed: 2071634
Signed-off-by: Yue Ma <yuem@codeaurora.org>
2017-07-07 09:41:12 -07:00
Linux Build Service Account
77908d9c93 Merge "Revert "ARM: dts: msm: align removed_region with SDM630 memmap"" 2017-07-07 08:32:00 -07:00
Linux Build Service Account
539f7638fa Merge "icnss: Show rejuvenation info in ICNSS stats report" 2017-07-07 08:31:59 -07:00
Linux Build Service Account
fdc05fae43 Merge "pwm: pwm-qpnp: Ignore changing period setting if it's not requested" 2017-07-07 08:31:58 -07:00
Linux Build Service Account
dcfc6b7782 Merge "msm: sensor: Fix to validate the settings size in flash" 2017-07-07 08:31:57 -07:00
Linux Build Service Account
dec5742b2a Merge "msm: camera: Unlock rwlock before returning." 2017-07-07 08:31:56 -07:00
Linux Build Service Account
478a7073f5 Merge "diag: Add proper checks to fix possible out-of-bound issue" 2017-07-07 08:31:55 -07:00
Hardik Kantilal Patel
cc193eec69 icnss: Use fixed memory region for WLAN MSA0 memory
During first time boot up WLAN Platform driver allocate
1 MB MSA0 Memory region. This region may be adjacent to
other regions that also requires access control, due to
that TZ will merge the two sections into one single resource
group. During this Q6 will lose access to memory region causing
a NOC Error. To avoid use fixed memory region for WLAN MSA0
memory.

CRs-Fixed: 2066025
Change-Id: Ie878e010954524bbe48a29d6ad6f2f53848ab25e
Signed-off-by: Hardik Kantilal Patel <hkpatel@codeaurora.org>
2017-07-07 16:55:07 +05:30
Joonsoo Kim
e448e4e545 mm/page_alloc: introduce post allocation processing on page allocator
This patch is motivated from Hugh and Vlastimil's concern [1].

There are two ways to get freepage from the allocator.  One is using
normal memory allocation API and the other is __isolate_free_page()
which is internally used for compaction and pageblock isolation.  Later
usage is rather tricky since it doesn't do whole post allocation
processing done by normal API.

One problematic thing I already know is that poisoned page would not be
checked if it is allocated by __isolate_free_page().  Perhaps, there
would be more.

We could add more debug logic for allocated page in the future and this
separation would cause more problem.  I'd like to fix this situation at
this time.  Solution is simple.  This patch commonize some logic for
newly allocated page and uses it on all sites.  This will solve the
problem.

[1] http://marc.info/?i=alpine.LSU.2.11.1604270029350.7066%40eggly.anvils%3E

Change-Id: I601ec8ce8ee4ab76cd408ff2148dd8c73b959fc2
[iamjoonsoo.kim@lge.com: mm-page_alloc-introduce-post-allocation-processing-on-page-allocator-v3]
  Link: http://lkml.kernel.org/r/1464230275-25791-7-git-send-email-iamjoonsoo.kim@lge.com
  Link: http://lkml.kernel.org/r/1466150259-27727-9-git-send-email-iamjoonsoo.kim@lge.com
Link: http://lkml.kernel.org/r/1464230275-25791-7-git-send-email-iamjoonsoo.kim@lge.com
Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Alexander Potapenko <glider@google.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Michal Hocko <mhocko@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Git-commit: 46f24fd857b37bb86ddd5d0ac3d194e984dfdf1c
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[guptap@codeaurora.org: resolve trivial merge conflicts]
Signed-off-by: Prakash Gupta <guptap@codeaurora.org>
2017-07-07 15:39:34 +05:30
Joonsoo Kim
0db2683327 mm/page_owner: use stackdepot to store stacktrace
Currently, we store each page's allocation stacktrace on corresponding
page_ext structure and it requires a lot of memory.  This causes the
problem that memory tight system doesn't work well if page_owner is
enabled.  Moreover, even with this large memory consumption, we cannot
get full stacktrace because we allocate memory at boot time and just
maintain 8 stacktrace slots to balance memory consumption.  We could
increase it to more but it would make system unusable or change system
behaviour.

To solve the problem, this patch uses stackdepot to store stacktrace.
It obviously provides memory saving but there is a drawback that
stackdepot could fail.

stackdepot allocates memory at runtime so it could fail if system has
not enough memory.  But, most of allocation stack are generated at very
early time and there are much memory at this time.  So, failure would
not happen easily.  And, one failure means that we miss just one page's
allocation stacktrace so it would not be a big problem.  In this patch,
when memory allocation failure happens, we store special stracktrace
handle to the page that is failed to save stacktrace.  With it, user can
guess memory usage properly even if failure happens.

Memory saving looks as following.  (4GB memory system with page_owner)
(before the patch -> after the patch)

static allocation:
92274688 bytes -> 25165824 bytes

dynamic allocation after boot + kernel build:
0 bytes -> 327680 bytes

total:
92274688 bytes -> 25493504 bytes

72% reduction in total.

Note that implementation looks complex than someone would imagine
because there is recursion issue.  stackdepot uses page allocator and
page_owner is called at page allocation.  Using stackdepot in page_owner
could re-call page allcator and then page_owner.  That is a recursion.
To detect and avoid it, whenever we obtain stacktrace, recursion is
checked and page_owner is set to dummy information if found.  Dummy
information means that this page is allocated for page_owner feature
itself (such as stackdepot) and it's understandable behavior for user.

Change-Id: I9f96f1b527836a7577b1818a6a4fde7786e23a3b
[iamjoonsoo.kim@lge.com: mm-page_owner-use-stackdepot-to-store-stacktrace-v3]
  Link: http://lkml.kernel.org/r/1464230275-25791-6-git-send-email-iamjoonsoo.kim@lge.com
  Link: http://lkml.kernel.org/r/1466150259-27727-7-git-send-email-iamjoonsoo.kim@lge.com
Link: http://lkml.kernel.org/r/1464230275-25791-6-git-send-email-iamjoonsoo.kim@lge.com
Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Alexander Potapenko <glider@google.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: f2ca0b55710752588ccff5224a11e6aea43a996a
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[guptap@codeaurora.org: resolve trivial merge conflicts]
Signed-off-by: Prakash Gupta <guptap@codeaurora.org>
2017-07-07 15:39:34 +05:30
Sudip Mukherjee
d2d3c7bc7e mm/page_owner: avoid null pointer dereference
We have dereferenced page_ext before checking it.  Lets check it first
and then used it.

Change-Id: I9184110069df51ddcf6eb699cb6ed2320fa09ab0
Fixes: f86e4271978b ("mm: check the return value of lookup_page_ext for all call sites")
Link: http://lkml.kernel.org/r/1465249059-7883-1-git-send-email-sudipm.mukherjee@gmail.com
Signed-off-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Git-commit: 8285027fc479949a7a166bc1b26ce57e894878a7
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Prakash Gupta <guptap@codeaurora.org>
2017-07-07 15:39:33 +05:30
Yang Shi
acda305dcb mm: check the return value of lookup_page_ext for all call sites
Per the discussion with Joonsoo Kim [1], we need check the return value
of lookup_page_ext() for all call sites since it might return NULL in
some cases, although it is unlikely, i.e.  memory hotplug.

Tested with ltp with "page_owner=0".

[1] http://lkml.kernel.org/r/20160519002809.GA10245@js1304-P5Q-DELUXE

Change-Id: Ie0c577c1136a7f6f4e0fa2ceacfb007cd5323b8e
[akpm@linux-foundation.org: fix build-breaking typos]
[arnd@arndb.de: fix build problems from lookup_page_ext]
  Link: http://lkml.kernel.org/r/6285269.2CksypHdYp@wuerfel
[akpm@linux-foundation.org: coding-style fixes]
Link: http://lkml.kernel.org/r/1464023768-31025-1-git-send-email-yang.shi@linaro.org
Signed-off-by: Yang Shi <yang.shi@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Git-commit: f86e4271978bd93db466d6a95dad4b0fdcdb04f6
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[guptap@codeaurora.org: resolve trivial merge conflicts]
Signed-off-by: Prakash Gupta <guptap@codeaurora.org>
2017-07-07 15:39:32 +05:30
Joonsoo Kim
dcaff0c9ae tools/vm/page_owner: increase temporary buffer size
Page owner will be changed to store more deep stacktrace so current
temporary buffer size isn't enough.  Increase it.

Change-Id: Icd12608e87e9a91089c498faf3fc11054d79a87c
Link: http://lkml.kernel.org/r/1464230275-25791-5-git-send-email-iamjoonsoo.kim@lge.com
Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Alexander Potapenko <glider@google.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Michal Hocko <mhocko@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Git-commit: 371376750fce0abb09b1aa3fd8ae7025813a3488
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Prakash Gupta <guptap@codeaurora.org>
2017-07-07 15:39:32 +05:30