Commit graph

589366 commits

Author SHA1 Message Date
Rob Clark
c9d1b0f37a drm/msm: deal with arbitrary # of cmd buffers
For some optimizations coming on the userspace side, splitting larger
draw or gmem cmds into multiple cmdstream buffers, we need to support
much more than the previous small/arbitrary limit.

Change-Id: Ic0dedbad2f79156f4e6c9f70c8e27cd5fff9acdb
Signed-off-by: Rob Clark <robdclark@gmail.com>
Git-commit: 6b597ce2f7c7a0f8116d753902db9aba6bc05cb0
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[jcrouse@codeaurora.org: fix some merge conflicts]
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-05-04 14:07:07 -06:00
Jordan Crouse
f88d0c4524 drm/msm: Don't allow zero sized buffer objects
Zero sized buffer objects tend to make various bits of the GEM
infrastructure complain:

 WARNING: CPU: 1 PID: 2323 at drivers/gpu/drm/drm_mm.c:389 drm_mm_insert_node_generic+0x258/0x2f0

Zero sized buffers serve no appreciable value to the user so disallow
them at create time.

Change-Id: Ic0dedbada2a0250227d7ee8c45c35dc92a826c67
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-05-04 14:07:07 -06:00
Jordan Crouse
c0cdf12705 drm/msm: Allocate secure buffer objects
Allow the user to allocate and use secured buffer objects. Secured
buffer objects are suitable for use as a write target while the GPU
is in secure mode. They work exactly like regular buffers except
Secure buffers cannot be mmap()ed.

Change-Id: Ic0dedbadd8135fd8472b38ddf61e2bc70983b12f
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-05-04 14:07:07 -06:00
Jordan Crouse
f3cb10780a drm/msm: Support importing secure buffers
Check to see if an imported buffer is an Ion secure buffer and mark
it as such so that it can be used for secure rendering.

Change-Id: Ic0dedbadb414dcbb11d70785d61481a1b7bd4e19
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-05-04 14:07:06 -06:00
Jordan Crouse
90dbea373e ion: Add ion_dma_buf_is_secure() to query buffer type
Outside clients (such as the display or GPU) may import a dmabuf
and need to figure out if it is secure so that it can be handled
accordingly. In an ideal world this would be part of the generic
dma-buf structure but until then we can assume that the only outside
source of dmabuf-ified secure buffers is Ion so add a function to
directly query the status of the buffer from Ion.

ion_dma_buf_is_secure() returns true if the dmabuf was created
by Ion and was created from a secure heap.

Change-Id: Ic0dedbad5e5a4464c6948f05bb7e0e3e94cd4cc2
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-05-04 14:07:06 -06:00
Jordan Crouse
b2fd7c67bc drm/msm: Support secure rendering for A5XX targets
A5XX targets support GPU rendering on secured surfaces by going
into a special secure mode to execute the commands.  In secure mode
GPU rendering can only write to secure buffers that have been mapped
in an appropriately secured pagetable. In secure mode the GPU can read
both secure and unsecure buffers and the CP engine can only access
unsecured buffers (so commands do not need to be secure).

Secure buffers virtual addresses must fall into a specific range; this
is the clue to the GPU that it should use the secure pagetable
instead of the regular one.  For A5XX targets that range will start
at 0xC0000000 and be 256MB in size. All secure buffers in all processes
share the same pagetable.

Add a secure address space for A5XX targets and automatically trigger
into secure mode if any buffer in the submission is marked as secure.

