Commit graph

583222 commits

Author SHA1 Message Date
Sujeev Dias
fcfe80f8cc mhi: core: Add support for new MHI hardware channel
Add support for new MHI hardware channel 102 to be
use by MHI clients as ADPL channel.

CRs-Fixed: 1027069
Change-Id: Ib3c2019fc269064d097bb7f40f01d4580e63a603
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-02-22 18:15:58 -08:00
Sujeev Dias
219eb11023 mhi: core: Do not clear transaction status
MHI transaction status stores the OVERFLOW status
received from device.  MHI clients uses this
status to determine overflow buffers, do
not clear the status.

CRs-Fixed: 1042516
Change-Id: Iaaff06c1c39775d6a33ca17851f1e1579b2a2ecb
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-02-22 17:35:38 -08:00
Sujeev Dias
0f889f7e46 msm: mhi: Check bb ring and transfer ring when checking for space
When checking for available spaces, check available spaces on
both bounce buffer ring and transfer ring and return min.

Change-Id: I9208b46c32821de3f5d9e3d828087d7bc29b9546
CRs-Fixed: 1055681
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-02-22 13:12:22 -08:00
Sujeev Dias
3d25629c67 mhi: core: add missing MHI state
Add missing state MHI_STATE_RESERVE to MHI states
look up table.

CRs-Fixed: 1049595
Change-Id: I9a6bd2750f81f6cabc1e7b5aff488b4a01f7897d
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-02-22 13:03:13 -08:00
Sujeev Dias
4267834dd4 mhi: core: Preserve DB Mode state during lpm
When exiting low power modes (M3) do not reset
the DB Mode state if DB mode preserve flag is
set for channel.

CRs-Fixed: 1022868
Change-Id: I6557d28afe9d0ac11b76c683ffba76d7d6ffd377
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-02-21 17:12:25 -08:00
Sujeev Dias
8526dcd425 mhi: core: Do not reset doorbell mode during MHI_M3 abort
In order to avoid being out of sync between MHI client
and MHI host, host shall not reset the doorbell modes for
hardware channels during MHI_M3 state transition abort.

CRs-Fixed: 1023725
Change-Id: I6c742fc968fd57d71a86039bf1f3f65b1362bc90
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-02-21 17:12:01 -08:00
Tony Truong
683cb7801e mhi: core: Lock MHI_M3 state transition
To avoid any race conditions between MHI_M2 state
transition and MHI_M3 state transition lock the
entire MHI_M3 transition using xfer_lock.

CRs-Fixed: 972390
Change-Id: I7c2e1b7b3966dc5fb8bf2f91bce734bbc58c6fd7
Signed-off-by: Tony Truong <truong@codeaurora.org>
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-02-21 16:23:59 -08:00
Sujeev Dias
ac489269bb mhi: core: add memory barrier after ring operations
There are instances when MHI channel context read
pointer can be accessed simultaneously by different
CPU cores. To make sure read pointer updates visible
to all cores, add a memory barrier after completion
of MHI ring operation.

CRs-Fixed: 966338
Change-Id: Ifc8c4cd7595fed9049009c42420a665fb170079f
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-02-21 16:23:58 -08:00
Sujeev Dias
667012017d msm: mhi: fix error handling
Validate the channel prior to proceeding further.
Unlock spin lock before jumping to error handler.

CRs-Fixed: 1016969
Change-Id: Ie3328f878b582a333ae15f3b950c258ec42fd768
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-02-21 16:23:58 -08:00
Sujeev Dias
fc63288a51 mhi: core: change logs to print MHI_STATEs in text
Instead of printing enum index convert MHI_STATE
enum to text representation for easier interpretation
of debug logs.

CRs-Fixed: 1012249
Change-Id: I97a9a7ff293c739531d8197334a0f0a35bf20419
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-02-21 16:23:57 -08:00
Sujeev Dias
78f1bef7e5 mhi: core: Protect DB register when handling DB MODE
Possibility exist when handling a DB MODE event another
core to queue a TRE to same channel.  During that time
CC ctxt WP may get updated, however DB MODE event thread
still be using a stale WP.  Add a lock to synchronize
DB MODE event thread and queue TRE thread.

