Commit graph

578210 commits

Author SHA1 Message Date
Harry Yang
73337d532d qcom-charger: Change usb_icl votable for PD vote
Currently there is an issue introduced by forcing the results of
the icl_votable while pd is active. icl_votable is a min voter
and since the DEFAULT_VOTER votes 1.5Amps that becomes the max
one could draw when pd is active. This is incorrect and hence the
issue.

Note that DEFAULT_VOTER is only needed while DCP is present.

So, to fix it, rename DEFAULT_VOTER to DCP_VOTER and make DCP_VOTER
unvote and vote when pd_active is set and unset respectively.

CRs-Fixed: 1091477
Change-Id: I7435f05f20e12a7704ae5d9597b5cdc9b5a61d00
Signed-off-by: Harry Yang <harryy@codeaurora.org>
2016-11-17 13:28:58 -08:00
Amar Singhal
1a8e292bce msm: wlan: update regulatory database
Incorporate the 2016-10-31 updates to the internal regulatory
database. Update countries Bahrain, Belize, Chile, Egypt, Honduras,
India, S Korea, Nepal, Panama, Russia, Senegal, TT and UAE. Also
update St. Kitts&Navis and St. Lucia dfs region.

Change-Id: Ia151b2dd5229f07790ac961af298305b24e098fb
CRs-Fixed: 1091511
Signed-off-by: Amar Singhal <asinghal@codeaurora.org>
2016-11-17 12:19:51 -08:00
Mohamed Moussa
0eed236e78 ARM: dts: msm: Add DT for mediabox variant of apqcobalt
Device tree creation of new mediabox variant of
apqcobalt.

CRs-Fixed: 1091110
Change-Id: I4f8070e7fd0aa39664208cfab2448b5a95ab2326
Signed-off-by: Mohamed Moussa <mmouss@codeaurora.org>
Signed-off-by: David Ng <dave@codeaurora.org>
2016-11-17 10:52:52 -08:00
Linux Build Service Account
d52c401860 Merge "leds: qpnp-wled: Add support to configure AUTO_GM settings" 2016-11-17 10:08:45 -08:00
Linux Build Service Account
a2f4ac784a Merge "tcp: take care of truncations done by sk_filter()" 2016-11-17 10:08:44 -08:00
Linux Build Service Account
5b00a91adb Merge "scsi: ufs: handle LINERESET during hibern8" 2016-11-17 10:08:43 -08:00
Linux Build Service Account
a1008bfb76 Merge "scsi: ufs-qcom: update clock scaling sequence" 2016-11-17 10:08:42 -08:00
Linux Build Service Account
64f717aeaa Merge "ARM: dts: msm: ensure contiguous MSI for PCIe on msmcobalt" 2016-11-17 10:08:41 -08:00
Linux Build Service Account
b953b336af Merge "driver: thermal: msm_thermal: Enable Reliability algorithm" 2016-11-17 10:08:40 -08:00
Linux Build Service Account
3c8d77bac1 Merge "leds: qpnp-flash: Fix the mask in the flash prepare API" 2016-11-17 10:08:40 -08:00
Linux Build Service Account
37d58e6c59 Merge "leds: qpnp-flash-v2: change from dev_*() to pr_*() for logging" 2016-11-17 10:08:38 -08:00
Linux Build Service Account
a1716776fd Merge "leds: qpnp-flash-v2: Add support for configuring OTST thresholds" 2016-11-17 10:08:38 -08:00
Linux Build Service Account
f645e3ce31 Merge "leds: qpnp-flash-v2: Add support for thermal derate features" 2016-11-17 10:08:37 -08:00
Linux Build Service Account
a58828453e Merge "msm: kgsl: preserve ISENSE registers across GPU power collapse" 2016-11-17 10:08:36 -08:00
Linux Build Service Account
f01a84f38a Merge "scsi: ufs: error out all issued requests after shutdown" 2016-11-17 10:08:33 -08:00
Dhoat Harpal
3c251aca90 soc: qcom: smem: Redesign smem memory architecture
Smem uses static array to store legacy partition information.
New comm partition is used to replace existing legacy partition.

CRs-Fixed: 1074985
Change-Id: Ib2268181a617c23d62b5b6f857be5327113b2a67
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
2016-11-17 18:12:58 +05:30
Fenglin Wu
877c99e11d ARM: dts: msm: Enable auto GM for WLED in pmicobalt
Enable auto GM for WLED module in pmicobalt to make LOOP_GM adaptively
changes with brightness change.

