Commit graph

593967 commits

Author SHA1 Message Date
Sayali Lokhande
e6b1f12020 scsi: ufshcd: Flush exception event before suspend
Exception event can be raised by the device when system
suspend is in progress. This will result in unclocked
register access in exception event handler as clocks will
be turned off during suspend. This change makes sure to flush
exception event handler work in suspend before disabling
clocks to avoid unclocked register access issue.

Change-Id: I5a089a0387790a12f4cc3213c75e9677467a2a07
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
2017-09-25 12:00:12 +05:30
Lynus Vaz
1e450489ff msm: kgsl: Don't read stale crashdumper data
After the crashdumper runs once, and the user sets the
snapshot_crashdumper sysfs node to 0, it is possible that stale data
is saved off into the snapshot. Check the value of the sysfs node at
the appropriate place to force a re-read of the data through the
legacy path.

Change-Id: Icf27c39b68d786003c33fd0eb22bd3e8b9a036be
Signed-off-by: Lynus Vaz <lvaz@codeaurora.org>
2017-09-25 11:12:12 +05:30
Linux Build Service Account
fa33f6bd9a Merge "SoC: msm: change the MAX value of "App Type Config" kcontrol" 2017-09-24 19:54:04 -07:00
Linux Build Service Account
b95d667366 Merge "ALSA: info: Protect list access of new entry" 2017-09-24 11:54:02 -07:00
Linux Build Service Account
fd84661ff9 Merge "ASoc: msm: Support primary TDM interface" 2017-09-24 11:54:01 -07:00
Linux Build Service Account
c9a659fda7 Merge "drm:msm:sde: enable sde client customization" 2017-09-24 11:54:00 -07:00
Linux Build Service Account
c1bb4291db Merge "ARM: dts: msm: Override GPU speed bin 2 for MSM8996Pro" 2017-09-24 04:37:31 -07:00
Linux Build Service Account
b624f7fdc6 Merge "ARM: dts: msm: update PCIe WAKE for msm8998 to be pull-up" 2017-09-24 04:37:30 -07:00
Animesh Kishore
315de9a16b mdss: mdp: Validate null commit for secure display
Secure display entry/exit should be accompanied
by null commit in video mode to make sure there is
no non secure access.

Change-Id: I7928a2465de9c46f69e963977931f7a6618f01fb
Signed-off-by: Animesh Kishore <animeshk@codeaurora.org>
2017-09-24 11:53:33 +05:30
Linux Build Service Account
f76f194117 Merge "msm: ais: Instead of read_lock use read_lock_irqsave" 2017-09-23 21:05:45 -07:00
Linux Build Service Account
eb1237204c Merge "msm: camera: Add laser LED support for depth sensor" 2017-09-23 11:51:00 -07:00
Linux Build Service Account
f3e5579307 Merge "cnss2: Set debug state when using debugfs dev_boot node" 2017-09-22 17:26:55 -07:00
Linux Build Service Account
242aa79d68 Merge "mhi: core: move mhi_states_transition_str out of stack" 2017-09-22 17:26:54 -07:00
Linux Build Service Account
51328a6128 Merge "cnss2: Return proper error code for nonsupported devices" 2017-09-22 17:26:53 -07:00
Linux Build Service Account
1c078745a0 Merge "Revert "ANDROID: sched/tune: Initialize raw_spin_lock in boosted_groups"" 2017-09-22 17:26:53 -07:00
Linux Build Service Account
61eb33bc00 Merge "serial: msm_serial_hs: Keep Rx and Tx path clean while going inactive" 2017-09-22 17:26:51 -07:00
Linux Build Service Account
21be58daa3 Merge "ARM: dts: msm: reserve memory for early-audio on msm8996" 2017-09-22 17:26:50 -07:00
Linux Build Service Account
2a4db076c7 Merge "arm/arm64: Define backport flag for save_stack_trace_tsk()" 2017-09-22 17:26:50 -07:00
Linux Build Service Account
374db4f744 Merge "drm/msm: Add save/restore functions for perfcounters" 2017-09-22 17:26:46 -07:00
Linux Build Service Account
bf0fbeead5 Merge "power: qpnp-fg-gen3: synchronize ESR extraction control configuration" 2017-09-22 17:26:45 -07:00
Linux Build Service Account
751d87898b Merge "vidc: Enable skip output buffers for video encoder" 2017-09-22 17:26:44 -07:00
Linux Build Service Account
6d73a0bbe1 Merge "udpv6: Fix the checksum computation when HW checksum does not apply" 2017-09-22 17:26:43 -07:00
Linux Build Service Account
3e07e9cdb5 Merge "ASoC: msm: qdsp6v2: change to no-wait command for RTIC event" 2017-09-22 17:26:42 -07:00
Sujeev Dias
554cfbe86c mhi: core: move mhi_states_transition_str out of stack
To prevent un-initialized address returning from MHI
state transition lookup table, move mhi_states_transition_str
array out of stack

