Commit graph

594013 commits

Author SHA1 Message Date
Linux Build Service Account
5a5b79c5fc Merge "msm: mdss: hdmi: configure hdcp feature support" 2017-09-13 10:58:04 -07:00
Vijay Viswanath
6cc74e75a0 mmc: block: Unhalt the command queue before releasing mmc host
In the IOCTL path, the command queue is halted before servicing
the ioctl requests. Once the ioctl request is serviced, the ioctl
context releases mmc host and then unhalts the controller. This can
cause race conditions where mmc driver would end up in a bad state.
If another context B, which wants to send a legacy command, comes up
between the time ioctl releases the host and unhalts the controller.
Then the context B will see that cmdq is already halted and will prepare
a legacy command. Once context B sends the legacy command, the ioctl
context may unhalt the cmdq. This will mask the legacy interrupts and
context B will never receive interrupts for the command it sent.

To prevent this, unhalt the controller before the ioctl context releases
the host.

Change-Id: I65d3b4a709813549e7e5d48d94065a753164f9d0
Signed-off-by: Vijay Viswanath <vviswana@codeaurora.org>
2017-09-13 17:51:51 +05:30
Yuan Zhao
f2e445edd1 msm: mdss: disable HDMI block before HDMI core off
Switching HDMI display mode many times, could find
sometimes color distortion or no signal display.
If disable HDMI block before setting HDMI core off,
that could be fixed.

Change-Id: Ib0e8002f59e017a81298d4a5a39736a7516e3435
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
2017-09-13 20:02:51 +08:00
Vijayavardhan Vennapusa
37a389ae91 USB: composite: Use snprintf instead of sprintf
composite driver is using sprintf() function to expose value to
userspace. This sprintf() is banned function and instead required
to use snprintf() function. Hence replace sprintf() with snprintf()
function to fix static analysis tool error.

Change-Id: I85f38fe3f2121f6a0cb76b7178a3e699ba1dc7f2
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
2017-09-13 16:03:39 +05:30
Prateek Sood
da781e2b84 cgroup/cpuset: remove circular dependency deadlock
Remove circular dependency deadlock in a scenario where hotplug of CPU is
being done while there is updation in cgroup and cpuset triggered from
userspace.

Process A => kthreadd => Process B => Process C => Process A

Process A
cpu_subsys_offline();
   cpu_down();
     _cpu_down();
       mutex_lock(&cpuhotplug.lock); //held
       __cpu_notify();
         workqueue_cpu_down_callback();
           queue_work_on(system_highpri_wq);
             __queue_work();
               insert_work();
                 wake_up_worker(); //pool->nr_running = 0
           flush_work();
           wait_for_completion();

worker_thread();
  need_more_worker(); // returns true
  manage_workers();
    maybe_create_worker();
	  create_worker();
	    kthread_create_on_node();
		  wake_up_process(kthreadd_task);

kthreadd
kthreadd();
  kernel_thread();
    do_fork();
      copy_process();
        percpu_down_read(&cgroup_threadgroup_rwsem);
          __rwsem_down_read_failed_common(); //waiting

Process B
kernfs_fop_write();
  cgroup_file_write();
    cgroup_tasks_write();
      percpu_down_write(&cgroup_threadgroup_rwsem); //held
      cgroup_attach_task();
        cgroup_migrate();
          cgroup_taskset_migrate();
            cpuset_can_attach();
              mutex_lock(&cpuset_mutex); //waiting

Process C
kernfs_fop_write();
  cgroup_file_write();
    cpuset_write_resmask();
      mutex_lock(&cpuset_mutex); //held
      update_cpumask();
        update_cpumasks_hier();
          rebuild_sched_domains_locked();
            get_online_cpus();
              mutex_lock(&cpuhotplug.lock); //waiting

Eliminate this dependecy by reordering locking of cpuset_mutex
and cpuhotplug.lock.

