Commit graph

2888 commits

Author SHA1 Message Date
Linux Build Service Account
56f84db22e Merge "mhi: core: Using usleep_range instead of msleep for sleep" 2017-06-06 13:21:45 -07:00
Linux Build Service Account
21852febc3 Merge "mhi: mhi_uci: Create char dev only after PCIe device ID is known" 2017-06-05 04:34:36 -07:00
Linux Build Service Account
1ef397af3d Merge "mhi: core: Bind devices with variable PCIe device IDs with same device node" 2017-06-05 04:34:35 -07:00
Linux Build Service Account
c403d314f9 Merge "msm: ipa3: Fix to add check for dma_map_single return values" 2017-06-05 04:34:33 -07:00
Sujeev Dias
22cd52fbe8 mhi: core: Using usleep_range instead of msleep for sleep
msleep is not accurate for small delays.  Use usleep_range
for accuracy.

CRs-Fixed: 1117121
Change-Id: I9a076f843875bd83a21c96d4e4ea0510e82ce352
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-06-03 18:08:44 -07:00
Sujeev Dias
b5a2b57e74 mhi: mhi_uci: Create char dev only after PCIe device ID is known
MHI host may not have PCIe device info during channel
registration. Defer creation of char device until
PCIe bus enumeration is completed.

CRs-Fixed: 2040899
Change-Id: I6372523bd6a758f29dad09d207b86c3f87e2f2cc
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-06-01 18:44:28 -07:00
Sujeev Dias
422f644515 mhi: core: Bind devices with variable PCIe device IDs with same device node
In order to bind devices with variable PCIe device IDs with same device
tree node, make PCIe device ID optional parameter in device tree node.
If PCIe device ID not specified in device tree, any device can be bind
with the node.

CRs-Fixed: 2040899
Change-Id: Iaedcb40db15fa0e8c5c30eb147c904a10cd7569d
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-06-01 11:08:08 -07:00
Linux Build Service Account
d4caef59c0 Merge "mhi: core: Only allow registration if channel is supported by endpoint." 2017-06-01 01:53:10 -07:00
Linux Build Service Account
b5c7db0743 Merge "mhi: core: Fix memory leak in MHI DE_INIT" 2017-06-01 01:53:09 -07:00
Sujeev Dias
66551f19b5 mhi: core: Only allow registration if channel is supported by endpoint.
Not all endpoints support all channels supported by MHI host. Only allow
clients to register if requested channel is supported by endpoint.

CRs-Fixed: 2053250
Change-Id: Ib4bd8d21b8f43d693da30b8fafe2cb9d2e128a17
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-05-31 14:07:31 -07:00
Sujeev Dias
6491d72c2a mhi: core: Fix memory leak in MHI DE_INIT
During MHI INIT, memory is allocated for firmware and
rddm vector table. This memory is not freed when DE_INIT
is called.

CRs-Fixed: 2053206
Change-Id: I85b2644189915dd25d8ac31190f16799f86cbd12
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-05-31 14:07:31 -07:00
Linux Build Service Account
350f6ac817 Merge "msm: ipa: Fix to use GFP_DMA flag" 2017-05-30 09:01:09 -07:00
Linux Build Service Account
8c1e34400a Merge "msm: ipa: fix security issues in ipa wan driver" 2017-05-27 18:12:11 -07:00
Linux Build Service Account
de3a51ca17 Merge "msm: mdss: remove HDMI connected flags" 2017-05-27 18:12:02 -07:00
Utkarsh Saxena
fd92093b0a msm: ipa: Fix to use GFP_DMA flag
IPAv2 hardware works with 32 bit addressing,
so allocate a kernel memory using GFP_DMA flag
which is processed by IPA hardware. Added code
changes to free correct tx_pkt pointer in fail_dma_map condition.

Change-Id: I5f7005c3bf89275fd56af648ee5bf1b3d06afc38
Acked-by: Ashok Vuyyuru <avuyyuru@qti.qualcomm.com>
Acked-by: Mohammed Javid <mjavid@qti.qualcomm.com>
Signed-off-by: Utkarsh Saxena <usaxena@codeaurora.org>
2017-05-26 19:28:56 +05:30
Utkarsh Saxena
431fad8778 msm: ipa3: Fix to add check for dma_map_single return values
Add a error check for return of dma_map_single
using dma_mapping_error API.Added code
changes to free correct tx_pkt pointer in fail_dma_map condition.

Change-Id: Ib1f9164eef4bfbe4cda26fd1eced1f581fdf1e66
Acked-by: Ashok Vuyyuru <avuyyuru@qti.qualcomm.com>
Signed-off-by: Utkarsh Saxena <usaxena@codeaurora.org>
2017-05-26 15:03:39 +05:30
Linux Build Service Account
66a27a3a8f Merge "mhi: core: fix potential buffer overflow" 2017-05-26 00:10:34 -07:00
Linux Build Service Account
03da53eca2 Merge "msm_11ad: define ops_keep_radio_on_during_sleep as static" 2017-05-26 00:09:47 -07:00
Skylar Chang
917cd579ac msm: ipa: fix security issues in ipa wan driver
Fix the security issue in handling add mux channel event
in ipa wan driver.

