Commit graph

591632 commits

Author SHA1 Message Date
Linux Build Service Account
09bf411c31 Merge "osq_lock: avoid live-lock issue for RT task" 2017-07-03 07:57:51 -07:00
Linux Build Service Account
e82415666d Merge "cpu-hotplug: Keep atleast 1 online and un-isolated CPU" 2017-07-03 07:57:50 -07:00
Linux Build Service Account
37541eb4b8 Merge "spi: spi_qsd: serve set_cs call only for valid device status" 2017-07-03 07:57:49 -07:00
Linux Build Service Account
ae189fd38c Merge "ath10k: Populate ACS survey results" 2017-07-03 07:57:48 -07:00
Linux Build Service Account
d219ff30f8 Merge "cgroup: Fix potential race between cgroup_exit and migrate path" 2017-07-03 07:57:48 -07:00
Naresh Malladi
346f6aa700 cpuidle: lpm-levels: Check for negative sleep times
A negative sleep time could be interpreted as a large positive sleep
time when its casted to a unsigned type. This could result in CPU sleeping
for a longer than expected duration resulting in missed interrupts.

Change-Id: I472f355c8ba392ab46d53fceddb448f7e35c178e
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
Signed-off-by: Naresh Malladi <namall@codeaurora.org>
2017-07-03 17:39:35 +05:30
Gaurav Sonwani
f4800c9668 ARM: dts: msm: Add l2pc-cpu-mask to avoid L2PC on masked CPUs for msm8998
This is required to add a PM QOS request to disallow L2PC on masked CPUS.
It improves queue to submit time for first set of GPU commands
which results in GPU wake up.

Change-Id: If7e0925ec76065158188671f1d11a0de5e9900aa
Signed-off-by: Gaurav Sonwani <gsonwani@codeaurora.org>
2017-07-03 02:26:39 -07:00
Vijay Viswanath
c77576994e mmc: core: Remove unused variable
Removed a local variable in mmc_start_req() which was used to store the
error encountered while starting a new data request. If an error is
encountered while starting a new request, the error
information is stored in the mrq. The error information stored in the
mrq is during error handling. So removing the unused variable.

Change-Id: Ifeedc91433230d5156d286bd332a85fb221188ac
Signed-off-by: Vijay Viswanath <vviswana@codeaurora.org>
2017-07-03 02:10:42 -07:00
Wei Ding
0526198235 msm: camera: add protection in the cci write function
Add state check before execute CCI function.

Change-Id: I1c876e4eac70316bfe322b11f807e367c020e7d0
Signed-off-by: Wei Ding <weiding@codeaurora.org>
2017-07-03 14:38:32 +08:00
Nagaradhesh Yeleswarapu
87fc186a6b ARM: dts: msm: Add support for MPM wakeup capability for audio interrupt for SDM660/630
Audio codec interrupt line is connected to pin61 of MPM. Map
interrupt 209 to MPM pin61 to wakeup APSS from TCXO mode.

CRs-Fixed: 2040808
Change-Id: I74cfc871b6e99c62dda30033e6dabb5fe5d19705
Signed-off-by: Nagaradhesh Yeleswarapu <nagaradh@qti.qualcomm.com>
2017-07-03 11:41:38 +05:30
Prateek Sood
ba6bd90a30 osq_lock: fix osq_lock queue corruption
Fix ordering of link creation between node->prev and prev->next in
osq_lock(). A case in which the status of optimistic spin queue is
CPU6->CPU2 in which CPU6 has acquired the lock. At this point if CPU0
comes in to acquire osq_lock, it will update the tail count. After tail
count update if CPU2 starts to unqueue itself from optimistic spin queue,
it will find updated tail count with CPU0 and update CPU2 node->next to
NULL in osq_wait_next(). If reordering of following stores happen then
prev->next where prev being CPU2 would be updated to point to CPU0 node:
	node->prev = prev;
	WRITE_ONCE(prev->next, node);

At this point if next instruction
	WRITE_ONCE(next->prev, prev);

in CPU2 path is committed before the update of CPU0 node->prev = prev then
CPU0 node->prev will point to CPU6 node. At this point if CPU0 path's
node->prev = prev is committed resulting in change of CPU0 prev back to
CPU2 node. CPU2 node->next is NULL currently, so if CPU0 gets into unqueue
path of osq_lock it will keep spinning in infinite loop as condition
prev->next == node will never be true.

