Grafico dei commit

7145 Commit

Autore SHA1 Messaggio Data
Viyom Mittal
2d24c56394 qcacmn: Fix incorrect Rx Rate info
Fix incorrect Rx Rate info by anding the value with 7.

Change-Id: Ie6c6b768e90b51bd9bce46b5437af1e03f043570
CRs-Fixed: 2460190
2019-07-17 03:29:05 -07:00
Himanshu Batra
bcb10e6676 qcacmn: Add ascii dump support to qdf hex dump API
The existing hex dump API dumps hex data only.
Add API so that the ascii data can also be
dumped along with hex dump

Change-Id: Icbe74b26f47601a249e3d7ac701f2a19d70fb83b
CRs-Fixed: 2464738
2019-07-17 02:15:41 -07:00
Saket Jha
16d8432a3d qcacmn: Reduce log level to avoid console logging
Reducing the log level of debug log to avoid console logging
and instead get it on the cnss diag log.

Change-Id: Ie5a1eb6f45ffa97790d91528a173b16319ec760b
CRs-Fixed: 2486057
2019-07-16 18:40:26 -07:00
Saket Jha
7f89014195 qcacmn: Add WAR to ignore duplicate RX desc
Check if host is reaping a descriptor which is
already reaped then drop RX desc processing instead of asserting.
Macro DUP_RX_DESC_WAR added before dp_rx_dump_info_and_assert function
which does not assert for the case WAR is enabled.

Change-Id: I4f3c1cc16de79f2483cd415582970e093e81d465
CRs-Fixed: 2486057
2019-07-16 18:40:23 -07:00
Abhiram Jogadenu
1c2b583ee2 qcacmn: Componentize and enable conv WIFI POS
Componentize and enable converged WIFI POS

Change-Id: I8e3f745dbb087818c9d411c7a00e1cdb2907d4d3
2019-07-16 17:15:24 -07:00
Saket Jha
316c0fdb45 qcacmn: Define QDF API for cpumask abstraction
Defines QDF APIs for abstraction of cpumask_clear, cpumask_set_cpu,
and cpumask_setall.

Change-Id: I1678c600c7043b1d4a19e0479ceab9af0ce83d01
CRs-Fixed: 2478893
2019-07-16 17:15:19 -07:00
Liangwei Dong
0b37b4ca1d qcacmn: Change beacon tx WMI API under feature flag
Remove CONFIG_MCL for Beacon buf send WMI command APIs.
And move them under WLAN_WMI_BCN.

Change-Id: Ie5053334bd7498cb9dd84dbc515ffd3414a4ad32
CRs-Fixed: 2483567
2019-07-16 17:15:14 -07:00
Uraj Sasan
37b2c4d198 qcacmn: Support live dump feature
Target firmware Assert are at times related to Host Driver
interaction with the firmware. To debug these issues, host
driver dump is mandatory. The feature provides memory dump
of data structures registed with this framework. The dumps
are saved which can later be loaded using gdb and analysed.

Add apis support for the feature.

Change-Id: I41c5126a49a698969f24b17187f78f4b4db7a51e
CRs-Fixed: 2478139
2019-07-16 15:54:03 -07:00
Naga
a4f7040b4c qcacmn: Enable TLV support for vdev delete all support
Enable TLV support for vdev delete all
peer request which will replace individual peer
delete of peers under a vdev during vdev down.

Change-Id: I777bd3dfb4ed8d8493456d3a0fbc90edd8fc75a2
CRs-Fixed: 2477601
2019-07-16 15:54:00 -07:00
Santosh Anbu
0616b55fed qcacmn: API to support serialization of restart cmds
Add APIs to support serialization of pdev restart and vdev
restart commands.

Change-Id: I367a8f369692e660c37278f7494db7aa0aeb7cd6
CRs-Fixed: 2480314
2019-07-16 15:53:56 -07:00
Santosh Anbu
f8ed4b9824 qcacmn: Add API for cancellation of non-blocking cmd
Add API to support cancellation of a non-scan command to match with the
vdev and is a non-blocking serialization command.

