Gráfico de commits

180 Commits

Autor SHA1 Mensaje Fecha
aloksing
f103f00807 qcacmn: Add raw buffer support in WMI layer
To send received raw event buffer to event handler
Send without processed buffer to registered event with buffer
type WMI_RX_RAW_BUFF

Change-Id: I2a401e2e7afbfd8f32d4bd521d184ed9ddcdb264
2020-08-21 02:28:57 -07:00
Min Liu
44150359c9 qcacmn: Move get_peer_info into cp_stats component
Move WMI_REQUEST_PEER_STATS_INFO_CMDID related statistics into
cp_stats component.

Change-Id: Ie57f64e4ee195de30271260887c48ecf76f4a2ff
CRs-Fixed: 2680626
2020-08-14 04:12:25 -07:00
Alan Chen
07789085f8 qcacmn: Add an ini item for stats over QMI
Currently, stats over QMI features can only be disabled over build flags,
which is not flexible. Hence, add a CFG ini item to enable/disable stats
over QMI.

Change-Id: If5d57d2fc781fecc8817c2da8f61a2f7977d9c77
CRs-Fixed: 2752310
2020-08-12 19:53:19 -07:00
Rajeev Kumar
30a3c984d0 qcacmn: log wmi cmd id in hex when cmd is sent over qmi
WMI commands are logged in hex in FW and hence log WMI CMD ID
in hex when stats request is send over QMI to assist in debugging.

Change-Id: I9ce63db30b491f26b9d6ac7ae3c98e6177452d7c
CRs-Fixed: 2733208
2020-08-05 17:35:18 -07:00
Shwetha G K
4876ce33bf qcacmn: Add support for wmi_ext2 service bitmap
Add support for wmi_ext2 service bitmap

Change-Id: I2c147b91e11c2487027a7af88ff1752c7b48730b
2020-07-28 17:39:06 -07:00
Arun Kumar Khandavalli
1eb43f3787 qcacmn: remove panic if the tag length and filled data are not matching
Remove panic when tlv doesn't matching attributes, the following commit
takes away a chance to pass invalid values tlv to test the the wmi event
hence reverting commit ca24670e56.


Change-Id: Iafff2067288c8a6fafa016f21b1d7fdfdcb0753e
CRs-Fixed: 2706245
2020-06-10 11:53:35 -07:00
Arun Kumar Khandavalli
ca24670e56 qcacmn: Crash if the tag length and filled data are not matching
Whenever a wmi even it received the tlv received from the firmware
will be sanitized, if there is any error the event would be dropped.
This dropping of the event can give side effects in the host/firmware
after some time and making it difficult to find the actual reason of
why the tlv is not received properly.

Crash the system if the tlv is not parsed correctly to debug the issues.

Change-Id: Ic56e3f96252ac74917caeebc8296c2b50ae4f3cd
CRs-Fixed: 2695053
2020-06-07 03:13:54 -07:00
Lincoln Tran
d7ffb6df23 qcacmn: Update wmi_discard_fw_event
Update return type of wmi_discard_fw_event to return QDF_STATUS
to match scheduler_msg_process_fn_t.

Change-Id: Iba2d41c4bab2bfd5fb163d82fca6c6b895e5a2a4
CRs-fixed: 2699644
2020-06-02 03:22:52 -07:00
Jianmin Zhu
bd4a9fe637 qcacmn: Handle WMI_REG_CHAN_LIST_CC_EVENTID in worker thread
Somtimes F/W event WMI_REG_CHAN_LIST_CC_EVENTID comes for country
code changed before WMI_READY_EVENTID processed completely in
worker thread, to update current channel list,
hdd_regulatory_dyn_cbk is invoked in scheduler thread and wiphy
is extracted from pdev which isn't attached to pdev yet, assert
will happen.

WMI_READY_EVENTID and WMI_REG_CHAN_LIST_CC_EVENTID
should be serialized, both of them should be handled in same
context, such as worker thread.

Set WMI_REG_CHAN_LIST_CC_EVENTID execution context same as
WMI_READY_EVENTID: WMI_RX_WORK_CTX.

