53ef6cc7 | 28-Dec-2023 |
Amit Mehta <quic_amitmeht@quicinc.com> |
qcacmn: Change size 1 scatter_list array to flexible length array
Change size 1 scatter_list variable length arrays to flexible length arrays.
CRs-Fixed: 3695133 Change-Id: I448add39987b0318c2b7d2d
qcacmn: Change size 1 scatter_list array to flexible length array
Change size 1 scatter_list variable length arrays to flexible length arrays.
CRs-Fixed: 3695133 Change-Id: I448add39987b0318c2b7d2d0553c857fb551c930
show more ...
|
f2063f8a | 13-Mar-2024 |
Srikanth Marepalli <quic_srimarep@quicinc.com> |
qcacmn: Fix OOB access issues in HTC and HIF
Possible OOB Access array 'endpoint' of size '9' while calling 'log_packet_info' in below APIs: get_htc_send_packets_credit_based() get_htc_send_packets(
qcacmn: Fix OOB access issues in HTC and HIF
Possible OOB Access array 'endpoint' of size '9' while calling 'log_packet_info' in below APIs: get_htc_send_packets_credit_based() get_htc_send_packets()
INT_MAX may be used to access array 'hif_ext_group->os_irq' of size 16 in function hif_ipci_irq_set_affinity_hint().
Fix is to add index range check before accessing those arrays.
Change-Id: Iab40fe816d8dfcf1ffbf05987b11378ef0fe2572 CRs-Fixed: 3779968
show more ...
|
332fc3b9 | 15-Apr-2024 |
Karthik Kantamneni <quic_vkantamn@quicinc.com> |
qcacmn: Fix out of sync OOM work counter
Currently OOM work counter is incremented when schedule_work is called and counter is decremented when work is scheduled. But there is possibility of OOM sch
qcacmn: Fix out of sync OOM work counter
Currently OOM work counter is incremented when schedule_work is called and counter is decremented when work is scheduled. But there is possibility of OOM schedule_work is getting called from tasklet context and worker thread context and resulting only one time work execution but active work counter being incremented twice. This scenario may result in OOM work going out of sync and preventing suspend usecase.
Avoid this by incrementing the OOM active work count only when work is getting added to global work queue and corresponding count will be decremented when work handler gets executed.
Change-Id: Ie02d5b9c821327337a1b822c81c51878af522832 CRs-Fixed: 3787873
show more ...
|
6b801c30 | 08-Apr-2024 |
Manikanta Pubbisetty <quic_mpubbise@quicinc.com> |
qcacmn: Reduce CE history size for perf builds
Currently, CE history captures 1024 events. Addition of CE-1 events to the CE history increased the memory requirement on perf builds by 56KB. Reducing
qcacmn: Reduce CE history size for perf builds
Currently, CE history captures 1024 events. Addition of CE-1 events to the CE history increased the memory requirement on perf builds by 56KB. Reducing CE history size to 768 will offset the memory increase and also captures sufficient logs for issue debugging.
Change-Id: I411d8ba7422d0039ad7e2ab01c159c36aa68dc41 CRs-Fixed: 3781894
show more ...
|
e2e92aa7 | 04-Mar-2024 |
Manikanta Pubbisetty <quic_mpubbise@quicinc.com> |
qcacmn: Force update HP/TP upon delayed register writes
Currently if HP/TP register updates are delayed due to delayed reg write work not getting scheduled, although driver has processed the ring co
qcacmn: Force update HP/TP upon delayed register writes
Currently if HP/TP register updates are delayed due to delayed reg write work not getting scheduled, although driver has processed the ring completely, hardware would see HP/TP delta and fires an interrupt based on interrupt threshold configuration until the HP/TP updates reach the hardware.
When system is heavily stressed, this delay in HP/TP updates would result in IRQ storm further stressing the system which is bad. Force update HP/TP to the hardware under such scenarios to avoid this problem.
Currently doing this just for CE DST SRNGs, this can be scaled to other SRNGs on need.
Change-Id: I8a4938dbd4850d7ab6ae5183186237a5e37e1038 CRs-Fixed: 3749078
show more ...
|
0a79864d | 29-Feb-2024 |
Manikanta Pubbisetty <quic_mpubbise@quicinc.com> |
qcacmn: Increase soc wake time for ipci devices
Currently for IPCI devices, SoC wake request and release messages are serialized, i.e., a new request cannot make it to the firmware unless the curren
qcacmn: Increase soc wake time for ipci devices
Currently for IPCI devices, SoC wake request and release messages are serialized, i.e., a new request cannot make it to the firmware unless the current request is completed. In some cases, when system is heavily loaded, SoC wake request cannot make it to the firmware due to a previous SoC wake release resulting in a timeout.
Increase the SoC wake timeout to 1 second to avoid this. Since this is a worst case value, increasing it should be fine.
Change-Id: Ic265c0076233378bc6db7b2a99f7a0b7d7a4b2bc CRs-Fixed: 3748244
show more ...
|
5bce59c5 | 26-Feb-2024 |
Karthik Kantamneni <quic_vkantamn@quicinc.com> |
qcacmn: Add support to request rtpm resume in suspending state
Add support to request rtpm resume in suspending state, this helps to request resume from WOW initial wake up sequence if resume reques
qcacmn: Add support to request rtpm resume in suspending state
Add support to request rtpm resume in suspending state, this helps to request resume from WOW initial wake up sequence if resume request is being missed from CE interrupt handler.
Change-Id: I7e5e4be7d793fef94c7c72f9c3bd2ac28e992f7c CRs-Fixed: 3743772
show more ...
|
abe65a4d | 01-Feb-2024 |
Manikanta Pubbisetty <quic_mpubbise@quicinc.com> |
qcacmn: Enable CE-1 history for perf builds
Enable CE-1 event history for perf builds to have additional information for debugging CE issues.
Change-Id: I4031517c1fe04566a891117db1fe076b53d870d8 CR
qcacmn: Enable CE-1 history for perf builds
Enable CE-1 event history for perf builds to have additional information for debugging CE issues.
Change-Id: I4031517c1fe04566a891117db1fe076b53d870d8 CRs-Fixed: 3721865
show more ...
|
7e541922 | 29-Jan-2024 |
Karthik Kantamneni <quic_vkantamn@quicinc.com> |
qcacmn: Wait for all the txrx tasks completion after rings drain
After draining txrx rings there is possibility of reg work getting triggered to update rings write pointer, this might cause the reg
qcacmn: Wait for all the txrx tasks completion after rings drain
After draining txrx rings there is possibility of reg work getting triggered to update rings write pointer, this might cause the reg work to execute later after suspend complete and cause allow suspend and prevent suspend count to go out of sync. So make sure all the txrx dependent tasks are complete after drain.
Change-Id: I30b0696cef4499cc1e92b4556488b58037520184 CRs-Fixed: 3717885
show more ...
|
65641d0d | 24-Jan-2024 |
Karthik Kantamneni <quic_vkantamn@quicinc.com> |
qcacmn: Wait for OOM worker thread completion before going to runtime
Currently out of memory worker thread completion wait is not present before going to wlan suspend, this may lead to worked threa
qcacmn: Wait for OOM worker thread completion before going to runtime
Currently out of memory worker thread completion wait is not present before going to wlan suspend, this may lead to worked thread accessing CE ring HP updates when wlan is in suspend state.
Avoid this by waiting for out of memory worker thread completion before entering wlan suspend.
Change-Id: Id9d0ae9dc1de03f4e3d95bb6fac1c41ecbf7e202 CRs-Fixed: 3714467
show more ...
|
7278b2ca | 29-Nov-2023 |
Lin Bai <quic_lbai@quicinc.com> |
qcacmn: Fix improper return value
Fix improper return value, to avoid compiler complain.
Change-Id: I21729bf96aa6561d6282bb456451e1e1a0748609 CRs-Fixed: 3674783 |
1446cc38 | 04-Dec-2023 |
Surabhi Vishnoi <quic_svishnoi@quicinc.com> |
qcacmn: Fix mismatched format compilation error
Fix compilation error due to mismatched format type in log.
Change-Id: I9cb80f38ada13f623240fa1e5f3a53a632dac78d CRs-Fixed: 3678442 |
4015f3bf | 23-Nov-2023 |
Manikanta Pubbisetty <quic_mpubbise@quicinc.com> |
qcacmn: Do not setup CE write index offset for FW only CE rings
Currently for WCN6450, driver is updating the CE write index offset used for CE register updates even for the CE rings that are firmwa
qcacmn: Do not setup CE write index offset for FW only CE rings
Currently for WCN6450, driver is updating the CE write index offset used for CE register updates even for the CE rings that are firmware only rings. This is resulting in a boot time WARN_ON.
Do not setup write index offset for CE rings that are used only by the target firmware to avoid this early on boot time WARN_ON.
Change-Id: I241e11ad43f833b5cafc7cd303b935c10d9e6dd8 CRs-Fixed: 3670952
show more ...
|
4bafb26a | 08-Nov-2023 |
Manikanta Pubbisetty <quic_mpubbise@quicinc.com> |
qcacmn: Fix batch interrupt threshold logic for WCN6450
Unlike lithium family, batch interrupt thresholds for Rhine targets are not based on the entry size (descriptor size in dwords); Instead the c
qcacmn: Fix batch interrupt threshold logic for WCN6450
Unlike lithium family, batch interrupt thresholds for Rhine targets are not based on the entry size (descriptor size in dwords); Instead the configuration should be a simple integer value. If interrupt has to be raised after every copy transaction then batch counter threshold shall be set to 1, so on and so forth.
Change-Id: Ic51f361c5f079d48668ec9b46dd79f04bcb43b14 CRs-Fixed: 3659426
show more ...
|
e0e57bd2 | 11-Oct-2023 |
Yu Wang <quic_yyuwang@quicinc.com> |
qcacmn: do not mark rtpm last busy for diag event
If diag events comes too frequently, it's hard to enter runtime suspend, which does not make sense, as diag events here are firmware debug logs. To
qcacmn: do not mark rtpm last busy for diag event
If diag events comes too frequently, it's hard to enter runtime suspend, which does not make sense, as diag events here are firmware debug logs. To fix it, do not mark rtpm last busy for CE7 if the feature WLAN_FEATURE_WMI_DIAG_OVER_CE7 is enabled.
Change-Id: I424eb345546a755c1f6995d1f8eeac71fa6c4615 CRs-Fixed: 3614793
show more ...
|
29e75539 | 28-Sep-2023 |
Kannan Saravanan <quic_kannsara@quicinc.com> |
qcacmn: Remove PCI dependencies for the 16M profile
Remove PCI driver dependencies and move under Kernel flag CONFIG_PCI for 16M Profile.
Change-Id: I46c060a8a6efca8b0b6866d54916a223082f46ee CRs-Fi
qcacmn: Remove PCI dependencies for the 16M profile
Remove PCI driver dependencies and move under Kernel flag CONFIG_PCI for 16M Profile.
Change-Id: I46c060a8a6efca8b0b6866d54916a223082f46ee CRs-Fixed: 3635697
show more ...
|
253c31ef | 28-Sep-2023 |
Yu Tian <quic_yutian@quicinc.com> |
qcacmn: Avoid to poll FW diag CE if it's got scheduled
CE drain is coming from suspend path, which may cause dead lock with SIRQ context. This change is aimed to avoid CE drain if such CE tasklet ha
qcacmn: Avoid to poll FW diag CE if it's got scheduled
CE drain is coming from suspend path, which may cause dead lock with SIRQ context. This change is aimed to avoid CE drain if such CE tasklet has been scheduled.
Change-Id: I66e4b839a4f9c33ccc0948ea2ac5300b99266df9 CRs-Fixed: 3627474
show more ...
|
e69d7ab4 | 22-Sep-2023 |
Linux Build Service Account <lnxbuild@localhost> |
Merge "qcacmn: Avoid excessive logging in ath procfs read/write ops" |
8993389e | 07-Aug-2023 |
Manikanta Pubbisetty <quic_mpubbise@quicinc.com> |
qcacmn: Allocate buffers from WBUFF for fastpath CEs
Currently, buffers attached to fastpath CEs are not being allocated from WBUFF. Since the buffers attached to the fastpath CEs are re-usable in n
qcacmn: Allocate buffers from WBUFF for fastpath CEs
Currently, buffers attached to fastpath CEs are not being allocated from WBUFF. Since the buffers attached to the fastpath CEs are re-usable in nature, allocating such buffers from WBUFF will have added benefits like allocating from custom page frag cache which reduces the memory used by the RX buffers.
Therefore, allocate RX buffers for fastpath CEs from WBUFF module.
Change-Id: Iaa913042473d60b184a767ece934bb9063ff4a7e CRs-Fixed: 3581533
show more ...
|
cf269aa2 | 01-Sep-2023 |
Amit Mehta <quic_amitmeht@quicinc.com> |
qcacmn: Add hif and CE rings to SSR dump
Add hif and CE rings to SSR dump
Change-Id: I6a859f46c9a8cf5813ce26a163b30286969edf4a CRs-Fixed: 3604906 |
06dfff7c | 14-Sep-2023 |
Karthik Kantamneni <quic_vkantamn@quicinc.com> |
qcacmn: Avoid excessive logging in ath procfs read/write ops
Currently logs are being flooded during ath procfs read/write operations. This excessive logging is causing wlan panic.
Fix this by chan
qcacmn: Avoid excessive logging in ath procfs read/write ops
Currently logs are being flooded during ath procfs read/write operations. This excessive logging is causing wlan panic.
Fix this by changing log level from hif_info to hif_debug. Since these logs printed are not required in normal use case scenario, will be helpful only during debug purpose changed log level to hif_debug.
Change-Id: If8ad1a8bf5c427e483c675192dcbd9ce42854ece CRs-Fixed: 3615763
show more ...
|
0b84f056 | 01-Nov-2022 |
Gururaj Pandurangi <quic_panduran@quicinc.com> |
qcacmn: Fix compilation warnings on x86
Fix the compilation warnings on x86.
Change-Id: Ic9edafc5b33462f5c96faa391e6441141aa09837 CRs-Fixed: 3591586 |
ce3c51dc | 30-Aug-2023 |
Yu Tian <quic_yutian@quicinc.com> |
qcacmn: Add more loop to drain CE7 logs before suspend
FW diag drain may got delayed and host may not clear all the logs in one set. Change is aimed to give more rounds to try to complete the pendin
qcacmn: Add more loop to drain CE7 logs before suspend
FW diag drain may got delayed and host may not clear all the logs in one set. Change is aimed to give more rounds to try to complete the pending logs before suspend.
Change-Id: I06433a464d96c3c9d96207f6da7a8ea513fcdc9e CRs-Fixed: 3602039
show more ...
|
833c5388 | 04-Sep-2023 |
Bing Sun <quic_bings@quicinc.com> |
qcacmn: Fix build error caused by hif_config_irq_clear_affinity
hif_config_irq_clear_affinity is not defined, while hif_config_irq_clear_cpu_affinity is defined. Do not export undefine API. Export h
qcacmn: Fix build error caused by hif_config_irq_clear_affinity
hif_config_irq_clear_affinity is not defined, while hif_config_irq_clear_cpu_affinity is defined. Do not export undefine API. Export hif_config_irq_clear_cpu_affinity.
Change-Id: I6b66ae687446b1c1eae15683766fd47554156b90 CRs-Fixed: 3606013
show more ...
|
17183c47 | 30-Aug-2023 |
Manikanta Pubbisetty <quic_mpubbise@quicinc.com> |
qcacmn: Fix panic due to incorrect inputs to QDF_TRACE
Fix panic due to passing a smaller number of arguments to QDF_TRACE API in hif_print_napi_stats().
Change-Id: I37b9c9ec374f7ab37adc169a7de0829
qcacmn: Fix panic due to incorrect inputs to QDF_TRACE
Fix panic due to passing a smaller number of arguments to QDF_TRACE API in hif_print_napi_stats().
Change-Id: I37b9c9ec374f7ab37adc169a7de0829fd1cb60fc CRs-Fixed: 3602357
show more ...
|