ipa3_ctx variable not able to access from the client module and so
adding changes to get qmap id details from ipa core driver.
Change-Id: I215ed0137fdad531e23be35b496d4b8e4a43a554
Signed-off-by: Ashok Vuyyuru <quic_avuyyuru@quicinc.com>
During adding/deleting header rule found invalid entry not
freeing the header proc memory allocation due to that IPA
context bank page table was full, later it was failed
to map pages. To avoid this issue adding change to
free the memory in failed scenarios.
Change-Id: I8e5fd68d35579b4638e91590f5df876aa9d256a6
Signed-off-by: Ashok Vuyyuru <quic_avuyyuru@quicinc.com>
This ensures the network stack that skb->network_header
sits in the valid range of skb->data to skb->tail.
Change-Id: I6061eddc81cb2e9bd0e4d52ceddab792c332e15c
Signed-off-by: Jagadeesh Ponduru <quic_jponduru@quicinc.com>
Adding changes to have a stats when the apps system
pipes failed to setup.
Change-Id: I5cbe23d77736f447665db5258e21386f220d1096
Signed-off-by: Jagadeesh Ponduru <quic_jponduru@quicinc.com>
In XLAT scenario QMAP ID not updated in TX packets, due to that
it was not hitting not correct filter rules. Adding changes to
update QMAP ID field in metadata field for GSB client.
Change-Id: Ic6bfceb0b8e34316507eaf551fb2b62f085a3519
Whenever WAN CONS/WAN_COAL_CONS pipes setup fails,
cleaning up the allocated common buffer and temp pools.
Change-Id: I08c58d7bd36edbe820137d3fd760900598c4c8e6
Signed-off-by: Jagadeesh Ponduru <quic_jponduru@quicinc.com>
Currently WQ was exiting when page allocation was failed, due to
that number of WQ schedule will increase. To avoid this retrying the
page allocation in same WQ context.
Change-Id: Iefb85ae1552aa595a0959664c3ba55f6aa742551
Signed-off-by: Ashok Vuyyuru <quic_avuyyuru@quicinc.com>
Adding a change to check whether the pipe has been
setup or not before going to teardown the pipe.
Change-Id: Ibb408fdf3509facd6c18e3238bdbfd7da0b4a643
Signed-off-by: Jagadeesh Ponduru <quic_jponduru@quicinc.com>
After passing ipa_q6_clnt pointer to function, if it freed in
different thread it may lead to NULL pointer access. So adding
check to see passed pointer valid or not.
Change-Id: I22e272ebdecc62756ee140081524ab4efdd3d02a
Signed-off-by: Ashok Vuyyuru <quic_avuyyuru@quicinc.com>
Fix to NULL terminate the peers list ptr
after freeing it, to get rid of use after
free issue.
Change-Id: Ide9fde9e7648a7af561a5b0ae0fa085810e59ea6
Signed-off-by: Prashanth Reddy Baddam <quic_pbaddam@quicinc.com>
From IPAv4.5 versions IPA_TOS_EQ is considered as not supported
and it made to 0XFF, instead IPA_IS_PURE_ACK is given support.
So, when validating the bitfield equations of them, passing
eq_bitfield[i] will throw shift overflow warning as it takes 0xFF.
So, added change to ensure there are no overflow warnings.
Change-Id: I84384723433706784a4ef21b88f33b036edb0a5d
Signed-off-by: Jagadeesh Ponduru <quic_jponduru@quicinc.com>
Added some NULL checks to avoid memcpy with zero size,
Updated checks for unsigned integer variables.
Change-Id: Ia426da6b1af04fb5226ba9bbf22f0fce11e4dff0
Signed-off-by: Raghavendar rao l <quic_rlomte@quicinc.com>
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>
In SSR scenario if QMI response delayed SSR events getting timeout,
To avoid this issue reduce the QMI timeout value from 60sec to 10sec.
Change-Id: Ib0113a91f9bd60b3ea0e374bf249d4859a22a040
Signed-off-by: Ashok Vuyyuru <quic_avuyyuru@quicinc.com>
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
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>
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>
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
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>
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>
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>
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
When SSR in progress not allowing to setup ODL pipe.
Change-Id: Ied44a7bafdf90cff2f3b7619da88fe3c31d18956
Signed-off-by: Ashok Vuyyuru <quic_avuyyuru@quicinc.com>
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>
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>
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>
Remove Initializing rx_pkt link if dma mapping fails.
Change-Id: I49d08555c875fc9039805ef8775be3b676f51d08
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
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>
Adding changes to support the deep sleep mode on monaco
target.
Change-Id: I50016848fde9533a856203bc2ad89bf851179a7b
Signed-off-by: Ashok Vuyyuru <quic_avuyyuru@quicinc.com>
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>