Change-Id: I31556ea8f35b9caf314f10eba0f0f655e3fce806
CRs-Fixed: 2481935
2019-07-16 15:53:52 -07:00
Vignesh U
93360d2f1a qcacmn: Update regdb with regulatory database version 29
Update regdb with QCA regulatory database version 29 with following
changes:

1) Create new full RD Def: APL9_MKKC and change Korea Country mapping to
APL9_MKKC.
2) Change APL9 to CTL Region MKK.
3) Change APL9 power to 23 for all 5GHz subbands.
4) Create new 2GHz RD Def: KRRA and Full RD Def: APL9_KRRA.
5) Create new MKK17_MKKC for Japan: Same as MKK5 but with added
channel 144 (Japan country code remains mapped to MKK5_MKKC for now).
6) Change Japan MKK5 lower bands to "indoor".
7) Change Canada in LA country table to FCC6_FCCA.
8) Change Georgia to ETSI1_World.
9) Change Dominican Republic to FCC3_FCCA.
10) Change Kenya to ETSI13_WORLD.
11) Change Kazakhstan to MKK5_MKKC.
12) New Countries added Aland Islands, Andorra, Antigua and Barbuda,
    Cameroon, Cook Islands, Falkland Islands, Faroe Islands, French
    Southern Territories, Georgia, Guernsey, Heard Island, Holy See, Isle
    of Man, Jersey, Montserrat, New Caledonia, Niue, Norfolk Island, Saint
    Helena, San Marino, Sao Tome, Sint Maarten, Svalbard, United States
    Minor Outlying Islands and Virgin Islands (British).

Change-Id: Ic64ac96fa3e0828f628fecced66297ce176b3d3a
CRs-Fixed: 2475613 2454185
2019-07-16 15:53:49 -07:00
Abhinav Kumar
8b51c23a16 qcacmn: Handle use-after-free scenario while stopping soft AP
Currently, driver sets BSS peer and self peer to NULL
only in case of PEER AP/GO. It nither set BSS peer nor self peer
to NULL for GO/AP while de-attaching peers. This results in bss peer
use after free issue while stopping soft AP.

In order to fix this issue, the driver should set bss peer and self
peer to NULL for GO/AP as well.

Fix is to set bss peer and self peer to NULL for both PEER and AP
cases.

Change-Id: I055573c062c5a4e71fef2a699131e10fb6d97d71
CRs-Fixed: 2488371
2019-07-16 15:53:45 -07:00
Gerrit - the friendly Code Review server
db49e9de26 Merge changes into wlan-cmn.driver.lnx.2.0 2019-07-15 17:24:43 -07:00
Linux Build Service Account
05627eee58 Merge "qcacmn: Add host support for multicast RC stale period selection" 2019-07-15 14:53:08 -07:00
Aditya Sathish
dab965d68a qcacmn: Add host support for multicast RC stale period selection
Add support for multicast RC stale period selection.

Change-Id: I6a3d1d8e8f2fe32d662de64cfdf9619bc205689a
CRs-Fixed: 2482733
2019-07-15 10:36:57 -07:00
Vignesh Mohan
6cd3c0f9f9 qcacmn: Find EN302_502 applicable domains from regulatory
The EN302_502 radar pattern is applicable in a predefined list of
regulatory domains (defined in DFS component). During radar table attach,
the current regulatory domain is checked if it is one of the
applicable regulatory domains.
The predefined EN302_502 applicable domains are:
ETSI11_WORLD
ETSI12_WORLD
ETSI13_WORLD
ETSI14_WORLD

Predefining these regulatory domain pair values in DFS component will
affect future regulatory updates that modify/add regulatory domains
to this list. Also, as per regulatory update #27, ETSI13_WORLD is not
EN302_502 applicable and ETSI15_WORLD is EN302_502 applicable.

Introduce a regulatory API(is_regdmn_en302502_applicable()) that finds if
the current regulatory domain pair is one of the EN302_502
applicable domains.
Modify the EN302_502 applicable regulatory domains as follows:
ETSI11_WORLD
ETSI12_WORLD
ETSI14_WORLD
ETSI15_WORLD

