Commit graph

570436 commits

Author SHA1 Message Date
Mayank Rana
30c04a7b2b Revert "usb: gadget: gsi: Decrement USB gadget pm usage count on cable disconnect"
'commit 3a7ce1db5661 ("usb: gadget: gsi: Decrement USB gadget pm usage
count on cable disconnect")' added decrementing USB gadget device's pm
usage count from STATE_INITIALIZED which results into multiple time
decrementing USB gadget device's pm usage count on USB cable disconnect
as below:

1. On USB cable disconnect, USB bus suspend event is being received which
post EVT_DISCONNECTED. If state is STATE_CONNECTED, ipa_work_handles()
decrements USB gadget device's pm usage count, and move state to
STATE_INITIALIZED.

2. Due to USB cable disconnect, gsi_disable() posts EVT_DISCONNECTED.
This event is processed into STATE_CONNECTED causing additional decrement
of USB gadget device's pm usage count.

Due to above case, USB goes into low power mode with dwc3's pm usage
count negative. On connecting USB host mode cable, xhci resume is failing
due to dwc3's (parent of xhci) is having negative usage count which results
into no USB host mode functionality (pm_runtime_get_sync() returns -EBUSY).
Hence revert commit to allow USB Host mode functionality.

CRs-Fixed: 1020388
Change-Id: I853aba1d2d03945ee49adde7f0ea483cd406ce2b
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2016-06-01 15:23:52 -07:00
Stephen Boyd
b06bf2fc36 clk: qcom: Add MSM8996 Global Clock Control (GCC) driver
Add support for the global clock controller found on MSM8996
based devices. This should allow most non-multimedia device
drivers to probe and control their clocks.

Change-Id: I559f5976b56bf8933df2c68fc4e29b2bd0ce1160
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Taniya Das <tdas@codeaurora.org>
2016-06-01 15:21:57 -07:00
Prashanth Bhatta
e8d675996c icnss: Add IPC logging
Add IPC logging mechanism so that all the driver logs can be
retrieved on the need basis.
Also use pr_fmt to format the logs so that icnss driver logs are
consistent.

Change-Id: I977b04964ac28c18f4ad85094746aa864f03d0c3
Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
2016-06-01 15:21:42 -07:00
Joonwoo Park
d009f9c149 sched: eliminate sched_enable_power_aware knob and parameter
Kill unused scheduler knob and parameter sched_enable_power_aware.  HMP
scheduler always take into account power cost for placing task.

Change-Id: Ib26a21df9b903baac26c026862b0a41b4a8834f3
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
2016-06-01 15:21:29 -07:00
Joonwoo Park
462213d1ac sched: eliminate sched_freq_account_wait_time knob
Kill unused scheduler knob sched_freq_account_wait_time.

Change-Id: Ib74123ebd69dfa3f86cf7335099f50c12a6e93c3
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
2016-06-01 15:21:18 -07:00
Joonwoo Park
5160d93b6d sched: eliminate sched_account_wait_time knob
Kill unused scheduler knob sched_account_wait_time.  With this change
scheduler always accounts task's wait time into demand.

Change-Id: Ifa4bcb5685798f48fd020f3d0c9853220b3f5fdc
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
2016-06-01 15:21:04 -07:00
Laura Abbott
a2ac6d40d3 fs/buffer.c: Revoke LRU when trying to drop buffers
When a buffer is added to the LRU list, a reference is taken which is
not dropped until the buffer is evicted from the LRU list. This is the
correct behavior, however this LRU reference will prevent the buffer
from being dropped. This means that the buffer can't actually be dropped
until it is selected for eviction. There's no bound on the time spent
on the LRU list, which means that the buffer may be undroppable for
very long periods of time. Given that migration involves dropping
buffers, the associated page is now unmigratible for long periods of
time as well. CMA relies on being able to migrate a specific range
of pages, so these these types of failures make CMA significantly
less reliable, especially under high filesystem usage.

Rather than waiting for the LRU algorithm to eventually kick out
the buffer, explicitly remove the buffer from the LRU list when trying
to drop it. There is still the possibility that the buffer
could be added back on the list, but that indicates the buffer is
still in use and would probably have other 'in use' indicates to
prevent dropping.