CRs-Fixed: 1081738
Change-Id: I10a788726358c56df9bfe11f2332e3823d7cd332
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
2016-11-17 03:43:49 -08:00
Fenglin Wu
596b431a5f leds: qpnp-wled: Add support to configure auto PFM for pmicobalt
The WLED boost controller in pmicobalt supports auto PFM mode when
LCD mode is selected. Auto PFM mode is enabled by default except
on some specific hardware versions. Add a property to specify
AUTO_PFM_THRESHOLD for the boost controller so that it can enter
PFM mode when the adaptive headroom voltage falls below the
threshold.

CRs-Fixed: 1081738
Change-Id: I964b3452d0cdb3618b4ab446655ae75fa3a1049d
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
2016-11-17 19:38:14 +08:00
Linux Build Service Account
4b1c2e228c Merge "leds: qpnp-wled: Add support to configure VREF_CONTROL for pmicobalt" 2016-11-17 02:22:35 -08:00
Linux Build Service Account
15c0f0e20c Merge "msm: cpp: Use the src clock node to read the cpp src clock rate" 2016-11-17 02:22:34 -08:00
Linux Build Service Account
f60b2ad20f Merge "ARM: dts: msm: Add cpp src clock rates configuration for msmcobalt" 2016-11-17 02:22:33 -08:00
Ashish Jain
e74d3aa94a ASoC: msm: Update supported sample rates for USB Backend
Add entries for 88.2kHZ, 176.4kHz and 352.8kHz to supported
sample list for USB backend.

Change-Id: I96406588062da4997851eff8524c53699f1063eb
Signed-off-by: Ashish Jain <ashishj@codeaurora.org>
2016-11-17 02:21:26 -08:00
Padmanabhan Komanduru
316ea48ad6 Revert "defconfig: msm: avoid compilation of MDSS DP driver for 32-bit msmfalcon"
This reverts 'commit d3c76b29e6 ("defconfig: msm: avoid compilation
of MDSS DP driver for 32-bit msmfalcon")'. The compilation of MDSS DP
driver was disabled for 32-bit msmfalcon earlier to avoid compilation
issues. The related issues are now resolved. Hence, enable back the
compilation of DP driver.

Change-Id: I9f928f0aad6af346de43965755beb039e422047a
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
2016-11-17 13:57:01 +05:30
Laxminath Kasam
f88f90a547 ASoC: msm: Fix sound card registration failure
In external codec machine driver, register
SSR notifier after sound card register. Also,
add separate snd_soc_card variables for tavil
and tasha since same machine driver is used
for both codecs.

CRs-Fixed: 1083537
Change-Id: I73fc02b812f2e6694e2a6aa8bdad2381a5f19406
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2016-11-17 11:23:15 +05:30
Laxminath Kasam
1b29a217c2 ASoC: msm: Add support for USB/WCN/TDM Audio
Add required machine driver support for
USB Audio, BT, FM, TDM interfaces both
for internal and external codecs.

CRs-Fixed: 1083537
Change-Id: I3d2765535793d6ef9153cfcab4b44a9adad67e15
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2016-11-17 11:20:40 +05:30
Vijayavardhan Vennapusa
ce5504db5e ARM: dts: msm: Set USB core clock rate for USB2/USB3 for msm8996
Set required USB core clock rate for USB3 working across connect/
disconnect for msm8996. Else USB enumeration fails after reconnection
due to this invalid clock rate setting for USB core clock. Also
set USB core clock rate for USB2 controller as well.

Change-Id: I6ce48512df5973bf8a2a3081a3a6f8759aeb499f
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
2016-11-17 11:05:55 +05:30
Venkatesh Yadav Abbarapu
bc98f9fc6d ARM: dts: msm: Update the console uart gpios for msmfalcon
Updating the debug uart BLSP1UART2 gpios as per the latest
hardware definitions.

Change-Id: I9cda84d1c199b72ce8b9e2997601bcc7430ddbf3
Signed-off-by: Venkatesh Yadav Abbarapu <vabbar@codeaurora.org>
2016-11-17 10:25:59 +05:30
Venkatesh Yadav Abbarapu
640d5e9d1d pinctrl: qcom: msmfalcon: Update gpios as per latest gpio map
UART and SPI gpios are changed as per latest hardware definitions,
so updating them.