CRs-Fixed: 2390875
Change-Id: I78839a796eeb53a6b06b9fe66e8cae58de8838fa
2019-07-15 08:51:19 -07:00
Akshay Kosigi
283e2358f4 qcacmn: CONFIG_WIN Macros to be moved out of DP/HAL
Remove CONFIG_WIN usage from Lithium DP and HAL module.

Change-Id: If388e45cb3e7e31493edd422a2f4c40f0dd4a799
CRs-Fixed: 2474613
2019-07-15 06:39:40 -07:00
phadiman
f09509b3f4 qcacmn: Populate mpdu_failed stats
Calculate mpdu_failed by subtracting
mpdu_tried with mpdu_success

Change-Id: Ic8a757729f3b352578d33c35d73158cffa64b78d
2019-07-12 08:29:37 -07:00
Sravan Kumar Kairam
830542f0d1 qcacmn: Fix wrong register window access
In register select window if the register offset falls
in the last stored register window in driver, register
window remap is not done. There is a case if platform
driver accesses the hardware registers and remaps the
register window, then driver wont be aware of this and
have the wrong cached register window. So when driver
tries to write or read it selects the wrong register
window and accesses wrong register address. So fix this
by always doing the register window remap.

Change-Id: Ic38cc8cc3d9d82a3534f5ea356027db324c9fe13
CRs-Fixed: 2477771
2019-07-12 02:05:35 -07:00
phadiman
4dc5e1f636 qcacmn: Remove unused field - is_bss
Remove unused field is_bss from AST
stats which is not serving any purpose

Change-Id: I5f63d9a027b5390802fab13ceab9d7d219a81e5a
2019-07-12 02:05:32 -07:00
Surabhi Vishnoi
b30b9176a2 qcacmn: Add target ce configs based on pktlog feature for Adrastea
When pktlog feature is disabled then the target CE11 attributes
should be set to CE_ATTR_DISABLE_INTR. Currently, the target ce configs
are attached unconditionally. This leads to incorrect attribute set for
CE11 in case when pktlog feature is disabled and thereby abortion of
HWDTIM in target as target checks host_ie for CE11. Currently host_ie
is not set for CE11, this results in aborting of suspend mode as
target assumes that host is using CE11.

To mitigate this issue, attach the target ce configs based on pktlog
feature. When pktlog feature is disabled then set the host_ie for
CE11 which will indicate to target that host is not using CE11 and
target will not abort HWDTIM mode.

Change-Id: I331d3bd8eda0c2aba9d86fb7601ac2b74c9e2c31
CRs-Fixed: 2459887
2019-07-12 02:05:28 -07:00
Vignesh Mohan
56a6f31213 qcacmn: Enable radar detection and subchannel marking in Agile DFS
When radar is found on Agile detector, the channels are not added to
NOL list and are only added to preCAC NOL list.

Add the radar affected channels, in Agile detector, to NOL list and to
preCAC NOL list based on the detector ID of the radar event received.

For subchannel marking, use agile channel instead of current operating
channel to the NOL when radar is found on agile detector.

Change-Id: Ifa61feeddbaaa81fe405972aa5826994a1383c00
CRs-Fixed: 2464929
2019-07-12 00:53:37 -07:00
Vignesh Mohan
242d8ded04 qcacmn: Provide 20/40/80MHz Agile DFS support
In the current Agile DFS design it is assumed that the agile detector's
bandwidth is always 80Mhz. However, the agile detector inherits the
bandwidth of the current operating channel with the following
mapping:
Current Chan BW --- > AGILE BW
20                    20
40                    40
80/80+80/160          80

Provide support for Agile DFS on 20/40/80MHz channels based on the
current channel's bandwidth. Maintain a Binary Search Forest,
with each Binary Search Tree (BSTree) rooted by an 80MHz channel
structure. These BSTrees are connected by the preCAC list.
The primary key (identifier) of each node in the BSTree is an IEEE
channel. Each level of the BSTree has a unique bandwidth.

Remove the three existing precac lists: precac_required_list,
precac_done_list, precac nol_list.
Maintain
1) regular CAC and preCAC
2) regular  NOL and preCAC NOL
information in the same Binary Search Forest.

