OSDN Git Service

sagit-ice-cold/kernel_xiaomi_msm8998.git
8 years agoiommu: Add tlbi_domain op
Mitchel Humpherys [Thu, 3 Dec 2015 19:17:23 +0000 (11:17 -0800)]
iommu: Add tlbi_domain op

Some higher-level DMA mappers might be able to squeeze out more
performance if TLB invalidation can be delegated to them, since they
might have more knowledge about when a stale TLB is problem than the
IOMMU driver.  Add a callback for this purpose that can be implemented
by individual IOMMU drivers.

CRs-Fixed: 997751
Change-Id: If817f5514fdd5d24b9c592440760b81b88ec71a8
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
8 years agoiommu/iommu-debug: Add file for profiling fast mapper
Mitchel Humpherys [Mon, 5 Oct 2015 21:44:58 +0000 (14:44 -0700)]
iommu/iommu-debug: Add file for profiling fast mapper

We'd like to understand the performance of the fast page table mapper,
which only supports 4K page sizes.  Add a debugfs file to profile the
new mapper.

CRs-Fixed: 997751
Change-Id: I5adc3c3ecd432552386b600b9e66e3db42e73138
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
8 years agoiommu/arm-smmu: Wire up io-pgtable-fast for domains that request it
Mitchel Humpherys [Wed, 7 Oct 2015 21:03:50 +0000 (14:03 -0700)]
iommu/arm-smmu: Wire up io-pgtable-fast for domains that request it

An io-pgtable implementation for fast 4K mappings was recently added,
and we've now implemented all of the domain attributes necessary to use
it.  Wire it up.

CRs-Fixed: 997751
Change-Id: I9ddd2dd2cad91ac3d3ccce7c0cd0abb37cd57075
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
8 years agoiommu: Add DOMAIN_ATTR_FAST for requesting a fast domain
Mitchel Humpherys [Fri, 12 Feb 2016 21:53:20 +0000 (13:53 -0800)]
iommu: Add DOMAIN_ATTR_FAST for requesting a fast domain

Some IOMMU drivers offer "fast" page table management routines for
special cases.  There is often a trade-off with memory, etc. with these
so make their usage explicit with a domain attribute.

CRs-Fixed: 997751
Change-Id: Ia9f8ad6d924b294b6758970da2e9767f183b5649
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
8 years agodefconfig: msm: Enable the "fast" IOMMU page table mapper
Mitchel Humpherys [Wed, 30 Sep 2015 22:24:32 +0000 (15:24 -0700)]
defconfig: msm: Enable the "fast" IOMMU page table mapper

It's fast for use cases that require super fast IOMMU mappings (in
exchange for memory).  Enable it.

CRs-Fixed: 997751
Change-Id: I016937309ac8e16775d13e63b630bb98469c9fca
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
8 years agoiommu/io-pgtable: Add fast page table mapper for ARMv8L
Mitchel Humpherys [Wed, 30 Sep 2015 21:23:58 +0000 (14:23 -0700)]
iommu/io-pgtable: Add fast page table mapper for ARMv8L

Certain use cases require performance that can't be achieved with the
general-purpose SMMU page table code.  By limiting ourselves to 4K page
mappings (no block mappings) and pre-populating the first and second
levels of the page tables up front, we can eliminate a lot of the work
needed for page table mapping and unmapping.

Add a performance-tuned io-pgtable implementation for ARMv8L page tables
that only supports 4K page mappings.  Any size can be mapped, but only
4K page mappings will be installed in the page tables.

CRs-Fixed: 997751
Change-Id: I5861270709675016988052360d196e0a16a0d103
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
8 years agoiommu/arm-smmu: Implement .get_pgsize_bitmap for domain
Mitchel Humpherys [Tue, 22 Mar 2016 17:57:24 +0000 (10:57 -0700)]
iommu/arm-smmu: Implement .get_pgsize_bitmap for domain

Currently we restrict the pgsize_bitmap for the entire SMMU every time
we allocate some new page tables.  However, certain io-pgtable
implementations might wish to restrict the formats beyond the
restrictions of the SMMU itself, which forces all domains on that SMMU
to the same pgsize_bitmap, even if the other domains would prefer to use
a more permissive page table format.  Besides that, some SMMUs in the
system might have different supported page sizes at the hardware level,
so applying those to everyone else is wrong.

Fix these issues by implementing the new .get_pgsize_bitmap IOMMU op.

CRs-Fixed: 997751
Change-Id: I9a73a31ee63a054cc44c50a21f7a616efd4af964
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
8 years agoiommu: Support dynamic pgsize_bitmap
Mitchel Humpherys [Tue, 5 Apr 2016 20:21:53 +0000 (13:21 -0700)]
iommu: Support dynamic pgsize_bitmap

Currently we use a single pgsize_bitmap per IOMMU driver.  However, some
IOMMU drivers might service different IOMMUs with different supported
page sizes.  Some drivers might also want to restrict page sizes for
different use cases.  Support these use cases by adding a
.get_pgsize_bitmap function to the iommu_ops which can optionally be
used by the driver to return a domain-specific pgsize_bitmap.

CRs-Fixed: 997751
Change-Id: I46d70733be647599e148fe52258a4d8f009ac48a
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
8 years agomsm: gsi: fix for clearing IEOB interrupt
Skylar Chang [Wed, 11 May 2016 21:36:58 +0000 (14:36 -0700)]
msm: gsi: fix for clearing IEOB interrupt

Clear IEOB interrupt only for channels that have
IEOB interrupt enabled. This is needed to make sure IEOB interrupt
is not missed after switching from polling to interrupt.

CRs-Fixed: 1014388
Change-Id: Ia6484ed03d9508b827f8c7e4dadb84c14e306bd9
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
8 years agodefconfig: arm64: msm: Add defconfigs needed for data calls
Subash Abhinov Kasiviswanathan [Thu, 19 May 2016 20:16:50 +0000 (14:16 -0600)]
defconfig: arm64: msm: Add defconfigs needed for data calls

Add the DUMMY network interface and the crypto ECHAINIV module
needed for tunneling in advanced data call scenarios.

ECHAINIV is the default algorithm for CBC which is needed for
setting up a tunnel using XFRM state. Dummy network device is used
to route the IPv6 tunneled traffic when there is no IPv6 route
present on a wireless device. The default route in the dummy
interface routing table will route egress packets.

CRs-Fixed: 1017216
Change-Id: I8638814f7e06b0e63638c5acd268663d6a627718
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
8 years ago[media] v4l: Add qcom video color formats
Arun Menon [Sat, 14 May 2016 01:14:20 +0000 (18:14 -0700)]
[media] v4l: Add qcom video color formats

Update v4l_fill_fmtdesc() with qcom specific video
color formats to prevent it from throwing up
a warning stacktrace and flooding the logs.

CRs-Fixed: 1018787
Change-Id: Ia140bfb2fcd699937cd845c4489458e5fefb5150
Signed-off-by: Arun Menon <avmenon@codeaurora.org>
8 years agoclk: msm: clock-osm: register cycle counter callbacks with scheduler
Osvaldo Banuelos [Thu, 10 Mar 2016 22:03:32 +0000 (14:03 -0800)]
clk: msm: clock-osm: register cycle counter callbacks with scheduler