Change-Id: I253f4ee2069e190c1115afc421dadd27a7fa87dc
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2016-06-01 15:20:51 -07:00
Sathish Ambley
7099c2a6d2 msm: ADSPRPC: Validate the SMMU session count
Make sure that the session count does not exceed the maximum
sessions to avoid buffer overflow.

Change-Id: I1a9830a6f859d7d525247d27d0a143997998d997
Acked-by: Bharath Kumar <bkumar@qti.qualcomm.com>
Signed-off-by: Sathish Ambley <sathishambley@codeaurora.org>
2016-05-31 15:28:19 -07:00
Lior David
857cb953f0 wil6210: allow empty WMI commands in debugfs wmi_send
There are many valid WMI commands with only header without any
additional payload. Such WMI commands could not be sent using
the debugfs wmi_send facility. Fix the code to allow sending
of such commands.

Change-Id: I581e099db5d2ee81be4345101aa54352b1d9564f
Signed-off-by: Lior David <qca_liord@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: 69218a48005d0c93b8e9ec483f42ead481a43034
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
CRs-Fixed: 1015627
Signed-off-by: Maya Erez <merez@codeaurora.org>
2016-05-31 15:28:08 -07:00
Ingrid Gallardo
6cdf8d4db4 msm: mdss: fix to enable danger for msmcobalt
Add msmcobalt revision to enable danger.

Change-Id: Ie02f67d00c8fe04bf90ded5d4a6ab85c86cf05ad
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-05-31 15:27:56 -07:00
Ram Chandrasekar
0c0bbe061d leds: led-class: Retain the latest user brightness request
Retain the latest user brightness request. This ensures
that when a max brightness limit is altered, the last
brightness request is taken into account, when restoring
the current brightness.

Change-Id: I6461e06f64abe336cabc27a3992d734f1fb745c6
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
2016-05-31 15:27:45 -07:00
Mohan Pallaka
a5035ab809 leds: led-class: add support for max_brightness store
Add store interface for max_brightness to allow users
to change the maximum brightness to be supported by
the hardware.

Change-Id: I8b65debdc52ded24227483c4db21aaec63e27927
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2016-05-31 15:27:35 -07:00
Vinayak Menon
9e6c849ebb mm: zcache: remove __GFP_NO_KSWAPD
Remove __GFP_NO_KSWAPD. It no longer exist.

Change-Id: I8b50a06bdae050b3a3c47b80e21d0d2edf18b7c5
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2016-05-31 15:27:23 -07:00
Bob Liu
5248c3b4e4 mm: add WasActive page flag
Zcache could be ineffective if the compressed memory pool is full with
compressed inactive file pages and most of them will be never used again.

So we pick up pages from active file list only, those pages would probably
be accessed again. Compress them in memory can reduce the latency
significantly compared with rereading from disk.

When a file page is shrunk from active file list to inactive file list,
PageActive flag is also cleared.
So adding an extra WasActive page flag for zcache to know whether the
file page was shrunk from the active list.

Change-Id: Ida1f4db17075d1f6f825ef7ce2b3bae4eb799e3f
Signed-off-by: Bob Liu <bob.liu@oracle.com>
Patch-mainline: linux-mm @ 2013-08-06 11:36:17
[vinmenon@codeaurora.org: trivial merge conflict fixes, checkpatch fixes,
fix the definitions of was_active page flag so that it does not create
compile time errors with CONFIG_CLEANCACHE disabled. Also remove the
unnecessary use of PG_was_active in PAGE_FLAGS_CHECK_AT_PREP. Since
was_active is a requirement for zcache, make the definitions dependent on
CONFIG_ZCACHE rather than CONFIG_CLEANCACHE.]
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2016-05-31 15:27:11 -07:00
Rajesh Bondugula
a851b0a3c8 msm: camera: sensor: Disable IRQ in csid after few frames
IRQ of CSID is enabled when MSM_SD_NOTIFY_FREEZE is called.
It must be disabled in MSM_SD_UNNOTIFY_FREEZE and also
after few IRQs we disbale the debug IRQ.
This prevents excess logs.

