Commit graph

450 commits

Author SHA1 Message Date
Raghavendar rao l
1a79536d0e msm: ipa3: Handle race condition to avoid NULL access
Updated change to avoid race condition and NULL pointer access,
In case of SSR and ioctl call while performing QMI transaction.

Change-Id: I09dbf33d76a3a0d9e4917e62aaf1257a1abe2db9
Signed-off-by: Raghavendar rao l <quic_rlomte@quicinc.com>
2022-04-25 08:58:25 +05:30
Vinayaka B M
c36b185506 msm: ipa: Set the logbuf NULL after destroy
Set the ipa3_ctx->logbuf NULL after destroy,or
IPAERR will use the ipa3_ctx->logbuf after free it,
that can make crash

Change-Id: I470c4a043d426d7620c01fadac1f1cd12ad54b08
2022-04-22 09:08:14 +05:30
Cheng Zeng
8aa0d102d8 msm: gsi: Fix the incorrect evt ring pointer
The pointer should be event ring pointer, not transfer
ring pointer, it has chance to get wrong upper 32 bits
when smmu is disabled.

Signed-off-by: Cheng Zeng <quic_chenzeng@quicinc.com>
2022-03-24 16:09:28 +08:00
Ashok Vuyyuru
1024d06f3f msm: ipa3: In deep sleep scenario destroy/ reinitialize uC interrupts
In deep sleep suspend/resume scenario destroy the uC interrupts
in suspend and reinitialize the interrupts in resume

Change-Id: Ib3631cef8e1e78651b6b79aef7f3d65dae0411c2
Signed-off-by: Ashok Vuyyuru <quic_avuyyuru@quicinc.com>
2022-03-17 19:19:06 +05:30
qctecmdr
c94d56d42b Merge "msm: ipa3: Changes to resume only suspend operation complete" 2022-02-08 18:03:49 -08:00
Ashok Vuyyuru
3b56c6e41a msm: ipa3: Changes to resume only suspend operation complete
In suspend abort scenario before receving suspend callback and resume
it again causing issues. To avoid this scenario only if suspend completed
doing resume operation.

Change-Id: I0cf08b4e9ab4f74c44d4bcb14f9472b8332b5f7b
2022-02-03 21:49:40 +05:30
qctecmdr
9c90eafb19 Merge "msm: ipa3: Disable gsi fifo and test bus registers" 2022-02-01 22:06:55 -08:00
Jagadeesh Ponduru
dc1c1a2252 msm: ipa3: Disable gsi fifo and test bus registers
Update change to disable gsi fifo and gsi test bus
registers as these cannot be accessed through IPA_AP.

Change-Id: Icd7c85101a8997eff08acc98dbc1ead7b6067c81
Signed-off-by: Jagadeesh Ponduru <quic_jponduru@quicinc.com>
2022-02-01 22:32:17 +05:30
Himansu Nayak
fd9586ccaf msm: ipa3: Fix to validate the NAT table entries during NAT table init
During NAT table Initialization parameter pass from HLOS, if max/zero
table entries passed it was leading to out of bound read. Adding checks
to validate the table entries before passing to NAT table parameter.

Signed-off-by: Himansu Nayak <quic_himansu@quicinc.com>
2022-01-31 08:07:32 +05:30
Raghavendar rao l
7705d29b41 msm: ipa3: Fix to avoid the boot up crash in non smmu targets
Updated change to perform ipa pre initialization even before
attempting to load the ipa firmware along with pdev node
initialization for non smmu target.

Change-Id: I04421c1f11f0c7b4d7a0f30135741946b157aa2c
Signed-off-by: Raghavendar rao l <quic_rlomte@quicinc.com>
2022-01-26 21:16:25 -08:00
qctecmdr
858b405f06 Merge "msm: ipa3: Deepsleep enable changes" 2022-01-24 23:22:45 -08:00
Srikanth Vakiti
fd9b880034 msm: ipa3: Disable of ODL offload checksum
ODL endpipe offload checksum disabled