Implement clk_osm_get_cpu_cycle_counter() which returns the
running cycle counter value. Register these two functions with
a scheduler-provided callback to allow the scheduler to estimate
CPU frequency without notification. Lastly, setup the cycle
counter to be increased on every rising edge of the XO clock
for improved accuracy.

Change-Id: Ie0f60ca79efc05901a88da13f7a6476f390518a5
CRs-Fixed: 988356
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
8 years agosched: simplify CPU frequency estimation and cycle counter API
Joonwoo Park [Wed, 18 May 2016 03:04:54 +0000 (20:04 -0700)]
sched: simplify CPU frequency estimation and cycle counter API

Most of CPUs increase cycle counter by one every cycle which makes
frequency = cycles / time_delta is correct.  Therefore it's reasonable
to get rid of current cpu_cycle_max_scale_factor and ask cycle counter
read callback function to return scaled counter value when it's needed
in such a case that cycle counter doesn't increase every cycle.

Thus multiply NSEC_PER_SEC / HZ_PER_KHZ to CPU cycle counter delta
as we calculate frequency in khz and remove cpu_cycle_max_scale_factor.
This allows us to simplify frequency estimation and cycle counter API.

Change-Id: Ie7a628d4bc77c9b6c769f6099ce8d75740262a14
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
8 years agodefconfig: Enable DDR bus scaling governor
Rohit Gupta [Wed, 11 May 2016 20:27:23 +0000 (13:27 -0700)]
defconfig: Enable DDR bus scaling governor

Enable bimc_bwmon device and the associated bw_hwmon governor
to scale DDR frequency as per the bandwidth between CPU and DDR.

Change-Id: I4efa37b8bb84ab62e82086b622896173b7d2fc7d
Signed-off-by: Rohit Gupta <rohgup@codeaurora.org>
8 years agoPM / devfreq: Change the 'MSM' in devfreq device names to 'QCOM'
Rohit Gupta [Wed, 11 May 2016 17:36:52 +0000 (10:36 -0700)]
PM / devfreq: Change the 'MSM' in devfreq device names to 'QCOM'

Substitute 'MSM' in the devfreq device/config names to 'QCOM' to
comply with the current standards.

Change-Id: I156ba6e2b5f8e06a28540ca5def5b178c3604512
Signed-off-by: Rohit Gupta <rohgup@codeaurora.org>
8 years agoARM: dts: Add BIMC bandwidth monitor node for msmcobalt
Rohit Gupta [Tue, 17 May 2016 00:34:11 +0000 (17:34 -0700)]
ARM: dts: Add BIMC bandwidth monitor node for msmcobalt

Add cpu-bwmon device that monitors the traffic between CPU and
DDR and raises an interrupt when the byte count crosses a
threshold.

Change-Id: Ib9b508591d28d22e7d5aa8f33d8d829d3378ccea
Signed-off-by: Rohit Gupta <rohgup@codeaurora.org>
8 years agomsm: mdss: Add newly supported writeback formats to MDP driver
Benet Clark [Fri, 1 Apr 2016 17:45:46 +0000 (10:45 -0700)]
msm: mdss: Add newly supported writeback formats to MDP driver

Writeback display now supports more MDP formats. This change adds
the definitions for those formats.

CRs-Fixed: 978785
Change-Id: I72fc29a8d7b286b0766c0483ba69d6e02d29b661
Signed-off-by: Benet Clark <benetc@codeaurora.org>
8 years agomsm: sde: Correct resource release upon rotator exit
Alan Kwong [Fri, 13 May 2016 13:42:55 +0000 (09:42 -0400)]
msm: sde: Correct resource release upon rotator exit

This patch turns off clock and bus control as well releases other
software resources upon driver exit.  This patch
corrects crash due to resource leakage.

CRs-Fixed: 1018309
Change-Id: Ie0c6639fff9b829a58e12037f88c6508864b60a0
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
8 years agomsm: sde: Enable rotator r3 driver to support r3 minor versions
Alan Kwong [Wed, 18 May 2016 23:21:57 +0000 (19:21 -0400)]
msm: sde: Enable rotator r3 driver to support r3 minor versions

Enable rotator driver to use r3 driver for r3 minor versions.

CRs-Fixed: 1018722
Change-Id: Ida9a93db8459d065ab7850de506e5b9124f6fdd4
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
8 years agodefconfig: msm: enable HBTP input drivers for cobalt
Alex Sarraf [Thu, 5 May 2016 18:14:40 +0000 (11:14 -0700)]
defconfig: msm: enable HBTP input drivers for cobalt

Enable HBTP drivers for cobalt.

Change-Id: Ifddcce1ff9cdbb35dc5645d0ed85963c18dec54e
Signed-off-by: Alex Sarraf <asarraf@codeaurora.org>
8 years agoswr-wcd-ctrl: Ensure soundwire banks are always in sync
Phani Kumar Uppalapati [Sat, 30 Apr 2016 19:16:00 +0000 (12:16 -0700)]
swr-wcd-ctrl: Ensure soundwire banks are always in sync

Copy speaker configuration from active to inactive bank
and perform bank switch operation while speaker channels
are getting enabled or disabled. This will make sure that
soundwire banks are always in sync and allow independent
control of speaker channels.

CRs-fixed: 1007465
Change-Id: Ic1653194c22fa5669b1c04fd9630158633fb00a5
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
8 years agoASoC: wsa881x: Request device ungroup for speaker disable
Phani Kumar Uppalapati [Sat, 30 Apr 2016 19:58:30 +0000 (12:58 -0700)]
ASoC: wsa881x: Request device ungroup for speaker disable

Request device ungroup of speaker channels for independent
disable. It is possible that stereo speaker channels can be
disabled one after other, so remove them from group otherwise
speaker can be left in enabled state.

CRs-fixed: 1007465
Change-Id: I358ab4edcb85ec65b064ca28368ad744f2d36870
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
8 years agoswr-wcd-ctrl: Handle soundwire slave device ungroup
Phani Kumar Uppalapati [Sat, 30 Apr 2016 19:48:11 +0000 (12:48 -0700)]
swr-wcd-ctrl: Handle soundwire slave device ungroup

Handle soundwire slave devices ungroup in master controller.
Set the group device id to 0 when soundwire slave devices
request ungroup for independent control.

CRs-fixed: 1007465
Change-Id: I4f1b39dac949aa3f6aa3abb12ff0310fb0e98d1c
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
8 years agosoundwire: Add API to ungroup soundwire slave devices
Phani Kumar Uppalapati [Fri, 22 Apr 2016 23:48:48 +0000 (16:48 -0700)]
soundwire: Add API to ungroup soundwire slave devices

Add soundwire API to remove the soundwire slave devices
from group so that the devices can be controlled
independently as required.

CRs-fixed: 1007465
Change-Id: Ibca3e33c0e85629ae5ce121e75526f4786d6408a
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
8 years agosoundwire: Add support for 48x2 frame structure
Phani Kumar Uppalapati [Wed, 13 Apr 2016 07:53:11 +0000 (00:53 -0700)]
soundwire: Add support for 48x2 frame structure

Add support for 48x2 frame structure in soundwire
so that when slave device data path is not enabled,
all control messaging will happen with 48x2 frame.
Soundwire slave devices send an explicit request to
enable data path which in turn change the frame
structure to 48x16.

