IPA HW tries to prefetch 128 Bytes of additional memory when
dealing with filter/routing tables. This can result in overflowing
of memory if we map only the required size. Make changes to
consider prefetch memory when allocating routing/filter tables.
Change-Id: Id72e4df285a4683dddebb18d98bb9c4dd9667eeb
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
Added checks for input validation to handle request from ipa3_wan_ioctl.
Change-Id: I4deddba21a4754ea3b5137b13ef5c450fdb3b73b
Signed-off-by: Himansu Nayak<quic_himansu@quicinc.com>
In wait for completion timeout function using the right conversion
not required to pass the msec to jiffies value. So passing the
timeout value directly.
Change-Id: Ic151c5570778595774919b02c2fec0eabf0245ce
Add changes to register offset. Due to which
GSI channel allocation fails.
Change-Id: Iba36fe8c9124339316788a4396127bc7a9b1485f
Signed-off-by: Praveen Kurapati <pkurapat@codeaurora.org>
Ehanced flow control, used secondary flow control for mhi pipes.
1. TX/RX MHI QMAP pipe setup before modem QMI server is up
• Part of MHI_QMAP UL pipe, AP will set secondary FC.
• When both UL and DL MHI QMAP pipes setup, since modem not up yet, no-op.
• When modem server is up, AP will send ENDP_DESC QMI for QMAP control pipe from rmnet_ipa driver.
2. TX/RX MHI QMAP pipe setup after modem QMI server is up
• When modem server is up, don’t send ENDP_DESC QMI for QMAP control pipe.
• Part of MHI_QMAP UL pipe setup, AP will set secondary FC.
• After both UL and DL MHI QMAP pipe setup, send ENDP_DESC QMI for QMAP control pipe from mhi client driver.
3. Modem QMI server is up in middle of TX/RX MHI QMAP pipe setup
• Part of MHI_QMAP UL pipe, AP will set secondary FC.
• When modem server is up, if only single pipe setup, don’t send ENDP_DESC QMI for QMAP control pipe.
• After both UL and DL MHI QMAP pipe setup, send ENDP_DESC QMI for QMAP control pipe from mhi client driver.
4. MHI control pipe teardown and setup again while device modem remains up
• Part of MHI_QMAP UL pipe re-setup, AP will set secondary FC.
• After both UL and DL MHI QMAP pipe setup, send ENDP_DESC QMI for QMAP control pipe from mhi client driver.
• Q6 need to make sure it can support duplicate QMI of same ENDP_DESC info. Instead of skip the same QMI, we should do same operation based on QMI.
5. Modem SSR while MHI control pipes remain connected
• AP need to set secondary FC part of modem SSR handling.
• When modem server is up, AP will send ENDP_DESC QMI for QMAP control pipe from rmnet_ipa driver.
Change-Id: Iad7d4006d65cc71320b9fbf29c644dc31ef50c4b
1. Use size static member instead of method
2. Add missing arguments in a call inside default constructor
Change-Id: Ib1b508e7d67742957551012c73f40d399651bb15
Acked-by: Eliad Ben Yishay <ebenyish@qti.qualcomm.com>
Signed-off-by: Ilia Lin <quic_ilial@quicinc.com>
Increase the hw_stats_quota_size from 72 to 96 bytes on targets
IPA_5_0 and above.
Change-id: Id407138e7b0f684a3bce5ba00059b368cee8156b
Signed-off-by: Michael Adisumarta <quic_madisuma@quicinc.com>
In case of pipe setup failure, make sure to free up the DMA
mappings along with freeing up memory.
In case of tag process, make sure to free up the dummy
memory allocated for ULSO WA.
Change-Id: I70a2ef484c7e2a9ac871dfce95bf63c9f3dc9755
Signed-off-by: Chaitanya Pratapa <quic_cpratapa@quicinc.com>
Added more DEBUG registers, checked and fixed existing structs
in ipa_reg_save
Change-Id: I95add61146e45d1faf8fd1c625cdb34749395f1e
Signed-off-by: Dima Birenbaum <quic_dbirenba@quicinc.com>
Signed-off-by: Ilia Lin <quic_ilial@quicinc.com>
Although the offsets are configured correctly in
the access map struct, the defines used in the loops
are copypasted from the older HW version.
Fixing this.
Change-Id: Ib976da2b2b2ae253d99df8410aad1654cc2313b0
Signed-off-by: Ilia Lin <quic_ilial@quicinc.com>
Reduce number of ioctls on spearhead to reduce stats pull
timings.
Change-Id: Ia77ab68b71f4824e8c94cfa46fff9ca828c525a1
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
Retrieves debugfs data for both ethernet clients in case of Dual NIC mode.
Change-Id: I62eb6af1dedaa738674979520d393c753c0f0190
Acked-by: Eliad Ben Yishay <ebenyish@qti.qualcomm.com>
Signed-off-by: Ilia Lin <quic_ilial@quicinc.com>
Supports APIs for rmnet to register for buffer high/low
notification on WAN and WAN_COAL pipes.
Change-Id: I0b8fd7287f5a25a695243d2aaad93bbc8fb505c1
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
IPA client filtering table can reside in SRAM in case there is enough
space. Since SRAM is a limited resource it might also reside in slower
memory (DDR). This new API enables setting an IPA client's filtering
table SRAM priority to high. It also includes an IOCTL that enables
to use the API from user-space.
Moving an IPA client filtering table to SRAM greatly
improves access time to the filtering rules in it and therefore
the entire data path of this client.
Current limitation is this API needs to be called before filter
rules are installed.
Change-Id: I34814369b9c4f6ea535b739aed9a20df8606080b
Acked-by: Eliad Ben Yishay <ebenyish@qti.qualcomm.com>
Signed-off-by: Ilia Lin <quic_ilial@quicinc.com>
Distribute the non-hashable tables between SRAM and DDR
instead of relocating them completely to the DDR.
The tables priority is set in first come - first served order.
A more sophisticated priority management may be introduced later.
Change-Id: I744cdfa928a780a7567fd8e6d8dc92d2c2cc6fd6
Signed-off-by: Ilia Lin <quic_ilial@quicinc.com>
1) Race condition fix: eogre_enabled set to true too late
relative to ipacm induced ipa3_cfg_ep_metadat ioctl
2) Added more logging when eogre add/del mapping ioctl's arrive
Change-Id: I58c132a8d0b412c3dc8c5e26773fe358fe58df8f
Signed-off-by: Perry Randise <prandise@codeaurora.org>
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: Chaitanya Pratapa <cpratapa@quicinc.com>
Make sure to unlock mutex before adding qmi client req to work queue
Change-Id: I6c85017600c797b64063925be6717151ddb5a0c9
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
Make changes to add flow control support for rmnet ll xmit path.
Following changes are added:-
1) Provide free descriptors on every xmit call.
2) Trigger a callback when number of free descriptors go above
a configured threshold.
Change-Id: I527b5cc396ed96176d059f3624b1a042ab7e56df
Signed-off-by: Chaitanya Pratapa <cpratapa@codeauora.org>
Adding NTN3 ethernet client type support for spearhead stats.
Change-Id: Iec7ba1fff0a403066c41008965feaac26aa2dcc4
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
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>
Add support for 2 new seperate MSI interrupts
to pin rmnet_ll and rmnet_ctl processing to seperate
CPUs.
Change-Id: I83977081a72d734622525732a97f8563fb530ade
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
Add ep configuration for DL_NLO q6 on IPA HW-5.0 MHI targets
which is enabled by default on Q6 driver. This will keep IPA LNX
flt table index bitmask consistent with IPA Q6 when committing
the rules.
Change-Id: Iec628bd1033c2041a8d53c7bd9af5576637ab379
Buffer size provided from AP side is increased from 64 to 128.
Change-Id: I794dbf9d02bbadfd6a324b5d78bdb2f04b8ea8e9
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
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>
Add ep configuration for DL_NLO q6 on IPA HW-5.0 targets
which is enabled by default on Q6 driver. This will keep IPA LNX
flt table index bitmask consistent with IPA Q6 when committing
the rules.
Change-Id: I123ed19e0071430e04ff1414f2a5a2d74cd62771