Change-Id: Ifd76373d717c53b531623a3be76b7d32e0d959fd
Signed-off-by: Prateek Sood <prsood@codeaurora.org>
2017-09-13 00:24:53 -07:00
Linux Build Service Account
6b61088893 Merge "power: qcom: smb135x: change OTG regulator ops to static" 2017-09-13 00:17:51 -07:00
Linux Build Service Account
7d33335338 Merge "power: qpnp-fg-gen3: adjust ki coefficient for full soc dynamically" 2017-09-13 00:17:50 -07:00
Linux Build Service Account
234a1f3c32 Merge "usb: gadget: u_ether: Add NULL check in helper APIs" 2017-09-13 00:17:49 -07:00
Linux Build Service Account
c0125f4c90 Merge "usb: gadget: Update default class subclass and protocol for rndis" 2017-09-13 00:17:48 -07:00
Rahul Sharma
57aebae70b msm: ais: isp: Reducing ISPIF stop waiting time
Initial ISPIF waiting was one second which causes
 hang for one second in case of sensor removal hence
 wait is reduced to 200ms.

Change-Id: I531a880435983fe2e1e4f0f7616c6a6b1632dac8
Signed-off-by: Rahul Sharma <sharah@codeaurora.org>
2017-09-13 15:07:11 +08:00
Krishna Chaitanya Devarakonda
606fb649e1 msm: mdss: Fix potential race condition in rotator
There might be a possible race condition in rotator, where two
threads can free same perf structures. Adding proper locking
to avoid such race conditions.

Change-Id: I4976da6f176df24da2ec86c4c1f176cc43aba05b
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
2017-09-12 23:38:18 -07:00
Krishna Chaitanya Devarakonda
5475f94ca5 msm: mdss: Increase the max layer count to 13
The maximum number of layers could be 13 including the
cursor layer. Increasing the maximum layer count to
accommodate cursor layer.

Change-Id: I907feb14fbd2d2ab5de66b4dee83d90d94c59595
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
2017-09-12 23:38:15 -07:00
Jaiju Yesudasan
44d8abb6e0 adv7481: return error when PLL lock fails
Return error instead of default width and height when PLL lock fails.

Suggested-by: Suprith Malligere <c_suprit@qti.qualcomm.com>
Change-Id: I80880e9d1f6bcd5d6df87f74d005f9c79f91f096
Signed-off-by: Jaiju Yesudasan <cjaijuy@codeaurora.org>
2017-09-12 23:24:41 -07:00
Jaiju Yesudasan
982f581113 adv7481: Add support for CSI 4 lane for ADV7481
Enable CSI 4 lane in adv7481 to support 1080p and 60fps.

Suggested-by: Suprith Malligere <c_suprit@qti.qualcomm.com>
Change-Id: I053602fc73fe300cff780dfe75c546ff3768ee3c
Signed-off-by: Jaiju Yesudasan <cjaijuy@codeaurora.org>
2017-09-12 23:23:44 -07:00
Gaoxiang Chen
a476e30e30 msm: camera: fix off-by-one overflow in msm_isp_get_bufq
In msm_isp_get_bufq, if bufq_index == buf_mgr->num_buf_q,
it will pass the check, leading to off-by-one overflow
(exceed the length of array by one element).

CRs-Fixed: 2031677
Change-Id: I7ea465897e2c37de6ca0155c3e225f1444b3cf13
Signed-off-by: Gaoxiang Chen <gaochen@codeaurora.org>
2017-09-12 23:18:38 -07:00
Hareesh Gundu
22b96ae58a msm: kgsl: Do not crash on context detach timeout failure
If context wait for global timeouts in detach path there is
no use to process its pending commands. Hence to handle context
detach timeout failure,invalidate the context and remove all
the pending commands from that context. So that other context
commands proceed successfully after the context detach timeout
fault recovery.

Change-Id: Ie4ff0ed5d08312d345b248a2404ce085552b0b09
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
2017-09-13 11:41:46 +05:30
Aditya Bavanari
adc8d80a00 ASoC: msm: qdsp6v2: Fix dangling pointer access
Fix access of a dangling pointer by assigning it to NULL.

CRs-Fixed: 2096407
Change-Id: I22c1d55ea611ac59cdca51924787f6831bad8c2b
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2017-09-13 10:57:17 +05:30
Anthony Mah
64f7a316bb ARM: dts: msm: Early init changes for vendor image on msm8996
For use with A/B partition feature, remove early mount of system
image.  Change fs mgr flags from verify to slotselect.
System image is to be mounted in the lk when enabling A/B.