Host F/W handshake during init:

	Host <- FW WMI_SERVICE_READY_EVENTID
	Host <- FW WMI_SERVICE_READY_EXT_EVENTID
	Host -> FW WMI_INIT_CMDID
	Host <- FW WMI_REG_CHAN_LIST_CC_EVENTID
	Host -> FW WMI_SET_CURRENT_COUNTRY_CMDID
	Host <- FW WMI_READY_EVENTID
	Host <- FW WMI_REG_CHAN_LIST_CC_EVENTID

Change-Id: I922e5f2a9722e9b441cc844dd38b1039dd4d8900
CRs-Fixed: 2689274
2020-05-21 14:13:48 -07:00
Balamurugan Mahalingam
049211d0b2 qcacmn: reset tag_crash_inject in wmi_handle during recovery
The stale value of this field blocks driver from sending
FW_HANG wmi messages to target after recovery

Change-Id: Ib44388c5c95c2574c96117b77fdabda26f5890bd
2020-05-07 00:06:58 -07:00
Adil Saeed Musthafa
60d18029b6 qcacmn: Add API to check if WMI is blocked or not
Add API to check if WMI commands have been blocked

Change-Id: I675b102b74d607332acf8a417c0c94955cbd5ecd
CRs-Fixed: 2662158
2020-04-24 08:57:39 -07:00
bings
54a116dfa1 qcacmn: Add common wmi event path for wmi event from htc and qmi
Crash happens if wma_handle->link_stats_results is allocated and
freed by two threads at the same time.

WMI event should be handled uniformly whether it is from htc or qmi

Change-Id: I415fd228d15c1342944e77a74e564fe46dd9a5c5
CRs-Fixed: 2648865
2020-04-03 12:13:05 -07:00
Bapiraju Alla
acf898a145 qcacmn: Fix return type for scheduler_msg callbacks
This fixes a CFI failure in callback assignment

Change-Id: I760b41b81c006187efb162d410390e1c11878b82
CRs-Fixed: 2643320
2020-04-01 12:40:45 -07:00
Arun Kumar Khandavalli
2982c3a17a qcacmn: update the hang data for wmi
whenever there is a wmi timeout and recovery is triggered, the
wmi history gives insight into reason for the recovery, hence save
the last 5 commands/events to understand the reason for the hang
recovery.

Change-Id: Ie4e0431a8fa6971e6b25b20a6f267341d3f3f4fd
CRs-Fixed: 2650340
2020-03-31 18:16:18 -07:00
Sourav Mohapatra
1f21eadadf qcacmn: Extend qdf_trigger_self_recovery to include psoc granularity
To undergo self recovery, the driver uses qdf_trigger_self_recovery to
initiate the sequence. Currently, this framework is valid for only a
single psoc driver.

Extend this framework to include support for multiple psoc driver by
providing the psoc on which the recovery has to be undertaken.

Change-Id: I782b505c03819223a914dabe7673b369aa175b7c
CRs-Fixed: 2617707
2020-03-27 10:19:41 -07:00
Linux Build Service Account
71dccc8bc2 Merge "qcacmn: Set DBS scan if ndp peers are active" 2020-02-13 04:38:15 -08:00
nwzhao
b666fe52b7 qcacmn: DebugFS Improvements for WMI logs
1)Configurable number of bytes to log
2)Add support to record only specific WMI command/events
  Separate buffers are added to save user specified WMI commands and events
    1.To record specific wmi cmd, e.g. WMI_VDEV_START_REQUEST_CMDID
	echo 0x5003 > /sys/kernel/debug/WMI_SOC0_PDEV0/filtered_wmi_cmds
    2.To record specific wmi evt, e.g. WMI_MGMT_RX_EVENTID
	echo 0x7001 > /sys/kernel/debug/WMI_SOC0_PDEV0/filtered_wmi_evts
  Results of recorded specific WMI command/events:
    1. WMI commands, e.g.:
	cat /sys/kernel/debug/WMI_SOC0_PDEV0/wmi_filtered_command_log
    2. WMI events, e.g.:
	cat /sys/kernel/debug/WMI_SOC0_PDEV0/wmi_filtered_event_log

CRs-Fixed: 2597854
Change-Id: I1e90a13ac0717f1f37ba998fb1d06a990d3f4fa2
2020-02-12 15:51:03 -08:00
sheenam monga
ccb34ac40a qcacmn: Remove new line from trace
Currently while printing commnad information new
line is added which needs to be removed.