CRs-Fixed: 1005752
Change-Id: I7f285da8751a867a1c3d651466537368799eb657
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-02-21 16:23:49 -08:00
Linux Build Service Account
c4b8f73455 Merge "ARM: dts: msm: Enable APC0/1 CPR closed-loop operation for sdm660" 2017-02-20 19:44:30 -08:00
Linux Build Service Account
14e732143d Merge "drm/msm: gpu: Return error on hw_init failure" 2017-02-20 19:44:28 -08:00
Linux Build Service Account
09191dbe4d Merge "drm/msm: Detach the MMU during msm_gpu_cleanup()" 2017-02-20 19:44:27 -08:00
Linux Build Service Account
31516ed735 Merge "msm: mdss: fix secure session power vote" 2017-02-20 19:44:27 -08:00
Linux Build Service Account
8c91258981 Merge "clk: qcom: Add support to list registers for slew PLL" 2017-02-20 19:44:26 -08:00
Linux Build Service Account
4b649675b7 Merge "certs: dm-verity: add keyring certification for verity" 2017-02-20 19:44:25 -08:00
Linux Build Service Account
56b0a1f166 Merge "ppp: defer netns reference release for ppp channel" 2017-02-20 10:08:27 -08:00
Linux Build Service Account
e7d1ccb3fa Merge "power: qcom-charger: delay ICL change reporting to parallel psy" 2017-02-20 10:08:26 -08:00
Linux Build Service Account
41bb68940b Merge "ARM: dts: msm: Enable camera for sdm630" 2017-02-20 10:08:25 -08:00
Linux Build Service Account
e4dff026df Merge "ARM: dts: msm: Add max secure video sessions for sdm660" 2017-02-20 10:08:24 -08:00
Linux Build Service Account
4d49e3647c Merge "ARM: dts: msm: add support for NO jacktype for SDM630" 2017-02-20 10:08:24 -08:00
WANG Cong
a1e9116dac ppp: defer netns reference release for ppp channel
Matt reported that we have a NULL pointer dereference
in ppp_pernet() from ppp_connect_channel(),
i.e. pch->chan_net is NULL.

This is due to that a parallel ppp_unregister_channel()
could happen while we are in ppp_connect_channel(), during
which pch->chan_net set to NULL. Since we need a reference
to net per channel, it makes sense to sync the refcnt
with the life time of the channel, therefore we should
release this reference when we destroy it.

Fixes: 1f461dcdd296 ("ppp: take reference on channels netns")
Reported-by: Matt Bennett <Matt.Bennett@alliedtelesis.co.nz>
Cc: Paul Mackerras <paulus@samba.org>
Cc: linux-ppp@vger.kernel.org
Cc: Guillaume Nault <g.nault@alphalink.fr>
Cc: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Reviewed-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Git-repo:https://source.codeaurora.org/quic/la/kernel/msm-4.4
Git-commit: 205e1e255c479f3fd77446415706463b282f94e4

Change-Id: Ic7ce3be365ebdc1505ed8ce68df981c855638a3c
Signed-off-by: Srinivasa Rao Kuppala <srkupp@codeaurora.org>
2017-02-19 15:57:19 -08:00
Jordan Crouse
efa51be2e1 drm/msm: gpu: Return error on hw_init failure
When the GPU hardware init function fails (like say, ME_INIT timed
out) return error instead of blindly continuing on. This gives us
a small chance of saving the system before it goes boom.

Change-Id: Ic0dedbad142efbc9bd93e8531b40c391ec15f557
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-02-19 16:07:56 -07:00
Jordan Crouse
41f5926f41 drm/msm: Detach the MMU during msm_gpu_cleanup()
Make sure to detach the MMU device before destroying the address
space.

Change-Id: Ic0dedbadff27fed017840a61ec5e0d55ce0c71e6
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-02-19 16:07:56 -07:00
Jordan Crouse
ffd2f3eb42 drm/msm: Support different SMMU backends for address spaces
SDE and the GPU have different requirements for the SMMU backends - the
SDE generates its own iova addresses and needs special support for DMA
buffers and the GPU does its own IOMMU operations. Add a shim layer to
aspace to break out the address generation and call the appropriate
SMMU functions. There is probably consolidation that can be done, but for
now this is the best way to deal with the two use cases.

Change-Id: Ic0dedbadc6dc03504ef7dffded18ba09fb3ef291
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-02-19 16:07:56 -07:00
Rob Clark
1de066f014 drm/msm: support multiple address spaces
We can have various combinations of 64b and 32b address space, ie. 64b
CPU but 32b display and gpu, or 64b CPU and GPU but 32b display.  So
best to decouple the device iova's from mmap offset.

