Commit graph

581635 commits

Author SHA1 Message Date
Linux Build Service Account
53d9fa23b7 Merge "ASoC: audio-ext-clk: add parent to div and lnbb clks" 2017-01-18 23:48:43 -08:00
Linux Build Service Account
08478123a6 Merge "ARM: dts: msm: Audio bringup fixes for SDM660" 2017-01-18 23:48:42 -08:00
Linux Build Service Account
69427c91f4 Merge "spmi: pmic-arb: Return an error code if sanity check fails" 2017-01-18 23:48:40 -08:00
Linux Build Service Account
e7d95aa295 Merge "spmi: pmic-arb: replace symbolic permissions with constants" 2017-01-18 23:48:40 -08:00
Linux Build Service Account
b2c6447f46 Merge "usb: pd: pdphy: Enable IRQs for wakeup" 2017-01-18 23:48:39 -08:00
Linux Build Service Account
fbbaeb656a Merge "sched: hmp: Remove the global sysctl_sched_enable_colocation tunable" 2017-01-18 23:48:38 -08:00
Linux Build Service Account
3d4b6ca818 Merge "ARM: dts: msm: Enable wifi offload for SDM660 and SDM630" 2017-01-18 23:48:37 -08:00
Linux Build Service Account
b7193a89d1 Merge "tracing: Use SOFTIRQ_OFFSET for softirq dectection for more accurate results" 2017-01-18 23:48:36 -08:00
Linux Build Service Account
f116be368e Merge "msm: camera: fix Information leak" 2017-01-18 23:48:35 -08:00
Aravind Venkateswaran
262e423fdf msm: mdss: dp: add support to read per frame CRC values
Display Port (DP) controller has the ability to calculate CRC values
for every frame. In addition, most DP sinks also have the capability
to calculate per frame CRC values. Add support to enable/disable
calculation of per-frame CRC values for both the DP controller and
the DP sink. Add support to read the computed CRC values via a new
sysfs node. See below for usage instructions:

To enable/disable per frame CRC calculation:
   * echo "ctl_cr_en=[0/1]" > /sys/class/graphics/<fbi>/frame_crc
   * echo "sink_cr_en=[0/1]" > /sys/class/graphics/<fbi>/frame_crc

To read computed CRC values:
   * cat /sys/class/graphics/<fbi>/frame_crc

CRs-Fixed: 1109812
Change-Id: I41271db64463b26cbbd9baba43d098bc30da33bf
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2017-01-18 23:22:41 -08:00
Ajay Singh Parmar
31975b700c msm: mdss: dp: add configuration sysfs node
Add node named 'config' to let the user modules know
about the supported DisplayPort configurations. On
every cable connection, user modules can read this sysfs
node to configure accordingly. This sysfs node can also
be used to force a test pattern on the DP interface using
the following syntax:

echo "bpp=<bpp> pattern_type=<pattern>" > /sys/class/graphics/<fbi>/config
where
   * bpp = [0/18/24/30]
   * pattern_type = [0/1/2/3]

CRs-Fixed: 1109812
Change-Id: Ia2890e8c8e6214d4a1532f081d7c906484c99a03
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2017-01-18 23:22:33 -08:00
Aravind Venkateswaran
b8aa537775 msm: mdss: dp: add support for automated video pattern tests
Add support for parsing parameters in the automated CTS mode when
the test type is set to TEST_VIDEO_PATTERN. The parameters parsed
are the color bit depth, colorimetry and the test pattern type.
Configure the source accordingly and transmit the requested
video pattern.

CRs-Fixed: 1109812
Change-Id: I552a50e86dc299b4cf7955992ad82dee19f35cbc
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2017-01-18 23:22:23 -08:00
Aravind Venkateswaran
9be29e6aaa msm: hdmi: edid: add API to override edid configuration
Add a new API to override the EDID configuration. This will
allow clients to specify a particular resolution to be used
for subsequent connections.

CRs-Fixed: 1109812
Change-Id: Ie08ed509dd563bf265b32a2bfece86352b4e2b68
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2017-01-18 23:22:16 -08:00
Aravind Venkateswaran
bc176f3364 msm: hdmi: edid: always add timings parsed from DTD to reserved list
Resolutions listed in the Detailed Timing Descriptor (DTD) have
detailed information about all the timings. Current implementation
attempts to match the parsed resolution with the resolution database
based on just the Video Information Code (VIC). This can potentially
overlook mismatches in certain parameters such as refresh rates and
can cause unintended results. Fix this by always adding the resolutions
parsed from the DTDs to the reserved timing list.