Change-Id: Ic2ffeafddad4954ec3ecba0d675646d0790eede7
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
Acked-by: Shihuan Liu <shihuanl@qti.qualcomm.com>
2017-05-25 16:36:49 -07:00
Linux Build Service Account
2371551ec1 Merge "msm_11ad: fix device-tree property name" 2017-05-25 15:52:04 -07:00
Linux Build Service Account
2c0e368fdc Merge "msm: ipa: Fix post init in workqueue context" 2017-05-25 15:51:55 -07:00
Sujeev Dias
632e3c71d3 mhi: core: fix potential buffer overflow
Fix a potential buffer overflow that could occur
during firmware download by storing buffer address
locally instead of inside MHI context.

CRs-Fixed: 1109397
Change-Id: If27ba602cdafdc8d25a94fdc0d74e8970bf0b0f4
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-05-24 11:28:32 -07:00
Maya Erez
51a3d8babe msm_11ad: define ops_keep_radio_on_during_sleep as static
Define ops_keep_radio_on_during_sleep as static as it is used
only in msm_11ad context.

Change-Id: Id95579961ce5cdd3fbdf063578bd4d9144f8a725
Signed-off-by: Maya Erez <merez@codeaurora.org>
2017-05-23 22:26:25 +03:00
Hamad Kadmany
b7f36ff2fc msm_11ad: fix device-tree property name
Change keep_radio_on_during_sleep DT property to follow
the naming convention.

Change-Id: I6450cfdfe38a4cf5b1b1ccb40b5506a34aeb076a
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
Signed-off-by: Maya Erez <merez@codeaurora.org>
2017-05-22 13:33:54 +03:00
Utkarsh Saxena
2931599ee9 msm: ipa: Fix post init in workqueue context
ipa post init is accessed from user space
context from ops structure.

While user space program triggered post init
there could be a chance, where the
user space context may get killed at any time,
due to which the memory allocation in post init
gets failed and in turn which clean up the
IPA driver.

Because the memory allocation of the
sigkill pending process will fail.

Make changes in ops structure write func-pointer to
queue a work instead of directly invoking post init.

So that ipa post init will execute in workqueue context.

Change-Id: Ia11b3a868d960111422c357bcc9924ef7b220e67
Acked-by: Mohammed Javid <mjavid@qti.qualcomm.com>
Signed-off-by: Utkarsh Saxena <usaxena@codeaurora.org>
2017-05-18 16:09:00 +05:30
Dedy Lansky
9e94fb237b msm_11ad: clear affinity hint upon low bus request
When driver calls ops_bus_request with high bandwidth requirement,
affinity of wil6210 interrupt is set to first big core. However this
setting is not cleared when driver lowers bandwidth requirement.
This causes WARN_ON_ONCE(desc->affinity_hint) upon wil6210 rmmod.

Fix this by clearing affinity hint upon low bandwidth request.

Change-Id: I87b6b7ec9b369b84a9d3724d92a821a1302d1f83
Signed-off-by: Dedy Lansky <dlansky@codeaurora.org>
2017-05-17 03:09:10 -07:00
Maya Erez
9b372ef962 msm_11ad: add support to PCIe D3hot in system suspend
Transition to D3 hot in system suspend allows the wil6210
device to preserve the active connections in system suspend.

Change-Id: I4c24551f91ee7e59d4bfee02b0911c31ae0a05b1
Signed-off-by: Maya Erez <merez@codeaurora.org>
2017-05-15 16:57:58 +03:00
Maya Erez
36fc0ea2ed wil6210: add support for PCIe D3hot in system suspend
In order to preserve the connection in suspend/resume flow,
wil6210 host allows going to PCIe D3hot state in suspend,
instead of performing a full wil6210 device reset. This
requires the platform ability to initiate wakeup in case of
RX data. To check that, a new platform API is added.
In addition, add cfg80211 suspend/resume callbacks
implementation.

Change-Id: I3846eaaa8d6e9ecbe5adbb0c04c7574865d5af5e
Signed-off-by: Maya Erez <merez@codeaurora.org>
2017-05-15 16:57:46 +03:00
Linux Build Service Account
3930cf3fa7 Merge "msm: ipa: support aggregated ipa stats query" 2017-05-10 23:04:02 -07:00
Linux Build Service Account
abb1d6bee6 Merge "drm/msm: notify hpd status when audio codec is ready" 2017-05-10 23:03:56 -07:00
Linux Build Service Account
af1b766297 Merge "msm: ipa: apply reset wa to GPI channels" 2017-05-10 23:03:42 -07:00
Skylar Chang
896cdfb809 msm: ipa: support aggregated ipa stats query
add support on wan-driver to query modem or
wlan-fw to get the total data usage for all
tethered clients.