Change-Id: I0e06be169edc2eb1d35ef7fc6c41ff1809aebd03
Signed-off-by: Venkatesh Yadav Abbarapu <vabbar@codeaurora.org>
2016-11-17 10:20:54 +05:30
Venkatesh Yadav Abbarapu
e1fa9af20b ARM: dts: msm: Add gladiator support on msmfalcon and msmtriton
Enable the support for gladiator error reporting. Also enable
the gladiator hang detect feature.

Change-Id: I7220ad565212c325514301e4c59415b807deb99a
Signed-off-by: Venkatesh Yadav Abbarapu <vabbar@codeaurora.org>
2016-11-17 10:07:52 +05:30
Linux Build Service Account
e53bd26687 Promotion of kernel.lnx.4.4-161116.
CRs      Change ID                                   Subject
--------------------------------------------------------------------------------------------------------------
1077493   I32fff5344329fe8c266f6a80c950eabca9c2d4cb   ARM: dts: msm: enable RPM regulator device node for MSMF
1089743   I2715197a2b5cbe41da5b1983ff3066fa5d42c483   Revert "clk: msm: clock-gpu-cobalt: Update the graphics
1022275   I208c8c83a8f5ee8efadf01175f60d70fb4bf48cf   msm: pcie: support configurable wr halt size for PCIe
1086284   I1cca3f4cef34abd36b095b7ee0f32333c88fb939   msm: vidc: Allocate raw packet memory one time
1088970   I231f518b701a988ab4a4f475e7e3c6f17d58187b   Revert "ARM: dts: msm: disable L1 and L1ss for PCIe on m
1087935   I12873a92ed0b7157032c25946cce27349f2c2a1f   msm: vidc: Avoid unnecessary buffer requirements call
1088552   Iab64336f8efde2778c16156c6bfcf566c4c892d3   drivers: soc: increase glink tx buffer count
1083289   I2dde6542a31fb7b2f0d4c7a3d599c1f78999e4fe   ARM: dts: msm: Set max secure sessions to 6 for msmcobal
1089704   I1e5400eb64b6b61076617b5b26fc750c6e8d0270   qpnp-smb2: allow parallel charging during supplemental m
1079913   Ie9ed65d421df57c9bfa4db8e44d358da3b0cdc36   qcom-charger: WA for typec cc2 sink removal with rdstd
1072067   I62c51c23a47f26b221dccef6f83c03aef9f095a7   ASoC: compress: Fix compress capture stream handling
1048195   Ifebf5cbe46e24ae019829db388550d47fd4a5ff4   usb: gadget: f_mtp: Increase default TX buffer size
1082914   Ie66b3a8ca2ca418a4a52f65987266b8d580c121f   msm: kgsl: Fix overflow in sharedmem cache range operati
1083310   I9d0b31021e7c47084cd92c8c70e17cff3d057655   usb: host: skip xHCI power management upon port suspend
1060978   Ibf6463467f28221470619b4f43ece062d41ae6b8   defconfig: msm: update mmap randomness for all targets
1088681   Id31b58e231d3dcd7d32e0dc7f264595d60a7c408   sched: core: Skip migrating tasks that aren't enqueued o
1088681   I94359afa433ad57dd5bfeae3cb78a1f196cd02fe   core_ctl: Export boost function
1089954   I0718cd7d76669fb8743a59a322ac2a5eaa7c45f6   ARM: dts: msm:  Enable the haptics in QRD SKUK and vr1
1087718   I372e9e38a567e0cf83a226f29510fdf570decd43   ARM: dts: msm: Add slimbus instance entries for msmfalco
1089941   Iefcb4a4b595ef0778e983a1902a5897cf292705f   pinctrl: qcom: msmfalcon: Split function groups based on
1089847   I0516cc67a1343150f3d1f838b9d9b329e8e1e498   qcom-cpufreq: skip frequencies that round to same rate
1089455   I5842c32fbfcd62692a3585f23bfcb0d9c4b5f6c5   ARM: dts: msm: add PMFALCON/PM2FALCON devices for msmcob
1072607   I774ffb1e55971ec8097994d1cfe664db5902a8ce   ARM: dts: msm: Support only dummy clocks for falcon/trit
1089372   I817859817eeb76c565d1604fcb1cc11b0df2dd30   ARM: dts: msm: Change GPU clock plan for msmcobalt inter
1089843   Ida2c99d7fd56b5b277653c42808f08f4f23ed790   ARM: dts: msm: add new mapping table for memlat
1087474   I9e6022ab996861d3d78721aadea9e6116ded4e0f   msm: ipa3: retry on IPA_HW_CONS_DISABLE_CMD_GSI_STOP_FAI
1089484   I5b0faa6e021f2463635e13625072e159ba558907   msm: ipa: Address overlap fix
1086278   I3366b70c7e5bfa2a240aa24f1e0c70b54d686721   mdss: display-port: fix link rate calculation
1088060   Ia29c08702db44538fcb467fc38d3933be9df26d7   qpnp-smb2: increase VCONN softstart
1088684   I3510952832f958b3b9d9d0a3e7237df34328ec30   ARM: dts: msm: correct subtype of MSMCOBALT V2 QRD SKUK
1089624   I614aeadf022e01f17660791c0037ceb9f73456a3   msm: mdss: fix logic to enable secure display/camera
1086571   Id0a74bc74e5ef1fc08af63ace50ab4774820597c   ARM: dts: msm: update the battery data for cobalt
1089001   I9e95c5d2130f1d371e201eac69dec140cc773b1f   iommu/arm-smmu: support mapping before enabling S1 trans
1079913   I284ca8f2221f596432d67117d89e7d501d2bd9a8   qcom-charger: WA for cc2 removal with medium and high rd
1088054   I09b5d4cd219b0a53559176525d9b501e5a6dc0c9   iio: adc: qcom-tadc: cast raw ADC readings before conver
1084210   I9556f18dd6a9fdf3f76c133ae75c04ecce171f08   ASoC: soc: prevent risk of buffer overflow
1075249   I8f66ab9375fd42573a895d5d872a3d2e1782adee   msm: pcie: remove PCIe PHY and PARF dump in linkdown
1088054   I431dcc766df94adb7ee85d4cb32d9181a74d871a   ARM: dts: msm: update TADC ibatt scale for MSMCOBALT
1089698   Idace48373333dc3ab36aa10e0d90098a68af315d   smb-lib: remove cached vbus present status
1086324   Ie4ac72e460643606f718d5809e65cda70932fb84   msm: mdss: Avoid accessing pipe out of the boundaries
1082285   I4e6853022b558069304cde4cff7bc1445fd66213   msm: vidc: Allow clients to suggest I-frame sizes
1060212   I23bf67fba7cef2735db436899a9d5b3306e5a77f   leds: qpnp-flash-v2: Add support for programming led cla
1089692   I08987a383edff181e8e4867d8d795dae58ecf084   smb-lib: use plugin real time status for USB present pro
1088590   I4c5f0a1c142f7d698c092cf7bcafdb0f9fbaa9c1   nf: IDLETIMER: Fix use after free condition during work
1083246   I8eb5f305f89bc18ad4b735bd89cbf259f0e1ea11   leds: qpnp-flash-v2: modify regulator control for switch
1078264   Ie83e71eafff5c49c81f56f92aa719662814997ed   leds: qpnp-flash-v2: Add sysfs support to query max_curr
1075870   Ib31e5aca648c0f442afe4cbe576ad79786fe6427   soc: qcom: secure_buffer: Fix an uninitialized variable
1086284   I768ef6c941c791af5a45d846fa81d810b831efa5   msm: vidc: increase timeout value for hw response and po
1086278   Ib6a0ee570fe2d5a1d43296e792a354ca25b1d82c   clk: msm: mdss: fix divider configuration for 5.4 Ghz li
1085928   I3d33ed922b979652c64027e6f1c6f0a8ed4850a3   ASoC: msm: q6dspv2: use correct variable type to store I
993820   Icd5b504c35683e94383d2cefd186f66000478e82   iommu/arm-smmu: Fix uninitialized use of variable error
1089945   I4949954c7b546030a4a94c74bb68c2eb4f6d4718   pinctrl: qcom: Add all the gpios to pingroups for msmfal
1086571   Id89f54f58bb2d5f7294c0244ab0ba39e90b5ecac   ARM: dts: msm: Add battery profile for FG in QRD SKUK an
1088375   Ifffab071efed56541e763e4f6f51aa45d7a6678b   soc: qcom: glink: Fix incorrect call to deinit function
1085733   I066804e9f8bc527d58dd5199664a5756a0f3d298   ARM: dts: msm: Remove min svs level for A540 in msmcobal
1079523   Ief14bb96bfdc1998b7b9423755daae8d93964672   ARM: dts: msm: Enable memory allocation for diag on trit
1083045   I6f8abe55f3d99d2ff46e4bb2a8cd11a067be7508   msm: kgsl: Fix pt NULL pointer dereference
1089862   Ia7e33fae35b3c5083ff5834344c21d6c8288b53d   msm: pcie: support QGIC MSI for multiple clients
1089702   Iaa5f221d530721f7ff4a413a609192baf98ff359   qpnp-smb2: clear the ICL override during probe
1087108   Id3542f6649209929d83e5a2d6230f1d3d7dfa776   clk: qcom: Remove initial configuration from PLL enable
1084375   I6d04b6343713a91d97ff18631141772f92f4ed00   ASoC: wcd9335: Add 24bit record support
1088327   I28be6557fa97d65ec9add1d31c854576e21b47e1   ARM: dts: msm: Add rpm-smd node for msmtriton
1081084   I481abdd54ce1e75bdebf908a61d6b484b377f55a   ARM: dts: msm: update APC0/APC1/GFX aging allowed revisi
1000104   I53c24deb1cfbd7fea1b2a598ed58c6352c5ff9a2   qpnp-fg-gen3: add support to show time to full and empty
1088104   I251ed7938c29e08954d4c81d3041cb235a39d266   net: rmnet_data: Handle buffer bloat for TCP scenarios
1084988   Icd9d5b14e4138e747f9483458da7ddb89f515c03   msm: mdss: fix race condition with overlay off in doze m
1086270   I7f8fb6630314cdc523490e28d90dd3776bdfeada   msm: mdss: avoid removing wrong multirect on validate fa
1088598   Id38e0dd5899fc0ec0d24e19061e458e6f28249e3   msm: vidc: Invalidate cache for input buffers
1089097   Ia13bd8702f337f71dae5d612f6efe55ee8c2a317   iio: rradc: Update RRADC USBIN scaling