Crs-Fixed: 1011965
Signed-off-by: Rajesh Bondugula <rajeshb@codeaurora.org>
Change-Id: I10bf7ed20e7d5d29c6e5fff0ed7a8474c96acea5
2016-05-31 15:27:01 -07:00
Shiraz Hashim
9345b8f94b mm/memblock: disable local irqs while late memblock changes
There is a possibility of deadlock while doing late
memblock configuration as only preemption is disabled and
irq can be serviced while seqlock is held and in turn
memblock_is_memory can be called from irq context thus
trying to claim seqlock again. Following call stack was
observed,

[<c02136d4>] memblock_search+0x1c
[<c021487c>] memblock_is_memory+0x10
[<c01e4684>] free_kmem_pages+0x44
[<c0121c04>] free_task+0x28
[<c0178b30>] rcu_process_callbacks+0x488
[<c0127e30>] __do_softirq+0x150
[<c0128284>] irq_exit+0x84
[<c010c11c>] handle_IPI+0x12c
[<c0100588>] gic_handle_irq+0x70
[<c0e9efc0>] __irq_svc+0x40
[<c0214a8c>] memblock_region_resize_late_end+0xc
[<c057010c>] removed_alloc+0x110
[<c04ab2c4>] pil_boot+0x2b0
[<c04b7700>] __subsystem_get+0xe0
[<c04b79cc>] subsys_device_open+0x74
[<c0229f20>] chrdev_open+0x12c
[<c02246e4>] do_dentry_open+0x280
[<c0232698>] do_last+0x9a4
[<c0232b8c>] path_openat+0x23c
[<c0233bf0>] do_filp_open+0x2c

Fix it by disabling irqs during late memblock
configuration. It is a one time operation which changes
memblock related data structures and doesn't carry
performance impact.

CRs-Fixed: 1003890
Change-Id: I3ff1894f0c80580920b1971cda357915665b5054
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
2016-05-31 15:26:50 -07:00
Vinayak Menon
af6c02b830 lowmemorykiller: add zcache awareness
zcache stores compressed file pages which should be
considered as reclaimable pages by lowmemorykiller
in calculating values to be compared against minfree.

Change-Id: Ia3e08bc14ba61c0a45ed54ba5cd525717a572060
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2016-05-31 15:26:37 -07:00
Amir Samuelov
f8a4373fea spcom: fix modify ion addr
It is expected that the 64 bit ion buffer address,
will be located on the request/response buffer at an offset
that is 64 bit aligned.
However, the user may pack the request/response on his own risk,
and the offset might not be 64 bit aligned.

Change-Id: I85e7644aa05d8c5249e2d204a61d03b5fb2f9220
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
2016-05-31 15:26:28 -07:00
Amir Samuelov
d8b33a2dac spcom: fix lock ION buffer
Check if ION buffer is locked based on comparing the kernel ion handle,
rather than comparing the user file descriptor.

Change-Id: I7a41df3eebf22de2cc6b14327978923bcdbb7142
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
2016-05-31 15:26:18 -07:00
Shiraz Hashim
62a5a6aa32 ion: destroy ion handles under client->lock
ion handles associated with a client must be destroyed
under client->lock so as to prevent race where other path
use handle while being destroyed.

One such path is when user access heap details through
debugfs.

   |rb_next()
   |ion_debug_heap_total(inline)
   |ion_debug_heap_show()
   |seq_read()

CRs-Fixed: 1000492
Change-Id: I7bc7562400df0ae08b1aa232efe00b657339fcfb
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
2016-05-31 15:26:07 -07:00
Shiraz Hashim
4a25214b7c drivers: dma-removed: Don't free prohibited memmap entries
The mm subsystem access page structs aligned to
pageblock_nr_pages and assumes that these are valid. We
must not free any memmap entries that it may inspect.

CRs-Fixed: 1000343
Change-Id: I73e0402ee72cad8df307ece1134f9e7304125cf6
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
2016-05-31 15:25:50 -07:00
Sarada Prasanna Garnayak
39b2cf8cd2 defconfig: arm64: update cnss config flag
The cnss platform driver compilation config flags
has been changed to CONFIG_CNSS_PCI to CONFIG_CNSS.

CRs-Fixed: 988871
Change-Id: Ie245ac4ad028b543916c27b015a7ba33e55958a9
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2016-05-31 15:25:38 -07:00
Sarada Prasanna Garnayak
267a202df0 net: cnss: add dual cnss platform driver support for dual WiFi
For dual WiFi both cnss sdio and pcie platform needs to
be enabled. Added changes below to support dual platform
driver for dual WiFi.