CRs-Fixed: 2111049
Change-Id: Ife5f907a711cc0c615161f2b2a677275d6773686
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-09-22 14:58:55 -07:00
Yue Ma
7f6f914d71 cnss2: Set debug state when using debugfs dev_boot node
When using debugfs dev_boot node to trigger firmware download,
debug state should be set as well so that subsequence shutdown
and powerup can be handled correctly.

Change-Id: Id85d28dca104f8938d78655d682a0a7d1491c04c
CRs-fixed: 2059087
Signed-off-by: Yue Ma <yuem@codeaurora.org>
2017-09-22 12:57:50 -07:00
Linux Build Service Account
18dd1a7105 Merge "msm: camera: sensor: Add OIS read functionality" 2017-09-22 09:13:45 -07:00
Linux Build Service Account
42326e9777 Merge "ion: fix the return value of shrinkers" 2017-09-22 09:13:44 -07:00
Linux Build Service Account
cfe37b1eb4 Merge "arm64: stacktrace: avoid listing stacktrace functions in stacktrace" 2017-09-22 09:13:42 -07:00
Linux Build Service Account
b92301abd0 Merge "msm: mdss: Fix potential race condition in rotator" 2017-09-22 09:13:41 -07:00
Linux Build Service Account
ba64f1b64f Merge "ASoC: msm: qdsp6v2: Fix dangling pointer access" 2017-09-22 09:13:40 -07:00
Archana Obannagari
4533fa3252 msm: kgsl: Fix size check issue in _read_fw2_block_header()
During firmware data read, it may leads to cross the max
range. Add a check to validate data size with in the max
range.

Change-Id: I12b3c1761214a7d2af2c45ad73bf61954c8398b6
Signed-off-by: Archana Obannagari <aobann@codeaurora.org>
2017-09-22 19:01:12 +05:30
Vikram Mulukutla
2bbf3a762a Revert "ANDROID: sched/tune: Initialize raw_spin_lock in boosted_groups"
This reverts commit c5616f2f874faa20b59b116177b99bf3948586df.

If we re-init the per-cpu boostgroup spinlock every time that
we add a new boosted cgroup, we can easily wipe out (reinit)
a spinlock struct while in a critical section. We should only
be setting up the per-cpu boostgroup data, and the spin_lock
initialization need only happen once - which we're already
doing in a postcore_initcall.

For example:

     -------- CPU 0 --------   | -------- CPU1 --------
cgroupX boost group added      |
schedtune_enqueue_task         |
  acquires(bg->lock)           | cgroupY boost group added
                               |  for_each_cpu()
                               |    raw_spin_lock_init(bg->lock)
  releases(bg->lock)           |
      BUG (already unlocked)   |
			       |

This results in the following BUG from the debug spinlock code:
	BUG: spinlock already unlocked on CPU#5, rcuop/6/68

CRs-fixed: 2113062
Change-Id: I1cd780d9ba5801cf99bfe46504b18a88e45f17a8
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2017-09-22 04:24:28 -07:00
Ch Ganesh Kumar
05f00d16b6 fb/msm: add support for HDR playback control sequence
HDR playback needs metadata to be sent to the sink
while the playback is ongoing and needs a proper
teardown sequence when the playback has ended with respect
to the infoframe being sent to the sink.

This needs a state machine to synchronize start/stop of
the playback with sending the right metadata along with
resetting the infoframe HDMI registers.

Add support for this HDR playback control state machine.

Change-Id: I58ff03bc8db99febd17e0a0853acc74668892ea8
Signed-off-by: Ch Ganesh Kumar <chganesh@codeaurora.org>
2017-09-22 16:44:18 +05:30
Guchun Chen
8c9aaddd85 ARM: dts: msm: disable secondary adv7533 on msm8996 lite board
Msm8996 adp lite board has two displays, native HDMI display and one
DSI-HDMI display through ADV7533 bridge chip. So only one ADV7533
instance is needed here. And at the meanwhile, total sde_kms components
need to match the configuration, otherwise, display driver probe will be
skipped due to this mismatch.

