As part of supporting NAN DBS, new WMI TLVs are defined so
that Host can maintain the status of NAN Discovery in sync
with the Firmware. Move the older handlers into the NAN
related files. Also add modules to extract information from
the new TLV's and fill up the event parameters to pass
them to the NAN component. add support for explicitly
disabling NAN due to concurrencies.
Add modules to handle and extract the info from NAN events.
Change-Id: Ic03baaaef45106353c211a813e11e33a90cd41ca
CRs-Fixed: 2338059
The original definition of struct wmi_unified_pmk_cache had several
anomalies:
1) It contains an unnecessary tlv_header field. Only the fw-api
structs should contain TLV headers.
2) It contains a mis-named session_id field. Common structures should
use converged terminology, in this case vdev_id
Change If4be27111c604c16ea437aa654210cdff28220a7 ("qcacmn: Refine
struct wmi_unified_pmk_cache (phase 1)") completely addressed the
first issue, and as the first phase of fixing the second issue it
replaced the session_id field with an anonymous union which contains
both the existing session_id field and a new vdev_id field. Being part
of a union these field will overlay each other.
qca-wifi-host_cmn change Ie8cc453751b95c332e3df32794506a4bd3c324ad
("qcacmn: Refine struct wmi_unified_pmk_cache (phase 2)") and
qcacld-3.0 change Ief4bcb819cb3c842adb74904f2cb2483476eaeb9
("qcacld-3.0: Use the refined struct wmi_unified_pmk_cache") replaced
all references to session_id with references to vdev_id.
For phase 3 remove the anonymous union introduced in phase 1, leaving
just the vdev_id field.
Change-Id: Ic5a274b9e2e8e603eef801a9d6422f55829f9735
CRs-Fixed: 2363432
The current definition of struct wmi_unified_pmk_cache has the
following anomalies:
1) It contains an unnecessary tlv_header field. Only the fw-api
structs should contain TLV headers.
2) It contains a mis-named session_id field. Common structures should
use converged terminology, in this case vdev_id
To fix the first issue just remove the tlv_header field since it isn't
used. To fix the second issue takes a phased approach. For phase 1
replace the session_id field with an anonymous union which contains
both the existing session_id field and a new vdev_id field. Being part
of a union these field will overlay each other.
Subsequent phases will replace session_id references with vdev_id
references, and then remove the union, leaving just the vdev_id field.
Change-Id: If4be27111c604c16ea437aa654210cdff28220a7
CRs-Fixed: 2363430
In the existing converged component, WMI TLV APIs are implemented in
a generic manner without proper featurization. All the APIs exposed
outside of WMI are implemented in wmi_unified_api.c and all the APIs
forming the CMD or extracting the EVT is implemented in wmi_unified_tlv.c.
Since WIN and MCL have a unified WMI layer in the converged component and
there are features within WIN and MCL that are not common, there exists a
good number of WMI APIs which are specific to WIN but compiled by MCL and
vice-versa. Due to this inadvertent problem, there is a chunk of code and
memory used up by WIN and MCL for features that are not used in their
products.
Featurize WMI APIs and TLVs that are specific to MCL -
- DSRC
- NAN
- P2P
- PMO
- roaming
- concurrency
- STA
- Generic MCL specific WMI (STA)
Change-Id: I03a68b0db30a3aa585b269ab0a1745b37bc7e0b7
CRs-Fixed: 2316935