Change-Id: I639508a9a14db173f8d61d7a55c4ec99db4f1a1f
CRs-Fixed: 2618863
2020-02-11 23:04:58 -08:00
Surya Prakash Raajen
ed8ea05a7e qcacmn: Clear console log boot up error prints
Clear console log boot up error prints by removing unnecessary
prints, modifying prints to appropriate info or debug and
by fixing the errors

Change-Id: Ica3f126280399eef59b894236849e2079a62565f
CRs-Fixed: 2597026
2020-01-21 00:29:08 -08:00
Shaakir Mohamed
68a9a92a15 qcacmn: Support phyid conversion map for wmi_handle
Support phyid conversion map for dynamic mode switch.

Change-Id: I02aa1831bf48ca1365354d0ab9ebc240fa116043
CRs-Fixed: 2601427
2020-01-13 23:18:39 -08:00
Karthik Kantamneni
cc5c789e8e qcacmn: Fix compilation errors when WMI_EXT_DBG is enabled
When WMI_EXT_DBG is enabled some of the WMI macros used
are defined in later section of file causing compilation errors.
These errors are due to recent code refactor changes.
To avoid compilation errors place the code using macros after
they are defined.

Change-Id: I6965595d17820768924080c0100b0ea6aeef5eb2
CRs-Fixed: 2594750
2020-01-08 04:53:25 -08:00
Surya Prakash Raajen
b976076b3b qcacmn: Track tasklet execution and total time (sched+exec)
Add support to track tasklet execution and total time in different
buckets for debugging purposes

Change-Id: Ide459c385b2a44c0f16d05b37879c8b462782d72
CRs-Fixed: 2589199
2020-01-05 10:16:57 -08:00
Manoj Ekbote
9c0ec6c2d8 qcacmn: Add API to allow WMI commands
Add API to restart sending WMI commands after they have been
stopped using wmi_stop() API.

Change-Id: Id65e5d1310cd7076ca47c6e7e19221492c10a868
2019-11-18 00:46:05 -08:00
Jianmin Zhu
ed37c7cbca qcacmn: Clean up legacy F/W event handler
target_if F/W event handler is moved from wma to cmn part per
MCL/WIN converge requirement, clean up legacy call back.

Change-Id: Ifacc6bb46e6bde1a73d9953e3403551dd2e92939
CRs-Fixed: 2555080
2019-11-04 01:57:51 -08:00
Sandeep Puligilla
9304a97961 qcacmn: Add WMI scheduler thread context execution
Add WMI scheduler thread context execution framework
to process firmware events in the common project.

Change-Id: If56a4767ee9428d2f93d54ccbf5a8bb17e89e0f4
CRs-Fixed: 2554727
2019-11-01 08:17:25 -07:00
Alan Chen
b2bc55909c qcacmn: Add a qdf counter for qmi stats requests
Add a qdf counter to know number of qmi stats requests. Reset the
counter when WoW is exited.

Change-Id: Ie0c51fbd6eb2e7530dba01912443e7fc85726e52
CRs-Fixed: 2539999
2019-10-28 18:03:13 -07:00
Shaakir Mohamed
af7c6e0445 qcacmn: Support pdevid conversion map for wmi_handle
Support pdevid conversion map for dynamic mode switch

Change-Id: I350d66b142c7206f87e4182abfbe990bdc0faa7d
CRs-Fixed: 2509336
2019-10-15 14:49:23 -07:00
Manikandan Mohan
9b1b93cfcd qcacmn: Add support for WMI over QMI
Add support for WMI over QMI to reduce power consumption for
periodic stats report.

Change-Id: Ic57b2bd18be803c97ffeea2e0073751d31e02202
CRs-fixed: 2521835
2019-09-19 18:56:11 -07:00
Yue Ma
a720310823 qcacmn: Log runtime PM wake source in debug level
Since callers who log runtime PM resume source may be invoked within
spinlocks or in other atomic contexts, log using info level will log
to console as well which may result overhead. Log using debug level
which will be logged to buffer only to avoid such issues.