CRs-Fixed: 1109812
Change-Id: I8b926f08ce9b44c4a16a32fed26fedd351d77ae8
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2017-01-18 23:22:08 -08:00
Aravind Venkateswaran
1507849767 msm: hdmi: edid: do not add VGA resolution by default
Current implementation of the EDID parser always ensures that
VGA resolution (640x480) is added to the list of supported modes.
However, this should really be done by the client of the parser
based on their policies. This will avoid usecases where the EDID
parser would report the VGA resolution as supported even if it
was not listed in the sink's EDID.

CRs-Fixed: 1109812
Change-Id: Ic98314493029586d06a26a2c3a12b275ddaa8a8f
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2017-01-18 23:22:00 -08:00
Aravind Venkateswaran
8a4208ec19 msm: hdmi: edid: add 640x480p59.94 resolution to timing database
Populate the required parameters for 640x480p59.94 resolution and
add this to the resolution database.

CRs-Fixed: 1109812
Change-Id: Ic600d81e81d695288abd7638112e2541df5b1197
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2017-01-18 23:19:54 -08:00
Aravind Venkateswaran
ce49c9f5cd msm: mdss: dp: program HSYNC and VSYNC polarity
Add support to program the vertical sync (VSYNC) and
horizontal sync (HSYNC) polarity based on the sink's EDID.
This enables transmission of these parameters as part of
the Main Stream Attributes.

CRs-Fixed: 1109812
Change-Id: I10a91dd778e51abc8da4d4a8280a57b927cce590
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2017-01-18 23:19:44 -08:00
Satish Babu Patakokila
355f0c4d27 ASoc: msm: qdsp6v2: Fix audio noise issue during incall recording
The timestamp API is called even when timestamp flag is not set.
Correct the read API calls based on timestamp flag.

CRs-fixed: 1107319
Change-Id: Ic40b166e9ddd42f20fecadcd4eafe187b3ff8785
Signed-off-by: Satish Babu Patakokila <sbpata@codeaurora.org>
2017-01-18 23:19:43 -08:00
Aravind Venkateswaran
6947573710 msm: mdss: dp: fix event queue management
Current implementation utilizes a simple event queue to handle
some of the tasks when setting up or tearing down a display port
session. This is currently achieved using a workqueue and assumes
that there can be at most one unhandled event outstanding. This
may not be valid and can result certain events being skipped.
Refactor this by handling the events in a new event thread.

CRs-Fixed: 1109812
Change-Id: I2041fd2bbeadbfc7726a6c504ec3e373f34d2aea
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2017-01-18 23:19:17 -08:00
Pavankumar Kondeti
6d63f38bf2 sched: kill sync_cpu maintenance
We assume boot CPU as a sync CPU and initialize it's window_start
to sched_ktime_clock(). As windows are synchronized across all
CPUs, the secondary CPUs' window_start are initialized from the
sync_cpu's window_start. A CPU's window_start is never reset, so
this synchronization happens only once for a given CPU. Given this
fact, there is no need to reassigning the sync_cpu role to another
CPU when the boot CPU is going offline. Remove this unnecessary
maintenance of sync_cpu and use any online CPU's window_start as
reference.

Change-Id: I169a8e80573c6dbcb1edeab0659c07c17102f4c9
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
2017-01-19 12:30:19 +05:30
Rupesh Tatiya
44c5c83c4f ARM: dts: msm: Add slimbus device for wcn3990
Slimbus is used as audio transport for Bluetooth & FM between sdm660 &
wcn3990. Add device tree entry for wcn3990 slimbus slave device in sdm660.

Change-Id: I0766cfac9329e7d088e6997e20a27d902aca9f29
Signed-off-by: Rupesh Tatiya <rtatiya@codeaurora.org>
2017-01-18 22:20:07 -08:00
Dhoat Harpal
81b13dfb68 soc: qcom: smem: Fix possible use of uninitialized variable
Usage of uninitialized variable remote_host happens if common partition
header hosts value dont match with TOC values.

Add common partition check and error log if hosts mismatch with TOC.

CRs-Fixed: 1113351
Change-Id: I15f8823751abccf87c55e570a8a762bfb2cfb2df
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
2017-01-19 11:48:38 +05:30
Dhoat Harpal
dbdcdb2153 defconfig: sdm660: Enable G-Link SPI Transport driver in 32 bit
Enable G-Link SPI Transport driver to enable off-chip communication
over SPI bus in 32 bit architecture.

CRs-Fixed: 1106989
Change-Id: I8826b1383811a03d91547414a5f6766aafa091d6
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
2017-01-18 20:15:24 -08:00
Laura Abbott
7933a7ef82 fs: fuse: Add replacment for CMA pages into the LRU cache
CMA pages are currently replaced in the FUSE file system since
FUSE may hold on to CMA pages for a long time, preventing migration.
The replacement page is added to the file cache but not the LRU
cache. This may prevent the page from being properly aged and dropped,
creating poor performance under tight memory condition. Fix this by
adding the new page to the LRU cache after creation.

