Commit graph

589255 commits

Author SHA1 Message Date
Linux Build Service Account
66939ff491 Merge "msm: camera: isp: Rate limit tasklet overflow logs" 2017-04-28 01:45:03 -07:00
Linux Build Service Account
afc8bbbe14 Merge "ARM: dts: msm: configure PM8998 S5 and S7 for mode pin control on msm8998" 2017-04-28 01:45:02 -07:00
Linux Build Service Account
9024ae2828 Merge "soc: qcom: ipc_router_mhi_xprt: Handle xfer event in atomic context" 2017-04-28 01:45:01 -07:00
Linux Build Service Account
8ef51a8fee Merge "msm: mdss: dsi: reset phy during idle screen" 2017-04-28 01:45:00 -07:00
Linux Build Service Account
c999d51f5e Merge "cfg80211: size various nl80211 messages correctly" 2017-04-28 01:44:58 -07:00
Linux Build Service Account
fdc293285a Merge "cfg80211: Fix documentation for connect result" 2017-04-28 01:44:57 -07:00
Linux Build Service Account
0135897159 Merge "cfg80211: Add KEK/nonces for FILS association frames" 2017-04-28 01:44:56 -07:00
Veerabhadrarao Badiganti
4c2bdc5879 mmc: core: Update the logic of controlling clk scaling through sysfs
mmc clock scaling can be disabled/enabled through sysfs.
The present logic in this path deregisters/registers with devfreq
every time. Instead of this, we can simply suspend/resume the clock
scaling when requested for disabling/enabling clock scaling.
This patch updates the mentioned logic.

With original logic, observed deadlock between devfreq registration
and cmdqd thread in low memory conditions. The updated logic fixes
this deadlock condition aswell.

Change-Id: Ifee1ffbe24b13b8f5dc1c9f0579ce9ddf4b4faf3
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
2017-04-28 13:52:58 +05:30
Stephen Boyd
052bc68945 ARM: boot: Silence 'zimage-dtb is ready' message
We should use kecho here instead of echo, so that make -s will
skip printing anything here. Otherwise, builds with make -s will
be confused and consider this informational message a
warning/error.

Change-Id: I4c854636e5b8b7e8b11eba8e5a52824ebee50ea1
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2017-04-28 00:42:07 -07:00
Anurag Chouhan
d65bd33775 icnss: Add support to handle SSR within SSR
Add state bit to defer recursive shutdown. This state
bit adds support for synchronization between reinit
and shutdown method during SSR within SSR.

Change-Id: Ifb857ecdb6545709706380631c423f0e24269e11
Signed-off-by: Anurag Chouhan <achouhan@codeaurora.org>
2017-04-28 00:01:54 -07:00
Prasad Sodagudi
72ad6c93c5 qcom: PMRESR register read returns zero for un supported group events
Kryo has 3 groups of events PMRESR0, 1, 2. If kryo_read_pmresr()
is asked to read other than these 3 event groups, return ZERO value.

Change-Id: Ifa348baa749182bb0dcb67562195472699301b1a
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
Signed-off-by: Mohammed Khajapasha <mkhaja@codeaurora.org>
2017-04-28 10:39:42 +05:30
Venu Yeshala
4a2a491f3d msm: camera: isp: Rate limit tasklet overflow logs
This will help reduce excessive logging in case of tasklet
overflow scenarios.

Change-Id: I93f8442c4dcf725cab2d722694d194921b764aff
Signed-off-by: Venu Yeshala <vyeshala@codeaurora.org>
2017-04-27 20:14:33 -07:00
Linux Build Service Account
c01ba1a5f9 Merge "defconfig: enable LCDB support in SDM660-perf_defconfig" 2017-04-27 16:52:24 -07:00
Linux Build Service Account
e81c2469a3 Merge "fs/dcache: Fix indefinite wait in d_invalidate()" 2017-04-27 16:52:22 -07:00
Linux Build Service Account
b2134f2da2 Merge "ANDROID: AVB error handler to invalidate vbmeta partition." 2017-04-27 16:52:21 -07:00
Linux Build Service Account
14f6942674 Merge "USB: dwc3: msm: Fix error handling with dwc3_msm_ep_queue()" 2017-04-27 16:52:20 -07:00
Chris Lew
b9d9a75d24 soc: qcom: ipc_router_mhi_xprt: Handle xfer event in atomic context
The MHI driver requires the MHI_CB_XFER event handling be atomic.
This change makes the addr map locks into spinlocks so sleep is
avoided while processing the XFER event.