Change-Id: If596a64a9e47416e0810039914a958cae61c7e3e
CRs-Fixed: 2113147
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
2017-09-22 17:53:56 +08:00
Xu Han
414a690797 msm: camera: sensor: Add OIS read functionality
Adding capability to read OIS data, provided in the driver
register settings.

CRs-Fixed: 2114654
Change-Id: Ie10b55f597a4daa29267c6d4333ce9d9c7702d63
Signed-off-by: Xu Han <hanxu@codeaurora.org>
2017-09-21 23:35:03 -07:00
Shiju Mathew
8397353755 vidc: Enable skip output buffers for video encoder
Added feature to configure video h/w to send empty output buffer
for skipped frame due to rate control.

Change-Id: Id47344c3bae216fec6384ff205bcb658ec27cb06
Signed-off-by: Shiju Mathew <shijum@codeaurora.org>
2017-09-21 20:45:02 -07:00
Cong Tang
516bd75a2a ASoc: msm: Support primary TDM interface
Support primary TDM interface dai link and export kcontrols to update
primary TDM interface slot configuration.

CRs-fixed: 2095930
Change-Id: I693b99f295f6476c96d681e10459842c0011467f
Signed-off-by: Cong Tang <congt@codeaurora.org>
2017-09-21 20:10:27 -07:00
Yue Ma
08b5a0333b cnss2: Return proper error code for nonsupported devices
Platform driver only forces FW assert for supported devices.
Return proper error code for nonsupported devices so that WLAN
host driver can handle properly.

Change-Id: Iaf88f64564b14425404404db6a7789a7913db74f
CRs-fixed: 2059087
Signed-off-by: Yue Ma <yuem@codeaurora.org>
2017-09-21 14:13:40 -07:00
Naveen Rawat
f396bc3578 msm: Add CLD80211_ATTR_META_DATA vendor attribute
Add CLD80211_ATTR_META_DATA vendor attribute, which will be used by
userspace RTT application to send meta data to wlan driver allowing
it to peek into RTT request message without opening up complete
definition of RTT message.

Change-Id: If2f8253b59c6860fbaecab05f1b76f11da1ddb6f
CRs-Fixed: 2114181
Signed-off-by: Naveen Rawat <naveenrawat@codeaurora.org>
2017-09-21 11:33:14 -07:00
Yue Ma
72281a8854 defconfig: msm-auto: Enable CNSS2 platform driver
Use CNSS2 platform driver instead of CNSS in AUTO platforms.

Change-Id: I0b5df067d05ceafd759b3cefab1b506a659af50e
CRs-fixed: 2071634
Signed-off-by: Yue Ma <yuem@codeaurora.org>
2017-09-21 10:00:45 -07:00
Govind Singh
7235e034df ath10k: Vote for hardware resources for WCN3990
During recovery, there are cases where in WLAN driver running on
APPS can access CE register causing exceptions because of
hardware in reset state. Fix the issue by not resetting the
hardware in WLAN firmware during recovery but halt the CE and MAC
and reset the hardware only when reinitialization starts. For
this to work, wcn3990 ath10k driver needs to keep the clock and
regulator votes so that WLAN hardware will not go into weird
state because of not resetting it but cutting the resources.

Change-Id: I765fd4aaa2fea6f41f4760564b8d1cb8c3d9651b
Signed-off-by: Govind Singh <govinds@codeaurora.org>
2017-09-21 06:44:55 -07:00
Govind Singh
2b0e054796 ARM: dts: msm: update wcn3990 wlan device node for APQ8098
Add clock and regulator nodes for WCN3990.
During recovery, there are cases where in WLAN driver running on
APPS can access CE register causing exceptions because of
hardware in reset state. Fix the issue by not resetting the
hardware in WLAN firmware during recovery but halt the CE and MAC
and reset the hardware only when reinitialization starts. For
this to work, wcn3990 ath10k driver needs to keep the clock and
regulator votes so that WLAN hardware will not go into weird
state because of not resetting it but cutting the resources.

Change-Id: Iaaa793956bed687e4d76acda93f7fa467773f013
Signed-off-by: Govind Singh <govinds@codeaurora.org>
2017-09-21 06:43:21 -07:00
Varun Balaraj
7200f000f9 ASoC: msm: Add pan/scale & downmix control as platform mixer controls
During soundcard deregistration, free_chmap() is called as part of
pcm_free. This only frees downmix kcontrol as pcm has reference
only to downmix kcontrol followed by freeing of pcm pointer. The
other two kcontrol are freed as part of snd_ctl_remove(). However,
while freeing other two kcontrols, pcm_usr_ctl_private_free()
accesses pcm->streams which are already freed causing crash.
Fix is to add pan/scale & downmix controls as platform controls
instead of user control.

