When FW supports segment CALDB memory in memory request,
it sets CALDB_SEG_DDR in its capability which is sent to
host by Target Cap QMI message.
Change-Id: I84b62336ea2616cb2d663c604ac4af8a8d9966b8
CRs-Fixed: 3681105
Add support for host driver to get LPASS-FW shared
memory information in the context of direct link
use case.
CRs-Fixed: 3667595
Change-Id: I8254919814d578c9f28084db52a22f8cb9779112
Pass he_channel_width_cap, phy_qam_cap and rd_card_chain_cap
to wlan host driver as part of soc info.
Change-Id: I471de0df5452c960662955aad20cf1b1f6c8845e
CRs-Fixed: 3533554
Add cnss_update_time_sync_period and cnss_reset_time_sync_period to
update time sync period vote sent from wlan driver based on use-case.
CNSS driver stores both wlan driver and sys config time sync period
value and will apply the minimum value of all votes.
Change-Id: I46ad2866bd70aefe121c8a68a9c869e75ffd8345
CRs-Fixed: 3502060
Add support for AUX UC download functionality if aux support is
indicated by both host and fw.
Change-Id: I3bfbebbb5cdfbbaa350a34378ab2f0809f27affb
CRs-Fixed: 3402104
Notify WLAN driver of system reboot to avoid state
mismatch between cnss driver and WLAN driver.
Change-Id: I03e867484ee450c796c0dfabac7ed550a1d0337c
CRs-Fixed: 3467387
API cnss_send_buffer_to_afcmem pass AFC data from driver to target
which is not changed in platform driver, and it is pass-through byte
stream for platform driver.
Change the AFC data pointer in API from char* to const uint8_t*.
Change-Id: Ib492dbcf028776858926d8a3e11edc528566fac1
CRs-Fixed: 3478093
Add support to include hif_ce_desc_history, hif_ce_desc_history_buff,
and hang_event_data log buffer regions in ssr host dump collection.
Change-Id: I650b94973b8b12cb546a1bc2d121ee319a182767
CRs-Fixed: 3455747
CNSS prealloc maintains various prealloc pools of 8Kb, 16Kb, 32Kb
and so on, and allocates buffer from the pool for wlan driver. When
wlan driver requests to free the memory buffer then CNSS prealloc
needs to first find out mempool id from which this buffer was allocated.
Use slab_cache from slab struct to identify memory pool id. Until
kernel 5.16, slab_cache was part of page struct but in kernel 5.17,
slab_cache is moved out to mm/slab.h file.
Also change WCNSS_PRE_ALLOC_GET_THRESHOLD to 8Kb to match with
cnss_pool_alloc_threshold.
Change-Id: I4e34d8f0b855c210cc9af30c1f4a0d6c7e43ab00
CRs-Fixed: 3414037
Add corresponding driver support for WCN6450 device.
This change adds compatible dtsi entry, msi config,
v3 shadow register config and vreg regulator details
along with enabling bootup sequence for WCN6450 device.
Change-Id: I406c92cdc2815ffd1108331d382c4972befad998
CRs-Fixed: 3404702
Add cnss2 code changes to register with thermal framework to support
thermal mitigation.
Change-Id: I9d427603bfc7e6bb5d732fa3e29ff66c965e153b
CRs-Fixed: 3386762
Deep Sleep is a system wide low power mode during which
Modem would be brought down and DDR would be in self
refresh mode (suspend-to-RAM) thus platform driver on
receiving deep sleep indication goes to a state similar
to SSR apart from the fact that FW is not crashed but
deliberately brought down.
In msm-5.15, there are no seperate notifications used
for deep sleep, notifications used for hibernate like
BEFORE_SHUTDOWN, AFTER_SHUTDOWN, BEFORE_POWERUP and
AFTER_POWERUP are used for deep sleep also.
In this commit add only low power mode state to
icnss driver state.
Change-Id: I4b12c5a8841e3cfc3e5e44ab6d9dff141e472876
CRs-Fixed: 3394501
Call collect_driver_dump() driver ops to add the data from the buffer
for the four log types.
Change-Id: Ic06d4520de6f87202d1c3ce24362d61002b85f61
CRs-Fixed: 3352310
Add support for IOMMU map and unmap of WLAN memory
regions into Audio SMMU for direct link usecases.
Change-Id: Ic136b1e5ac22641b6612ab5285452273233fcaea
Add CLD80211_ATTR_IFINDEX attribute to send interface index
in order to overcome duplicate logs for STA+STA case
Change-Id: Iba2a5d59b2e3a444844510afa2f17140244507d7
CRs-Fixed: 3340768
Add and export API to check whether FW capabilities like
DIRECT_LINK, etc are supported by FW or not.
Update WLAN Firmware Service QMI file as per latest IDL file.
Change-Id: Ic33104ec55e18845b8c33ff611d1ecc15ec5cd77
CRs-Fixed: 3335259
Add APIs for handling AFC memory request from FW:
cnss_send_buffer_to_afcmem() and cnss_reset_afcmem().
cnss_send_buffer_to_afcmem() will be called if receive valid AFC
response data, cnss_reset_afcmem() will be called if receive
invalid AFC response data. After memory copy done, another WMI
command will indicate FW ready to read.
Change-Id: I34b9add3d7721d778e5474d9b11ad64adb4f04f0
CRs-Fixed: 3223607
Some platforms can't meet the number of MSI interrupt vectors that
wlan driver requires.
Add one MSI interrupt vector support.
If CONFIG_ONE_MSI_VECTOR is not defined, wlan driver fails to load
if reuired MSI vector allocation fails. It is current behavior.
If CONFIG_ONE_MSI_VECTOR is defined, firstly it will allocate multiple
MSI vectors based on MSI config. If MSI vector allocation fails, it
fallbacks to one MSI vector automatically.
Change-Id: I813f7ddf678ecf405e573f3bc72af3e758d1c96d
CRs-Fixed: 3312670
WLAN HW can be securely disabled. Add support in platform driver to
handle WLAN cold boot initialization sequence changes if HW is disabled
at boot and WLAN resume sequence after WLAN HW is enabled.
Change-Id: If5036560820c54653801298ceebe4f50b7532f3f
CRs-fixed: 3211229
Kiwi-v2 supports separates image for MM and FTM mode,
platform driver will load difffernt binary according to the mode
indicated by wlan driver.
If seprate binary is not there, fall back to default binary.
Change-Id: I848309440fdffd6517463e18190c03c1b7ed9269
Add code to use cnss_utils to send device type across wlan & bt.
cnss platform driver reads the wlan sw control gpio and updates
the cnss_utils with the device type, when Bt comes up it get the
device type from cnss_utils.
Change-Id: I5b6f3e7d3dc44e4c5a4a341b3e286f87b5c24bbb
Bring ICNSS family drivers from msm-5.10 kernel as of commit
'cb298739ee51 ("icnss2: Download bdf file for helium targets")'
to WLAN platform project.
Updated wlan_firmware_service files and makefiles to support
ICNSS2 compilation.
Change-Id: I02cf792b61772f07ac0607be7bb6b3bfda7815e4
There are multiple subversions of one chip, platform driver needs check
chip version info that wlan driver provides to decide whether reject
this registration.
Change-Id: I43bc9cb0c20021a2add3e8e5f812d82c31f217f4
Add api to return the pci slot in use. With the new targets,
QCA6490/kiwi devices are getting attached on pci slot 1
as well, so host driver call this exported api to get the pci
slot of device attached.
Change-Id: Ief51204258090df16b48267f3aeb851ded365525
Bring CNSS family drivers from msm-5.10 kernel as of commit
cc3bc4b888af (cnss2: Fix a few switch statement fallthrough
issues) to WLAN platform project. Fix SPDX-License format for
a few files as well.
drivers/net/wireless/cnss* -> .
include/net/cnss* -> inc/
Above shows how directories and header files are relocated.
Change-Id: If8fd40a35c9fdbeb1aa76a8aac5fdb1fc1c7e786