CRs-Fixed: 1089824
Change-Id: I7bd8f606f92095bb47741aa54a846b687fe948b9
Signed-off-by: Chris Lew <clew@codeaurora.org>
2017-04-27 16:48:36 -07:00
Ben Romberger
652f4b389f ASoC: msm: qdsp6v2: Clear pass-through mode on routing close
On close of the routing driver clear the pass-through
mode flag of the backend dai.

Change-Id: Ie09d687bf418d77e8442da6da7ced3cc3788a5da
Signed-off-by: Ben Romberger <bromberg@codeaurora.org>
2017-04-27 15:23:14 -07:00
Alex Sarraf
94432569a4 input: misc: hbtp-input: Support for FB_BLANK_NORMAL event
Add support for handling FB_BLANK_NORMAL event.

Change-Id: Ifd3c1c1eb2e1101bfcd354252711eb67fc362c57
Signed-off-by: Alex Sarraf <asarraf@codeaurora.org>
2017-04-27 14:11:29 -07:00
Linux Build Service Account
0abd412d83 Merge "ARM: dts: msm: Enable KPDPWR software debounce for PM660" 2017-04-27 07:07:01 -07:00
Linux Build Service Account
25bccae9ef Merge "ARM: dts: msm: add support for truly amoled panel on sdm660 and sdm630" 2017-04-27 07:07:00 -07:00
Linux Build Service Account
b22e2a0488 Merge "msm: mdss: enable backlight gpio after commit is done" 2017-04-27 07:06:59 -07:00
Linux Build Service Account
5a2c0c09ea Merge "msm: sde: fix to handle invalid format in sde rotator" 2017-04-27 07:06:58 -07:00
Linux Build Service Account
d8a07d98dc Merge "msm: mdss: align the size of smmu domain mapping to 128 MB" 2017-04-27 07:06:56 -07:00
Linux Build Service Account
4467ae74f8 Merge "ARM: dts: msm: Add QRD device nodes for HDK660/630 boards" 2017-04-27 07:06:55 -07:00
Linux Build Service Account
f19ae4651f Merge "msm: dsi: Turn off supplies in low power state" 2017-04-27 07:06:54 -07:00
Linux Build Service Account
86dc30eade Merge "Merge branch 'android-4.4@c71ad0f' into branch 'msm-4.4'" 2017-04-27 07:06:52 -07:00
Linux Build Service Account
9d9b16e021 Merge "msm: ipa: fix IPC low priority logging" 2017-04-27 07:06:51 -07:00
Linux Build Service Account
dfa58d63ec Merge "msm: gsi: fix IPC low priority logging" 2017-04-27 07:06:30 -07:00
Linux Build Service Account
7428b8e268 Merge "diag: Fix to check for command length size" 2017-04-27 07:06:28 -07:00
Linux Build Service Account
99a42662cf Merge "mhi: core: add support for 64bit doorbell address" 2017-04-27 07:06:27 -07:00
Linux Build Service Account
51d0cf59d8 Merge "msm: ipa: Fix race condition between shared memory" 2017-04-27 07:06:25 -07:00
Linux Build Service Account
425b75778a Merge "ashmem: add mutex to set size ioctl" 2017-04-27 07:06:23 -07:00
Linux Build Service Account
42306cb9b7 Merge "msm: mdss: Add check to avoid NULL pointer dereference" 2017-04-27 07:06:21 -07:00
Mayank Rana
0fb60edc71 USB: dwc3: msm: Fix error handling with dwc3_msm_ep_queue()
If __dwc3_msm_ep_queue() fails, then req_complete is freed
but it is not being removed from mdwc->request_list. This
may result into list_add corruption issue on next USB cable
connect when USB endless request is queued. Fix this issue
by deleting req_complete from mdwc->req_complete_list.

CRs-Fixed: 1007571
Change-Id: I00300bc529db75593939a13fbea33acefa717da5
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2017-04-27 04:29:14 -07:00
Ashay Jaiswal
b5d63b4e49 defconfig: enable LCDB support in SDM660-perf_defconfig
LCDB driver exposes regulators to control the positive and
negative voltage bias for the LCD display panel. It also
allows ability to configure for the various bias-voltage
parameters.

Change-Id: I339345520a47c117e37e57a7b1f37ff2aead3dd8
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
2017-04-27 16:37:20 +05:30
Linux Build Service Account
7d78f564eb Merge "input: misc: hbtp_input: filter out fb events" 2017-04-26 18:49:03 -07:00
Anirudh Ghayal
f6f4074ad0 ARM: dts: msm: Enable KPDPWR software debounce for PM660
Enable the SW debounce handling for KPDPWR_N rising edge.