Change-Id: I4fc2ac5f5bd22dea2fd6ff832cd31d1f3697b4d4
Signed-off-by: Anthony Mah <amah@codeaurora.org>
2017-09-12 15:24:09 -07:00
Linux Build Service Account
14f6bfeeeb Merge "Merge android-4.4@610af85 (v4.4.85) into msm-4.4" 2017-09-12 14:41:58 -07:00
Linux Build Service Account
043f52c20a Merge "msm: kgsl: Protect the bind object against bad dereference" 2017-09-12 14:41:57 -07:00
Linux Build Service Account
e276155e6b Merge "msm: ipa: ipa_usb: teth_prot and ttype validation" 2017-09-12 14:41:48 -07:00
Harry Yang
3e89bd5d24 power: smblib: correct PD voting when inactive
Currently, when becoming inactive, PD leaves the HDC and input
limited interrupt enabled.

Correct it by disabling it.

Change-Id: I62a1d837f6126951cb428a982fe1d8876f1d5bdc
Signed-off-by: Harry Yang <harryy@codeaurora.org>
2017-09-12 12:15:01 -07:00
Rahul Sharma
5a12dd28f1 msm: ais: sensor: flash: add conditional check for ioctl
Add conditional check when sending VIDIOC_MSM_FLASH_CFG
in 32-bit process.

Change-Id: Ia4255aba26c634018163e2cc3c1170f71b1eb661
CRs-Fixed: 2092793
Signed-off-by: Rahul Sharma <sharah@codeaurora.org>
2017-09-12 05:39:49 -07:00
Veerabhadrarao Badiganti
b3bfaafbbd mmc: core: Correct the checks while setting clock scaling frequencies
Correct the checks while setting the max scaling frequency supported
by the card. With the present checks, even for HS card max frequency
would set as max frequency of HS200 card.

Change-Id: Ie8b42229ef189e591f49b227d043f6186aa7e205
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
2017-09-12 18:01:08 +05:30
Veerabhadrarao Badiganti
2ca4af7da2 mmc: sdhci-msm: Don't enable PWRSAVE_DLL for all latest sdhc hosts
SDHC core with 14lpp tech DLL should not enable PWRSAVE_DLL since
such controller's internal gating cannot meet following MCLK requirement:
when MCLK is gated OFF, it is not gated for less than 0.5us and MCLK must
be switched on for at-least 1us before DATA starts coming.

Since all the latest versions of sdhc host has this 14lpp tech DLL
Don't set PWRSAVE_DLL bit accordingly.

Change-Id: I7cccc79a79b32a33e74212fc5f41408c2e07b5cb
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
2017-09-12 18:00:59 +05:30
Linux Build Service Account
b86ba37927 Merge "msm: camera: isp: Avoid stats data corruption." 2017-09-12 05:25:47 -07:00
Linux Build Service Account
c32cff4902 Merge "drm/msm/sde: remove out of bound access for qos lut parsing" 2017-09-12 05:25:46 -07:00
Linux Build Service Account
14bba4ad56 Merge "drm/msm: fix non-zero offset register dumping" 2017-09-12 05:25:45 -07:00
Linux Build Service Account
e21786a4b9 Merge "msm: vidc: Avoid adding failed instance into list" 2017-09-12 05:25:44 -07:00
Linux Build Service Account
468e3f4e6e Merge "ARM: dts: msm: add dummy SPSS ETM device for msm8998" 2017-09-12 05:25:35 -07:00
Linux Build Service Account
53b5648fac Merge "ASoc: msm: Add pm_qos_request_active condition check" 2017-09-12 05:25:34 -07:00
Veerabhadrarao Badiganti
f4e489e4c0 mmc: host: sdhci-msm: Enable SDHC FIFO explicitly
Enable SDHC FIFO explicitly by disabling the alternative FIFO.