Change-Id: I56f40f1c0f6b2ec4279e78b3aeb81c687d08bf2e
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2017-05-08 15:13:55 -07:00
Skylar Chang
052b82d3e4 msm: ipa: apply reset wa to GPI channels
When resetting a GSI channel a special handling is needed
if there is an open aggregation frame. This handling is applied
to USB and MHI channels. This commit applies this handling to
GPI (system) channels as well.

Change-Id: Iebdf3d7375a4bd584c75503f01e64d7106f25e5a
CRs-Fixed: 2029089
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2017-05-08 09:46:18 -07:00
Linux Build Service Account
a1409b4b4b Merge "seemp: check array index range" 2017-05-05 18:10:29 -07:00
Yida Wang
21d772b83f seemp: check array index range
Check whether array index is within the bounds in
seemp_logk_get_bit_from_vector().

Change-Id: Idccf75736582b2390540f4d7b3351c018937186a
Signed-off-by: Yida Wang <yidaw@codeaurora.org>
2017-05-05 11:39:19 -04:00
Linux Build Service Account
06d9001dc4 Merge "msm: ipa: Add a support to retry uC send command" 2017-05-04 17:44:30 -07:00
Linux Build Service Account
17178c9391 Merge "msm: ipa3: configure WLAN resource group on connect" 2017-05-04 08:45:05 -07:00
Utkarsh Saxena
8a834f9977 msm: ipa: Add a support to retry uC send command
For the status IPA_HW_2_CPU_WDI_RX_FSM_TRANSITION_ERROR,
receive from the uC, add a logic to retry sending the same
command for maximum of 10 retires.

Change-Id: I4b241311e0699aea0e24b3a279622a8a1aaa737d
Acked-by: Mohammed Javid <mjavid@qti.qualcomm.com>
Signed-off-by: Utkarsh Saxena <usaxena@codeaurora.org>
2017-05-04 16:27:52 +05:30
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
5a54c56e49 Merge "msm: ipa: Add mutext protection when updating notify req cache" 2017-05-02 19:30:25 -07:00
Linux Build Service Account
3939f41b22 Merge "Merge remote-tracking branch 'remotes/quic/dev/msm-4.4-8996au' into msm-4.4" 2017-05-02 09:07:39 -07:00
Zhiqiang Tu
b15484bc06 Merge remote-tracking branch 'remotes/quic/dev/msm-4.4-8996au' into msm-4.4
Conflicts:
	arch/arm/boot/dts/qcom/msm8996-auto-cdp.dtsi
	drivers/gpu/drm/msm/Makefile

Change-Id: Ief80c28ff1422fd71a0c3d2041531e2ab078ee7a
Signed-off-by: Zhiqiang Tu <ztu@codeaurora.org>
2017-05-02 08:59:16 +08:00
Skylar Chang
a3488e9398 msm: ipa3: fix channel stop retry logic
Stopping a PROD channel might result in a timeout because the
channel is not empty, or IPA is busy. Whether or not to retry
a stop operation is determined by channel owner.
This change removes the common retry logic of retrying to stop
a PROD channel and adds a retry only for the scenario it is
actually needed.

Change-Id: I7ac1e81f7f99de2b0c3162aa5aaea2102a450838
CRs-Fixed: 2037955
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2017-05-01 12:18:40 -07:00
Skylar Chang
c3646075c2 msm: ipa3: fix a race condition on clock vote from suspend
There is a potential race condition where suspend interrupt
handling might be running from two different context in parallel.
Add a mutex to ensure mutual exclusion when voting for IPA clocks.

CRs-Fixed: 2037199
Change-Id: I7f14866696b6c9f5e239f3de2c4bad6991097ecb
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2017-05-01 11:13:35 -07:00
Linux Build Service Account
6c740e8f93 Merge "Merge branch 'android-4.4@b834e92' into branch 'msm-4.4'" 2017-04-28 22:10:46 -07:00
zhaoyuan
3c1b6b9787 msm: mdss: remove HDMI connected flags
There's no need to check whether the device has been connected
when disconnect it, for we'll always do disconnect after the device
has been connected. Even if we do disconnect incorrectly, it'll not
affect. Now we have both ASYNC_AUDIO/VIDEO flag and SYNC_AUDIO/
VIDEO flag. Sometimes SYNC flag would be set when device is connected,
while ASYNC flag is set when disconnect, the two flags are not match.
If we check here, that would return false. So we could remove the flags.

CRs-Fixed: 2033810
Change-Id: I305f64352815cd38a4c9618bcd22a4d103c14818
Signed-off-by: zhaoyuan <yzhao@codeaurora.org>
2017-04-28 14:20:25 +08: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
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