Change-Id: Ic0dedbad8f7168711d10928cd1894b98f908425f
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-05-04 14:07:05 -06:00
Linux Build Service Account
2db428de0b Merge "drm/msm: Add preemption records to QTI GPU snapshot" 2017-05-03 23:32:11 -07:00
Linux Build Service Account
48a0c93e1d Merge "msm: camera: ispif: extend interface with line width" 2017-05-03 23:32:10 -07:00
Linux Build Service Account
6669dae7d1 Merge "msm: camera: Allow driver file to be opend only once." 2017-05-03 23:32:08 -07:00
Linux Build Service Account
a1e1d01429 Merge "msm: camera2: cpp: Fix out-of-bounds frame or command buffer access" 2017-05-03 23:32:06 -07:00
Linux Build Service Account
9d0c2b4690 Merge "iommu/iommu-debug: Add validation support for per-buffer coherent mappings" 2017-05-03 23:32:05 -07:00
Linux Build Service Account
2f04bcd6dc Merge "Revert "smb138x: introduce support for smb1355"" 2017-05-03 23:31:51 -07:00
Linux Build Service Account
7e299cee46 Merge "Revert "smb138x: use chg src bit to disable parallel charger"" 2017-05-03 23:31:50 -07:00
Linux Build Service Account
7d2dbd9538 Merge "Merge branch 'android-4.4@e4528dd' into branch 'msm-4.4'" 2017-05-03 23:31:48 -07:00
Linux Build Service Account
bf5ab4a6aa Merge "defconfigs: Sync up defconfigs" 2017-05-03 23:31:47 -07:00
Linux Build Service Account
de0bc8ca46 Merge "soc: qcom: minidump: move elf global variables to structure" 2017-05-03 23:31:45 -07:00
Linux Build Service Account
5020492d4f Merge "soc: qcom: minidump: update error message log level" 2017-05-03 23:31:44 -07:00
Linux Build Service Account
3015e7db67 Merge "icnss: Initialize the structure member properly" 2017-05-03 23:31:13 -07:00
Linux Build Service Account
2496676424 Merge "regulator: onsemi-ncp6335d: Fix compilation issues" 2017-05-03 23:31:08 -07:00
Linux Build Service Account
495301846e Merge "profiler: Reorder the bandwidth counter structure" 2017-05-03 23:31:06 -07:00
Abhijeet Dharmapurikar
b65544bd63 Revert "smb138x: introduce support for smb1355"
This reverts commit 566b44214c (smb138x:
introduce support for smb1355).

This is not required since smb1355 support is moved to its own driver.

Change-Id: Ibad8595c09a865e273adb6f30d6a75f931220131
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-05-03 13:51:53 -07:00
Abhijeet Dharmapurikar
df7b29506b Revert "smb138x: use chg src bit to disable parallel charger"
This reverts commit 0f0e36134d ("smb138x:
use chg src bit to disable parallel charger)

This is not required, since smb1355 support is moved to its own driver.

Change-Id: I1bd454030d29195f03be132d167ec8294169b9d5
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-05-03 13:51:53 -07:00
Abhijeet Dharmapurikar
9d0fdc3738 qpnp-smb2: Support faking input current limited state
Support faking input current limited state. This is very helpful
in testing/debugging the software based vbus changing algorithms.

Change-Id: I7cf548c94397ee680c9d65343c49ec7b16873e88
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-05-03 13:51:52 -07:00
Fenglin Wu
15a68a61bd power: qcom: smb2: Add REAL_TYPE property for usb power_supply
Add POWER_SUPPLY_PROP_REAL_TYPE property for usb_psy to present its real
charger type. POWER_SUPPLY_PROP_TYPE in usb_psy is always set to
POWER_SUPPLY_TYPE_USB_PD for healthd to recognize it as an AC charger.
Also add usb_port_psy with POWER_SUPPLY_TYPE_USB type is added for healthd
to recognize it as an USB host. Their ONLINE properties will be updated
according to the VBUS status, type-c mode and real charger type.
With this type being set statically, update the usb phy and pd policy
engine code to look at real type.

Change-Id: I90aa69325cc82b09dfb513c0eeecbc61e092a57f
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-05-03 13:48:19 -07:00
Lingutla Chandrasekhar
198c5bc334 soc: qcom: minidump: move elf global variables to structure
Current driver implementation uses global variables to create
minidump elf header.

Move all elf global variables into a structure, and also replace
'msm_minidump_enabled' API with 'minidump_enabled' global variable.
And also add minidump_table address in elf, which would be useful
for parsers to get memory dump table addresses without vmlinux symbols.