Change-Id: Ic0dedbad2b36b535df3e8fb2ddddc20add592cea
Signed-off-by: Rob Clark <robdclark@gmail.com>
Git-commit: 22877bcbdacd50d076f9b2f829e6a3753aa9821f
Git-repo: https://github.com/freedreno/kernel-msm.git
[jcrouse@codeaurora.org: Fix merge conflicts, remove mdp5 due to large
infrastructure changes, compile fixes]
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-02-19 16:07:56 -07:00
Linux Build Service Account
5a092dc83c Merge "msm: ipa: Do not assert if IPA FW loading fails" 2017-02-19 09:46:35 -08:00
Linux Build Service Account
3436baed84 Merge "ath10k: Add support for shadow register for WNC3990" 2017-02-19 09:46:35 -08:00
Ghanim Fodi
a13e78525f msm: ipa: Do not assert if IPA FW loading fails
Currently, IPA driver asserts if IPA FW loading
fails. Some environments do not have IPA FW
integrated and we should not crash at these cases.

CRs-fixed: 2005599
Change-Id: I78b9f2cadb8c35ab455f4514c7efc9cee4cf4542
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
2017-02-19 06:58:14 -08:00
Linux Build Service Account
6f0b536eb7 Merge "power: qcom-charger: fix minor bugs in parallel path" 2017-02-19 01:04:40 -08:00
Linux Build Service Account
73069045ea Merge "power: qcom-charger: add a workaround flag for QC AUTH interrupt" 2017-02-19 01:04:39 -08:00
Linux Build Service Account
3fae2f4837 Merge "ARM: dts: msm: fix the compatible string used for GFX LDO CPR for sdm630" 2017-02-19 01:04:39 -08:00
Linux Build Service Account
e7d1d81cfb Merge "ARM: dts: msm: increase the system pm levels in sdm660" 2017-02-19 01:04:38 -08:00
Linux Build Service Account
523d252348 Merge "ARM: dts: msm: Enable wil6210 device for 8998 qrd-vr" 2017-02-19 01:04:37 -08:00
Linux Build Service Account
c3ad604dca Merge "ARM: dts: msm: Correct the number of bus frequency levels for SDM630" 2017-02-19 01:04:36 -08:00
Linux Build Service Account
943a2abd1a Merge "defconfig: msm: Enable BALANCE_ANON_FILE_RECLAIM for sdm660" 2017-02-19 01:04:36 -08:00
Linux Build Service Account
35dc4eff61 Merge "ARM: dts: msm: Fix DCVS load for SDM660" 2017-02-18 16:15:19 -08:00
Linux Build Service Account
1e81b8b188 Merge "drm/msm: add put_iova() helper" 2017-02-18 16:15:14 -08:00
Linux Build Service Account
1b3c3b33a7 Merge "drm/msm: set dma_mask properly" 2017-02-18 16:15:12 -08:00
Linux Build Service Account
ae42883322 Merge "wil6210: convert symbolic permissions to octal permissions" 2017-02-18 16:15:10 -08:00
Linux Build Service Account
b02b05a6d4 Merge "wil6210: option to override A-BFT length in start AP/PCP" 2017-02-18 16:15:09 -08:00
Linux Build Service Account
5d755997fd Merge "wil6210: report association ID (AID) per station in debugfs" 2017-02-18 16:15:08 -08:00
Linux Build Service Account
c9874a8186 Merge "wil6210: remove __func__ from debug printouts" 2017-02-18 16:15:08 -08:00
Linux Build Service Account
97115a67ec Merge "ARM: dts: msm: Update cpufreq table for sdm630" 2017-02-18 06:38:28 -08:00
Linux Build Service Account
6aff0fb88a Merge "ARM: dts: msm: add ESD and ULPS support for SDM660 panels" 2017-02-18 06:38:27 -08:00
Linux Build Service Account
99c09871f6 Merge "msm: mdss: Rate limit hist bin error logs" 2017-02-18 06:38:26 -08:00
Linux Build Service Account
d0f2ea3824 Merge "msm: mdss: Use DMA pipe in pan display path for SDM 3.x.x" 2017-02-18 06:38:25 -08:00
Linux Build Service Account
237a49b330 Merge "msm: sde: Fix SW timestamp initialization when missing power event" 2017-02-18 06:38:24 -08:00
Linux Build Service Account
4160f2ac41 Merge "msm: mdss: fix autorefresh during kickoff" 2017-02-18 06:38:24 -08:00