CRs-Fixed: 2032520
Change-Id: Ic099d38abdd7693425d0e2510a0ef8fc52a69b95
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2017-04-27 06:58:23 +05:30
Anirudh Ghayal
dfdb97d8b9 input: qpnp-power-on: Add debounce for KPDPWR_N rising edge
On certain PMICs, an unexpected assertion on KPDPWR_DBC may
be seen during falling edge of KPDPWR_N when it is closer
to the rising edge of SLEEP_CLK. This triggers spurious
KPDPWR interrupts. Handle this by adding a debounce in SW
when the first KPDPWR_N falling edge is seen.

The debounce logic is enabled by the DT property
'qcom,kpdpwr-sw-debounce'.

CRs-Fixed: 2032520
Change-Id: I7655c13bda47fa6e2983650d7bec21e52aa91c2f
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2017-04-27 06:55:50 +05:30
Bhalchandra Gajare
5779144880 ASoC: msm-lsm-client: use kzalloc instead of kmalloc
In the ioctl function, driver allocates memory to store data
internally before calling copy_to_user to copy data to user-space.
It is possible that kernel internal information can be leaked to
user space through this if the allocated memory is not completely
overwritten with valid data. Use kzalloc to fix this.

CRs-fixed: 2026045
Change-Id: I754ae2157034a135aaca4a15badf10d2567b7ed6
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2017-04-26 17:29:27 -07:00
David Zeuthen
b40bc405c2 ANDROID: AVB error handler to invalidate vbmeta partition.
If androidboot.vbmeta.device is set and points to a device with vbmeta
magic, this header will be overwritten upon an irrecoverable dm-verity
error. The side-effect of this is that the slot will fail to verify on
next reboot, effectively triggering the boot loader to fallback to
another slot. This work both if the vbmeta struct is at the start of a
partition or if there's an AVB footer at the end.

This code is based on drivers/md/dm-verity-chromeos.c from ChromiumOS.

Example:

 [    0.000000] Kernel command line: rootfstype=ext4 init=/init console=ttyS0,115200 androidboot.console=ttyS0 androidboot.hardware=uefi_x86_64 enforcing=0 androidboot.selinux=permissive androidboot.debuggable=1 buildvariant=eng dm="1 vroot none ro 1,0 2080496 verity 1 PARTUUID=6779df46-78f6-4c69-bf53-59bb1fbf126b PARTUUID=6779df46-78f6-4c69-bf53-59bb1fbf126b 4096 4096 260062 260062 sha1 4f76354c86e430e27426d584a726f2fbffecae32 7e4085342d634065269631ac9a199e1a43f4632c 1 ignore_zero_blocks" root=0xfd00 androidboot.vbmeta.device=PARTUUID=b865935d-38fb-4c4e-b8b4-70dc67321552 androidboot.slot_suffix=_a androidboot.vbmeta.device_state=unlocked androidboot.vbmeta.hash_alg=sha256 androidboot.vbmeta.size=3200 androidboot.vbmeta.digest=14fe41c2b3696c31b7ad5eae7877d7d188995e1ab122c604aaaf4785850b91f7 skip_initramfs
 [...]
 [    0.612802] device-mapper: verity-avb: AVB error handler initialized with vbmeta device: PARTUUID=b865935d-38fb-4c4e-b8b4-70dc67321552
 [...]
 [    1.213804] device-mapper: init: attempting early device configuration.
 [    1.214752] device-mapper: init: adding target '0 2080496 verity 1 PARTUUID=6779df46-78f6-4c69-bf53-59bb1fbf126b PARTUUID=6779df46-78f6-4c69-bf53-59bb1fbf126b 4096 4096 260062 260062 sha1 4f76354c86e430e27426d584a726f2fbffecae32 7e4085342d634065269631ac9a199e1a43f4632c 1 ignore_zero_blocks'
 [    1.217643] device-mapper: init: dm-0 is ready
 [    1.226694] device-mapper: verity: 8:6: data block 0 is corrupted
 [    1.227666] device-mapper: verity-avb: AVB error handler called for PARTUUID=b865935d-38fb-4c4e-b8b4-70dc67321552
 [    1.234308] device-mapper: verity-avb: invalidate_vbmeta: found vbmeta partition
 [    1.235848] device-mapper: verity-avb: invalidate_vbmeta: completed.
 [...]

Bug: 31622239
Test: Manually tested (other arch).
Change-Id: Idf6be32d6a3d28e15de9302aa26ad6a516d663aa
Signed-off-by: David Zeuthen <zeuthen@google.com>
Git-commit: 8d6f006d60
Git-repo: https://android.googlesource.com/kernel/common/
[runminw@codeaurora.org: resolve trivial merge conflicts]
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
2017-04-26 13:33:51 -07:00
David Zeuthen
330da40c21 ANDROID: Update init/do_mounts_dm.c to the latest ChromiumOS version.
This is needed for AVB integration work.