CRs-fixed: 996586
Change-Id: Ia4329ac982eb2a29a2b925897cd87ca9711c30e3
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
8 years agodefconfig: msmcortex: enable qpnp flash
Mohan Pallaka [Thu, 5 May 2016 22:02:35 +0000 (15:02 -0700)]
defconfig: msmcortex: enable qpnp flash

Enable QPNP flash v2 driver.

CRs-fixed: 1015501
Change-Id: I30618e6e4b983171d4a616a8a316c76f13ceee2d
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
8 years agoARM: dts: msm: enable flash LED on cobalt
Chun Zhang [Tue, 5 Apr 2016 04:24:23 +0000 (21:24 -0700)]
ARM: dts: msm: enable flash LED on cobalt

Add in device tree info to enable flash LED.

CRs-fixed: 1015501
Change-Id: I0c6471549dfa7af435a5ce5f21a56caab1c4ea09
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
Signed-off-by: Chun Zhang <chunz@codeaurora.org>
8 years agoicnss: Avoid power-off if driver is registered
Prashanth Bhatta [Fri, 13 May 2016 22:03:42 +0000 (15:03 -0700)]
icnss: Avoid power-off if driver is registered

If driver is registered before FW ready indication then bus error
observed because of powering off the hardware before calling
driver probe. Fix the issue by powering off only when driver is
not registered.
Also add top level reset after FW ready without which bus error
is observed.

CRs-fixed: 1015484
Change-Id: I26609c4011f10c1a9ee62b092050394e064ee2a2
Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
8 years agoarm64: defconfig: msm: disable CPUSETS for msm chipsets
Satya Durga Srinivasu Prabhala [Wed, 11 May 2016 22:00:35 +0000 (15:00 -0700)]
arm64: defconfig: msm: disable CPUSETS for msm chipsets

CONFIG_CPUSET sets affinity to cpu 0 without cgroup setting.
Due to this performance regressed.

CRs-Fixed: 1014436
Change-Id: Icf96a123b8d6e9c007198c2969d60e3707a57098
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
8 years agoARM: dts: msm: add wil6210 node for msmcobalt
Maya Erez [Thu, 19 May 2016 17:26:35 +0000 (20:26 +0300)]
ARM: dts: msm: add wil6210 node for msmcobalt

Wil driver is needed for 11ad wireless card.

CRs-Fixed: 1001827
Change-Id: I9b6109ccaf2858732a779d781222422c928128a1
Signed-off-by: Maya Erez <merez@codeaurora.org>
8 years agodefconfig: Enable EA driver for msmcortex targets
Archana Sathyakumar [Wed, 18 May 2016 17:48:36 +0000 (11:48 -0600)]
defconfig: Enable EA driver for msmcortex targets

Enable energy aware driver for msmcortex targets to support energy aware
scheduler feature.

CRs-fixed: 1018108
Change-Id: I5745dbcbb946ee2f937d1e77a68a4e87bc85e08e
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>
8 years agodiag: Fix possible kernel addresses leak
Manoj Prabhu B [Tue, 12 Apr 2016 05:57:39 +0000 (11:27 +0530)]
diag: Fix possible kernel addresses leak

This patch addresses kernel addresses leak by changing
the format specifier to adhere to the kptr_restrict system setting.

CRs-Fixed: 987013
Change-Id: I32649a26f54d96c56d80aa2a1bd5f5d9dd0dd9d3
Signed-off-by: Manoj Prabhu B <bmanoj@codeaurora.org>
8 years agosoc: qcom: pil: timeouts to be disabled from pil-imem
Puja Gupta [Sat, 14 May 2016 01:48:49 +0000 (18:48 -0700)]
soc: qcom: pil: timeouts to be disabled from pil-imem

Allow modem mba, modem pbl and err_ready timeouts to be disabled by
writing to starting of pil_imem region.

CRs-Fixed: 1015492
Change-Id: I786d8edcd89e3624ef05ffc9a6953a8f840bbac0
Signed-off-by: Puja Gupta <pujag@codeaurora.org>
8 years agoARM: dts: msm: Add DSP memory region for msmcobalt
Sathish Ambley [Wed, 11 May 2016 02:08:36 +0000 (19:08 -0700)]
ARM: dts: msm: Add DSP memory region for msmcobalt

Add DSP memory region node that allows for buffers
to be created to be shared with DSP.

Change-Id: Iffd95234813a5dcd8ab7ec07a4ff1d2c679bb26f
Signed-off-by: Sathish Ambley <sathishambley@codeaurora.org>
8 years agoARM: dts: msm: disable PCIe on msmcobalt RUMI and SIM
Tony Truong [Tue, 17 May 2016 01:04:01 +0000 (18:04 -0700)]
ARM: dts: msm: disable PCIe on msmcobalt RUMI and SIM

PCIe is not used or tested on RUMI or SIM for msmcobalt.
Thus, disable PCIe on these platforms.

Change-Id: I0682801c0893a1b1516033b2ec0b0e2ec2713fdd
Signed-off-by: Tony Truong <truong@codeaurora.org>
8 years agomsm: ADSPRPC: Support for secure context banks
Sathish Ambley [Fri, 11 Sep 2015 21:55:37 +0000 (14:55 -0700)]
msm: ADSPRPC: Support for secure context banks

Add support for secure session that checks whether the
buffer being passed was allocated from a secure heap and
appropriately maps the buffers in the secure context bank.

Change-Id: If590f65d033e264c04f0ad782895b02765ff4f3d
Signed-off-by: Sathish Ambley <sathishambley@codeaurora.org>
8 years agoARM: dts: msm: add HW event device for msmcobalt
Shashank Mittal [Mon, 2 May 2016 23:14:22 +0000 (16:14 -0700)]
ARM: dts: msm: add HW event device for msmcobalt

Add device node for HW event driver. HW event driver can be used to
configure HW events on msmcobalt device.

Change-Id: I5e633e798a0655d783554538b83b4642ec428c8c
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
8 years agoARM: dts: msm: Add TCSR_USB3_DP_PHYMODE register on msmcobalt
Hemant Kumar [Fri, 13 May 2016 01:34:37 +0000 (18:34 -0700)]
ARM: dts: msm: Add TCSR_USB3_DP_PHYMODE register on msmcobalt

This register write allows to select the usb3 phy mode. It is
recommended to explicitly select the usb3 phy mode before
programming the phy init sequence.

Change-Id: I2cb648b976d72d2020357881768674241557c56b
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
8 years agousb: phy: qmp: Add support to select usb3 phy mode
Hemant Kumar [Thu, 12 May 2016 01:26:31 +0000 (18:26 -0700)]
usb: phy: qmp: Add support to select usb3 phy mode

qmp phy can run in display port mode or in usb3 mode.
It is recommended to explicitly select the usb3 phy
mode before programming the phy init sequence, since
TCSR_USB3_DP_PHYMODE register is commonly used to
select mode between display port driver as well as
ssphy driver.

Change-Id: I270596868762ccd4f2f2cc9b0daaca647a2bee88
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
8 years agomsm: vidc: Enabling DPB-OPB split for NV12 color format
Praneeth Paladugu [Tue, 5 Apr 2016 00:13:33 +0000 (17:13 -0700)]
msm: vidc: Enabling DPB-OPB split for NV12 color format