Change-Id: I0497c7b7528200af9a34d816865e9bbbfd8bacf2
CRs-fixed: 2518800
2019-09-13 17:37:17 -07:00
Tushnim Bhattacharyya
33087cb402 qcacmn: Include wmi.h on the correct header files
Include wmi.h in wmi files.

Change-Id: I0584e58c5ae64e8ed93d024aa7943a9cdcdb07c8
CRs-Fixed: 2514753
2019-08-29 22:11:16 -07:00
Surya Prakash Raajen
c59f7dc66e qcacmn: Fix wrap-around condition check in DIAG_RX_EVENT_RECORD
Diag_log_max_entry should be used to determine wrap around condition
in DIAG_RX_EVENT_RECORD. Using incorrect max value results in invalid
access and memory corruption. Fix DIAG_RX_EVENT_RECORD to use diag_log
max entry instead of mgmt_max entry.

Change-Id: Icae3ce843b1fd76e15139fae1a867448ad032cf8
CRs-Fixed: 2488783
2019-07-31 22:18:42 -07:00
Yue Ma
4986b2588b qcacmn: Log runtime PM resume source
It is very critical to know the source of who requests runtime
PM resume to debug all kinds of runtime PM related issues. Hence
log them accordingly.

Change-Id: I9551830b1cb567fd29e9d9bbec18705f9cc5e9ec
CRs-fixed: 2496481
2019-07-27 02:49:10 -07:00
Himanshu Batra
032d352263 qcacmn: Replace void * Host Target Communications handle with abstract type
Replace void * Host Target Communications handle with abstract type handles
provided by Host Target Communications component

Change-Id: I16ca87e4f9716791d340da2fda0a8a640fa2ec34
CRs-Fixed: 2487151
2019-07-25 00:25:49 -07:00
Bala Venkatesh
63b4f6a57e qcacmn: Remove MCL_CONFIG flag
In file wmi_unified.c use appropriate config
flags instead of MCL_CONFIG flag.

Change-Id: I9e43f8853ddd93221679cefa50b4f7b239d2abdb
CRs-Fixed: 2491383
2019-07-18 07:17:29 -07:00
lifeng
12ed18959c qcacmn: Support to issue legacy d0wow disable wmi command
Support to issue legacy d0wow disable wmi command in resume.

Change-Id: I7bdf979f5b268112b7f40ae32ca2f0a5c61125bf
CRs-fixed: 2462274
2019-06-10 02:37:47 -07:00
Surya Prakash Raajen
9d48cd993c qcacmn: Clean up of CONFIG_MCL flag
Clean up of  CONFIG_MCL flag and introduce
WMI_INTERFACE_EVENT_LOGGING_DYNAMIC_ALLOC, new speicific-feature
flag for dynamically allocated buffers for debug logging.

Change-Id: Iec4c26faa28400d257332f72dcdf77e18d0fda31
CRs-Fixed: 2450565
2019-05-29 11:07:52 -07:00
Uraj Sasan
485478ae4e qcacmn: Disable bottom half in wmi show routine
We have a case in which user context was reading
wmi debugfs entries and then an interrupt context
waits on same lock resulting in deadlock and cpu stall.

Disable bh to prevent cpu stall.

Change-Id: I8e2b443317950b4cf2c8c228a98f638dd165ca2b
2019-05-23 22:57:48 -07:00
Surya Prakash
4e517d7795 qcacmn: Use arrays for param conversion from host to target type
Convert host param id to target param id using arrays
instead of switch case. This enables removal of CONFIG_MCL
compile time macro and use specific macro
ENABLE_HOST_TO_TARGET_CONVERSION for conversions

Change-Id: I223141d47e92521e6600fc0e160ab2deef43d7d2
CRs-Fixed: 2418030
2019-05-13 03:31:48 -07:00
Rajeev Kumar
6b276f6a8f qcacmn: Log error and fail WMI send if target is suspended
Replace qdf_bug by error log becasue when using wow unit test
framework its very common for higher layer components to send wmi
commands and in this case WMI should fail the request rather than
asserting.

Change-Id: Ie09e4b6014468bcd6b5d75e7f64a78d069855f4f
CRs-Fixed: 2442275
2019-04-29 04:17:55 -07:00
Jingxiang Ge
4218f02cef qcacmn: Pass hang reason to qdf_trigger_self_recovery
To identify the reason for recovery, add parameter
"reason" for qdf_trigger_self_recovery.