Refactor the common api and data structure to avoid namespace
collision compilation error. Refactor sdio and pcie bus specific
kernel api and removed conditional compilation config flag.

The platform driver at run time identifies the wlan bus type
from the PHY device pointer passed by the wlan driver through
vos api and cnss platform driver redirects the cnss api according
the bus type.

Remove conditional compilation flag from cnss common api and
update cnss makefile for dual platform driver compilation
with single config flag.

CRs-Fixed: 988871
Change-Id: I8205c2979c857c2f3845ba2dc397d2f9dd1afa3b
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
Signed-off-by: Ryan Hsu <ryanhsu@codeaurora.org>
2016-05-31 15:25:28 -07:00
Sarada Prasanna Garnayak
b48a17256e net: cnss: remove redundant and dead code from platform driver
The cnss subsystem restart and pm qos export API has been
refactor in respective platform driver according to the bus
type SDIO/PCIe.

Remove redundant and dead code from platform driver to avoid
the namespace collision compilation error. Refactor the recovery
work handler according to bus type. This feature adds support for
dual cnss platform driver support for dual WiFi.

CRs-Fixed: 987560
Change-Id: I0e1b5ff0e9970a40ad9d0619dcb7f8cbae241656
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2016-05-31 15:25:15 -07:00
Sarada Prasanna Garnayak
ca8c9aac25 net: cnss: add bus bandwidth support for sdio wlan module
Add cnss sdio platform driver support to vote for bus bandwidth
as per throughput requirement from wlan driver. The cnss sdio
platform driver export bus bandwidth api for wlan host driver.

CRs-Fixed: 990173
Change-Id: Ied2e5a78487b6f6076cd19f32c959a69050e055c
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2016-05-31 15:25:05 -07:00
Gaurav Singhal
1b18e29caa NFC: CE transaction failed during system suspend
IRQ was disabled at suspend so system was not able to
wake up during CE transaction.

Even after irq was enabled we were not able to wake up in irq handler
because wakeup event was not going due to is_suspended condition.

Change-Id: I5a088230786ef780cca0a3b767ad80e7b0c69f9e
Signed-off-by: Gaurav Singhal <gsinghal@codeaurora.org>
2016-05-31 15:24:53 -07:00
Aravind Venkateswaran
36a70eb4e5 msm: mdss: dsi: update DSI clamp configuration for msmcobalt
DSI clamps need not be configured for msmcobalt since the lanes
will be maintained in ULPS or LP11 through the DSI PHY. As such,
the only required programming is to disable the propagation of
the reset signal from the ahb domain. Update the SW programming
accordingly.

CRs-Fixed: 1019289
Change-Id: I0ba4858015457c971a42233c5a5f3dec9ca25ea6
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-05-31 15:24:44 -07:00
Aravind Venkateswaran
652bc9dae0 ARM: dts: msm: add needed resources to support DSI clamps on msmcobalt
Add the register offset and the corresponding clocks to support
configuring DSI clamps on msmcobalt.

CRs-Fixed: 1019289
Change-Id: I4f9ed290416f95957b0f17424c624530f7a6794d
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-05-31 15:24:35 -07:00
Amir Samuelov
8fe91ba970 ARM: dts: msm: add spss ion heap to msmcobalt
The Secure Processor Subsystem (SPSS) shall use its own ION heap
for allocation of memory shared between HLOS Applications
and SPSS Applications.

Change-Id: I05434cb559cc397c62d888e1c54c1f209765d92f
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
2016-05-31 15:24:25 -07:00
Ingrid Gallardo
53da3741b0 ARM: dts: msm: add 4k dsc panel for msmcobalt
Add required settings for command mode and video
mode 4k sharp panels in msmcobalt CDP. Add panels
to the list of supported panels so they can be
selected at runtime from kernel command line.

CRs-Fixed: 1019289
Change-Id: I7e289168c04221e9e272a8c0543d66af0e233450
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-05-31 15:24:15 -07:00
Siddartha Mohanadoss
6cd1930871 iio: adc: Add round robin ADC driver
Round robin ADC (RRADC) driver provides an interface to enable
clients to read ADC values from the RRADC controller. The ADC
values are updated in a round robin sequence among the enabled
channels.