Modify the following APIs to support the new framework.
 1. Pick a channel for preCAC / Agile CAC.
    (dfs_get_chan_from_precac_list, dfs_find_chan_for_agile_precac)
 2. Reset the preCAC lists. (dfs_reset_precaclists)
 3. If preCAC is done on a channel. (dfs_is_precac_done_on_ht20_40_80_chan,
    dfs_is_precac_done_on_ht8080_ht160_chan)
 4. Mark the channel as preCAC done / NOL. (dfs_mark_precac_nol,
    dfs_mark_precac_done)

CRs-Fixed: 2464929
Change-Id: I6029ed919bd2275f46c4712ce1637ede4995557f
2019-07-12 00:53:33 -07:00
Basamma Yakkanahalli
dcfa1c7012 qcacmn: FFT bin size WAR to support 4 bytes for QCA6018
Spectral scan for QCA6018 failed due decoding the FFT bin in 2 bytes.

HWS team confirmed that for QCA6018, the FFT bin is in 4 bytes
representation.
Fixing this by modify the fftbin size WAR for QCA6018 to decode
4 bytes FFT bins.

Change-Id: I60e07370f7191544269d52640ae072f2a41f3833
CRs-Fixed: 2487055
2019-07-11 04:53:48 -07:00
Nandha Kishore Easwaran
aa28cc38a3 qcacmn: Adding hal for pine
Added new hal folder for pine. Included hkv2 functions whereever possible
to make sure there is not much code duplication.

Change-Id: I13247beb1af0b250f8e1bf182005f2513bdf9902
2019-07-11 04:53:43 -07:00
Abhiram Jogadenu
94748b3c46 qcacmn: Extract OEM response params
Add API to extract OEM response parameters from corresponding
WMI event.

Change-Id: I9a45bdac4a9091bf21ad8b9877e485baad4a75db
CRs-Fixed: 2467938
2019-07-11 02:10:41 -07:00
Paul Zhang
5e9e4549d9 qcacmn: Add OEM DATA vendor command support
This command is used to send OEM data binary blobs
from application/service to firmware.

Change-Id: Id806638bf8c53c65b32177969d965290da5701b9
CRs-Fixed: 2477337
2019-07-11 00:52:13 -07:00
Vivek
7047d0d1a5 qcacmn: Replace WIN/MCL from macro names
There are macro defined differenly for WIN and MCL
to pick up default INI value either for WIN or MCL.

The macro name uses WIN and MCL and also enabling the
right macro is controlled by CONFIG_MCL.

Replace the macro with CONFIG_AP_PLATFORM.

Change-Id: Ib5663532d45534cce1715ef06447116e2654e709
CRs-Fixed: 2484959
2019-07-10 07:24:26 -07:00
Jinwei Chen
49cd7b9173 qcacmn: add correct VHT NSS value for monitor radiotype
add correct VHT NSS value for monitor radiotype.

Change-Id: I6d2258b58873a1f843020e290b82c32bc88df336
CRs-Fixed: 2477387
2019-07-10 07:24:22 -07:00
Venkata Sharath Chandra Manchala
2b8a2a0648 qcacmn: Avoid using freed pdev in dp_rx_bar_stats_cb
dp_reo_cmdlist_destroy frees any pending reo_cmds.
Each reo_cmd is associated with a handler which takes
reo_cmd->data as an input. This reo_cmd->data is a pdev
for dp_rx_bar_stats_cb. So validate pdev before
accessing it further.

Change-Id: I1c2d46d3e3f5ede4491500978153f501ebdeee87
CRs-Fixed: 2478910
2019-07-10 02:56:32 -07:00
Vignesh Mohan
d01178025b qcacmn: Reset agile precac frequency during channel change
During abrupt channel change (e.g. iwconfig), the vap is brought
down and then brought back up. Now if the Agile detector is running
during this period, the detector is turned off as part of vap down.
When the vap comes back up, as part of starting the Agile detector,
a status of OCAC_SUCCESS and frequency of dfs->dfs_agile_precac_freq
is sent to the API (dfs_start_agile_precac_timer). The
dfs_agile_precac_freq variable was meant to be 0 as part of starting
the timer but since it was never cleared, that freq was moved to
Agile CAC done state immediately.

Clear the dfs_agile_precac_freq as part of vap down in addition to
stopping the Agile precac timer.

