Commit graph

594039 commits

Author SHA1 Message Date
Arun KS
972d901c7c soc: qcom: pil: set device dma mask as 32 bit
APPS interact with MPSS through 32 bit register interface.
Set dma mask for 32 bit so that mba and mdt memory are allocated
from 32 bit physical address range.

Change-Id: I623f00097d464b1bdd8f609e2d6c9a126f4bea4d
Signed-off-by: Arun KS <arunks@codeaurora.org>
2017-09-13 22:05:08 -07:00
Sayali Lokhande
f48e6d64a2 mmc: block: Add error handling in mmc_blk_cmdq_part_switch
mmc_blk_cmdq_part_switch always returned 0 even in case of
failures as errors are not handled in this function.
We need to un-halt cmdq in case it's in halt state when
mmc_switch fails. This change adds error handling code and
returns error in case of any failure.

Change-Id: Icd7ec4b7b53fc56d39dbcea195ae44bf08de17e5
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
2017-09-13 20:58:47 -07:00
Sayali Lokhande
8bcda652a9 scsi: ufs: Get TX and RX FSM states for debug purpose
In case of any UFS error or aborts, read TX and RX
FSM states which can be used for debugging purpose.

Change-Id: I24a989a9e1b07ba904ec639e26736a01769f0593
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
2017-09-14 09:07:25 +05:30
Linux Build Service Account
4b449078db Merge "msm: vidc: Do a proper clean-up in case of session abort" 2017-09-13 18:59:43 -07:00
Linux Build Service Account
1a0b5a7c61 Merge "msm: ipa: Add new API to check for ipa uC readiness" 2017-09-13 18:59:42 -07:00
Linux Build Service Account
a13cc21099 Merge "msm: mdss: disable HDMI block before HDMI core off" 2017-09-13 18:59:41 -07:00
Linux Build Service Account
7daa979b05 Merge "msm: camera: isp: Check null pointer for VFE0 base" 2017-09-13 18:59:39 -07:00
Subash Abhinov Kasiviswanathan
721f345aa2 udpv6: Fix the checksum computation when HW checksum does not apply
While trying an ESP transport mode encryption for UDPv6 packets of
datagram size 1436 with MTU 1500, checksum error was observed in
the secondary fragment.

This error occurs due to the UDP payload checksum being missed out
when computing the full checksum for these packets in
udp6_hwcsum_outgoing().

CRs-Fixed: 2087660
Change-Id: I8f9066a5fa731a7c81b6713dc93b1cf4824646f0
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2017-09-13 19:08:51 -06:00
Skylar Chang
8909867b39 msm: ipa3: add lock for num_q6_rule
There is a race condition be observed
on global variable num_q6_rule used in
ipa wan-driver. The fix is to add lock
to prevent different threads are accessing
it at the same time.

Change-Id: Ia9190c60361cb5605b61963309beca3acdeac89d
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2017-09-13 15:22:58 -07:00
Skylar Chang
54225e4364 msm: ipa: Add new API to check for ipa uC readiness
Adding new API for IPA clients to check for IPA
uC ready before bringing up IPA uC offload data path.

CRs-Fixed: 2030217
Change-Id: I0328658cba829cacc89b7c0b8edf7e52aa16e45c
Signed-off-by: Sunil Paidimarri <hisunil@codeaurora.org>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2017-09-13 11:29:18 -07:00
Linux Build Service Account
414269dd95 Merge "msm: mdss: dp: fix wdog_bite while disconnecting DP cable" 2017-09-13 10:58:19 -07:00
Linux Build Service Account
98fa67f230 Merge "msm: mdss: hdmi: correctly validate the cec msg frame size" 2017-09-13 10:58:18 -07:00
Linux Build Service Account
13ef16e98a Merge "msm: ais: isp: Reducing ISPIF stop waiting time" 2017-09-13 10:58:17 -07:00
Linux Build Service Account
3bbf983f45 Merge "msm: mdss: hdmi: fix no audio over HDMI on device bootup" 2017-09-13 10:58:15 -07:00
Linux Build Service Account
288edc578d Merge "msm: mdss: Increase the max layer count to 13" 2017-09-13 10:58:14 -07:00
Linux Build Service Account
0dc637a1af Merge "adv7481: return error when PLL lock fails" 2017-09-13 10:58:13 -07:00
Linux Build Service Account
28525322ac Merge "ARM: dts: msm: Early init changes for vendor image on msm8996" 2017-09-13 10:58:12 -07:00
Linux Build Service Account
fa2298d494 Merge "mmc: host: Update the USE_PIO_FOR_EMMC_TUNING quirk value" 2017-09-13 10:58:11 -07:00
Linux Build Service Account
d380a7c16b Merge "cgroup/cpuset: remove circular dependency deadlock" 2017-09-13 10:58:10 -07:00
Linux Build Service Account
b5939af1fd Merge "power: smblib: correct PD voting when inactive" 2017-09-13 10:58:09 -07:00
Linux Build Service Account
884b439578 Merge "adv7481: Add support for CSI 4 lane for ADV7481" 2017-09-13 10:58:08 -07:00
Linux Build Service Account
e3d53f3d2e Merge "msm: camera: fix off-by-one overflow in msm_isp_get_bufq" 2017-09-13 10:58:07 -07:00
Linux Build Service Account
9d4ca70315 Merge "msm: ais: sensor: flash: add conditional check for ioctl" 2017-09-13 10:58:06 -07:00
Linux Build Service Account
581c8764e2 Merge "msm: ais: Return -NOTTY on invalid ioctl command" 2017-09-13 10:58:05 -07:00
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