Change-Id: I889bdea3ff6287188292ca17aa3df9b579a4fa8e
Signed-off-by: Vakiti Srikanth <quic_vakiti@quicinc.com>
2022-01-21 08:48:22 -08:00
Ashok Vuyyuru
2a2981c643 msm: ipa3: Deepsleep enable changes
Adding support to deepsleep scenario.

Change-Id: I2b388396cf9a7f26f77bbcd49c1014e16475a980
2022-01-21 21:48:07 +05:30
qctecmdr
a3a1d80439 Merge "msm: ipa3: Changes not allow ODL pipe setup during SSR" 2022-01-20 15:17:11 -08:00
qctecmdr
b770fe0aa5 Merge "msm: ipa3: enable ipa register save when device is about to crash" 2022-01-16 21:55:41 -08:00
Raghavendar rao l
8918458fc7 msm: ipa3: enable ipa register save when device is about to crash
Changes to save the IPA/GSI hardware contents onto ipa_reg_save
structure before to crash from APPS side, This support is
starting from IPA 4.5 version uptill 4.11.

Signed-off-by: Raghavendar rao l <quic_rlomte@quicinc.com>

Change-Id: I1680cf7bfab56d4a4888cf90874b92b999c3c9c9
2022-01-12 19:21:13 +05:30
qctecmdr
a17d83f9bb Merge "msm: ipa: use lower order pages" 2022-01-10 23:14:11 -08:00
Ashok Vuyyuru
0c348e3f80 msm: ipa3: Changes not allow ODL pipe setup during SSR
When SSR in progress not allowing to setup ODL pipe.

Change-Id: Ied44a7bafdf90cff2f3b7619da88fe3c31d18956
Signed-off-by: Ashok Vuyyuru <quic_avuyyuru@quicinc.com>
2022-01-07 00:54:28 +05:30
Ashok Vuyyuru
24278e36be msm: ipa: use lower order pages
When order 3 pages are not available, make changes to use
lower order pages to ensure buffers are provided to HW.

Change-Id: I9eea764d678820b0d3f485525310c506ea29c45e
Signed-off-by: Ashok Vuyyuru <quic_avuyyuru@quicinc.com>
2022-01-03 15:14:56 +05:30
Jagadeesh
1234f5d764 msm: ipa3: fix to cleanup the dma allocation.
When commit header table from memory to HW, adding fix to clean
dma allocation if it fails in multiple mapping attempts and also to
clean the allocated mapping of hdr table after commit to HW.

Change-Id: Icbf1b855e34625ffe8f8356a59cddf85a91b0160
Signed-off-by: Jagadeesh Ponduru <quic_jponduru@quicinc.com>
2021-12-22 23:15:45 +05:30
qctecmdr
1ed7eace10 Merge "msm: gsi: Read 64-bit ring RP value from registers" 2021-12-12 23:27:55 -08:00
Cheng Zeng
37dc636f49 msm: ipa: Get device pointers if smmu is disabled
If arm-smmu is not configured, smmu cb will not be
probed, still need to get pdev and uc_pdev.

Signed-off-by: Cheng Zeng <quic_chenzeng@quicinc.com>
2021-12-01 19:04:57 +08:00
Cheng Zeng
e091b01ac4 msm: gsi: Read 64-bit ring RP value from registers
The DMA address allocated may be in 64-bit address
range if dma mask is set to 64-bit, the MSB register
value is required.

Signed-off-by: Cheng Zeng <quic_chenzeng@quicinc.com>
2021-12-01 15:14:48 +08:00
qctecmdr
93c0b93ba9 Merge "msm: ipa: add skb recycle if dma fails during replenish" 2021-11-11 23:49:38 -08:00
Michael Adisumarta
676280f355 msm: ipa: add skb recycle if dma fails during replenish
Add skb recycle when dma mapping fails during rx cache
replenishing.

Change-Id: I4ea2b1581f4d9a404248ce39bb916e58e368b7e4
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
2021-11-11 09:48:53 -08:00
Michael Adisumarta
f34eede3cb msm: ipa: remove initing head again if dma mapping fails
Remove Initializing rx_pkt link if dma mapping fails.