Bug: 31796270
Test: Manually tested (other arch).
Change-Id: I32fd37c1578c6414e3e6ff277d16ad94df7886b8
Signed-off-by: David Zeuthen <zeuthen@google.com>
Git-commit: 6a6a7657c2
Git-repo: https://android.googlesource.com/kernel/common/
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
2017-04-26 13:33:24 -07:00
Jordan Crouse
d84fd15df0 msm/drm: Move msm_drm_config configuration into the GPUs
With the upcoming secure code the decision tree for configuration
(deciding where virtual addresses start/stop, etc) is going to get
a bit more complex. Head issues off at the pass by moving the
configuration into the GPU specific code.  This does result in a
bit more code duplication but it is a lot cleaner.

Change-Id: Ic0dedbad57c11a4bba01825214d0a7853ab537ba
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-04-26 12:08:10 -06:00
Jordan Crouse
8e00aa10d2 msm/drm: Add secure support to GPU IOMMU
Add support for creating a secure domain in the GPU IOMMU. By default
the secure domain is bound to context bank name "gfx3d_secure".

Change-Id: Ic0dedbad19f69ec4175624dc80f2114bfda2e195
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-04-26 12:08:09 -06:00
Jordan Crouse
0bea8c919a drm/msm: Remove iommu names during attach
None of the existing iommu implementations use the names passed in
at attach time by the API. Save a bit of .data room by removing
the static string definitions and passing NULL to the attach function.

Change-Id: Ic0dedbada9561768b8d9716ea101619e6b549ea4
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-04-26 12:08:09 -06:00
Jordan Crouse
f0eb0ed585 drm/msm: Add enable/disable hooks for mmu
5XX targets that are using per-process pagetables will need to
keep the IOMMU clocks on the entire time because we don't know
exactly when the GPU might touch it.  That said there are
occassional depencency issues if the clocks are enabled out
of order.  To be certain we should enable the MMU clocks last
and disable them first.  Add enable/disable hooks to the MMU
struct to do this cleanly from the GPU pm_resume / pm_suspend
paths.

Change-Id: Ic0dedbad8e2298e55c90b29eed657baa0933ddcf
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-04-26 12:08:08 -06:00
Jordan Crouse
4e061d8b60 drm/msm: Refactor GPU IOMMU
Very soon we will be adding support for secure domains and so a bit of
refactoring is needed the GPU IOMMU code:

 * Add support for directly probing the context bank device at create
instead of at attach. This makes it a little bit easier to directly
associate a mmu device with a specific context bank.

 * Specify the domain type at create time. Add a new domain type
MSM_DOMAIN_USER to associate the user domain with the gfx3d_user
context bank.  Also add MSM_DOMAIN_DEFAULT with no context bank
for legacy devices (read MDP4) with only one context bank
to attach to the parent device. Adding a domain type saves us from
having to create N entry points for each domain type.

Note that dynamic domains stay with their own initalization function.
This is because dynamic domains are cloned from the parent domain
so the semantics are too different to try to smash into the generic
functions.

Change-Id: Ic0dedbad41692e776cddc72cda653ae637f9ec77
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-04-26 12:08:07 -06:00
Jordan Crouse
1576b22ae9 drm/msm: Finish consolidating the address space code
Now that the SMMU/IOMMU differences have been resolved the only delta
between the SMMU and the IOMMU address space implementations is the
actual address space allocation which we can work around by assuming
the caller doesn't want address generation if they specify the same
start and end address (i.e. 0).

With that optimization we can get rid of the address space
sub functions and a bunch of otherwise duplicated code.

Change-Id: Ic0dedbaddef0fcd3a8f39e30f95c71245d84f111
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-04-26 12:08:06 -06:00
Jordan Crouse
438cdcdae0 drm/msm: Get rid of the MMU ->map_dma_buf and ->unmap_dma_buf funcs
Finish consolidating the MMU map and unmap operations into a single
function. By passing in the meta token to map/unmap the specific
SMMU operations can make a local decision as to which function to
call.

Change-Id: Ic0dedbad52aac6ed1317411b2667755794d1818f
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-04-26 12:08:06 -06:00
Jordan Crouse
82fbc52e90 drm/msm: Consoldate mmu ->map and mmu ->map_sg
For all intents and purposes the mmu ->map function has used a
scatter gather list for some time. Drop the pretense and just
make both the SMMU and IOMMU flavors use the sg flavor of their
respective iommu API functions. As a result we can drop the
map_sg hooks in the SMMU driver and get rid of a considerable
amount of re-invented wheels in the IOMMU driver.

Change-Id: Ic0dedbadc4724c8ae389892fb85610435c5c08cf
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-04-26 12:08:05 -06:00