Change-Id: I8829d88ce234179f429ae9537a3582df794c2cdf
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
2017-05-03 23:04:19 +05:30
Lingutla Chandrasekhar
6437df9e5d soc: qcom: minidump: fix logic checks in elf traversals
Fix logical checks in minidump elf traversal functions.

Change-Id: I649fc9ae66d616982a61f71f66f2abe378212660
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
2017-05-03 23:02:11 +05:30
Lingutla Chandrasekhar
e1e90feb55 soc: qcom: minidump: update error message log level
Current implementation uses pr_info to print error messages.

Update driver prints log level with pr_err instead of
pr_info, and also update with proper error number for
minidump table update failure return.

Change-Id: I27667715c71b361b9ee0f7856c94242d3ca21014
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
2017-05-03 22:58:25 +05:30
Stephen Boyd
e18d923a3b defconfigs: Sync up defconfigs
We recently renamed CONFIG_UID_CPUTIME, but didn't update all the
defconfigs.

Change-Id: Ic52f904d6ada3d0e32a8278ec95f7b34b29f96b9
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2017-05-03 08:42:43 -07:00
Linux Build Service Account
5d78c03af8 Merge "net: wireless: Update regdb for 60G band" 2017-05-03 03:42:42 -07:00
Linux Build Service Account
e8c139bc05 Merge "mmc: core: Use mmc_reset instead of power_restore" 2017-05-03 03:42:41 -07:00
Linux Build Service Account
ae001c2e2e Merge "mmc: core: Do regular power cycle when lacking eMMC HW reset support" 2017-05-03 03:42:40 -07:00
Linux Build Service Account
1b83a4b457 Merge "ASoC: sdm660_cdc: Update volatile register set for cache bypass" 2017-05-03 03:42:39 -07:00
Linux Build Service Account
7407b90c6d Merge "ASoC: msm: qdspv2: add result check when audio process fail" 2017-05-03 03:42:38 -07:00
Linux Build Service Account
1a410c53c6 Merge "defconfig: msm8998: Enable MHI related drivers" 2017-05-03 03:42:37 -07:00
Linux Build Service Account
107513ced3 Merge "tty: serial: msm: Move request_irq to the end of startup" 2017-05-03 03:42:36 -07:00
Kiran Gunda
08e56dd325 regulator: onsemi-ncp6335d: Fix compilation issues
Fix the compilation issue seen due to the regulator framework
changes from 3.10 to 4.4 kernel. Also remove the redundant error
messages during the memory allocation failures.

Change-Id: I4887c2d3acaff562fb41e6c2eaeb2c1ef2c1bde5
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
2017-05-03 15:06:51 +05:30
Lingutla Chandrasekhar
d2e8712af2 defconfig: msm: perf: disable cache dumps support
During Mini dump collection, cache dump needs extra memory
and time hence disable it in perf builds.

Change-Id: I68aae6edf676c27b8443fdcc88ece05fa3a26748
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
2017-05-03 14:41:14 +05:30
Hardik Kantilal Patel
8695eb7e45 icnss: Initialize the structure member properly
After cold boot calibration WLAN FW send pin connect result to
platform driver through qmi indication message. To avoid uninitialized
access of pin connect result structure member initialize it properly.

CRs-Fixed: 2042000
Change-Id: I5654583e890f9ee67ddcc632aecd9ecb8a160062
Signed-off-by: Hardik Kantilal Patel <hkpatel@codeaurora.org>
2017-05-03 14:24:51 +05:30
Sharat Masetty
96605f759f drm/msm: Add preemption records to QTI GPU snapshot
This patch helps dump the full 64k per ring preemption
record to GPU snapshot which is collected during GPU
recovery step. We use the general object snapshot section
type to store these records and we only collect the preemption
records if preemption was going to kick in, which is when
the number of rings is greater than one.

