Notification is sent in following two scenarios.
- After call to dp_peer_add_ast() if we are not expecting any
peer map event.
- When HTT peer map event is received.
Change-Id: Id926d1cec1ee64520b0368fcc5000988c24e0513
CRs-Fixed: 2745542
In the 5G radio, if the current regulatory domain does not support
4.9Ghz channels, and if 4.9Ghz IEEE channel number 1 to 11 are given as
an input to reg_compute_chan_to_freq, instead of returning 0,
it returns the corresponding center frequency of the 4.9 Ghz IEEE
channel number.
This is because the channel state and chan_flags of the 4.9Ghz channel
are not checked, that is why it returns the valid channel frequency.
To fix this issue, check the channel state and chan_flags of the
4.9Ghz channel before returning the non-zero channel frequency.
Change-Id: Icedd74422b4194ac4f1affed7e9f131fb8426986
CRs-Fixed: 2738248
The rx rings are relatively of smaller size. Any
duplicate entry sent by hardware cannot be back-tracked
by just looking at the ring contents alone.
Hence add a history to track the entries for the
REO2SW, REO exception and SW2REO ring.
Change-Id: I9b0b311950d60a9421378ce0fcc0535be450f713
CRs-Fixed: 2739181
Both (ETSI) PreCAC and RCAC are going to use use the same state
machine. The state machine drives the Agile engine and not very specific
to RCAC or PreCAC, therefore let the state machine be called agile state
machine and change the names of all the associated variables accordingly.
In this preparatory change, modify names of all APIs, states and events
to make them common to Agile RCAC and Agile PreCAC
Change-Id: I67858839589145bf4377a7eafec7c21ca4823141
CRs-Fixed: 2711104
In monitor mode, radiotap header contains VHT/HE information in management
and control frames after association of STA to AP.For this,reset of
ppdu_info is required before processing of ppdu in order to avoid reuse
of ppdu_info.
Change-Id: Ia36ec2664f79d645ff76db016f986dfb92ec8bbd
CRs-Fixed: 2734804
Th nbuf sanity can fail in case when HW posts the
same buffer twice. This case can be handled gracefully
by just skipping the processing of the corresponding rx
descriptor.
Change-Id: I471bb9f364a51937e85249996e427f15872bda97
CRs-Fixed: 2738558
lock_cookie_freelist is global static, which means it is set as NULL when
loading driver module. It works well when there is only one driver module.
For the CE platform with CONFIG_WLAN_RESIDENT_DRIVER defined, driver is
split into two modules, one module keeps variables and functions in
kernel, the other module is used to trigger rmmod/insmod function. In this
case, lock_cookie_freelist is not NULL when insmod is triggered the second
time through the second module.
Set lock_cookie_freelist as NULL in qdf_lock_stats_deinit.
Change-Id: Ia20fcc230c3a43eed9b646689348ad37b77811f2
CRs-Fixed: 2742118
When dcs happened for three times in five minutes, then do
restart(start/stop) SAP operation, when SAP is started again,
dcs may happen again quickly, if total four times dcs happened
in five minutes, dcs_disable_timer will be started due to dcs
happened frequency control policy, it will disable wlan
interference detection for 30 minutes and dcs interference
detection won't work for 30 minutes, it's unreasonable. After
SAP restart, dcs happened times should be calculated from zero.
Add ucfg API to reset im stats and freq ctrl params.
Change-Id: I4ad8234349d24f044dff700d90e1bec859eaa397
CRs-Fixed: 2739299
DP RX changes to support RX buffer pool, this is a pre-allocated pool
of buffers which will be utilized during low memory conditions.
Change-Id: I8d89a865f989d4e88c10390861e9d4be72ae0299
CRs-Fixed: 2731517
Add support for RX buffer pool, this is a pre-allocated pool
of buffers which will be utilized during low memory conditions.
RX buffer replenish will fail when the system is low in memory;
this is okay if the condition is momentary, but if the
system persists in such state for longer duration, then HW will
run out of free buffers and this results in a crash.
RX buffer pool will be helpful in such scenarios. Buffers from
the pool will be given to the HW when the system is running low
in memory.
Change-Id: I7ca1159d858227a0a2021235d24d763e56ac0b27
CRs-Fixed: 2731517
Currently, the INI param wlanLoggingToConsole is used to enable
or disable WLAN logging to console. It will enable/disable console
logs for all log levels i.e. FATAL/ERROR/WARN/INFO. There is no
provision to enable/disable console logs for specific log level.
To address this, change wlanLoggingToConsole INI as bitmap with each
bit representing a log level. Enable/disable console logs based on
this bitmap.
Change-Id: If3172195a2ee86d21c4c03f441a4cc3e2780dd82
CRs-Fixed: 2734707
Add support to send HOST_WAKEUP WMI command over QMI for
WCN6750 target. Host sends HOST_WAKEUP command over QMI
itself and FW brings target out of power save mode, process
HOST_WAKEUP command and send back corresponding event over QMI.
Change-Id: I897749391683a7a7b53d4b6af57f258b1e02135c
In QC9000, the channel capture status gets update in reserved_8
field's lower 2 bits only. Remaining bits are used for debug.
CRs-Fixed: 2740908
Change-Id: I97321addb18f8e5944f5f58d670dfa9858dca4ec
copying mu data info is done inside schedule command status tlv
and handling based on completion status is added.
Change-Id: I2792d754a4fa3e2992d68f569c9ce40be8ff02e2
New WDI event WDI_EVENT_HMWDS_AST_ADD_STATUS to indicate
status of HMWDS peer ast add action to upper layers.
Change-Id: I49afd4b1b64596ef59261e3da1677955c10a7804
CRs-Fixed: 2729299
Enhance BLM infra to include source,
reason for blacklist, original timeout,
received time for better debug.
Change-Id: I9bad1970816bc45e16331f90182f1d9d4a01d6eb
CRs-Fixed: 2744400
HTT interface to enable FISA has been modified to accomadate only
FISA enable and aggregation limit fields, rest of the fields will
be initialized by the firmware; this change is in accordance with
it.
Change-Id: Ia5950541b8d852029650c02e81c097bf049e54c5
CRs-Fixed: 2731543
Send capture_count, capture_interval_mode_sel and MO marking
field as part of WMI_CFR_CAPTURE_FILTER_CMDID command.
Change-Id: Icf2738d49eaea711f69915302dc2655298958a33
Save info related to WTC BTM roaming coming via
wmi_roam_trigger_reason_tlv_param.
Change-Id: Iec089ba48b2ff30c09838119144b2b0f0abf9e65
CRs-Fixed: 2740598
In 32-bit systems, currently there is possible oob access in
send_stats_ext_req_cmd_tlv() is preq->request_data_len is
uin32_t max and len is also of type uint32_t.
Fix possible OOB access while sending ext stats request message
to firmware by validating the requested data length against the
difference between wmi max message size(WMI_SVC_MSG_MAX_SIZE),
size of the wmi command fixed param and wmi tlv header size
WMI_TLV_HDR_SIZE.
Change-Id: I769c9a6b7c0e0f76e2ec1070cac6c69768816454
CRs-Fixed: 2724256
The radar affected sub channel are determined by the bangradar type,
whether sub-channel marking is enabled or not, the center frequency
of the band on which the radar was detected. This block of code is present
in processing radar indication function and can be modularized.
Move the logic to find radar affected sub-channels into a single function.
Change-Id: Ic0a37fdfa97cbc1bcd2b9a23fd6642f22b43a733
CRs-Fixed: 2737120
Add support for peer based rule in iot_sim for frame
drop and delay operations.
Change-Id: I9d5b330d750aee868cf7ea2932bf8d7ce1d0d54f
CRs-Fixed: 2733909
Add a new API wlan_reg_is_6g_freq_indoor, to check if a 6G channel
frequency is indoor.
Change-Id: I2ccdcc2760b6aeade0409346a315b004014525c7
CRs-Fixed: 2731637
Currently when running downlink traffic with
fragmentation enabled, the SW2REO is getting
full. Increase the SW2REO ring size to 128 entries.
Change-Id: If43bc72a8cc173d44953ca367573800243b1cc5d
CRs-Fixed: 2738309
Before accessing any register on chip 6750, check if target is
ready or not.
Do not allow register access if target is not ready.
Change-Id: I41a604d04e861c97bdd676998222ccecbf12fd5a
CRs-Fixed: 2688920
Send RRM scan type indication in scan control flags to FW to scan
the channel for given duration after the FILS is detected.
Change-Id: I2057ef9794e3b05b7296679bb0220425ff64e6ae
CRs-Fixed: 2743155
Macros like wmi_warn, wmi_alert, wmi_debug and others are not dependent
on WMI_INTERFACE_EVENT_LOGGING feaure. Move these outside to fix
compilation errors observed when this feature is disabled.
Change-Id: Ia585f4b947063828e2038d87b4736267d9aaad88
CRs-Fixed: 2742439
Support a new capture_interval_mode: capture_count, where after
capture_count+1 number of frames, MAC stops channel capture and
waits for capture_interval duration before enabling again.
Add nob(capture_intervalmode_sel) to switch to capture_count or
capture_duration mode in wlanconfig application, where
capture_intervalmode_sel=0 indicates the old capture_durarion
mode where MAC stops channel capture after capture_duration
instead of capture_count. capture_intervalmode_sel=1 indicates
the capture_count mode.
Support MO marking: Current ENH CFR uses the existing MD/MO,
type/subtype filters to filterin the packets with programmed
type/subtype as either MD/MO. But for m_TARA it is also required
to consider the bw/nss/ta/ra setting. Therefore, it is possible
that not all the filtered-in PPDUs have channel capture and lead
to processing of packets which does not have captured data.
To overcome this issue, from QCN9000 onwards, MAC has MO marking
feature added for M_TARA filter mode, where MAC will consider
all TARA group configuration as filterin criteria & provides
an option to HOST to choose either filterin mode as FP or MO.
en_ta_ra_filter_in_as_fp is added to support MO marking.
Based on the discussion between HOST, FW & MAC teams, 0 is the
recommended & default setting for en_ta_ra_filter_in_as_fp.
Add nob to configure en_ta_ra_filter_in_as_fp but do not expose
to user.
Change-Id: I790d7ce500a7d779ea571635690f73dbc582cf33
Support a new capture_interval_mode: capture_count, where after
capture_count+1 number of frames, MAC stops channel capture and
waits for capture_interval duration before enabling again.
Add nob(capture_intervalmode_sel) to switch to capture_count or
capture_duration mode in wlanconfig application, where
capture_intervalmode_sel=0 indicates the old capture_durarion
mode where MAC stops channel capture after capture_duration
instead of capture_count. capture_intervalmode_sel=1 indicates
the capture_count mode.
Support MO marking: Current ENH CFR uses the existing MD/MO,
type/subtype filters to filterin the packets with programmed
type/subtype as either MD/MO. But for m_TARA it is also required
to consider the bw/nss/ta/ra setting. Therefore, it is possible
that not all the filtered-in PPDUs have channel capture and lead
to processing of packets which does not have captured data.
To overcome this issue, from QCN9000 onwards, MAC has MO marking
feature added for M_TARA filter mode, where MAC will consider
all TARA group configuration as filterin criteria & provides
an option to HOST to choose either filterin mode as FP or MO.
en_ta_ra_filter_in_as_fp is added to support MO marking.
Based on the discussion between HOST, FW & MAC teams, 0 is the
recommended & default setting for en_ta_ra_filter_in_as_fp.
Add nob to configure en_ta_ra_filter_in_as_fp but do not expose
to user.
Change-Id: I75cd3218fa4308afad21052e4535ef9b8e5a5869
If HW mode switch is in progress when a radar is detected, the radar
found channel information is stored and the processing is deferred.
This piece of code is in processing radar indication routine and can
be put under a function.
Move HW mode switch related code under a function so that it is
modularized.
Change-Id: I989ec62a2badbc70734e658a423aa0b8d2eee42d
CRs-Fixed: 2737116
The radar found parameters processing API dfs_process_radar_ind() is
supposed to read-only the radar_found_info parameters and not modify
them. A block of code for PO platforms modify the radar_found_info
parameters.
The function dfs_process_radar_ind() should not modify the radar found
input parameters.
Since in this case the parameter modifications are specific to partial
offload, move the code that modifies the parameters out of the function
into a partial offload specific code.
NOTE:- The previous change I2c717219d0b0f9263734767bee6070f335032b04 also
does the same that is mentioned here but for modification of
full-offload parameters.
Change-Id: Ic438d70eaadb9ef91d28f6a0c22caf4926ed1df1
CRs-Fixed: 2737060
The routine 'dfs_translate_radar_params()' translates the radar found
offsets given by a 160MHz detector which ranges from -80MHz to +80MHz
to that of the offsets given by an 80MHz detector that ranges from
-40MHz to +40Mhz. The same function also translates the segment ID from a
single-detector(160MHz) model to a two-detector model(80Mhz). This routine
is unnecessarily called for partial-offload chipsets which do not support
True 160MHz.
Do not call the function 'dfs_translate_radar_params()' from
'dfs_process_radar_ind()' which is common for both partial-offload and
full-offload. Call it from the full-offload specific radar action
function 'tgt_dfs_process_radar_ind()'.
Change-Id: I2c717219d0b0f9263734767bee6070f335032b04
CRs-Fixed: 2718507
Do not age out the scan entries of non-tx bss of connected AP
as the non-tx bss entries are updated based on connected AP
beacon.
Change-Id: Ib7276ff919f4c9a843c018caca1a90fd31168eac
CRs-Fixed: 2714982
New flag is added in PPDU user, this flag gets updated
on processing the user of a PPDU desc
Change-Id: Ib778b08833392bfd5651a83c2c1131f1d1ce3ea8
CRs-Fixed: 2738431
Ratelimit the defrag path error logs and add the stats
for fragmented packets received out-of-order which
inturn leads to sequence number mistamtch in defrag path.
Change-Id: I17d4c1cff214a8c8a05abf576701824b293d2883
CRs-Fixed: 2740805