Video firmware will send a HFI_PIC_STRUCT field in sequence changed
event, which indicates whether the clip is interlaced or progressive.
If the color format is NV12 and the clip is interlaced, DPB mode
would be combined NV12 while the DPB mode is split i.e. DPB is in
UBWC and OPB is in NV12. Also combining the pic struct change and
bit depth change into a single event to the userspace.

CRs-fixed: 1017209
Change-Id: Ife71e31622a53d0ea4cc418d434998e710352e10
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
8 years agoiommu/arm-smmu: configure stream IDs for PCI-e devices dynamically
Mitchel Humpherys [Wed, 4 May 2016 23:07:54 +0000 (16:07 -0700)]
iommu/arm-smmu: configure stream IDs for PCI-e devices dynamically

PCI-e devices on MSM systems need to have their stream IDs configured at
device add time, since they're not known at system design time and
therefore can't be placed in the device tree.  Add the necessary calls
into the MSM PCI-e driver to obtain stream IDs for devices behind PCI-e
at device add time.

CRs-Fixed: 1012229
Change-Id: I3645a525c3ab5ef6d89eeaa99894542bd3aa261f
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
8 years agosoc: qcom: ramdump: Fix bug introduced in kernel upgrade
Puja Gupta [Wed, 18 May 2016 19:19:10 +0000 (12:19 -0700)]
soc: qcom: ramdump: Fix bug introduced in kernel upgrade

Uncomment some code which got commented during kernel upgrade by mistake

CRs-Fixed: 1015492
Change-Id: Id46bff3b3803d1316ea769581c0f1b0e7fa41498
Signed-off-by: Puja Gupta <pujag@codeaurora.org>
8 years agoASoC: msmcobalt: Add slimbus_6_rx back-end dai-link and hostless
Kuirong Wang [Sat, 7 May 2016 22:06:58 +0000 (15:06 -0700)]
ASoC: msmcobalt: Add slimbus_6_rx back-end dai-link and hostless

Add slimbus 6 playback hostless and slimbus_6_rx back-end
dai-link to enable independent backend for different devices
during audio playback.

Change-Id: Idac26ac45f1177db96fc3fb5d4a5e2f837f86d1b
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
8 years agoASoC: msmcobalt: Add USB audio via ADSP support
Kuirong Wang [Thu, 5 May 2016 17:37:58 +0000 (10:37 -0700)]
ASoC: msmcobalt: Add USB audio via ADSP support

Add USB audio via ADSP support in the machine driver.

Change-Id: I9773555fb025a41afd27e078f6ef23a4d140128f
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
8 years agoASoC: pcm: Add support for fixup callback
Anish Kumar [Tue, 9 Sep 2014 07:57:49 +0000 (00:57 -0700)]
ASoC: pcm: Add support for fixup callback

Fixup callback is added for dais which
do not follow the FE and BE convention
and is directly controlled by userspace
such as hostless dais. This will restrict
the hw_params based on what is supported by
hardware rather than blindly setting what
is given by userspace.

Change-Id: I401c70ab5de1df10363ec808cb68f72d8d74af96
Signed-off-by: Anish Kumar <kanish@codeaurora.org>
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
8 years agoARM: dts: msm: do not configure secondary pon reset for pmicobalt
Subbaraman Narayanamurthy [Wed, 11 May 2016 00:46:41 +0000 (17:46 -0700)]
ARM: dts: msm: do not configure secondary pon reset for pmicobalt

As per the hardware documentation, PON device in pmicobalt need
not have to be configured during any type of reset. Hence remove
the DT property "qcom,secondary-pon-reset" from pmicobalt PON
device.

CRs-Fixed: 1001210
Change-Id: Iaf46a2247e70e17ed0b0032038860bfa64e7f7c6
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
8 years agoARM: dts: msm: Update MPM interrupt mappings for cobalt
Mahesh Sivasubramanian [Thu, 12 May 2016 16:59:26 +0000 (10:59 -0600)]
ARM: dts: msm: Update MPM interrupt mappings for cobalt

Update MPM interrupt mapping to monitor system wakeup interrupts per HW
specfication.

Change-Id: I0fff3caee8f4e2e1ed4e036f9fa9e6717f5cdfd7
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
8 years agoiommu/iommu-debug: Maintain list of domains during alloc
Susheel Khiani [Tue, 25 Aug 2015 11:55:42 +0000 (17:25 +0530)]
iommu/iommu-debug: Maintain list of domains during alloc

Current list of domains in iommu-debug was only
maintained during attach/detach calls. But for
masters like graphics this won't account for all
the domains, as it allocates multiple different
domains but attaches only one domain at a time.

Add support for maintaining list of unattached
domains too by adding them to debug_attachments
list during domain alloc but keeping dev as NULL.
We would add entry in debugfs attachment directory
only on actual attach call.

Change-Id: Ifde043e5c39f356b4187a30cbdf020ee943618f1
Signed-off-by: Susheel Khiani <skhiani@codeaurora.org>
8 years agoarm64: process: Use continuation prints for show_data
Trilok Soni [Sun, 1 May 2016 22:38:50 +0000 (15:38 -0700)]
arm64: process: Use continuation prints for show_data

show_data messages for the value at the addresses
needs to printed in the continuation.

CRs-Fixed: 1010438
Change-Id: I41c48e090ec4c44aeccd0e8fbbcb814b55c0416d
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
8 years agoASoC: compare CPU DAI stream name to find BE DAI
Banajit Goswami [Sun, 5 Jul 2015 05:14:27 +0000 (22:14 -0700)]
ASoC: compare CPU DAI stream name to find BE DAI

While setting up route for a particular device, compare
stream name of CPU DAI and Backend DAI to find the correct
Backend DAI.

Change-Id: Ic3f7c0e5b2a1055e7fdf52c78ded797a9a126d03
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
8 years agomsm: wlan: Add new country XA
Amar Singhal [Tue, 17 May 2016 18:26:16 +0000 (11:26 -0700)]
msm: wlan: Add new country XA

New country XA is based on Japan. The channels 5170-5250 are marked
as PASSIVE.

CRs-Fixed: 990486
Change-Id: I6dad4ce061316680239b3f9c23e64b23a875eb75
Signed-off-by: Amar Singhal <asinghal@codeaurora.org>
8 years agousb: gadget: gsi: Use drain_workqueue instead of flush_workqueue
Mayank Rana [Thu, 12 May 2016 00:57:45 +0000 (17:57 -0700)]
usb: gadget: gsi: Use drain_workqueue instead of flush_workqueue

USB GSI function driver uses usb_ipa_w work to queue different events
like EVT_CONNECTED, EVT_DISCONNECTED and more. ipa_event_handler()
uses those events as inputs to make necessary decision about performing
connect and disconnect with IPA driver. It is required that before USB
GSI driver calls ipa_usb_deinit_teth_prot(), it has invoked IPA
disconnect API ipa_usb_xdci_disconnect() if it has called
ipa_usb_xdci_connect() API. Current code is making sure that any
running usb_ipa_w work is being completed before calling
ipa_usb_deinit_teth_prot() but if work is not scheduled and pending,
ipa_usb_xdci_connect() is not called (i.e. later when usb_ipw_w work is
scheduled, EVT_DISCONNECTED is being processed but gsi_unbind() has
changed sm_state as STATE_UNINITIALIZED which results into no-ops.)
which results into USB and IPA driver go out of sync in terms of
expected state machine. Hence calling ipa_usb_init_teth_prot() on next
USB cable connect from gsi_bind_config() fails which results into no
USB GSI functionality. Fix this issue by using drain_workqueue() instead
of flush_workqueue() which makes sure that re-queue work is flushed.