Change-Id: Ife117277a5d85911ae310e19a406f88fb9a544f0
CRs-Fixed: 2467077
2019-07-10 01:33:10 -07:00
Jingxiang Ge
4cbb2ada5b qcacmn: Remove CONFIG_MCL in wlan_flush_host_logs_for_fatal
This is to remove CONFIG_MCL in wlan_flush_host_logs_for_fatal.
And move condition cds_is_log_report_in_progress to qcacld code.

Change-Id: Ie231e966229789bcd8fa69aef1bc20e9b07a88ae
CRs-Fixed: 2484897
2019-07-10 00:23:19 -07:00
Jingxiang Ge
e575abcaa6 qcacmn: remove CONFIG_MCL in wlan_logging_set_fw_flush_complete
This is to remove CONFIG_MCL in qcacmn code.
This change cleans CONFIG_MCL in wlan_logging_set_fw_flush_complete.

Change-Id: Ia417c90060b20b004b1e5408be654ff392a8113d
CRs-Fixed: 2484838
2019-07-10 00:23:16 -07:00
Paul Zhang
71b1d14df2 qcacmn: Add QCA vendor command to support OEM data
Add a QCA vendor sub command QCA_NL80211_VENDOR_SUBCMD_OEM_DATA
with attributes qca_wlan_vendor_attr_oem_data_params to support
OEM data. It is used to send OEM data binary blobs from
application/service to firmware. The attributes defined in enum
qca_wlan_vendor_attr_oem_data_params are used to deliver the
parameters.

Change-Id: I05ce91345c60ca8d194e70549608530e3ee8ec41
CRs-Fixed: 2477322
2019-07-09 18:51:24 -07:00
Ankit Kumar
0ead45c2d7 qcacmn: Call log handler in case of HTT command/event
htt_command_record, htt_event_record, htt_wbm_event_record
function is used to log command,event, wbm event to
in-memory data-structure.
We call these function from htt path.

Change-Id: Ib3e18b895485c84f0010f8c3ba95c2da85b00bde
CRs-Fixed: 2428742
2019-07-09 18:51:21 -07:00
Liangwei Dong
b2569fd660 qcacmn: Support p2p GO random chan selection
MCL needs the interface type to query policy mgr for PCL
when selecting random channel. The existing API
utils_dfs_get_random_channel doesn't provide the vdev
type. Add new utils_dfs_get_vdev_random_channel
with vdev parameter to support P2P GO random channel
selection.

Change-Id: I0c6841b1692baca92730a6be73653282c98f1682
CRs-Fixed: 2467871
2019-07-09 18:51:18 -07:00
sumedh baikady
3a3b8fca39 qcacmn: Remove hw_nac_support flag for HKv1
The hw_nac support flag is used for HKv2 only
for indicating monitor direct feature in HKv2
HW. This is not required for HKv1 and was added
for test purpose only.

Change-Id: If44b2acc06d5bf65fcb1934fab2e68c5c7e0f651
Crs-Fixed: 2485142
2019-07-09 18:51:04 -07:00
Shiva Krishna Pittala
6c43fa8a14 qcacmn: Add radio level parameter OL_ATH_EXT_ACS_REQUEST_IN_PROGRESS
A radio level parameter for configuring if external channel selection on
the radio is in progress is required to reduce the number of external
channel selection requests by the radio.
Add the parameter OL_ATH_EXT_ACS_REQUEST_IN_PROGRESS for this purpose.

Change-Id: I30ce066e840b11fe23158b896977fbf3924dbbf3
CRs-Fixed: 2483737
2019-07-09 12:28:09 -07:00
wadesong
9b220a6ec6 qcacmn: Cleanup CONFIG_MCL for pktlog related code
Replace macro CONFIG_MCL with FEATURE_PKTLOG for
pktlog related code.

Add some macro changes to ensure the following 3
functions' declarations are enclosed by the right
macros:

wlan_deregister_txrx_packetdump
wlan_register_txrx_packetdump
wlan_pkt_stats_to_logger_thread

Change-Id: I900de3be28faee8403923a5e4bd326e69895d998
CRs-Fixed: 2406250
2019-07-08 12:10:09 -07:00
Yu Ouyang
5936495779 qcacmn: fix pcie card enable issue without CNSS module
For 3rd party platform, without CNSS module, PCIe card failed
to enable.