Change-Id: Idacc7b3dfc48b03e5cb3dae75b251add46330f41
CRs-Fixed: 1022275, 1088681, 1088104, 1088684, 993820, 1060212, 1083310, 1089455, 1087474, 1089001, 1088054, 1000104, 1079523, 1085928, 1087108, 1088552, 1088598, 1088375, 1089954, 1083289, 1083045, 1089692, 1086270, 1088590, 1089698, 1072607, 1086278, 1085733, 1086324, 1088970, 1084988, 1075870, 1089702, 1089704, 1077493, 1048195, 1083246, 1060978, 1089743, 1086284, 1075249, 1078264, 1089484, 1089847, 1081084, 1089372, 1089843, 1089097, 1089624, 1082914, 1084375, 1089945, 1082285, 1089941, 1087935, 1079913, 1088060, 1089862, 1072067, 1084210, 1088327, 1086571, 1087718
2016-11-16 20:03:51 -07:00
Linux Build Service Account
0579bfa116 Merge "icnss: Update WLFW header file to the latest and add fw_build_id" 2016-11-16 18:17:04 -08:00
Linux Build Service Account
4e2587d3f5 Merge "icnss: Collect ramdump from MSA memory space" 2016-11-16 18:17:03 -08:00
Linux Build Service Account
761768049f Merge "msm: sde: Fix SDE rotator context list locking" 2016-11-16 18:17:02 -08:00
Syed Rameez Mustafa
30fc774235 sched/hmp: Enhance co-location and scheduler boost features
The recent introduction of the schedtune cgroup controller has provided
the scheduler with added flexibility in terms of some of it's placement
features. In particular each cgroup under the schedtune controller can
now specify:

1) Whether it needs co-location along with other cgroups
2) Whether it is eligible for scheduler boost (sched_boost_enabled)
3) Whether the kernel can override the boost eligibility when necessary
   (sched_boost_no_override)

The scheduler now creates a reserved co-location group at boot. This
group is used to co-locate all tasks that form part of any one of the
cgroups that have co-location enabled. This reserved group can neither
be destroyed nor reused for other purposes. Furthermore, cgroups are
only allowed to indicate their co-location preference once at boot.
Further updates are disallowed.

Since we are now creating co-location groups for an extended period of
time, there are a few other factors to consider when determining the
preferred cluster for the group. We first exclude any tasks in the
group that have not been observed to be running for a significant
amount of time. Secondly we introduce the notion of group up and down
migrate tunables to allow different migration policies than individual
tasks. Lastly we break co-location if a single task in a group exceeds
up-migrate but the total load of the group does not exceed group
up-migrate.

In terms of sched_boost, the scheduler now supports multiple types of
boost. These are:

1) FULL_THROTTLE : Force up-migrate tasks belonging any cgroup that
                   has the sched_boost_enabled flag turned on. Little
                   CPUs will only be used when big CPUs can no longer
                   accommodate tasks. Also up-migrate all RT tasks.

2) CONSERVATIVE : Override the sched_boost_enabled flag for all cgroups
                  except those that have the sched_boost_no_override
                  flag set. Force up-migrate all tasks belonging to only
                  those cgroups that still remain eligible for boost.
                  RT tasks do not get force up migrated.