CRs-Fixed: 1005018
Change-Id: I64ff559b85f901688a4abd0110ebb32a5317e34d
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
8 years agodefconfig: arm64: msmcortex: enable QPNP_POWER_ON support for msmcobalt
Subbaraman Narayanamurthy [Fri, 8 Apr 2016 20:18:50 +0000 (13:18 -0700)]
defconfig: arm64: msmcortex: enable QPNP_POWER_ON support for msmcobalt

Enable QPNP_POWER_ON device support for msmcobalt platform so
that the power-on/off reasons of PMIC PON devices can be
printed out during bootup. Also, based on the reset type, PON
devices needs to be configured as per the hardware documentation.

CRs-Fixed: 1001210
Change-Id: I3db5f233e7c182e330f5144b4ab0d0769abf4a8d
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
8 years agodefconfig: msm: Sync up with Kbuild defaults
Mitchel Humpherys [Tue, 17 May 2016 21:14:36 +0000 (14:14 -0700)]
defconfig: msm: Sync up with Kbuild defaults

The defconfigs have gotten out of sync again.  Sync them up.

CRs-Fixed: 1017606
Change-Id: I7d2ac7172396e5e08cde8ef156685222eb8941d8
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
8 years agoARM: dts: msm: Add snapshot of power-on.h
Subbaraman Narayanamurthy [Fri, 8 Apr 2016 01:46:48 +0000 (18:46 -0700)]
ARM: dts: msm: Add snapshot of power-on.h

This DT bindings header file snapshot is taken as of msm-3.18
'commit 0b20839e37187 ("Merge "slim-msm: Synchronize SSR callbacks"")'.

CRs-Fixed: 1001210
Change-Id: Ic132efb650d4e8de561c3d1f95a281afeef4ce42
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
8 years agomsm: camera: sensor: Updating soc layer clock API for i2c drivers
Sureshnaidu Laveti [Tue, 3 May 2016 22:17:19 +0000 (15:17 -0700)]
msm: camera: sensor: Updating soc layer clock API for i2c drivers

Updating SOC layer clock API to support both platform drivers and
i2c driver.

Change-Id: I3d4a2e5c778c23dd80644080fdad7512c5e71e33
Signed-off-by: Sureshnaidu Laveti <lsuresh@codeaurora.org>
8 years agoblock: zram: Fix compilation issues
Satya Durga Srinivasu Prabhala [Wed, 11 May 2016 18:36:13 +0000 (11:36 -0700)]
block: zram: Fix compilation issues

While porting changes to 4.4, looks like some functionality lost
and causing below compilation issues if we try to enable ZRAM.

[1]
drivers/block/zram/zram_drv.c: In function 'zram_bvec_write':
drivers/block/zram/zram_drv.c:724:9: error: 'ALLOC_ERROR_LOG_RATE_MS' \
undeclared (first use in this function)
         ALLOC_ERROR_LOG_RATE_MS))
         ^
drivers/block/zram/zram_drv.c:724:9: note: each undeclared identifier \
is reported only once for each function it appears in
drivers/block/zram/zram_drv.c: In function 'zram_add':
drivers/block/zram/zram_drv.c:1239:34: error: 'struct zram' has no \
member named 'queue'
  __set_bit(QUEUE_FLAG_FAST, &zram->queue->queue_flags);
                                  ^
make[4]: *** [drivers/block/zram/zram_drv.o] Error 1
make[3]: *** [drivers/block/zram] Error 2
make[2]: *** [drivers/block] Error 2
make[1]: *** [drivers] Error 2

[2]
drivers/block/zram/zram_drv.c: In function 'zram_add':
drivers/block/zram/zram_drv.c:1241:34: error: 'struct zram' \
has no member named 'queue'
  __set_bit(QUEUE_FLAG_FAST, &zram->queue->queue_flags);
                                  ^
make[4]: *** [drivers/block/zram/zram_drv.o] Error 1
make[3]: *** [drivers/block/zram] Error 2
make[2]: *** [drivers/block] Error 2

CRs-Fixed: 1013947
Change-Id: I4f7944069306ba92e1fd82625bc15c7fa3bcdb0c
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
8 years agoARM: dts: msm: Enable Camera VFE, Pproc, jpeg nodes for msmcobalt
JinHee Kim [Sun, 8 May 2016 14:38:46 +0000 (07:38 -0700)]
ARM: dts: msm: Enable Camera VFE, Pproc, jpeg nodes for msmcobalt

Enable camera VFE, Pproc and jpeg nodes in dtsi.

CRs-Fixed: 1017151
Change-Id: I33b172ca712064dcc86a87ae413f868f8d7d4342
Signed-off-by: JinHee Kim <jinheek@codeaurora.org>
8 years agoperf: duplicate deletion of perf event
Srinivasarao P [Tue, 1 Mar 2016 06:46:03 +0000 (12:16 +0530)]
perf: duplicate deletion of perf event

a malicious app can open a perf event with constraint_duplicate
bit set, disable the event, and close the fd.  On closing the fd,
the perf_release() modification causes the kernel to clean up
the event as if it still were enabled, leading to the event
being removed from a list twice.

CRs-Fixed: 977563
Change-Id: I5fbec3722407d2f3d0ff0d9f7097c5889e31fd62
Signed-off-by: Srinivasarao P <spathi@codeaurora.org>
8 years agoextcon: Add support for type-c connector orientation
Hemant Kumar [Mon, 16 May 2016 23:31:00 +0000 (16:31 -0700)]
extcon: Add support for type-c connector orientation

Type-C cable can be connected in two different orientations.
Connector orientation information is required to configure
super speed phy lane. Extcon driver provides this information
using EXTCON_USB_CC.

Change-Id: Ib2c86970b30cb575146438611a11fde17ab106e8
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
8 years agoclk: msm: osm: fix cores in retention as inactive selection
Osvaldo Banuelos [Fri, 13 May 2016 23:55:21 +0000 (16:55 -0700)]
clk: msm: osm: fix cores in retention as inactive selection

When SPM_CORE_RET_MAPPING is set to 1, cores in retention
are treated as inactive by the OSM. However, currently
this register is programmed to 0 when the flag to treat
cores in retention as inactive is specified. Fix this.

Change-Id: Ibc5df71ddd0cfdabf82d3c1e47efca0d88823a2f
CRs-Fixed: 1017123
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
8 years agousb: gadget: gsi: Decrement USB gadget pm usage count on cable disconnect
Mayank Rana [Thu, 12 May 2016 01:26:35 +0000 (18:26 -0700)]
usb: gadget: gsi: Decrement USB gadget pm usage count on cable disconnect

Currently USB GSI function driver increments USB gadget device's
pm usage count on set_alt() and decrements on USB bus suspend or
USB cable disconnect case. Current code is not decrementing this
usage count when sm_state is STATE_INITIALIZED and USB cable is
disconnected (i.e. event EVT_DISCONNECTED posted). Fix this issue
by decrementing USB gadget device's pm usage count by addding check
for event EVT_DISCONNECTED when sm_state is STATE_INITIALIZED.