Change-Id: I48d847096daf3c228de90ae1cd2a6415b7bde65a
Signed-off-by: Prateek Sood <prsood@codeaurora.org>
2017-07-02 21:22:04 -07:00
Linux Build Service Account
bc399a65c4 Merge "msm: kgsl: Limit the frequency of logging on memory allocation failure" 2017-07-02 16:11:43 -07:00
Linux Build Service Account
b0bcf92508 Merge "msm: kgsl: Directly return page size of the supported pool" 2017-07-02 16:11:40 -07:00
Ashay Jaiswal
57f064ca9b power: qcom: smb-lib: handle dynamic Rp change
The legacy detection workaround change restricts DCP to 1.5A draw,
regardless of legacy/non-legacy type. This was to prevent a legacy
(non-compliant) cable, incorrectly detected as non-legacy cable from
drawing more than 1.5A.

The issue with legacy bit is that hardware could end up reporting
non-legacy for a legacy cable (not the other way round). We want to
ensure that for non-compliant legacy cable SDP/CDP current limits
are honoured and that for a Rp = 10k legacy cable VBUS shouldn't go
higher than 5V.

This cap of 1.5A on DCP is not necessary. Moreover AICL will limit the
current if needed.

To realize this force the Rp based current whenever DCP or float
is seen via the LEGACY_UNKNOWN_VOTER. LEGACY_UNKNOWN_VOTER is not
removed unless a confirmed hvdcp or pd is seen.

Change-Id: I89505e9db4f045aaf71ab0ee534de783ea4d2df3
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-07-01 06:16:32 +05:30
Deepak Kumar
d9eb3ce9a8 msm: kgsl: Limit the frequency of logging on memory allocation failure
Excessive logging due to several successive memory allocation failure
may cause a watchdog bite. Hence, this change adds ratelimit to logging
on memory allocation failure.

Change-Id: I8e5d78918a32c48ef7fa587f3dc63cbd1f065d5f
Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
2017-06-30 20:39:29 +05:30
Revathi Uddaraju
35f63de1e1 ASoC: msm-cpe: Resolve memory out of bound access
Resolve memory out of bound access by correcting the
length of the buffer to be copied.

Change-Id: I2cc74a664399913acf67464a5f6827b100522676
Signed-off-by: Revathi Uddaraju <revathiu@codeaurora.org>
2017-06-30 04:15:08 -07:00
Sriraj Hebbar
6724296d3f msm: camera: isp: Handle array out of bound access
The pointer req_frm is coming from userspace, it may overflow stream_info.
Adding a bound check to prevent the same.

CRs-fixed: 2008683
Change-Id: I8682e09ff2ab7ba490bbbd9e20db978493c5f3e4
Signed-off-by: Senthil Kumar Rajagopal <skrajago@codeaurora.org>
Signed-off-by: Andy Sun <bins@codeaurora.org>
2017-06-30 18:02:36 +08:00
Prateek Sood
6933043199 osq_lock: avoid live-lock issue for RT task
Live Lock  due to task spinning while unqueue of CPU osq_node
from optimistic_spin_queue. Task T1 had decremented mutex count to
acquire the lock on CPU0. Before setting owner it got preempted. On
CPU1 task T2 acquired osq_lock and started spinning on owner of mutex
with preemption disabled. CPU1 runq has one task, so need_resched will
not be set. On CPU0 task T3 tried to acquire osq_lock to spin on the
same mutex. At this time following scenario causes soft lockup:

After preemption of task T1, RT task T3 tried to acquire the same
mutex. It will start spinning on the osq_lock until the lock is available
or need_resched is set. For RT task, need_resched will not be set. Task T3
will not be able to bail out of the infinite loop.

Change-Id: Ifd7506047119a22e14b15459ac6b04b410ba1c84
Signed-off-by: Prateek Sood <prsood@codeaurora.org>
2017-06-30 02:06:25 -07:00
Tejaswi Tanikella
41ffaeef9a ipv4: Drop packets if checksum is invalidated
Conntrack, if enabled, verifies complete checksum on all tcp
packets. If a packet is corrupted, it sets ip_summed field
to CHECKSUM_COMPLETE and checksum valid field to false.
With these changes such packet will be dropped.

Packets that are corrupted can go into userspace even when
the checksum is wrong. The io_vec library pushes the data into
pipe before checking the checksum. If the checksum is wrong,
the copied data is not reverted. Users observe corrupted data
in the application memory due to such corrupted packets.
This fix is to plug one such hole.
This change might be redundant on kernels after v4.9.

Change-Id: Iffface598d0fa2b25fb9c20c7aa6443aab9d8aea
Signed-off-by: Tejaswi Tanikella <tejaswit@codeaurora.org>
2017-06-30 13:28:14 +05:30
Pengfei Liu
ca0c16ad01 msm: actuator: Add protection condition for move focus
Neighbour index of step table possibly have same position,
so i2c operation reported invalid size parameters.
we add protection condition to return success value.