Change-Id: Ib349abf1024d48386b835335f3fbacae040b6241
CRs-Fixed: 586855
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
2017-01-18 16:20:27 -08:00
Laura Abbott
a5b88c7fda fs: fuse: Workaround for CMA migration
The FUSE file system may hold references to pages for long
periods of time, preventing migration from occurring. If a CMA
page is used here, CMA allocations may fail. Work around this
by swapping out a CMA page for a non-CMA page when working with
the FUSE file system.

Change-Id: Id763ea833ee125c8732ae3759ec9e20d94aa8424
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
2017-01-18 16:18:26 -08:00
Sathish Ambley
4669c8d278 msm: ADSPRPC: Attributes to process creation on remote processor
Allow creating user process on remote processor with attributes
to be used during process creation for debugging purposes.

Change-Id: I63081f8ed44bd8e86392d82018ce4e632284c6ed
Acked-by: Viswanatham Paduchuri <vpaduchu@qti.qualcomm.com>
Signed-off-by: Sathish Ambley <sathishambley@codeaurora.org>
2017-01-18 14:30:40 -08:00
Oleg Perelet
da7c5d16e3 ARM: dts: msm: Add support for GPU AB vote scaling
Enable GPU bus AB bus scaling votes for A540.

Change-Id: I3629094672f3321004725f6b8fcaf08604202221
CRs-Fixed: 1113143
Signed-off-by: Oleg Perelet <operelet@codeaurora.org>
2017-01-18 14:26:07 -08:00
Linux Build Service Account
3145cd4109 Merge "perf: Fix NULL pointer ref in exclude_idle update" 2017-01-18 14:23:23 -08:00
Linux Build Service Account
c1a330fbcf Merge "ARM: dts: msm: Set correct voltage for QRD8998HB touch panel" 2017-01-18 14:23:22 -08:00
Linux Build Service Account
3b6e6476d7 Merge "ARM: dts: msm: modify dcc ram size for sdm660" 2017-01-18 14:23:21 -08:00
Linux Build Service Account
e64abf0e80 Merge "mac80211: allow passing transmitter station on RX" 2017-01-18 14:23:20 -08:00
Linux Build Service Account
582a811220 Merge "clk: qcom: Add support for 19.2Mhz for USB30 utmi clock" 2017-01-18 14:23:19 -08:00
Linux Build Service Account
3d99714332 Merge "defconfig: msm: Enable MSM_TIMER_LEAP for sdm660" 2017-01-18 14:23:18 -08:00
Linux Build Service Account
3c00037742 Merge "msm: ipa: Prevent multiple header deletion from user space" 2017-01-18 14:23:17 -08:00
Linux Build Service Account
89b611d0f0 Merge "qcom-charger: smb2: suspend USB path for fake battery or debug board" 2017-01-18 14:23:17 -08:00
Linux Build Service Account
ed5ce44f85 Merge "clk: qcom: Move prepare_enable of XO clock before spinlock" 2017-01-18 14:23:16 -08:00
Linux Build Service Account
42c03251c6 Merge "clk: qcom: Remove few graphics clock for sdm660" 2017-01-18 14:23:15 -08:00
Sathish Ambley
8c18ec960f msm: ADSPRPC: Update subsystem name for slpi
Update subsystem name for slpi to ensure that the subsystem restart
notification is registered with the correct subsystem.

Change-Id: Ie4f409d6d63cd164323a2e58805b8154322518d1
Signed-off-by: Sathish Ambley <sathishambley@codeaurora.org>
2017-01-18 13:00:28 -08:00
Yeleswarapu Nagaradhesh
1a43bb07cb ASoC: audio-ext-clk: add parent to div and lnbb clks
Add parents to div_clk1 and ln_bbclk. And register
both the clocks independently.

Change-Id: Ic0435ebad533879e3e0648775956c91cc680644d
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
2017-01-19 00:52:56 +05:30
Laxminath Kasam
71fb9c8efa ARM: dts: msm: Audio bringup fixes for SDM660
Update gpio settings as per HW VI audio
values. Also move common settings of external
and internal codecs to new files.

Change-Id: I0d3e0878972038a7876a063648156126b2a7cee4
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2017-01-19 00:48:11 +05:30
Jack Pham
77629c3ba6 usb: pd: pdphy: Enable IRQs for wakeup
Enable the signal and message RX IRQs for wakeup. This allows
the system to be woken from suspend when the PD PHY receives
an incoming hard reset or SOP* message from a connected peer.

Change-Id: Ib6f4507ef363954c91271029874337497659da84
Signed-off-by: Jack Pham <jackp@codeaurora.org>
2017-01-18 10:26:38 -08:00
Vikram Mulukutla
e7dd50fa46 sched: hmp: Remove the global sysctl_sched_enable_colocation tunable
Colocation in HMP includes a tunable that turns on or off the feature
globally across all colocation groups. Supporting this tunable correctly
would result in complexity that would outweigh any foreseeable benefits.
For example, disabling the feature globally would involve deleting all
colocation groups one by one while ensuring no placement decisions are
made during the process.