CRs-Fixed: 1003242
Change-Id: I4d6c9ce254f4c4139313dfd33da6c8745f34a1d3
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
8 years agomsm: mdss: Add support for concurrent writeback
Jeykumar Sankaran [Mon, 29 Feb 2016 22:47:10 +0000 (14:47 -0800)]
msm: mdss: Add support for concurrent writeback

This change adds support for concurrent writeback in supported
targets. The client requests for concurrent writeback by
selecting the data point in output buffer flags.

Change-Id: Ic108ce94daef4f96d1fa27b4057e49c01b9e9b8e
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
8 years agosched: fix compile error where !CONFIG_SCHED_HMP
Joonwoo Park [Mon, 16 May 2016 18:14:24 +0000 (11:14 -0700)]
sched: fix compile error where !CONFIG_SCHED_HMP

Move trace event sched_get_task_cpu_cycles() under CONFIG_SCHED_HMP=y
to fix compile error.

Change-Id: Ie00cafeaceedb44100bda97f996ac3efa0e6c91f
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
8 years agoclk: msm: clock-alpha-pll: Program the fabia PLL calibration register
Deepak Katragadda [Wed, 4 May 2016 00:13:56 +0000 (17:13 -0700)]
clk: msm: clock-alpha-pll: Program the fabia PLL calibration register

Add programming the PLL_CAL_L_VAL register to the fabia PLL
set_rate sequence. This is required on MSMCOBALT v1 as a
workaround.

CRs-Fixed: 1016938
Change-Id: I298acf633228b2c565736bf7bfd446d96f4e1983
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
8 years agoKconfig: arm64: Update dependencies for CONFIG_FORCE_PAGES
Liam Mark [Wed, 28 Oct 2015 21:07:12 +0000 (14:07 -0700)]
Kconfig: arm64: Update dependencies for CONFIG_FORCE_PAGES

Currently we don't support having both CONFIG_DEBUG_RODATA
and CONFIG_FORCE_PAGES enabled at the same time.
Update the dependencies for CONFIG_FORCE_PAGES to enforce
this.

If there is a need for read only support with
CONFIG_FORCE_PAGES enabled then enable
CONFIG_KERNEL_TEXT_RDONLY instead of CONFIG_DEBUG_RODATA.

Change-Id: I9ee1732ed0673edc7272d32469d08133fba9637f
Signed-off-by: Liam Mark <lmark@codeaurora.org>
8 years agomm: cma: sleep between retries in cma_alloc
Liam Mark [Fri, 23 Oct 2015 19:14:11 +0000 (12:14 -0700)]
mm: cma: sleep between retries in cma_alloc

Port support from 3.10 for retrying cma allocations
to 3.18 to help resolve cma allocation failures.

It was observed that CMA pages are sometimes getting
pinned down by BG processes scheduled out in their exit
path. Since BG processes have lower priority they end up
getting less time slice by scheduler there by consuming
more time to free up CMA pages.

Also when a process is being forked copy_one_pte
may create copy-on-write mappings, when this is done
the page _count and page _mapcount are each
incremented sequentially. If the process is context
switched out after incrementing the _count but before
incrementing the _mapcount then the page will appear
temporarily pinned.

So instead of failing to allocate and directly
returning an error on the CMA allocation path we do 2
retries, with sleeps, to give the system an opportunity
to unpin any pinned pages.

Change-Id: I022a9341f8ee44f281c7cb34769695843e97d684
Signed-off-by: Susheel Khiani <skhiani@codeaurora.org>
Signed-off-by: Liam Mark <lmark@codeaurora.org>
8 years agoarm64: mm: skip 1GB mappings on force pages
Shiraz Hashim [Sat, 12 Sep 2015 06:27:31 +0000 (11:57 +0530)]
arm64: mm: skip 1GB mappings on force pages

While force mapping regions as page, do not go for 1GB
block mapping.

Change-Id: I85ca7046626048acb7a138dc174dc40efbba4ac9
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
8 years agoarm64: mmu: dma remap fail with 1GB block mapping
Shiraz Hashim [Fri, 5 Jun 2015 14:41:40 +0000 (20:11 +0530)]
arm64: mmu: dma remap fail with 1GB block mapping

The provision to map 1GB block, gives a problem during
dma_contiguous_remap when it attempts to remaps the dma
buffers into 4K. During this attempt to remap dma buffers
it overwrites pgd mapping for 1G block, thus leaving an
unmapped hole.

Managing remapping of dma regions with 1G block mapping is
difficult hence avoid mapping 1G block and switch to
SECTION_SIZE mapping (2MB) when memory region overlaps
with dma buffers range.

Change-Id: I2aa4119b3aeb328a2b95cf22656d2ec36012716f
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
8 years agomsm: kgsl: Port GPU bus dcvs to kernel 4.4
Oleg Perelet [Wed, 11 May 2016 00:30:07 +0000 (17:30 -0700)]
msm: kgsl: Port GPU bus dcvs to kernel 4.4

Port GPU dcvs from kernel 3.18 to kernel 4.4.

CRs-Fixed: 1013343
Change-Id: Ide662b12aa59effa541febcd758426e72b4a1b12
Signed-off-by: Oleg Perelet <operelet@codeaurora.org>
8 years agodefconfig: arm64: msmcortex: Enable nqx nfc driver
Gaurav Singhal [Thu, 12 May 2016 06:13:04 +0000 (11:43 +0530)]
defconfig: arm64: msmcortex: Enable nqx nfc driver

Enabled the NQxxx nfc driver on msmcobalt.

Change-Id: Ia56a64c9fa5973afe8c9830d42bd2f4228065f2f
Signed-off-by: Gaurav Singhal <gsinghal@codeaurora.org>
8 years agoNFC: Add snapshot of NQxxx NFC driver
Gaurav Singhal [Thu, 5 May 2016 07:38:19 +0000 (13:08 +0530)]
NFC: Add snapshot of NQxxx NFC driver

Add the latest version of NQxxx NFC driver
from msm-3.18.

This change is a combination of following changes:

1) NFC: add NQxxxx driver

commit <356203701b7fd61b2d9776fac4fac6427735248b>

2) NFC: change reset and read flow

commit <7620346454865b81d7086167d531aea7bb716926>

3) NFC: Enable DMA and CLK_REQ gpio config issue fix

commit <150dbf117709b5677f86e5ced86b468731019b8b>

4) NFC: Fix function descriptions

commit <c0248d70200c8e09a983758750632b7a75e422d3>

5) nq-nci: enable NFCC hardware check and clock to NQxx

commit <2a92c1d6135f2d1e8fe3f2afcd290a2b1311a5a2>

6) nq-nci: XO shut down issue fix

commit <8938151d4650fca6d42efdbce138aea9bad7eca0>

7) NFC: Remove sleep from irq handler

commit <8ea2c805108cbf59b8e2abf87ee207fbf08fad97>

8) NFC: Remove DMA allocation and stack use in write

commit <c1552090e4c46e1eeca756d0a7b4427f94eab0c3>