Change-Id: Ib2890122d079201e02c4b7839694d2e7618037b7
Signed-off-by: Varun Balaraj <varunb@codeaurora.org>
2017-09-21 18:44:25 +05:30
Vinayak Menon
d385ca7d06 ion: fix the return value of shrinkers
ION page pool and cma shrinkers return the total pooled
memory instead of the freed. This can result in an early
exit of ION page pool shrinker thus giving back less memory
to the system. For cma shrinker this change doesn't have an
effect since the callers of shrink_slab currently ignores
the return value.

Change-Id: I0b3727807d9a5f020623766d27da360d077395f3
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2017-09-21 15:13:59 +05:30
Guchun Chen
6a11240349 drm:msm:sde: enable sde client customization
Sde client customization is disabled by previous commit which
is propagated from other branch. After disabling this, 4K display
on HDMI can not be up. This is because when creating drm plane in kernel,
sde client customization will directly set possible_crtcs per plane
reporting to user space. When disabling it, user space's sdm strategy
could not get and assign correct pipes for 4K display.

Change-Id: Ie6a870c352533060f7c810bdb5c99b7c1534117d
CRs-fixed: 2107328
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
2017-09-21 15:28:40 +08:00
Mukesh Kumar Savaliya
b60a2fa1ee serial: msm_serial_hs: Keep Rx and Tx path clean while going inactive
This patch disables Rx and Tx engine properly while going to suspend or
shutdown. There are chances when BT SOC or client is going bad and
disrupts the UART SW state machine.

1.Do not allow double resource_vote and hence pipe connect at port open.
2.While going to suspend, close the HW resources forcibly to prevent
  UART from going bad for the subsequent resume cycle.
3.Stop Rx engine gracefully even if clocks are off to obey the framework.
4.During resource unvote, if runtime PM is disabled then go for forced
  suspend.
5.In case of fatal error, stop further IPC logging.
6.Add relevant log if the Rx pipe is not empty at the time disconnecting.
7.Prevent Rx byte entering in case of back to back loopback test, as
  this causes data mismatch.
8.Add the logs correctly just after reading the status instead doing it
  later which doesn't get logged in case of any failure.

Change-Id: I9426e9ae8c5b07d74e95ec37651ece0d46928104
Signed-off-by: Mukesh Kumar Savaliya <msavaliy@codeaurora.org>
2017-09-20 18:59:41 +05:30
Prakash Gupta
e6a18bb617 iommu: free io pgtable during domain detach.
Pagetable pgd is allocated in arm_smmu_init_domain_context and is freed in
arm_smmu_domain_free. Client can attach/detach domain without freeing the
same. This causes memory leak. This was introduced with
commit fe676929a9 ("iommu/arm-smmu: fix a DOMAIN_ATTR_DYNAMIC memory
leak")

Free io pgtables in arm_smmu_destroy_domain_context, which is invoked at
the time of domain detach.

Change-Id: Ib53e4efdd8dca33437596f3f0ccaa8ccaae79ca0
Signed-off-by: Prakash Gupta <guptap@codeaurora.org>
2017-09-20 11:04:47 +05:30
Fenglin Wu
28121ca02f power: smb-lib: Disable USB IRQs during high duty cycle
Disable USB IRQs after high duty cycle IRQ triggered and re-enable
them in the delay worker. This helps to avoid the high duty cycle
IRQ storming.

CRs-Fixed: 2094725
Change-Id: Iba22a7402692b5ee5f738cc17ed9c214f6014ac0
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
2017-09-20 12:34:11 +08:00
Abhijeet Dharmapurikar
eab089bd20 smb-lib: allow reading vbus without presence
Currently the driver skips invoking adc api's if usb is not
present i.e. vbus has fallen below 3.3V.

This presence check is not required for the vbus. Skip that
check.

Change-Id: I4a2dd91109a308b553b7407618ee8f3221127f61
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-09-19 18:18:22 -07:00
Dustin Brown
5b54754167 arm/arm64: Define backport flag for save_stack_trace_tsk()
The export of save_stack_trace_tsk() was previously backported to
msm-4.9, without a backported flag to detect support. Define a new
backport flag, so kernel modules can use this function when it is
exported.

Change-Id: Iec65e6f9fed0a9bf686f5e5c8ba4f59691eb1ee0
CRs-Fixed: 2105458
Signed-off-by: Dustin Brown <dustinb@codeaurora.org>
2017-09-19 11:41:04 -07:00