Change-Id: I7dab8f44a99c7c3c7d6996c8decb8bcd09c246c9
Signed-off-by: penliu <pengfeiliu@codeaurora.org>
2017-06-30 00:43:59 -07:00
Arumuga Durai A
0a28ea9cf0 usb: bam: Remove inactivity_timer sysfs attribute
Sysfs attribute "inactivity_timer" not being used anymore so remove that
entry from sysfs.

CRs-Fixed: 2048725
Change-Id: I30d2d4a3cb9899b7975a6395eab90337fc006488
Signed-off-by: Arumuga Durai A <cadurai@codeaurora.org>
2017-06-30 12:31:01 +05:30
Pavankumar Kondeti
971af7d6ed genirq: honour default IRQ affinity setting during migration
Userspace can set the default IRQ affinity setting by writing into
/proc/irq/default_smp_affinity file. When an IRQ affinity is
broken during isolation/hotplug,override the affinity to online and
un-isolated CPUs from the default affinity CPUs. If no such CPU
is available, then only override with cpu_online_mask.

Change-Id: I7578728ed0d7c17c5890d9916cfd6451d1968568
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
2017-06-30 10:41:00 +05:30
Pavankumar Kondeti
cd6d19b8e4 genriq: pick only one CPU while overriding the affinity during migration
With commit bfc60d474137 ("genirq: Use irq_set_affinity_locked to change
irq affinity"), affinity listeners receive the notification when the irq
affinity is changed during migration. If there is no online and
un-isolated CPU available from the user specified affinity, the affinity
is overridden with all online and un-isolated CPUs. The same cpumask is
notified to PM QOS affinity listener which applies PM_QOS_CPU_DMA_LATENCY
vote to all those CPUs. As the low level irqchip driver sets affinity to
only one CPU, do the same while overriding the affinity during migration.

Change-Id: I0bcb75dd356658da100fbeeefd33ef8b121f4d6d
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
2017-06-30 10:41:00 +05:30
Yuanyuan Liu
e96a24d253 cnss_utils: Add support of cnss_utils for WLAN
Add support of cnss_utils for WLAN. Export APIs to WLAN
host driver which are used to set/get WLAN related
information. These information could be retrived later
when WLAN driver is reloaded.

CRs-Fixed: 2060693
Change-Id: I2c8c36602ec8af133946ff00c41ce648a2628041
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
2017-06-29 16:47:46 -07:00
Vinayak Soni
5cc10e3a34 defconfig: Enable TSPP, MPQ and MPQ_DEMUX for apq8098
To bring-up Demux & DVR nodes.

Change-Id: Ia624220e2fd943ea6bbba81c8f7dcf1475c27065
Signed-off-by: Vinayak Soni <soniv@codeaurora.org>
2017-06-29 15:48:55 -07:00
Linux Build Service Account
c1a5075d60 Merge "ARM: dts: msm: Add non-removable ufs property for SDM630" 2017-06-29 11:34:49 -07:00
Linux Build Service Account
e06e098ca3 Merge "msm: mdss: Allow post-processing clean-up for primary display" 2017-06-29 11:34:48 -07:00
Linux Build Service Account
b1db0d66cf Merge "msm: mdss: Correct PP register programming deferring" 2017-06-29 11:34:47 -07:00
Linux Build Service Account
40f83efeab Merge "scsi: ufs: Unblock UFS while ICE HW configuration" 2017-06-29 11:34:46 -07:00
Lokesh Kumar Aakulu
40cfe338ba msm: camera: isp: Avoid reading stale ping pong status
When write masters are reloaded pingpong status regi-
-ster will not be reset. Instead, it would be holding
a stale data, until new axi_done irq is interrupted.
So, place a check to validate the pingpong register
value based on the reloaded status of write masters.

Change-Id: Id14b886154f8a8ef8d5c05338023d8172d6925d0
Signed-off-by: Lokesh Kumar Aakulu <lkumar@codeaurora.org>
2017-06-29 19:27:27 +05:30
Harsh Sahu
b32ded99df msm: sde: fix unaligned access problem
debug offset comes from the user and can hold any value which can
cause unaligned access. This change fixes the unaligned access
problem on debug offset by properly aligning it.

Change-Id: Ie4de9a12433f6ffd568c6c86928b71a5537b0dff
Signed-off-by: Harsh Sahu <hsahu@codeaurora.org>
2017-06-29 05:10:47 -07:00
Pavankumar Kondeti
76aa496f89 cpu-hotplug: Keep atleast 1 online and un-isolated CPU
The PM_QOS_CPU_DMA_LATENCY vote attached to an IRQ is discarded,
if it is affined to an isolated CPU. So we need atleast 1 CPU
in online and un-isolate state. The scheduler rejects isolating
a CPU if it is the only online and un-isolated CPU in the system.
Add the same check for CPU hotplug.

Change-Id: I5bdfe6e3bb0352ed3ae5a2de90097b73d248f3fc
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
2017-06-29 16:27:33 +05:30
Linux Build Service Account
ed7868840b Merge "msm: camera: Use mutex lock to avoid race condition" 2017-06-29 03:32:33 -07:00
Linux Build Service Account
586584b2b2 Merge "soc: qcom: glink: Move get reference to valid location" 2017-06-29 03:32:32 -07:00
Linux Build Service Account
7ce539a628 Merge "soc: qcom: glink: Remove magic number logic" 2017-06-29 03:32:32 -07:00
Mohammed Javid
aa8d03f7bc ARM: dts: msm: Disable IPA in APQ 8098
IPA needs to be kept disabled in APQ 8098 platform.

Change-Id: If340d72d1dc18f2861635528ea1a37a4d81421bd
Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
2017-06-29 15:51:49 +05:30
Mukesh Kumar Savaliya
61b9e193aa spi: spi_qsd: serve set_cs call only for valid device status
when set_cs() is called by framework, first check the device suspend
status and if not suspended then proceed for register access. Let system
suspend call SPI runtime suspend but make sure set_cs doesn't race with
it by holding the mutex.

Change-Id: Id6d05ac37227bf3358438eeedf279ddd1c9aab8b
Signed-off-by: Mukesh Kumar Savaliya <msavaliy@codeaurora.org>
2017-06-29 15:50:38 +05:30
Ashutosh Kumar
09002ed79c ath10k: Populate ACS survey results
ACS fails as channel details are null in survey info.
Add the missing fields in survey_info structure and
populate the channel details in survey results.

CRs-Fixed: 2027495
Change-Id: I1ca933ded4ca039845203ccd51d77cf7cef1c000
Signed-off-by: Ashutosh Kumar <askuma@codeaurora.org>
2017-06-29 02:31:57 -07:00
Sandeep Panda
b3c7e19b74 msm: mdss: fix the pixel clock calculation for fb modes
In the current implementation, if panel is configured in split
mode and supports multiple resolutions, then the pixel clock
calculation for the supported modes does not take split mode
into consideration. This causes issues when recovery or charger
application try to configure display. So fix the same by
recalculating the pixel clock with taking care of proper width
in case of split mode panel.

Change-Id: Ie6b50bcd67d3e283610f8b04ac0a974b3527e552
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
2017-06-29 10:24:06 +05:30
Sayali Lokhande
d74ea38a01 ARM: dts: msm: Add non-removable ufs property for SDM630
Defines the non-removable property for UFS device node.
This basically lets the driver know that UFS is the
boot device.

Change-Id: I1c8aa298af4afc7e42d0c8a3690f7d3360e37647
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
2017-06-29 09:08:09 +05:30
Linux Build Service Account
41f7afc189 Merge "drm/msm/sde: add kernel traces to measure enable/disable/kickoff times" 2017-06-28 20:09:04 -07:00
Linux Build Service Account
f244955097 Merge "ARM: dts: msm: update rmtfs shared memory address for SDM660/630" 2017-06-28 20:09:03 -07:00
Linux Build Service Account
17fbca8726 Merge "defconfig: msm: enable remote debugger driver" 2017-06-28 20:09:02 -07:00
Linux Build Service Account
1014096cda Merge "mm: avoid taking zone lock in pagetypeinfo_showmixed()" 2017-06-28 20:09:01 -07:00
Linux Build Service Account
04fdd6f571 Merge "icnss: Fix incorrect clean-up of stats" 2017-06-28 20:09:00 -07:00
Linux Build Service Account
e80ffe4ec7 Merge "icnss: Add specific statistics for PDR" 2017-06-28 20:08:59 -07:00
Linux Build Service Account
823d04d683 Merge "input: synaptics_dsx: validate bounds of intr_reg_num" 2017-06-28 11:59:58 -07:00
Linux Build Service Account
2a24534bf6 Merge "soc: qcom: glink_smem_native_xport: Allocate smem item in non cache region" 2017-06-28 11:59:58 -07:00
Linux Build Service Account
821524723a Merge "power: reset: msm: add support to select both dumps" 2017-06-28 11:59:57 -07:00
Linux Build Service Account
5901738d81 Merge "ARM: dts: msm: Update USB PHY0 parameters for SDA660/630 HDK platform" 2017-06-28 11:59:56 -07:00