CRs-Fixed: 890678, 892310, 955860, 968399, 993292
Change-Id: Ibb861ebdc63d45699369e23c077589d37e024b5e
Signed-off-by: Gaurav Singhal <gsinghal@codeaurora.org>
8 years agodefconfig: msmcortex: enable bonding and TC drivers
Maya Erez [Wed, 11 May 2016 08:42:54 +0000 (11:42 +0300)]
defconfig: msmcortex: enable bonding and TC drivers

bonding and TC drivers (sch_multiq) are required
for fast session transfer feature.

CRs-Fixed: 1001827
Change-Id: I08ee482ddc6c189241a69452fb12335d1ffb626f
Signed-off-by: Maya Erez <merez@codeaurora.org>
8 years agomsm: ipa: Fix to memory leak when sending non-linear data
Sridhar Ancha [Tue, 10 May 2016 12:36:17 +0000 (18:06 +0530)]
msm: ipa: Fix to memory leak when sending non-linear data

In cases where source ep or dest ep is not valid, descriptor
memory allocated for frag skb's is not freed. Make a change
to free the memory in such error cases.

Change-Id: Ie15c48ae1bb34e304795607a09c753360eb015ec
Acked-by: Chaitanya Pratapa <cpratapa@qti.qualcomm.com>
Signed-off-by: Sridhar Ancha <sancha@codeaurora.org>
8 years agomsm: ipa3: make function names consistent with ipav2
Sridhar Ancha [Thu, 12 May 2016 12:30:49 +0000 (18:00 +0530)]
msm: ipa3: make function names consistent with ipav2

Make changes to use consistent function names across v2 and V3
during SSR functionality.

Change-Id: Ib9c79f4795d0be9ca00b3cda984ed89b61e58b02
Acked-by: Chaitanya Pratapa <cpratapa@qti.qualcomm.com>
Signed-off-by: Sridhar Ancha <sancha@codeaurora.org>
8 years agodefconfig: msm64: msm: Enable v4l2 video driver
Chinmay Sawarkar [Wed, 20 Apr 2016 03:16:50 +0000 (20:16 -0700)]
defconfig: msm64: msm: Enable v4l2 video driver

Enable v4l2 video driver on msmcobalt for decode
and encode sessions.

Change-Id: Ibda63abad6a469c0a5f738c51ee1e740d0f1ce7a
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
8 years agoARM: dts: msm: Enable VMEM node
Vikash Garodia [Sat, 14 May 2016 00:43:26 +0000 (17:43 -0700)]
ARM: dts: msm: Enable VMEM node

Enable VMEM node and configure the
size as per msmcobalt.

CRs-Fixed: 1008076
Change-Id: I8bbb827e6fcddb12bf452279f5f7d60b614c2915
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
8 years agodefconfig: arm64: enable common log driver for msmcobalt
Shashank Mittal [Tue, 3 May 2016 19:54:13 +0000 (12:54 -0700)]
defconfig: arm64: enable common log driver for msmcobalt

Common log driver can be used to register entries for memory dump table.

Change-Id: I75be0d467c8f7c2db854987598770f9798688e51
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
8 years agodefconfig: arm64: enable DCC device driver
Shashank Mittal [Tue, 3 May 2016 19:47:16 +0000 (12:47 -0700)]
defconfig: arm64: enable DCC device driver

Set MSM_DCC config to enable support for Data Capture and Compare(DCC)
device.

Change-Id: Ibc2de3c142b8df4ac86e4628199726750f19dac3
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
8 years agomemory-dump: add support to allocate memory for scan dumps
Shashank Mittal [Thu, 25 Feb 2016 19:24:09 +0000 (11:24 -0800)]
memory-dump: add support to allocate memory for scan dumps

Add support to allocate memory for CPU scan dumps. This momeory can be
used to save CPU scan dumps at the time of a crash.

Change-Id: I9d644f18882729d187075e885bc2e8c02c5caf36
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
8 years agoARM: dts: msm: add DCC device on msmcobalt
Shashank Mittal [Thu, 10 Mar 2016 22:31:29 +0000 (14:31 -0800)]
ARM: dts: msm: add DCC device on msmcobalt

Add node to add support for Data Capture and Compare (DCC) device on
msmcobalt.
DCC block can be used to capture user programmed memory mapped registers
or to run CRC on user programmed memory region.

Change-Id: I1d302e51693315998d915ca44f739fb58ef9e4a5
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
8 years agoARM: dts: msm: Add clock rates in camera node for all boards
Sureshnaidu Laveti [Fri, 13 May 2016 23:48:38 +0000 (16:48 -0700)]
ARM: dts: msm: Add clock rates in camera node for all boards

Adding clock rates to camera node instead of statically
reading from sensor driver so that clock names and
rates can be read from camera node using common software on chip
API and if needed it can be overrided with the values obtained from
userspace sensor drivers.

Change-Id: Icf950194191cbd0887740d692bb88cc650430fb8
Signed-off-by: Sureshnaidu Laveti <lsuresh@codeaurora.org>
8 years agosoc: qcom: dcc: add check if sram data oversteps
Xiaogang Cui [Fri, 9 Oct 2015 08:33:08 +0000 (16:33 +0800)]
soc: qcom: dcc: add check if sram data oversteps

If the size of captured data oversteps over SRAM boundary then
it causes corruption of configuration data. Add boundary check
while programming configuration linked list in SRAM, to avoid
this problem.

Change-Id: Idd33f53560585fdbfee4d3822fd93d6f3a365e17
Signed-off-by: Xiaogang Cui <xiaogang@codeaurora.org>
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
8 years agosoc: qcom: dcc: update errno of dcc probe failure
Xiaogang Cui [Thu, 5 Nov 2015 06:00:36 +0000 (11:30 +0530)]
soc: qcom: dcc: update errno of dcc probe failure

Acorrding to function really_probe, the ENODEV will not throw
any error message. Changing ENODEV to EINVAL to notify error
message if probe fails.

Change-Id: Ia3187fadd4f0073e5e141595810bb8b3c7aab429
Signed-off-by: Xiaogang Cui <xiaogang@codeaurora.org>
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
8 years agosoc: qcom: dcc: update xpu probe logic to fix failure
Xiaogang Cui [Fri, 16 Oct 2015 09:16:22 +0000 (17:16 +0800)]
soc: qcom: dcc: update xpu probe logic to fix failure

TZ image which has registered SCM_SVC_DISABLE_XPU sevice maybe used by
none-dcc-xpu device. Update the xpu check logic to fix the probe
failure issue.

Change-Id: Id2b38d93e7c12648292546592144eda1e82d76be
Signed-off-by: Xiaogang Cui <xiaogang@codeaurora.org>
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
8 years agosoc: qcom: dcc: add support for DCC XPU lock/unlock request
Shashank Mittal [Wed, 24 Jun 2015 00:11:22 +0000 (17:11 -0700)]
soc: qcom: dcc: add support for DCC XPU lock/unlock request

Add support to request TZ to lock and unlock DCC XPU.

DCC XPU is unlocked before accessing DCC and is locked back again after
configuring DCC.

Change-Id: I8815f65551df0b80f7ecdcaa338a50db8d9b04f5
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
8 years agoARM: dts: msm: Disable LMH driver probe for msmhamster rumi
Ram Chandrasekar [Wed, 11 May 2016 18:43:42 +0000 (12:43 -0600)]
ARM: dts: msm: Disable LMH driver probe for msmhamster rumi

Tsens controller wont be able to send any temperature data in RUMI.
This will block LMH driver in HLOS during profile switch.