The boot-loaders might use alternative FIFO instead of HC FIFO.
And the vendor specific register which has this setting won't get
reset with controller reset. So the FIFO setting done by the
bootloader would remain as it is unless its explicitly cleared.
Without clearing this setting, mmc driver can't make use of regular
FIFO mode.

Change-Id: I8c7ff9b20c33518fb9013cce2f9284117fc2ce3c
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
2017-09-12 16:24:25 +05:30
Narender Ankam
942e1ce7e9 msm: mdss: hdmi: fix no audio over HDMI on device bootup
In case of HDMI interface as primary, if device boots up with
HDMI connected, external interface driver is unable to notify
audio events as audio codec is getting registered later.
Add change to send audio event once audio codec gets registered.

Change-Id: I8d630adf892714ff2eb4d6039dc058b54c425b83
Signed-off-by: Narender Ankam <nankam@codeaurora.org>
2017-09-12 13:05:24 +05:30
Narender Ankam
8eb5765563 msm: mdss: hdmi: notify hdmi audio event after video is up
Modify HDMI driver so that video and audio events are notified
separately. Notify video events asynchronously. send audio
events only after video is up.

Change-Id: Ie6e4e564456d65f6b6d733b8accd14b9ce4c7e15
Signed-off-by: Narender Ankam <nankam@codeaurora.org>
2017-09-12 12:57:33 +05:30
Ramesh V
b9c2cd1f65 msm: camera: isp: Avoid stats data corruption.
When several threads permanently, e.g., read/write the debugfs
file that triggers vfe_debugfs_statistics_read(), the content of
stats will be modified in an unintended manner, add spin_lock
to protect that.

Change-Id: I15d46498e669132ef1d1f5ad9c4305ee5fdb0da4
Signed-off-by: Ramesh V <ramev@codeaurora.org>
2017-09-12 10:21:26 +05:30
Linux Build Service Account
e9ecb016e6 Merge "msm: kgsl: Limit the kgsl log frequency in kgsl_get_unmapped_area()" 2017-09-11 19:13:15 -07:00
Linux Build Service Account
fd4b95e374 Merge "usb_bam: Delete IPA resources in usb_bam_remove()" 2017-09-11 19:13:14 -07:00
Linux Build Service Account
e2903e352e Merge "scripts: correct cflags for kasan" 2017-09-11 19:13:06 -07:00
Linux Build Service Account
36c840e480 Merge "ASoC: sdm660_cdc: Fix mute if compander is disabled" 2017-09-11 19:13:05 -07:00
Linux Build Service Account
b462476de7 Merge "dts: msm: Add QSEECOM heap node on msm8996 lfv platform" 2017-09-11 19:13:04 -07:00
Linux Build Service Account
11d92b2206 Merge "msm: thermal: Check cpu variables are initialized before setting threshold" 2017-09-11 19:13:03 -07:00
Linux Build Service Account
688a2e4ffa Merge "wil6210: ensure P2P device is stopped before removing interface" 2017-09-11 19:12:59 -07:00
Linux Build Service Account
6b1bf8fed1 Merge "wil6210: increase connect timeout" 2017-09-11 19:12:58 -07:00
Linux Build Service Account
03dbca91e5 Merge "wil6210: clear PAL_UNIT_ICR part of device reset" 2017-09-11 19:12:57 -07:00
Linux Build Service Account
dc6bd8cd1e Merge "wil6210: move pre-FW configuration to separate function" 2017-09-11 19:12:57 -07:00
Linux Build Service Account
f942b32006 Merge "msm: ipa: Cache CNE event" 2017-09-11 19:12:56 -07:00
Linux Build Service Account
1b2c9a8e53 Merge "msm: kgsl: Do not allocate scratch memory for A3xx" 2017-09-11 19:12:55 -07:00
Linux Build Service Account
38b0615244 Merge "ath10k: Destroy QMI handle during driver unload" 2017-09-11 19:12:54 -07:00
Linux Build Service Account
5bfea4d5e6 Merge "msm: sensor: flash: add conditional check for ioctl" 2017-09-11 19:12:53 -07:00
Linux Build Service Account
42a50b337e Merge "msm: kgsl: Fix gpu fault issue while enabling stall on page fault" 2017-09-11 19:12:52 -07:00