Commit graph

572192 commits

Author SHA1 Message Date
Liam Mark
7debeac5bb arm64: dma-mapping: don't clear dma ops on bypass detach
On iommu attach and detach we should not be changing the dma ops
if the domain is in bypass.

Fix the iommu detach call to not clear the dma ops if the
domain is in bypass.

CRs-Fixed: 1048740
Change-Id: Ie29e7a6a5375e1ec33b000fa09f01aeb7406c8d9
Signed-off-by: Liam Mark <lmark@codeaurora.org>
2016-08-01 14:35:15 -07:00
Mitchel Humpherys
805f58d1f5 Revert "arm64: dma-mapping: Attach IOMMUs as groups"
This reverts commit commit 6a70911936 ("arm64: dma-mapping: Attach
IOMMUs as groups").  PCIe endpoint devices are no longer placed into
groups with the root complex device so we no longer need to attach as
groups in the DMA layer.

CRs-Fixed: 1036401
Change-Id: I953808314ed92e9da1ac15dc5be3d1d223fee188
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2016-08-01 13:49:20 -07:00
Mitchel Humpherys
f1fa301f97 ARM: dts: msm: Remove bogus stream ID from PCIe IOMMU
There's currently a placeholder stream ID of "1" in the PCIe RC device
tree node.  The PCIe RC doesn't actually attach and doesn't need a
stream ID though, the "1" was put there to get around an error caused by
the fact that #iommu-cells was equal to 1 for the anoc1_smmu, even
though it should have actually been 0.

Fix all this by making #iommu-cells = <0> for the anoc1 SMMU and
removing the bogus placeholder stream ID.

CRs-Fixed: 1036401
Change-Id: I73ff6d6b081b1ee00c8e8ebea42e86160b35aa37
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2016-08-01 13:49:09 -07:00
Mitchel Humpherys
6fbe4a9662 iommu/arm-smmu: Don't group PCI devices
In general, the IOMMU framework likes to group PCI devices together.
This prevents someone from assigning them to separate VMs using VFIO,
for example.  The reason they shouldn't go to separate VMs is because
there could be DMA aliasing between endpoint devices, and because the
root complex device can access anything that endpoint devices can
access.

Unfortunately, this makes things difficult in the DMA layer since the
IOMMU framework freaks out if you try to attach a single device that is
also part of a group.  First instinct might be to start using
iommu_attach_group instead of iommu_attach_device in the DMA layer but
that has problems of its own (it attaches *everyone* in the group as
soon as one client attaches).  Besides all that, it's also a bit
annoying to have the root complex device in group since, in our
platform, it doesn't actually have any stream IDs assigned to it and it
doesn't do any DMA of its own, so it doesn't really make any logical
sense to attach it.

As a compromise, we can stop grouping PCI devices together by allocating
a new domain for each one.  By doing so we no longer need to call
iommu_attach_group in the DMA layer, avoid the issues described above.

It should be noted that with this patch in place we can't securely do
any direct DMA assignment of PCI endpoint devices to separate VMs.

CRs-Fixed: 1036401
Change-Id: I9528b61a695dc7840e1c6f80af18044340f5c6c4
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2016-08-01 13:48:50 -07:00
Linux Build Service Account
9e4b3ba4af Merge "soc: qcom: code cleanup for service-locator" 2016-07-20 08:07:33 -07:00
Linux Build Service Account
b1210d3650 Merge "msm: vidc: Increase output port buffer size for VP9 decode" 2016-07-20 08:07:32 -07:00
Linux Build Service Account
135ada4b84 Merge "wcnss: Avoid user buffer overloading for write cal data" 2016-07-20 08:07:31 -07:00
Linux Build Service Account
043976c57f Merge "ARM: dts: msm: add gpio controller node for msmcobalt" 2016-07-20 08:07:28 -07:00
Linux Build Service Account
ee51bb2ba3 Merge "qcom-charger: smb138x-charger: change power supply type to usb parallel" 2016-07-20 08:07:27 -07:00
Linux Build Service Account
9d47bda2f3 Merge "ARM: dts: msm: update min voltage for pmcobalt s5 and s7" 2016-07-20 08:07:26 -07:00
Linux Build Service Account
7d113eb7d6 Merge "ARM: dts: msm: add ion heaps for msmfalcon" 2016-07-20 08:07:25 -07:00
Linux Build Service Account
8ac4813eb5 Merge "ARM: dts: msm: Add initial memory map for msmfalcon" 2016-07-20 08:07:24 -07:00
Anand Kumar
f009a48f80 wcnss: Avoid user buffer overloading for write cal data
compare size of allocated cal data buffer from heap
and count bytes provided to write by user to avoid
heap overflow for write cal data.

Change-Id: Id70c3230f761385489e5e94c613f4519239dfb1f
CRs-Fixed: 1032174
Signed-off-by: Anand Kumar <anandkumar@codeaurora.org>
2016-07-20 00:35:18 -07:00
Yeleswarapu Nagaradhesh
5e351f3751 ARM: dts: msm: add gpio controller node for msmcobalt
WCD934X audio codec has GPIO controller and hence add
pinctrl node for WCD934X pinctrl driver. Change WSA GPIO's
to codec GPIO's.

CRs-Fixed: 1041199
Change-Id: I0f04c08587f080eb2df7341d41344ce2079de21b
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
2016-07-20 12:37:23 +05:30
Yeleswarapu Nagaradhesh
7f5b8235c1 ASoC: wcd9335: add all child devices of codec
New codec child nodes are added to handle wsa881x
enable pin. Add all the child devices of codec.

CRs-Fixed: 1041199
Change-Id: I889922a0c36ec80ee6ede95b2f19f80791323332
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
2016-07-20 00:01:03 -07:00
Linux Build Service Account
7eb20e5733 Merge "msm: vidc: Add support for setting packed QP range" 2016-07-19 18:48:00 -07:00
Linux Build Service Account
25a5fb85c0 Merge "qcom: wcd934x: add pinctrl driver for wcd934x" 2016-07-19 18:47:59 -07:00
Linux Build Service Account
3225611f1d Merge "NFC: Fix crash due to invalid use of ese gpio" 2016-07-19 18:47:58 -07:00
Linux Build Service Account
88451207ce Merge "msm: vidc: check for venus_hfi_device state in resume" 2016-07-19 18:47:57 -07:00
Linux Build Service Account
c9176f0451 Merge "msm: camera: ispif: RDI Pack mode support" 2016-07-19 18:47:56 -07:00
Linux Build Service Account
b673198869 Merge "sched/core: Fix uninitialized variable used for tracepoint" 2016-07-19 18:47:55 -07:00
Linux Build Service Account
3a2dd33cfb Merge "sched/core: Fix null-pointer dereference" 2016-07-19 18:47:55 -07:00
Linux Build Service Account
83e5e75fab Merge "ARM: dts: msm: Remove SMD device for DSPS edge for MSMCOBALT" 2016-07-19 18:47:54 -07:00
Linux Build Service Account
67f5028611 Merge "ARM: dts: msm: Remove SMD device for ADSP edge for MSMCOBALT" 2016-07-19 18:47:53 -07:00
Linux Build Service Account
0520f0ab44 Merge "ARM: dts: msm: Remove SMD device for Modem edge for MSMCOBALT" 2016-07-19 18:47:53 -07:00
Linux Build Service Account
f0d75197a8 Merge "WLAN subsystem: Sysctl support for key TCP/IP parameters" 2016-07-19 18:47:51 -07:00
Puja Gupta
06ab5bc8cf soc: qcom: code cleanup for service-locator
Module parameter already exists to control enabling service-locator,
which is enabled by default using kernel command line. Hence removing
sysfs entry 'service_locator_status'.

CRs-Fixed: 1025447
Change-Id: Ie302e79ff838837f214ac50ebfaa6e11f0055915
Signed-off-by: Puja Gupta <pujag@codeaurora.org>
2016-07-19 16:17:37 -07:00
Nicholas Troast
081d5841c7 qcom-charger: smb138x-charger: change power supply type to usb parallel
Currently the type of the parallel power supply is
POWER_SUPPLY_TYPE_BATTERY. Change it to POWER_SUPPLY_TYPE_USB_PARALLEL.

Change-Id: Ic7652e43781f39d3137fb55f2fec2423e457fac4
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2016-07-19 09:09:12 -07:00
Nicholas Troast
6f50a62d39 ARM: dts: msm: update min voltage for pmcobalt s5 and s7
PMCOBALT S5 is an always on regulator that sources the internal
infrastructure for XO. It's minimum operating voltage is 1904 mV.
PMCOBALT S7 has a 900 mV minimum operating voltage.
Update the minimum voltage for PMCOBALT S5 and S7.

Change-Id: I4ec609b45f5313d7c19ff6201742b0c5daf54174
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2016-07-19 09:06:34 -07:00
Linux Build Service Account
7ebe256eaa Merge "ASoC: msm: Add support for 192KHZ sampling rate on mi2s rx ports" 2016-07-19 03:39:57 -07:00
Linux Build Service Account
7e2261a267 Merge "ASoC: msm: Implementing Tx mute in ASM loopback" 2016-07-19 03:39:56 -07:00
Deepak Kushwah
12d028e02f msm: vidc: Add support for setting packed QP range
Add support for setting packed QP range for clients
to set different QP Range for I, P, B frames.

CRs-Fixed: 1043369
Change-Id: I3765506f1d703f47e481719296ab890b1f3dc106
Signed-off-by: Deepak Kushwah <dkushwah@codeaurora.org>
2016-07-19 03:32:47 -07:00
Deepak Kushwah
816c3cbc37 msm: vidc: add support for maximum bitrate rate control mode
Add support for maximum bitrate rate control mode which will be
enabled by low bitrate applications to get better Video quality.

CRs-Fixed: 1043369
Change-Id: I20253a0f0762982fe7d7cb0bde9f64f58a8068fb
Signed-off-by: Deepak Kushwah <dkushwah@codeaurora.org>
2016-07-19 03:32:33 -07:00
Yeleswarapu Nagaradhesh
8aa9aba222 qcom: wcd934x: add pinctrl driver for wcd934x
WCD934X audio codec has a GPIO controller which can support
5 GPIO's, add pinctrl driver to handle GPIO's of wcd934x.

CRs-Fixed: 1041199
Change-Id: I0489f9149cfd6ec7af056d074cb1869a705f9eff
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
2016-07-19 10:58:13 +05:30
Yeleswarapu Nagaradhesh
00f153a5b1 ARM: dts: msm: add sound node for msmcobalt
Add sound node and lnbbclk2 node for msmcobalt
to enable audio functionality.

CRs-Fixed: 1041199
Change-Id: If6066a42b8aa5a820263a88627e2405df5e227b7
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
2016-07-19 10:56:54 +05:30
Abdulla Anam
8ce0856ed3 msm: vidc: check for venus_hfi_device state in resume
Now since resume is called to ensure venus is in power on state
during scale clocks, an issue is seen when client responds to an
error notification with stream_off. This causes scale clocks to
be called which powers_on venus and enable regulators. But an
earlier sys_error deinited all resources and hence a null pointer
exception is seen causing kernel panic.

CRs-Fixed: 1040026
Change-Id: Ibb660397f8e7e3e0cd0a5e672924925e605b2eb7
Signed-off-by: Abdulla Anam <abdullahanam@codeaurora.org>
2016-07-18 22:22:58 -07:00
Chinmay Sawarkar
dd5ea1bc0f msm: vidc: Increase output port buffer size for VP9 decode
For some VP9 Decode bitstreams, current buffer size is not
sufficient. Hence increasing to the full YUV size supported
by HW.

CRs-Fixed: 986311
Change-Id: Ie7720001edbbaed8b202655445707b2b49a69cb1
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
2016-07-18 18:47:03 -07:00
Linux Build Service Account
c4873787c3 Merge "ASoC: aud-ext-clk: enable lnbbclk2 for tavil" 2016-07-18 13:05:23 -07:00
Linux Build Service Account
5effe5f433 Merge "ASoC: wcd934x: enable recording for wcd934x audio codec" 2016-07-18 13:05:19 -07:00
Linux Build Service Account
3a95a76597 Merge "ASoC: wcd934x: add wcd934x audio codec driver" 2016-07-18 13:05:18 -07:00
Linux Build Service Account
d60cc82391 Merge "clk: msm: Add MSM clock config for MSM clock controller" 2016-07-18 08:07:52 -07:00
Shiraz Hashim
b47b524659 ARM: dts: msm: add ion heaps for msmfalcon
Add device tree configuration corresponding to all
supported ion heaps for msmfalcon.

Change-Id: I639e8bfb1275a1b8c8fa5bff3a46f9b34fe49ffe
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
2016-07-18 12:53:07 +05:30
Shiraz Hashim
552bf6df75 ARM: dts: msm: Add initial memory map for msmfalcon
Add carve-outs, firmware regions and other cma areas as
part of initial memory map configuration for msmfalcon.

Change-Id: I2b0d35bf90b92f7fbd4256f339c1567d539e17b2
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
2016-07-18 12:51:25 +05:30
Yeleswarapu Nagaradhesh
a78205449c ASoC: wcd934x: enable recording for wcd934x audio codec
Add support for Analog MIC and Digital MIC recording
for wcd934x codec.

CRs-Fixed: 1041199
Change-Id: I79e07682661fea99baaa29f8807eaf2f684f65be
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
2016-07-17 12:00:16 +05:30
Linux Build Service Account
8665552e83 Merge "clk: msm: clock-gcc-cobalt: Remove support for gcc_bimc_hmss_axi_clk" 2016-07-16 16:26:57 -07:00
Linux Build Service Account
fd57dc5180 Merge "qcom-charger: update parallel charging states after boot" 2016-07-16 16:26:56 -07:00
Olav Haugan
bf25090979 sched/core: Fix uninitialized variable used for tracepoint
When predictive dcvs is enabled a tracepoint will log a value that is
garbage due to being uninitialized. Fix this.

CRs-fixed: 1042660
Change-Id: I2b94e78f2470dbc2fd469b5cab287d643e8f3227
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2016-07-16 11:38:59 -07:00
Olav Haugan
e3473cacaa sched/core: Fix null-pointer dereference
Turning on sched_use_pelt causes a null-pointer dereference in
scheduler. Add correct checking of varable.

CRs-fixed: 1042656
Change-Id: I6e6a57e24b41e4b3d049bfcf694b9ad7e2144dd5
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2016-07-16 10:41:32 -07:00
Linux Build Service Account
5562490ff2 Merge "ASoC: msm: qdsp6v2: Increase PCM capture period size" 2016-07-16 07:34:17 -07:00
Linux Build Service Account
190a8d14b0 Merge "ARM: dts: msm: Add Temperature sensor support for msmfalcon" 2016-07-16 07:34:16 -07:00