Clients include reading voltage, current and temperature channels
such as battery ID, battery thermistors, skin temperature,
PMI die temperature, charger temperature, USB_IN and DCIN voltage
and current.

Change-Id: I927c0f6a7db654880d951729996a27310f6628cf
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2016-05-31 15:24:05 -07:00
Aravind Venkateswaran
2fcd240ed3 ARM: dts: msm: add mnoc_ahb clock for DSI device on msmcobalt
mnoc_ahb clock should be enabled prior to enabling the mdss_ahb
clock for any register access in the DSI domain.

Change-Id: I19bd72aebd9f82596dc04fe4b3179c81ab3c162d
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-05-31 15:23:52 -07:00
Vinayak Menon
350c68c124 mm: swap_ratio: bail out if there aren't any other swap device
It is pointless to calculate the swap ratio when there is only
one swap device in the group. Moreover the existing code would
result in a spinlock recursion because of not taking this into
consideration. Interestingly, this check is already performed
in swap_ratio_slow by this piece of code

if (&(*si)->avail_list == plist_last(&swap_avail_head)) {
	/* just to make skip work */
	n = *si;
	ret = -ENODEV;
	goto skip;
}

But there is window where we drop the swap_avail_lock before
invoking swap_ratio() and take it back again in swap_ratio_slow.
In this period the si can get removed from swap_avail_head,
resulting in the failure of above logic. So recheck again.

Similarly, bail out from swap_ratio() if the sysctl is disabled,
and thus avoiding overhead of taking unnecessary locks.

Change-Id: I81a9dd61d24b7da55d5341c48a1f71d2b4b1978d
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2016-05-31 15:23:38 -07:00
Vinayak Menon
44bd107fc9 mm: vmscan: fix the page state calculation in too_many_isolated
It is observed that sometimes multiple tasks get blocked in
the congestion_wait loop below, in shrink_inactive_list.

(__schedule) from [<c0a03328>]
(schedule_timeout) from [<c0a04940>]
(io_schedule_timeout) from [<c01d585c>]
(congestion_wait) from [<c01cc9d8>]
(shrink_inactive_list) from [<c01cd034>]
(shrink_zone) from [<c01cdd08>]
(try_to_free_pages) from [<c01c442c>]
(__alloc_pages_nodemask) from [<c01f1884>]
(new_slab) from [<c09fcf60>]
(__slab_alloc) from [<c01f1a6c>]

In one such instance, zone_page_state(zone, NR_ISOLATED_FILE)
had returned 14, zone_page_state(zone, NR_INACTIVE_FILE)
returned 92, and the gfp_flag was GFP_KERNEL which resulted
in too_many_isolated to return true. But one of the CPU pageset
vmstat diff had NR_ISOLATED_FILE as -14. As there weren't any more
update to per cpu pageset, the threshold wasn't met, and the
tasks were blocked in the congestion wait.

This patch uses zone_page_state_snapshot instead, but restricts
its usage to avoid performance penalty.

Change-Id: Iec767a548e524729c7ed79a92fe4718cdd08ce69
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2016-05-31 15:23:28 -07:00
Amir Samuelov
eaee620aa2 ion: msm: add Secure Processor heap id
The Secure Processor Subsystem (SPSS) shall use its own ION heap
for allocation of memory shared between HLOS Applications
and SPSS Applications.

Change-Id: I4345d14dc22ddbdc34ff98b7b16719ba760951df
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
2016-05-31 15:23:16 -07:00
Satya Durga Srinivasu Prabhala
a45a1c4c78 arm64: defconfig: update config options for msmcortex_defconfig
Disable unnecessary options like KSM, ATA, VIRTUALIZATION etc.,
and enable options like IRQ_TIME_ACCOUNTING, CGROUPS, ZRAM etc.,
to match with msm_defconfig.

CRs-Fixed: 1021169
Change-Id: I11143ca9beae526c80c8b94a81c2369a7c489d11
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
2016-05-31 15:23:05 -07:00
Aravind Venkateswaran
b8dbd377af msm: mdss: dsi: enable additional clocks for register access on msmcobalt
MMMS mnoc_ahb clock needs to be enabled prior to enabling the mdss_ahb
clock on msmcobalt as there is a core fsm dependency between these
clocks.