Remove the tunable. Adding or removing a task from a colocation group is
still possible and so we're not losing functionality.

Change-Id: I4cb8bcdbee98d3bdd168baacbac345eca9ea8879
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2017-01-18 09:45:44 -08:00
Vikram Mulukutla
2768f0352b sched: hmp: Ensure that best_cluster() never returns NULL
There are certain conditions under which group_will_fit() may return 0 for
all clusters in the system, especially under changing thermal conditions.
This may result in crashes such as this one:

        CPU 0                    |               CPU 1
====================================================================
select_best_cpu()                |
 -> env.rtg = rtgA               |
    rtgA.pref_cluster=C_big      |
                                 |   set_pref_cluster() for rtgA
                                 |     -> best_cluster()
                                 |        C_little doesn't fit
                                 |
                                 |   IRQ: thermal mitigation
                                 |   C_big capacity now less
                                 |   than C_little capacity
                                 |
                                 |     -> best_cluster() continues
                                 |        C_big doesn't fit
                                 |   set_pref_cluster() sets
                                 |   rtgA.pref_cluster = NULL
                                 |
select_least_power_cluster()     |
  -> cluster_first_cpu()         |
     -> BUG()                    |

To add lock protection around accesses to the group's preferred cluster
would be expensive and defeat the point of the usage of RCU to protect
access to the related_thread_group structure. Therefore, ensure that
best_cluster() can never return NULL. In the worst case, we'll select the
wrong cluster for a related_thread_group's demand, but this should be
fixed in the next tick or wakeup etc. Locking would have still led to the
momentary wrong decision with the additional expense!

Also, don't set preferred cluster to NULL when colocation is disabled.

Change-Id: Id3f514b149add9b3ed33d104fa6a9bd57bec27e2
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2017-01-18 09:45:40 -08:00
Phani Kumar Uppalapati
f42b8d1625 ASoC: wcd934x: Add support for USB Type-C analog audio
Add playback and capture support when an analog wired
accessory is inserted into USB Type-C receptacle through
an USB type-c to 3.5mm analog audio adapter.

CRs-Fixed: 1102048
Change-Id: I36126ecdb0d2683d27d78dea9256bee0be67c1a6
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2017-01-18 09:39:24 -08:00
Utkarsh Saxena
43184bf1fe ARM: dts: msm: Enable wifi offload for SDM660 and SDM630
SDM660 and SDM630 support wifi offload. So, enable it.

Change-Id: I82a509b8f8b07b0537f050a62c4b605ac6806837
Acked-by: Mohammed Javid <mjavid@qti.qualcomm.com>
Signed-off-by: Utkarsh Saxena <usaxena@codeaurora.org>
2017-01-18 20:23:27 +05:30
Yahui Wang
d83e1aef94 ARM: dts: msm: move display panel settings for sdm660 QRD
We need to move panel settings from sdm660-qrd.dtsi to
sdm660-qrd.dts to separate LCD & AMOLED panel as they use
sdm660-qrd.dtsi for some common settings for sdm660 QRD.

Change-Id: I447f70c4953e5ba0ee30bb76fa08a5f640360d9c
Signed-off-by: Yahui Wang <yahuiw@codeaurora.org>
2017-01-18 06:36:09 -08:00
Dhoat Harpal
1618176475 soc: qcom: glink_spi_xprt: Fix compilation error for 32 bit
Conversion of a 64 bit int variable to void pointer is illegal
operation when compiling for 32 bit architecture.

Added explicit conversion to uintprt_t, so that 32 bit conversion
can be done.

CRs-Fixed: 1107920
Change-Id: I3854fcb460308c9a77a17198dcb604dd4da135ac
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
2017-01-18 19:42:20 +05:30
Venkatesh Yadav Abbarapu
59e30f3f02 defconfig: msm: Enable MSM_TIMER_LEAP for sdm660
Enable MSM_TIMER_LEAP config flag in both sdm660_defconfig
and sdm660-perf_defconfig files. This option enables check
for architecture timer leaps, when all least significant 32bits
of CNTVCT or CNTPCT counter is set and rereads counters.

Change-Id: I643fad053b560e689c9ffd00e1f02790435a9e8c
Signed-off-by: Venkatesh Yadav Abbarapu <vabbar@codeaurora.org>
2017-01-18 19:09:28 +05:30
Linux Build Service Account
ebc5196e3e Merge "clk: qcom: Add support for GPLL0 active clock for CPU" 2017-01-18 05:31:24 -08:00
Linux Build Service Account
585e9f4457 Merge "clk: qcom: Add support for multiple PLL software instances" 2017-01-18 05:31:23 -08:00