3) RESTRAINED : Start frequency aggregation for co-located tasks. This
                type of boost does not force up-migrate any task.

Finally the boost API removes ref-counting. This means that there can
only be a single entity using boost at any given time. If multiple
entities are managing boost, they are required to be well behaved so
that they don't interfere with one another. Even for a single client,
it is not possible to switch directly from one boost type to another.
Boost must be first turned off before switching over to a new type.

Change-Id: I8d224a70cbef162f27078b62b73acaa22670861d
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
2016-11-16 17:57:56 -08:00
Joonwoo Park
fd5b530593 sched: revise boost logic when boost_type is SCHED_BOOST_ON_BIG
At present HMP scheduler boost tends to pack tasks by taking into
account of power cost and cstate.  This is suboptimal to performance
as it can lead preemption and higher latency.

Revise logic to prefer the least loaded CPU among the big cluster CPUs
when boost type is SCHED_BOOST_ON_BIG.  New logic still honor the
behaviour that scheduler can place tasks on the little CPUs when the
big CPUs are all overcommitted.

Also, it's found that need_idle with boost can easily return previous
CPU when there is no idle CPU found.  Fix this issue by making
need_idle flag to take precedence over sched_boost.

CRs-fixed: 1074879
Change-Id: I470bcd0588e038b4a540d337fe6a412f2fa74920
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
2016-11-16 17:57:55 -08:00
Syed Rameez Mustafa
8b74c7eb5f sched: Remove thread group iteration from colocation
Iterating a leader task's thread group in order to add them to a
colocation group involves a complex locking chain that ends up
causing a deadlock. The deadlock is as follows when the same task
is being referenced on three different CPUs:

-----                     ------                      -----
CPU 0                     CPU 1                       CPU 2
-----                     ------                      -----
                          add_task_to_group(p)

__schedule(prev = p)      write_lock(                 ttwu(p)
                          related_thread_grp_lock)
                                                      lock(pi_lock)

idle_balance()                                        wait for
                                                      p->on_cpu
load_balance()            unable to acquire
                          p->pi_lock
send_notification()

wait for read_lock(
related_thread_grp_lock)

unable to set p->on_cpu

There are a couple of ways to resolve this deadlock in the kernel,
however, they are not trivial. For the sake of simplicity, move
the responsibility of thread group iteration back to userspace. This
would apply to both adding and removing the leader task from a
colocation group. The kernel would continue to automatically add
newly forked children of the colocated leader to the colocation
group.

This still leaves an issue with the locking order of the pi_lock and
the related_thread_group_lock. To solve all deadlocks, we need to avoid
taking the pi_lock in reset_all_task_stats() and instead rely on a more
heavy handed approach of taking all rq locks. The pi_lock was taken to
avoid a race between reset_all_task_stats() and sched_exit(). The race
can be avoided with rq locks as well.

Change-Id: I15323e3ef91401142d3841db59c18fd8fee753fd
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
2016-11-16 17:57:35 -08:00
Skylar Chang
76c28263ad msm: ipa3: linearize large skbs
IPA can support scatter-gather of skbs up to the size of the TLV fifo.
In case the skb has to many frags, IPA driver will linearize it.

Change-Id: I2f994ae0250ffc8f740ea633324815ae429c74be
CRs-Fixed: 1088658
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-11-16 17:30:04 -08:00
Hemant Kumar
7b553e1abd USB: Allow skipping device resume during system resume
This allows xHC to remain in low power mode and not
resume the bus when system wide resume happens.
Controller comes out of low power mode only when usb
device issues a remote wakeup or if there is a host
initiated bus resume.