Change-Id: I475b44619b68e731abc8b1a91a214c6cdf8cfc5e
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-05-31 15:22:52 -07:00
Tapas Kumar Kundu
2caa570df2 defconfig: msmcortex: Enable performance driver
This module provides support to userspace entity for hotplugging
and setting cpufreq policy min/max limits. It can also detect
cpu/io workload and notify userspace via sysfs nodes.

A userspace entity can specify a CPU mask and the number of CPUs
it wants online within that mask and this module will try to make
a best effort to keep those many CPUs online. Userspace can also
specify the min and max limits on CPUs instead of writing to the
scaling_min/max nodes from sysfs so that if any CPU is offline
this module maintains a vote for it which is applied
once the CPU comes back online.

A userspace entity can also set threshold value in sysfs nodes of
this module for cpu/io workload detection and this module can notify
userspace entity when that crietia is met via sysfs nodes.

Change-Id: I2c92b689ae49af85489dbf9a6aef196f4f6abf4b
Signed-off-by: Tapas Kumar Kundu <tkundu@codeaurora.org>
2016-05-31 15:22:41 -07:00
Skylar Chang
1af44bbb2c msm: ipa: add support for SMMU fastpath
Add support for SMMU fast path configuration to allow
efficient buffer DMA mapping/unmapping.

CRs-Fixed: 1014404
Change-Id: Iaaa373db29d8b53e93ae1d3bf455ee066ed90dfd
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-05-27 14:55:38 -07:00
David Collins
7023370fd1 defconfig: msmcortex: enable QPNP temperature alarm driver
Enable the QPNP temperature alarm driver so that software can
monitor the PMIC die temperature of the PMICs found on MSMCOBALT
boards.

Change-Id: I5c9e0bcb5bb7646a720c32af0b15ca5fa2e36b8f
CRs-Fixed: 1019272
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-05-27 14:55:25 -07:00
David Collins
2b73bee1c4 ARM: dts: msm: add TEMP_ALARM device for PMIC PM8005
Add a temperature alarm device for the PM8005 PMIC in order to
monitor the PMIC die temperature.

Change-Id: If0a02f211243a6c8f9c771f20590c0251726425b
CRs-Fixed: 1019272
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-05-27 14:55:13 -07:00
Gilad Landau
2e617a431e ARM: dts: msm: add IPA ram mapping for msmcobalt
Add an array of unsigned integers representing addresses and sizes which
are used by the IPA driver to access IPA RAM.

Signed-off-by: Gilad Landau <glandau@codeaurora.org>
Change-Id: I02b72e8c16416ea08b143609e9b16196fb3a2879
2016-05-27 14:55:00 -07:00
Vishnuvardhan Prodduturi
d5610e32cf msm: mdss: update licence for external display header to GPLv2
Update the license for external display header file to GPLv2.

Change-Id: I3743cefdf2469f05535f73691da0939dcddf6d83
Signed-off-by: Vishnuvardhan Prodduturi <vproddut@codeaurora.org>
2016-05-27 14:54:46 -07:00
Shashank Mittal
888f1317a9 coresight-dummy: add dummy source driver support
Add dummy Coresight source driver. This driver can be used for devices
that are controlled by other subsystems but rely on Linux drivers to
configure rest of the trace path.

Change-Id: I7b68202fc6d7958fcf7ff933d7eed7e19c958ab0
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
2016-05-27 14:54:32 -07:00
Manoj Prabhu B
2da25adb21 diag: Fix for possible memory corruption
When peripheral supporting more ssids than apps
in a given table entry needs reallocation.
No reallocation causes slab-out-of-bounds reads seen as
bad access/memory corruption.
This patch fixes memory availability limitation.

KASAN Report
27.044086:<6> ===========================================================
27.044108:<6> BUG: KASAN: slab-out-of-bounds in
diag_cntl_process_read_data+0xeb0/0x10d4 at addr 0xffffffc033997e6c
27.044112:<6> Read of size 4 by task kworker/u8:9/671
27.044117:<6> ===========================================================
27.044123:<6> BUG kmalloc-128 (Tainted: G B W):kasan: bad access detected
27.044126:<6> -----------------------------------------------------------
27.044136:<6> INFO: Allocated in d
	iag_create_msg_mask_table_entry+0x10c/0x148 age=1444 cpu=3 pid=1