Change-Id: I49d08555c875fc9039805ef8775be3b676f51d08
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
2021-11-11 09:48:14 -08:00
qctecmdr
c01e8606be Merge "msm: ipa3: Adding changes to support the deep sleep mode" 2021-10-29 14:28:41 -07:00
Raghavendar rao l
7f159650b1 msm: ipa3: Retry to attach smmu nodes if fails
Updated change to retry attaching smmu nodes if it fails, in a
deffered work queue with 500msec delay.

Change-Id: Ia54d801543224caf81085fedfd16305eca99995e
Signed-off-by: Raghavendar rao l <rlomte@codequrora.org>
2021-10-29 12:23:19 +05:30
Ashok Vuyyuru
1573aa5bb1 msm: ipa3: Adding changes to support the deep sleep mode
Adding changes to support the deep sleep mode on monaco
target.

Change-Id: I50016848fde9533a856203bc2ad89bf851179a7b
Signed-off-by: Ashok Vuyyuru <quic_avuyyuru@quicinc.com>
2021-10-29 00:29:29 +05:30
Ashok Vuyyuru
cfe6d558b2 msm: ipa3: Fix to NULL terminate the header pointer in proc header table
While resetting the header rules if it find invalid header ID it
will return before freeting proc header table it was leading to use
after free when accessing the header pointer from proc header table.
Adding changes to NULL terminating header pointer in proc header table
after header table deleted from the list.

Change-Id: If270d855d3907e61368336316161a250053e1e62
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
2021-10-20 01:13:15 +05:30
Jagadeesh Ponduru
22bd494f8e msm: ipa3: Pointer Check and Fix overflow in Header Deletion
During header deletion, if there is a HPC referencing to a header,
and the header is deleted, the later commit will cause
writing garbage values to the HW during commit.

Change-Id: Ib8bb490e38c57d975c21e5848850cd79263c95fe
Signed-off-by: Jagadeesh Ponduru <jponduru@codeaurora.org>
2021-10-19 11:42:33 +05:30
qctecmdr
0a09ea53e5 Merge "msm: ipa3: Add change to not reset HOLB timer" 2021-10-09 10:26:20 -07:00
Piyush Dhyani
53b139775c msm: ipa3: Queue nop desc again if it fails.
Currently during nop desc send, we are setting
nop pending flag to false before queing desc,
due to which we are not able to queue nop desc
again if it fails for first time. Now setting
nop pending flag to false only if we successfully
queued nop desc.

Change-Id: Ice0b3726f2ff0e81c0e5b041346e0ba06619ef62
Signed-off-by: Piyush Dhyani <pdhyani@codeaurora.org>
2021-10-08 02:33:07 -07:00
qctecmdr
282b45f3c2 Merge "msm: ipa3: increasing the uC interrupt timeout value" 2021-10-07 09:24:55 -07:00
qctecmdr
a2f7bb1dbd Merge "msm: ipa3: Add retry attempts for subsystem loading" 2021-10-07 03:40:05 -07:00
Jagadeesh Ponduru
2b90d4b534 msm: ipa3: increasing the uC interrupt timeout value
Increased the timeout value of ipa3_uc_send_cmd
from 10 to 20 in ipa3_uc_debug_stats_alloc function.

Change-Id: I5be5839c60b84226872a22e8a05bb712e395e62d
Signed-off-by: Jagadeesh Ponduru <jponduru@codeaurora.org>
2021-10-07 11:05:59 +05:30
qctecmdr
8e10232fe5 Merge "msm: ipa3: Add wait queue for the adpl" 2021-10-06 06:46:22 -07:00
qctecmdr
1e296239a8 Merge "msm: ipa3: Configure HOLB for WLAN2 consumer pipe" 2021-10-06 05:11:09 -07:00
Ashok Vuyyuru
a1ff843b17 msm: ipa3: Add wait queue for the adpl
add changes to wait queue for the adpl.