Change-Id: I96cdcb9e3642906b4afa08d9bde07e123d9b3977
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-11-16 10:58:00 -08:00
Zhen Kong
268b994d27 qseecom: improve error checks in qseecom_probe()
Make change in qseecom_probe() to improve the error return value
checks on some subfunctions, and free memory allocated within
qseecom_retrieve_ce_data.

CRs-fixed: 1075082
Change-Id: I971e555ec8d02ccf4382e83132a696b065a8ff12
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
2016-11-16 10:21:28 -08:00
Harsh Sahu
a67bc21cea msm: mdss: hide additional kernel addresses from unprivileged users
Starting commit Ie49eee9478f4657cfb2a994ba60da1ec4c356339
("msm: mdss: hide kernel addresses from unprevileged users"),
display driver removes the %p and uses %pK instead for printing kernel
pointers. This change missed some of the prints in some places.
This change fixes this by modifying the remaining pointer prints.

CRs-Fixed: 987021
Change-Id: I0d1797a4df9ff67f3b162a1b5d26320ca989f54a
Signed-off-by: Harsh Sahu <hsahu@codeaurora.org>
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2016-11-16 09:51:14 -08:00
Osvaldo Banuelos
3cf0edfa25 clk: qcom: Add snapshot of OSM CPU clock driver
This is a snapshot of the OSM clock driver as of msm-4.4
'commit 38833d6621 ("clk: msm: clock-osm: Request Nominal Fmax frequency
after OSM enable")'

Fix warnings for of_device_id and return from void function.

Change-Id: I242158975f212426268fd6eaf45378826d56d094
Signed-off-by: Taniya Das <tdas@codeaurora.org>
2016-11-16 22:23:39 +05:30
Ray Zhang
c006d555a1 msm: mdss: refine the calculation of tmds clock rate
TMDS clock rate should be concerned in case of deep color
and scrambler. In deep color case TMDS clock should be
increased in order to transmit more bits, so this clock
rate should be checked against the maximum clock rate
allowed by sink. In scrambler case correct pixel clock
should be computed depending on video format and deep
color.

CRs-Fixed: 1086894
Change-Id: I78770eea7fdd57f12d92ff40ed8043987e742024
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
2016-11-16 18:56:17 +08:00
Ray Zhang
906ef866d0 msm: mdss: update vic info when powering on HDMI
HDMI vic info should be updated as well when powering on
HDMI TX, otherwise the obsolete vic info is set to hardware.

CRs-Fixed: 1086894
Change-Id: Ia3ea67cc7658098928a442460198b2dccc8ff8e1
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
2016-11-16 18:55:51 +08:00
Linux Build Service Account
61f26e3aa5 Merge "soc: qcom: secure_buffer: Fix an uninitialized variable" 2016-11-15 23:39:31 -08:00
Linux Build Service Account
123738ad00 Merge "defconfig: msm: update mmap randomness for all targets" 2016-11-15 23:39:30 -08:00
Linux Build Service Account
ef0a4e083c Merge "iommu/arm-smmu: Fix uninitialized use of variable error" 2016-11-15 23:39:30 -08:00
Linux Build Service Account
4d8f3d0afa Merge "ARM: dts: msm: Enable the haptics in QRD SKUK and vr1" 2016-11-15 23:39:29 -08:00
Linux Build Service Account
af9ecbbe5e Merge "ARM: dts: msm: enable RPM regulator device node for MSMFALCON" 2016-11-15 23:39:28 -08:00
Deepak Kushwah
12f1d93f05 msm: vidc: parse 10-bit bus entries for msmfalcon
MSM falcon supports 10-bit decode. This commit will
parse 10-bit entries from dtsi and will use
corresponding bus table based on session type.

Change-Id: I7e3655be5c3ea0800499cf24c05899f3d518bbd6
Signed-off-by: Deepak Kushwah <dkushwah@codeaurora.org>
CRs-Fixed: 1087798
2016-11-15 22:28:05 -08:00
Mukesh Kumar Savaliya
e75b50d38f ARM: dts: msm: specify I2C configuration for msmfalcon
Initial support for all BLSP I2Cs with default configuration
and disabled state such that clients can overwrite and enable
respective I2C instance as per need.

Change-Id: If08ff46e72d537254e90707f28c849a86f262853
Signed-off-by: Mukesh Kumar Savaliya <msavaliy@codeaurora.org>
2016-11-16 11:32:19 +05:30