27.044147:<6> alloc_debug_processing+0x118/0x170
27.044153:<6> __slab_alloc.isra.20.constprop.22+0x2a4/0x3a0
27.044159:<6> __kmalloc+0xe8/0x27c
27.044165:<6> diag_create_msg_mask_table_entry+0x108/0x148
27.044170:<6> diag_masks_init+0x30c/0xa1c
27.044184:<6> diagchar_init+0x624/0xa4c
27.044190:<6> do_one_initcall+0x250/0x278
27.044198:<6> kernel_init_freeable+0x1c4/0x268
27.044207:<6> kernel_init+0x10/0xd8
27.044212:<6> ret_from_fork+0xc/0x30
27.044219:<6> INFO: Slab 0xffffffba47b79720 objects=16 used=16 fp=0x
	(null) flags=0x4080
27.044224:<6> INFO: Object 0xffffffc033997e00 @offset=7680
	fp=0xffffffc033997c00
27.044232:<6> Bytes b4 0xffffffc033997df0: 5a 5a 5a 5a 5a 5a 5a 5a 5a
	5a 5a 5a 5a 5a 5a 5a  ZZZZZZZZZZZZZZZZ
27.044238:<6> Object 0xffffffc033997e00: 1f 00 00 00 1f 00 00 00 1f
	00 00 00 1f 00 00 00  ................
27.044244:<6> Object 0xffffffc033997e10: 1f 00 00 00 1f 00 00 00 1f
	00 00 00 1f 00 00 00  ................
27.044249:<6> Object 0xffffffc033997e20: 1f 00 00 00 1f 00 00 00 1f
	00 00 00 1f 00 00 00  ................
27.044255:<6> Object 0xffffffc033997e30: 1f 00 00 00 1f 00 00 00 1f
	00 00 00 1f 00 00 00  ................
27.044260:<6> Object 0xffffffc033997e40: 1f 00 00 00 1f 00 00 00 1f
	00 00 00 1f 00 00 00  ................
27.044266:<6> Object 0xffffffc033997e50: 1f 00 00 00 1f 00 00 00 1f
	00 00 00 1f 00 00 00  ................
27.044271:<6> Object 0xffffffc033997e60: 1f 00 00 00 1f 00 00 00 1f
	00 00 00 00 00 00 00  ................
27.044277:<6> Object 0xffffffc033997e70: 00 00 00 00 00 00 00 00 00
	00 00 00 00 00 00 00  ................
27.044283:<6> Redzone 0xffffffc033997e80: cc cc cc cc cc cc cc cc
                      ........
27.044288:<6> Padding 0xffffffc033997fc0: 5a 5a 5a 5a 5a 5a 5a 5a
	5a 5a 5a 5a 5a 5a 5a 5a  ZZZZZZZZZZZZZZZZ
27.044294:<6> Padding 0xffffffc033997fd0: 5a 5a 5a 5a 5a 5a 5a 5a
	5a 5a 5a 5a 5a 5a 5a 5a  ZZZZZZZZZZZZZZZZ
27.044299:<6> Padding 0xffffffc033997fe0: 5a 5a 5a 5a 5a 5a 5a 5a
	5a 5a 5a 5a 5a 5a 5a 5a  ZZZZZZZZZZZZZZZZ
27.044305:<6> Padding 0xffffffc033997ff0: 5a 5a 5a 5a 5a 5a 5a 5a
	5a 5a 5a 5a 5a 5a 5a 5a  ZZZZZZZZZZZZZZZZ
27.044315:<6> CPU: 1 PID: 671 Comm: kworker/u8:9
	Tainted: G    B   W  3.18.20-g2c703ee #2
27.044319:<6> Hardware name: Qualcomm Technologies, Inc.
	MSM 8996 v3.0 + PMI8994 MTP (DT)
