#
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 ...
|
#
4042de59 |
| 14-Feb-2023 |
Jeff Johnson <quic_jjohnson@quicinc.com> |
qcacmn: Fix QDF documentation
The kernel-doc script identified a large number of documentation issues in the QDF. A series of patches has already fixed many of the issues, so fix most of the remaini
qcacmn: Fix QDF documentation
The kernel-doc script identified a large number of documentation issues in the QDF. A series of patches has already fixed many of the issues, so fix most of the remaining ones.
Note that the QDF IPA abstraction still has issues, but it is under rework, so not trying to clean it up until after the rework is complete.
Change-Id: I10c33e341cb6b46e0f8ada99069616d450c07189 CRs-Fixed: 3406197
show more ...
|
#
edc0d601 |
| 25-Oct-2022 |
Roopavathi Lingampalli <quic_rlingamp@quicinc.com> |
qcacmn: Add new QDF API's to handle napi requirements
Add new QDF API's to handle napi, softirq related handling in rx thread and rx refill thread.
Change-Id: I0f371c89e65d8b20f059c56097bac07ec1e19
qcacmn: Add new QDF API's to handle napi requirements
Add new QDF API's to handle napi, softirq related handling in rx thread and rx refill thread.
Change-Id: I0f371c89e65d8b20f059c56097bac07ec1e19cc9 CRs-Fixed: 3341804
show more ...
|
#
61db6e2d |
| 17-Oct-2022 |
Jeff Johnson <quic_jjohnson@quicinc.com> |
qcacmn: qdf: Fix additional misspellings
Fix additional misspellings introduced since the last spelling cleanup.
Change-Id: I04fc6b49c1876b80bdc3547cc50ad7f1e8ad00f2 CRs-Fixed: 3314151
|
#
3bdf954a |
| 27-Aug-2022 |
Jeff Johnson <quic_jjohnson@quicinc.com> |
qcacmn: qdf: Fix misspellings
Fix misspellings in qdf/...
Change-Id: If61ee47fba94b2bb60f33ab74feda56dbe5cb7bd CRs-Fixed: 3277902
|
#
4c5b6e76 |
| 03-Oct-2022 |
Jeff Johnson <quic_jjohnson@quicinc.com> |
qcacmn: Properly abstract the Linux bottom half interfaces
When migrating to Linux Kernel v5.19 the following compilation error was encountered:
i_qdf_defer.h:192:19: error: cast from 'qdf_defer_fn
qcacmn: Properly abstract the Linux bottom half interfaces
When migrating to Linux Kernel v5.19 the following compilation error was encountered:
i_qdf_defer.h:192:19: error: cast from 'qdf_defer_fn_t' (aka 'void (*)(void *)') to '__qdf_bh_fn_t' (aka 'void (*)(unsigned long)') converts to incompatible function type [-Werror,-Wcast-function-type] tasklet_init(bh, (__qdf_bh_fn_t) func, (unsigned long)arg);
This revealed the fact that the QDF bottom half abstraction was not cleanly implemented. The current implementation freely typecasts the abstracted signature: void (*func)(void *arg) with the Linux-specific signature: void (*func)(unsigned long arg)
This has worked in the past since a void * and and unsigned long are the same size and hence could be freely converted from one to another. However the Linux Kernel now supports Call Flow Integrity which requires that the function signatures must always exactly match.
To address this issue rewrite the bottom half abstraction to use an intermediate dispatching function, exactly like is already done for the deferred work abstraction.
Change-Id: I56b5a8ab9515033d8237302300fd6b55ea755633 CRs-Fixed: 3305515
show more ...
|
#
fdf0a167 |
| 11-Feb-2021 |
Vevek Venkatesan <vevekv@codeaurora.org> |
qcacmn: change the return type of qdf_queue_work to bool
Currently the return type of qdf_queue_work is void, whereas queue_work return type is bool denoting the status, so changing the return type
qcacmn: change the return type of qdf_queue_work to bool
Currently the return type of qdf_queue_work is void, whereas queue_work return type is bool denoting the status, so changing the return type of qdf_queue_work to bool, helps to check the status of the function.
Change-Id: Ifd07923a18641790314b88d38a7eba2a73e498b3 CRs-Fixed: 2876197
show more ...
|
#
e05c287f |
| 07-Feb-2020 |
Mohit Khanna <mkhannaqca@codeaurora.org> |
qcacmn: Add high priority ordered workqueue APIs
Add APIs to support creation of a high priority, ordered, unbound workqueue.
Change-Id: Ib7e39a7ca3fcc9ee1ed8886ca62c312a3e3e46a2 CRs-Fixed: 2602029
|
#
fdea3c7a |
| 06-Mar-2019 |
Dustin Brown <dustinb@codeaurora.org> |
qcacmn: Remove qdf_delayed_work_t
qdf_delayed_work_t has been superseded by qdf_delayed_work (via I76bc59dcd4222643d70c6a763e5bc4ee9f0a487c). Remove the now obsolete qdf_delayed_work_t.
Change-Id:
qcacmn: Remove qdf_delayed_work_t
qdf_delayed_work_t has been superseded by qdf_delayed_work (via I76bc59dcd4222643d70c6a763e5bc4ee9f0a487c). Remove the now obsolete qdf_delayed_work_t.
Change-Id: I4e50521b469dcf9e1782e9412729f197552ee408 CRs-Fixed: 2420191
show more ...
|
#
bfd50437 |
| 20-Nov-2018 |
Shashikala Prabhu <pshashik@codeaurora.org> |
qcacmn: Use UNBOUND flag to create WMI RX workqueue
WMI RX workqueue is created with WQ_MEM_RECLAIM flag. When host receives the WMI service ready event it queues the work. There is 50sec delay in s
qcacmn: Use UNBOUND flag to create WMI RX workqueue
WMI RX workqueue is created with WQ_MEM_RECLAIM flag. When host receives the WMI service ready event it queues the work. There is 50sec delay in scheduling workqueue to process WMI service ready event. This results in host timeout (timeout = 15sec) and wifi load failure. This cleans up the host data structures related to data path. But work got scheduled after 50sec resulting in init path handling with inconsistent data structures.
Use workqueue UNBOUND flag to create WMI RX workqueue. Works queued to unbound workqueues are implicitly HIGHPRI and dispatched to unbound workers as soon as resources are available.
Change-Id: I46eb0242ad88103268df99be9fd2e0759ebec4b2 CRs-Fixed: 2343181
show more ...
|
#
b6c29037 |
| 23-May-2018 |
Dustin Brown <dustinb@codeaurora.org> |
qcacmn: Remove 2.6.19 kernel check from qdf_defer
qdf_defer contains backwards compatibility code for Linux kernel versions <=2.6.19. At the time of writing, this version is 12 years old. Remove bac
qcacmn: Remove 2.6.19 kernel check from qdf_defer
qdf_defer contains backwards compatibility code for Linux kernel versions <=2.6.19. At the time of writing, this version is 12 years old. Remove backward compatibility for kernel versions <=2.6.19 from qdf_defer.
Change-Id: I623aa5b1ed597c76997bf397d9f2114cdf8c5ece CRs-Fixed: 2247714
show more ...
|
#
8bc50427 |
| 12-May-2018 |
Jeff Johnson <jjohnson@codeaurora.org> |
qcacmn: qdf: Fix misspellings
Address the following issues in the qdf folder: CHECK: 'arguement' may be misspelled - perhaps 'argument'? CHECK: 'Arguement' may be misspelled - perhaps 'Argument'? CH
qcacmn: qdf: Fix misspellings
Address the following issues in the qdf folder: CHECK: 'arguement' may be misspelled - perhaps 'argument'? CHECK: 'Arguement' may be misspelled - perhaps 'Argument'? CHECK: 'continous' may be misspelled - perhaps 'continuous'? - (actually 'contiguous') CHECK: 'implentation' may be misspelled - perhaps 'implementation'? CHECK: 'Initilize' may be misspelled - perhaps 'Initialize'? CHECK: 'occurance' may be misspelled - perhaps 'occurrence'? CHECK: 'untill' may be misspelled - perhaps 'until'?
Change-Id: I4ea13e1a6b1490082830ed67098ff174a162114b CRs-Fixed: 2241580
show more ...
|
#
1974e07d |
| 25-Apr-2018 |
Jeff Johnson <jjohnson@codeaurora.org> |
qcacmn: qdf: Remove legacy markings
Per current guidance remove legacy markings.
Change-Id: Ia920daa3248677b9446f4203c7698cbc37648fbd CRs-Fixed: 2230684
|
#
f653d16e |
| 19-Sep-2017 |
Dustin Brown <dustinb@codeaurora.org> |
qcacmn: Remove qdf_handle_t from unused qdf_defer APIs
There are many QDF APIs require a qdf_handle_t parameter. None of these APIs actually use the qdf_handle_t parameter, meaning it can be complet
qcacmn: Remove qdf_handle_t from unused qdf_defer APIs
There are many QDF APIs require a qdf_handle_t parameter. None of these APIs actually use the qdf_handle_t parameter, meaning it can be completely removed. As a step toward globally removing this unused type, remove qdf_handle_t parameters from unsed qdf_defer APIs.
Change-Id: I0568aa7cbd430abc0d046143482a067d96bf6313 CRs-Fixed: 2112646
show more ...
|
#
37dd1494 |
| 19-Sep-2017 |
Dustin Brown <dustinb@codeaurora.org> |
qcacmn: Interpret delayed work interval as milliseconds
The QDF delayed work APIs currently expect delay intervals in terms of jiffies. Since QDF is OS agnostic, and jiffies are Linux specific, inte
qcacmn: Interpret delayed work interval as milliseconds
The QDF delayed work APIs currently expect delay intervals in terms of jiffies. Since QDF is OS agnostic, and jiffies are Linux specific, interpret delay intervals in terms of milliseconds instead. This aligns the delayed work APIs with the general timer APIs as well.
Change-Id: I9b9300425baa0857c35f63823de2037a954eed1f CRs-Fixed: 2111987
show more ...
|
#
452e7448 |
| 30-Mar-2017 |
Rajeev Kumar <rajekuma@codeaurora.org> |
qcacmn: Define API qdf_create_singlethread_workqueue
Define API qdf_create_singlethread_workqueue to create a single threaded dedicated work queue.
Change-Id: Iab70044888911c1e4adba63e8eee643d5693d
qcacmn: Define API qdf_create_singlethread_workqueue
Define API qdf_create_singlethread_workqueue to create a single threaded dedicated work queue.
Change-Id: Iab70044888911c1e4adba63e8eee643d5693d716 CRs-Fixed: 2026443
show more ...
|
#
26476b51 |
| 06-Jun-2016 |
Yuanyuan Liu <yuanliu@codeaurora.org> |
qcacmn: Add workqueue APIs in QDF
Add qdf workqueue APIs for schedule_delayed_work, cancel_work_sync, cancel_delayed_work_sync and flush_delayed_work
Change-Id: Idb4de3c30c9c8cfdeb9af5b92f40a6e3dc9
qcacmn: Add workqueue APIs in QDF
Add qdf workqueue APIs for schedule_delayed_work, cancel_work_sync, cancel_delayed_work_sync and flush_delayed_work
Change-Id: Idb4de3c30c9c8cfdeb9af5b92f40a6e3dc954a6d CRs-Fixed: 1009560
show more ...
|
#
ae380034 |
| 21-Apr-2016 |
Yuanyuan Liu <yuanliu@codeaurora.org> |
qcacmn: Clean up OS wrapper functions
Use OS standard APIs instead of CNSS wrapper functions
Change-Id: Icd048f41864c33463f4bb582d8d184816fa77c5d CRs-Fixed: 1000797
|
#
5776318d |
| 03-Mar-2016 |
Chouhan, Anurag <achouhan@codeaurora.org> |
qcacmn: Add QDF OS abstraction convergence
Converge ADF and CDF API's and move them to QDF folder. MCL/WIN driver use this QDF converged module for OS abstraction.
Change-Id: I1d0cdfd8730a5c021aaa5
qcacmn: Add QDF OS abstraction convergence
Converge ADF and CDF API's and move them to QDF folder. MCL/WIN driver use this QDF converged module for OS abstraction.
Change-Id: I1d0cdfd8730a5c021aaa50b7dc8549d491d760b3 CRs-Fixed: 981187
show more ...
|