Change-Id: I5330cbf7fe1439e04c011c143bdd68657469c36e
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
2021-10-06 11:25:13 +05:30
Jagadeesh Ponduru
8c256e028e msm: ipa3: Add change to not reset HOLB timer
For Q6 endpoints add change to not reset the HOLB timer
value to zero instead of default value. Add change to
enable HOLB twice for IPA 4.x targets.

Change-Id: Ic9596e711b037d24ae25835cb6dd193ec040d723
Signed-off-by: Praveen Kurapati <pkurapat@codeaurora.org>
Signed-off-by: Jagadeesh Ponduru <jponduru@codeaurora.org>
2021-09-30 16:59:18 +05:30
qctecmdr
7db2d04afd Merge "msm: ipa: Fix to free up all pending EOB pages" 2021-09-29 10:51:08 -07:00
Raghavendar rao l
e0f12e040a msm: ipa3: Add retry attempts for subsystem loading
Whenever subsystem loading fails to load ipa firmware, updated
change to load untill it succeeds.

Change-Id: I8b600e8e03030dfbd2e255a4a2148bef942dfe11
Signed-off-by: Raghavendar rao l <rlomte@codequrora.org>
2021-09-29 17:51:58 +05:30
qctecmdr
08b7be4f68 Merge "msm: ipa3: Fix null pointer dereference error" 2021-09-27 02:06:44 -07:00
Chaitanya Pratapa
27b85ef356 msm: ipa: Fix to free up all pending EOB pages
Make changes to free up all pending EOB pages when SKB allocation
used to handle EOT is failed as we could end up in a frag
overflow.

Change-Id: I80ae84d00d1bbf2cf89e97261d2fe8c3742eda04
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
Signed-off-by: Jagadeesh Ponduru <jponduru@codeaurora.org>
2021-09-24 19:15:15 +05:30
Cheng Zeng
9e52c6925f msm: ipa3: Fix null pointer dereference error
If smmu is not enabled, smmu context device check
was missing before accessing it which was resulting
in null pointer dereference. Now adding check
before accessing it.

Change-Id: I94393524c79847a165ba605d34906525640b359a
Signed-off-by: Cheng Zeng <chenzeng@codeaurora.org>
2021-09-17 12:55:07 +08:00
Praveen Kurapati
bcd36e8871 msm: ipa3: Reduced excessive logs from ipa
Due to excessive logs from ipa it blocks other tasks execution.
Ratelimit added inorder to reduce the logs.

Change-Id: I00ae9b1e62dd14d82e22d3c788b68d0474a8de87
Signed-off-by: Praveen Kurapati <pkurapat@codeaurora.org>
2021-09-10 08:07:22 -07:00
Jagadeesh Ponduru
9cd88fea7f msm: ipa3: Configure HOLB for WLAN2 consumer pipe
To avoid temporary stall on WLAN client enabling the HOLB on
WLAN2 consumer pipe.

Change-Id: I3920205f7f62dbdd240da162fab4158ab8e070b4
Signed-off-by: Jagadeeesh Ponduru <jponduru@codeaurora.org>
2021-09-07 11:21:05 +05:30
Ilia Lin
ccad254cc1 ipa: Null persistent pointers after free
Assign NULL to pointers that may be used later
after calling kfree on them.

Change-Id: I3298eb484c92ee2373f0bc41aae8ae45fb373cf0
Signed-off-by: Ilia Lin <ilialin@codeaurora.org>
2021-08-26 11:14:33 +03:00
qctecmdr
86100918ae Merge "msm: ipa3: Change spin lock in release_gsi_channel" 2021-08-17 16:19:48 -07:00
Sivakanth Vaka
c0b30d82be msm: ipa3: Change spin lock in release_gsi_channel
Changed the spin_lock in ipa3_release_gsi_channel
to spin_lock_irqsave to avoid getting interrupted
while stop channel is command is executed.

Signed-off-by: Sivakanth Vaka <svaka@codeaurora.org>
2021-08-17 21:10:15 +05:30