And revise comment for qdf_hang_reason, replace "CDS"
with "QDF".

Change-Id: I8b388b5e83dbbdf29246c264ada56290f0dd3bfc
CRs-Fixed: 2431282
2019-04-19 01:56:52 -07:00
Jingxiang Ge
23c5658da6 qcacmn: Trigger recovery while wmi stuck
Replace QDF_BUG with qdf_trigger_self_recovery while wmi stuck.

Change-Id: If366fbdff356d16b78324051aad99fd4455978b5
CRs-Fixed: 2430743
2019-04-11 01:14:05 -07:00
Ajit Pal Singh
eb5bf8cfc7 qcacmn: Add new WMI API to check target suspend status
Add new WMI API to check target suspend status

Change-Id: Ie4ba55fc3db2d8de7354377b26325d3510a1e228
CRs-Fixed: 2425368
2019-04-05 08:37:31 -07:00
Jeff Johnson
ab5b78df17 qcacmn: wmi: Replace explicit comparison to NULL
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within wmi replace any such comparisons with logical
operations performed on the pointer itself.

Change-Id: Ida6b1b32330d97392bd879f84929782a64f4fc85
CRs-Fixed: 2418250
2019-03-20 10:10:28 -07:00
Surya Prakash Raajen
80638517c2 qcacmn: Redefine pdev and vdev param to remove CONFIG_MCL
Convert pdev and vdev param conversion array to pointers
and allocate them only if conversion is required.Use run-time
NULL check of pdev and vdev param pointers for conversion
and remove CONFIG_MCL compiler flag.

CRs-Fixed: 2393422
Change-Id: Ica1c81f5f3c3a4b7e31dcb70c63471898c36933d
2019-03-15 18:04:02 -07:00
hangtian
032a78de3c qcacmn: Allow SSR during driver resume
Allow SSR during driver resume. Assume firmware goes down during driver
is in suspend state. Avoid get into bad state and wmi access during driver
resume.

Change-Id: Ie1689e0b080f940666fbbb19c9f0e3b0fecfe564
CRs-Fixed: 2390031
2019-03-11 01:35:17 -07:00
Dustin Brown
3fe77afae9 qcacmn: Remove references to EOK
EOK is a legacy definition and frequently misused. Remove references to
it from qcacmn.

Change-Id: Ic3179ad95beb75edb97e1dda7ac879a65a86a2e4
CRs-Fixed: 2404900
2019-03-01 11:14:45 -08:00
Dustin Brown
d33659b98d qcacmn: Provide reason to QDF_DEBUG_PANIC()
A common pattern in WLAN to panic the driver is to log the reason and
then unconditionally panic. QDF_DEBUG_PANIC() takes a reason string to
help make the reason for the panic more obvious, but it is not always
used. Ensure all callers of QDF_DEBUG_PANIC() provide a reason string.

Additionally, make the reason string parameter of QDF_DEBUG_PANIC()
mandatory.

Change-Id: Ia3c7acfe590f7f465823fff3f2393653b2d20fe5
CRs-Fixed: 2403830
2019-02-26 14:21:37 -08:00
Madhvapathi Sriram
610c0c8e41 qcacmn: Remove error log for qdf_mem_malloc in wmi files
qdf layer already has the error trace

Change-Id: I4c63264f6674c6c2710368de4b5c9f24817ac74c
CRs-Fixed: 2376431
2019-02-11 11:58:37 -08:00
Surya Prakash
1f0930190b qcacmn: Clear compilation warnings
Clear compilation warnings for wmi files which
has unsued functions in case of some macros
aren't defined.

Change-Id: If3a9ee68206a44e35f459e3c39d9da2d6f7ba4ba
2019-02-05 04:02:24 -08:00
Surya Prakash
27fba324b4 qcacmn: Enhance debug message for wmi
Print endpoint ID, soc ID, target type and transmission
queue depth when queued wmi commands reaches max wmi queue size.

Change-Id: Ia781f3a2c964651d5fdb8cb54ab975021cd11566
CRs-Fixed: 2360714
2019-02-05 04:02:13 -08:00