Disable LMH driver probe for RUMI to avoid this profile switch.

CRs-Fixed: 1015361
Change-Id: I729af5235109cf8b09d4c89a339a4b4f14926d26
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
8 years agosoc: qcom: dcc: replace readx_poll_timeout with readl_poll_timeout
Shashank Mittal [Wed, 20 May 2015 22:30:13 +0000 (15:30 -0700)]
soc: qcom: dcc: replace readx_poll_timeout with readl_poll_timeout

Use readl_poll_timeout instead of readx_poll_timeout because
readl_poll_timeout already uses __raw_readl to read IO register.

Change-Id: I86d93bc63cf3282e360eed29732a708ee02cf6df
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
8 years agosoc: qcom: dcc: change configuration programming interface
Shashank Mittal [Thu, 14 May 2015 00:01:45 +0000 (17:01 -0700)]
soc: qcom: dcc: change configuration programming interface

Currently user needs to provide base, offset, and length to program
a configuration in DCC.

To simplify user input, this change requires  user to provide just start
address and length. Driver is going to calculate most optimized base,
offset and length to configure user request in SRAM.

Change-Id: Ic1b7b2d4d4ed4baa9e8d33a2b60c10d2e799b211
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
8 years agosoc: qcom: dcc: add support to send SW trigger on/off req to RPM
Shashank Mittal [Fri, 15 May 2015 03:03:07 +0000 (20:03 -0700)]
soc: qcom: dcc: add support to send SW trigger on/off req to RPM

Add support to request RPM to turn on/off DCC SW trigger.

This request can be used to enable/disable DDR training data verification
before DDR frequency switch.

After receiving enable request RPM assumes that DCC is configured in CRC
mode to verify DDR training data. Hence it starts to send SW trigger to
DCC to run CRC on configured data before DDR frequency switch.

Change-Id: I491bc3e41e11a5366162c65907f41f7cbcdd7809
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
8 years agosoc: qcom: dcc: add support for CRC mode
Shashank Mittal [Mon, 11 May 2015 21:57:24 +0000 (14:57 -0700)]
soc: qcom: dcc: add support for CRC mode

In CRC mode DCC can perform CRC on configuration data or system memory
after receiving SW or HW trigger.

Change-Id: Iab0a6ffa92ef6e311054756cfe85d1b2b91743c9
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
8 years agosoc: qcom: dcc: fix uninitialized variable bug in dcc_ll_cfg function
Shashank Mittal [Fri, 15 May 2015 18:13:50 +0000 (11:13 -0700)]
soc: qcom: dcc: fix uninitialized variable bug in dcc_ll_cfg function

Fix bug due to use of uninitialized 'prev_off' variable.

Change-Id: I773f64209b395eb9f2fc82a53d4a2f1b79b081eb
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
8 years agosoc: qcom: dcc: add support for DCC driver
Shashank Mittal [Tue, 14 Apr 2015 01:39:59 +0000 (18:39 -0700)]
soc: qcom: dcc: add support for DCC driver

DCC (Data Capture and Compare) is a DMA engine which is used to save
configuration data or system memory contents during catastrophic failure
or SW trigger.

It can also perform CRC over the same configuration or memory space.

Change-Id: Ic8a804250ab8b7ac501bd186d2e6f7506bb9b21a
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
8 years agoARM: dts: msm: Enable Silver frequency scaling up to SVS on msmcobalt
Osvaldo Banuelos [Mon, 9 May 2016 18:55:24 +0000 (11:55 -0700)]
ARM: dts: msm: Enable Silver frequency scaling up to SVS on msmcobalt

Add the necessary frequency configuration to the OSM and CPUfreq
device nodes to allow frequency scaling of the Silver cluster in
msmcobalt to SVS Fmax.

Change-Id: I8153e1c2ad9cb320a4c116593b15898dbe2f6ca2
CRs-Fixed: 1014894
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
8 years agoARM: dts: msm: restrict VDD_APC voltages to NOM for CPR rev 0 on msmcobalt
Osvaldo Banuelos [Thu, 12 May 2016 00:24:17 +0000 (17:24 -0700)]
ARM: dts: msm: restrict VDD_APC voltages to NOM for CPR rev 0 on msmcobalt

Raise the VDD_APC0 and VDD_APC1 CPR floor voltages to be equal to
the Nominal ceiling voltage on CPR revision 0 parts. Also, increase
the number of supported fuse combos to 8, to support up to 8 CPR
revisions using a single speed bin. This ensures stable operation
on some msmcobalt CPR revision 0 parts that cannot operate
reliably with SVS2/SVS voltages and has no impact to CPR rev 1 and
greater parts.

Change-Id: I6913a168596b34f527f689360f93fdf15b7d2f10
CRs-Fixed: 1014782
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
8 years agomsm: mdss: account for multirect when enumerating pipe formats
Adrian Salido-Moreno [Tue, 10 May 2016 19:15:44 +0000 (12:15 -0700)]
msm: mdss: account for multirect when enumerating pipe formats

The pipe format enumeration is not accounting for multi-rect on the
pipe list. Update the loop enumerating formats to account for multiple
rectangles per pipe.

Change-Id: Ief1980e2888525434e876f7cec4357403ca20cb1
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
8 years agosched: use correct Kconfig macro name CONFIG_SCHED_HMP_CSTATE_AWARE
Joonwoo Park [Wed, 11 May 2016 22:05:57 +0000 (15:05 -0700)]
sched: use correct Kconfig macro name CONFIG_SCHED_HMP_CSTATE_AWARE

Fix macro name so CONFIG_SCHED_HMP_CSTATE_AWARE=y to take effect.

Change-Id: I0218b36b2d74974f50a173a0ac3bc59156c57624
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
8 years agosoc: qcom: pil: Fix error path sequence
Puja Gupta [Tue, 10 May 2016 23:09:19 +0000 (16:09 -0700)]
soc: qcom: pil: Fix error path sequence

Fix the clock error path sequence.

CRs-Fixed: 1015492
Change-Id: I20eeadbfcdae16ce9c2feb8b882471683766ec4f
Signed-off-by: Puja Gupta <pujag@codeaurora.org>
8 years agoARM: dts: msm: Disable LMH driver probe for msmcobalt rumi
Ram Chandrasekar [Wed, 11 May 2016 16:55:30 +0000 (10:55 -0600)]
ARM: dts: msm: Disable LMH driver probe for msmcobalt rumi

Tsens controller wont be able to send any temperature data in RUMI.
This will block LMH driver in HLOS during profile switch.

Disable LMH driver probe for RUMI to avoid this profile switch and
lock up.

CRs-Fixed: 1015361
Change-Id: Id54c09e0cf2c3701c10c71d6688417d3f5d4c08e
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
8 years agoRevert "sched: set HMP scheduler's default initial task load to 100%"
Joonwoo Park [Fri, 13 May 2016 21:08:40 +0000 (14:08 -0700)]
Revert "sched: set HMP scheduler's default initial task load to 100%"

This reverts commit 28f67e5a50d7c1bfc ("sched: set HMP scheduler's
default initial task load to 100%") since 100% of init task load
makes too much of power inefficiency on some targets.

CRs-fixed: 1006303
Change-Id: I81b4ba8fdc2e2fe1b40f18904964098fa558989b
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>