Change-Id: I1872bc14c6b39c8c4963ce9c98e96b03cbfec907
Signed-off-by: Sharat Masetty <smasetty@codeaurora.org>
2017-05-03 12:53:29 +05:30
Sayali Lokhande
3970ec5d3d mmc: core: Use mmc_reset instead of power_restore
On 4.4 kernel, 'commit 364549ddc2 ("mmc: core: Remove
redundant ->power_restore() callback for MMC")' removed
power_restore callback for MMC since mmc_reset is
implemented. Hence use reset instead of power_restore in
mmc_cmdq_hw_reset. Also modify the caller function mmc_cmdq_hw_reset
to properly use the mmc_reset.

Change-Id: Ia06d579401b6a083b164dff7a253d1eb3caef1a3
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
Signed-off-by: Vijay Viswanath <vviswana@codeaurora.org>
2017-05-03 12:16:53 +05:30
Gwendal Grignou
ea7ba3abc3 mmc: core: Do regular power cycle when lacking eMMC HW reset support
The eMMC HW reset may be implemented either via the host ops ->hw_reset()
callback or through DT and the eMMC pwrseq. Additionally some eMMC cards
don't support HW reset.

To allow a reset to be done for the different combinations of mmc hosts
and eMMC/MMC cards, let's implement a fallback via trying a regular power
cycle. This improves the mmc block layer retry mechanism of failing I/O
requests.

Change-Id: I5cafd54327cde22ea9599543382f1b294272a42c
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
[Ulf: Rewrote changelog]
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Git-commit: 4e6c71788d6bb0e5438fc9211fa6e52dcca01474
Git-repo: git://git.linaro.org/people/ulf.hansson/mmc.git
[vviswana@codeaurora.org: resolve trivial merge conflicts]
Signed-off-by: Vijay Viswanath <vviswana@codeaurora.org>
2017-05-03 12:14:17 +05:30
Anirudh Ghayal
660dbf1cf4 drivers: regulator: Add snapshot of OnSemi NCP6335D regulator
This is snapshot of the OnSemi NCP6335D driver as of msm-3.10
'commit 156ba1726643 ("regulator: onsemi-ncp6335d: Add i2c retry logic")'.

Change-Id: I4cf0acd272fcf498462d4397385cd62f144eadf8
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
2017-05-03 10:45:09 +05:30
Linux Build Service Account
e3c33c9d53 Merge "tty: serial: msm: fix potential race b/w startup and irq handling" 2017-05-02 19:30:29 -07:00
Linux Build Service Account
199c942a22 Merge "msm: ipa3: fix a race condition on clock vote from suspend" 2017-05-02 19:30:28 -07:00
Linux Build Service Account
79fecc9a9a Merge "fs: ecryptfs: Cache to be cleared after file write" 2017-05-02 19:30:26 -07:00
Linux Build Service Account
5a54c56e49 Merge "msm: ipa: Add mutext protection when updating notify req cache" 2017-05-02 19:30:25 -07:00
Linux Build Service Account
8afac4e65f Merge "msm: camera: Fix NULL pointer dereference in msm_vb2.c." 2017-05-02 19:30:19 -07:00
Sujeev Dias
49da06535b defconfig: msm8998: Enable MHI related drivers
MHI host and related drivers provide communication between
host and external modem. Enable it.

CRs-Fixed: 2041725
Change-Id: I1fbdfa7f17d158c1b6a33eb14497add495454bd1
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-05-02 16:55:36 -07:00
Sudarshan Rajagopalan
058ccb2933 iommu/iommu-debug: Add validation support for per-buffer coherent mappings
Added new debugfs files/nodes to perform basic validation of the
per-buffer IO coherent dma-mapping that was recently implemented.
Also, added a node to print out the PTE for a given IOVA.

Nodes added:
dma_attach
dma_map
dma_unmap
dma_atos
virt_addr
pte

Change-Id: I041ab5f4e37e50dd3f58e2def3fdd3125a60629c
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
2017-05-02 10:32:42 -07:00
Linux Build Service Account
8d60131090 Merge "ASoC: msm: qdsp6v2: Clear pass-through mode on routing close" 2017-05-02 09:07:43 -07:00