27.044332:<2> Workqueue: DIAG_SOCKMODEM_CNTL socket_read_work_fn
27.044335:<6> Call trace:
27.044343:<2> [<ffffffc00008a168>] dump_backtrace+0x0/0x1c4
27.044350:<2> [<ffffffc00008a33c>] show_stack+0x10/0x1c
27.044359:<2> [<ffffffc00129a850>] dump_stack+0x74/0xc8
27.044366:<2> [<ffffffc000213d8c>] print_trailer+0x19c/0x1b0
27.044372:<2> [<ffffffc000214788>] object_err+0x3c/0x50
27.044378:<2> [<ffffffc000219918>] kasan_report+0x34c/0x504
27.044385:<2> [<ffffffc000218928>] __asan_load4+0x20/0x74
27.044392:<2>[<ffffffc0006f1594>] diag_cntl_process_read_data+0xeac/0x10d4
27.044399:<2> [<ffffffc0006e67f0>] diagfwd_cntl_read_done+0x78/0xf0
27.044407:<2> [<ffffffc0006e7b38>] diagfwd_channel_read_done+0x154/0x184
27.044414:<2> [<ffffffc0006ebdd4>] diag_socket_read+0x480/0x534
27.044420:<2> [<ffffffc0006e85cc>] diagfwd_channel_read+0x348/0x368
27.044427:<2> [<ffffffc0006eabc4>] socket_read_work_fn+0x20/0x30
27.044437:<2> [<ffffffc0000cabf8>] process_one_work+0x394/0x64c
27.044444:<2> [<ffffffc0000cbfb8>] worker_thread+0x3bc/0x550
27.044450:<2> [<ffffffc0000d256c>] kthread+0x180/0x194
27.044753:<6> coresight-tmc 3028000.tmc: TMC aborted
27.044765:<6> Kernel panic - not syncing: kasan: bad access detected

CRs-Fixed: 993725
Change-Id: I90a6a560900d6c1c3694cce460ae8f772dc3434e
Signed-off-by: Manoj Prabhu B <bmanoj@codeaurora.org>
2016-05-27 14:54:21 -07:00
David Collins
85ba07bc3f ARM: dts: msm: add TEMP_ALARM device for PMIC PMICOBALT
Add a temperature alarm device for the PMICOBALT PMIC in order
to monitor the PMIC die temperature.

Change-Id: I494af44d5107603b94fb06a282246c091ebd429f
CRs-Fixed: 1019272
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-05-27 14:54:09 -07:00
David Collins
540af9c681 ARM: dts: msm: add TEMP_ALARM device for PMIC PMCOBALT
Add a temperature alarm device for the PMCOBALT PMIC in order
to monitor the PMIC die temperature.

Change-Id: Ifaf2980cfc38083f450fa383d9c91777d2297415
CRs-Fixed: 1019272
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-05-27 14:54:06 -07:00
David Collins
518ffca094 thermal: qpnp-temp-alarm: add support for GEN2 PMIC peripherals
Add support for the TEMP_ALARM GEN2 PMIC peripheral subtype.  The
GEN2 subtype adds clock rate control and defines an over
temperature state with hysteresis instead of stage in the status
register.  There are two GEN2 states corresponding to stages 1
and 2.

Change-Id: Ic4ad048259eb3a356333e0529d52f39c39fc915f
CRs-Fixed: 1019272
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-05-27 14:53:53 -07:00
Lior David
f9f1758723 wil6210: add oob_mode module parameter
Add module parameter oob_mode. Takes effect the next time
the interface is brought up and FW is loaded. Puts the FW
in special "out of the box" (OOB) mode which is used for
diagnostics and certification.

Change-Id: I561e4ab26c8ac74d6fbcf19492b01751033b64d9
Signed-off-by: Lior David <qca_liord@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: 1f1a361abf73edfb94ca010c51587de378bc7c68
Git-repo: https://github.com/kvalo/ath.git
CRs-Fixed: 982931
Signed-off-by: Maya Erez <merez@codeaurora.org>
2016-05-27 14:53:41 -07:00
Lior David
097e60bd8a wil6210: pass is_go flag to firmware
When starting a PCP, pass the is_go flag to firmware in
wmi_pcp_start. This flag indicates whether we started
a PCP which is also a GO(P2P group owner) or just a regular
PCP.

Change-Id: I619abba9ef6e6fda3ea5fecd5ee87652b8ef37a5
Signed-off-by: Lior David <qca_liord@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: b4944f2c081ea0e2fa7bc8bb510e1e6e5667f30b
Git-repo: https://github.com/kvalo/ath.git
CRs-Fixed: 982931
Signed-off-by: Maya Erez <merez@codeaurora.org>
2016-05-27 14:53:25 -07:00