Function hif_pci_enable_bus() should call hif_enable_pci_nopld(),
not hif_enable_pci_pld(). So, checking platform driver supported
or not before enable bus. If platform driver is not supported,
return false in function hif_is_pld_based_target().

CRs-Fixed: 2439335
Change-Id: I57a1272f082e7ba1fbeee43d58a81997f3d0e6d7
2019-07-08 12:10:04 -07:00
Jinwei Chen
63705259d2 qcacmn: fix dp_rx_defrag_add_last_frag peer tid array invalid access
In some case, HW will fill in unexpected peer_id into RX PKT TLV,
if this peer_id related peer is valid by coincidence, but actually
this peer won't do dp_peer_rx_init(like SAP Vdev self peer),
then invalid accessing to peer rx tid will happen.

do SW WAR that add checking about peer tid array, if not initialed,
free the rx nbuf.

Change-Id: Icf196b4f92eb341e1ace5128c681d24c41dff6cd
CRs-Fixed: 2468537
2019-07-08 08:48:31 -07:00
Amir Patel
57e7e055f2 qcacmn: Filter rx fcs error frames for m_copy mode
Filter fcs_err frames and pass only first fcs ok msdu payload
from ppdu to upper layer

Change-Id: Ibf739193275f4f5a5c3e786abbbaa45165b5aa13
CRs-Fixed: 2439392
2019-07-05 14:32:20 -07:00
Srinivas Dasari
f4667d4ba0 qcacmn: Add a vendor attribute to configure disconnect IEs
Add a new vendor attribute QCA_WLAN_VENDOR_ATTR_DISCONNECT_IES
to configure disconnect IEs to the driver. Driver shall fill
these IEs in disassoc/deauth frame.
These IEs are expected to be considered only for the next
immediate disconnection (disassoc/deauth frame) originated by
the DUT, irrespective of the entity (user space/driver/firmware)
triggering the disconnection.
The host drivers are not expected to use the IEs set through
this interface for further disconnections after the first immediate
disconnection initiated post the configuration.
If the IEs are also updated through cfg80211 interface (after the
enhancement to cfg80211_disconnect), host driver is expected to
take the union of IEs from both of these interfaces and send in
further disassoc/deauth frames.

Change-Id: I3fd6e8e37d4282bceef44054d883d214d2a2825c
CRs-Fixed: 2482021
2019-07-05 13:10:35 -07:00
Naga
8e5172276f qcacmn: Add WMI support for vdev delete all peer
Add WMI support for vdev delete all
peer request which will replace individual peer
delete of peers under a vdev during vdev down.

Change-Id: Ia41ae5fbf96a75d2a3e608564742d2a43e0ed2cc
CRs-Fixed: 2456858
2019-07-05 10:26:44 -07:00
Naga
52beb2c087 qcacmn: Add target_if/mlme support for vdev delete all peer
Add target_if/mlme support for vdev delete all
peer request which will replace individual peer
delete of peers under a vdev during vdev down.

Change-Id: Ic9aadefefe26bcdcd38bb5a28be712e3c5e2963a
CRs-Fixed: 2456858
2019-07-05 10:26:40 -07:00
Vevek Venkatesan
acd3a070da qcacmn: enable DP AP Bridge when SAP mode turned on
Enable DP AP Bridge when SAP mode turned on, CONFIG_MCL cleanup.

Change-Id: I96fa3c263064fe4e438c98246d02dbc50437984b
2019-07-05 10:26:37 -07:00
tinlin
f5ecc601ca qcacmn: Support op class 30 in US
According to spec, add operating class 30 for
country US.

Change-Id: Ie8268fe7e00d7dcb959c5744a1ab38d63a8d5397
CRs-Fixed: 2473419
2019-07-05 10:26:33 -07:00
Linux Build Service Account
da3a277778 Merge "qcacmn: Correct tx_encap_type check" 2019-07-04 07:05:33 -07:00
Linux Build Service Account
1e54195c9a Merge "qcacmn: Add new config file for scan params" 2019-07-04 07:05:33 -07:00