Commit Graph

1142 Commitit

Tekijä SHA1 Viesti Päivämäärä
Debasis Das
c39a68da37 qcacmn: Support for 8021p pcp to tid mapping
Add HAL and DP support to configure
8021p PCP to TID mapping tables into Hardware.

Change-Id: I8a54970c8c4ef56f3c487b6e648c4411b3abde0e
2019-03-25 14:24:36 -07:00
Pamidipati, Vijay
c736e83257 qcacmn: Add missing unmap in rx error path
Add missing qdf_nbuf_unmap and storing of rx_buf_start
in rx defrag error handling path

Change-Id: I53b4b76e01e89f5542feeff5af2328cc4414486b
CRs-Fixed: 2420080
2019-03-25 14:24:32 -07:00
Naga
65fad66752 qcacmn: Add change to skip monitor ring cfg
Add change to skip monitor ring configuration
for smart and lite monitor through dp_set_monitor_mode
API instead will be handled to configure
cdp_txrx_set_pdev_param from caller as required
during restart, stop and up path.

Change-Id: If842399c64601049efdf9233a83ede5ce368802c
CRs-Fixed: 2421573
2019-03-24 22:26:30 -07:00
Kiran Venkatappa
4b50f33d5b qcacmn: Use size of CDP rx ind struct in ppdu stats handler
cdp_rx_indication_ppdu structure is used to indicate ppdu stats to upper
layer. Use the size of this struct instead of hal_rx_ppdu_info struct
while allocating SKB for notifying this event to upper layer.
hal_rx_ppdu_info struct is smaller sized structure and this can cause
invalid access.

Change-Id: I0db5a04f6e8ca8d8d38ddc83bcb7859292b45ba1
CRs-Fixed: 2419923
2019-03-24 19:27:02 -07:00
Manjunathappa Prakash
8f70862cd8 qcacmn: Detect dp_rx_process reo descriptor paddr corruption
Compare REO ring descriptor paddr with rx_desc->nbuf->cb->paddr,
possible corruption if they differ.

Change-Id: I064df12495a9934fe2396305a7a4a8cdeacdfd4f
CRs-Fixed: 2398155
2019-03-24 14:55:01 -07:00
Mohit Khanna
3d1e1b7602 qcacmn: Prevent rate stats from printing in kmsg
Do not print rate statistics on the console or kernel logs. Excessive
logging in kernel messages can lead to kernel panic.

Change DP_PRINT_STATS to not print in kernel logs.

Note that this is an interim solution. Ideally these prints from DP
module should be QDF_TRACE_LEVEL_DEBUG and logged to QXDM. Currently
DEBUG trace level is disabled for DP module.

Change-Id: I54af98eda0dd4ea53ae20f25ced6b03287d8b4e4
CRs-Fixed: 2414635
2019-03-24 12:58:12 -07:00
Tallapragada Kalyan
f990490712 qcacmn: Fix msdu link descriptor leak in fragment handler
msdu link desctriptor leak got introduced because two
gerrits got merged at the same time.

Change-Id: I65dbbab016e2e31c0943c37d614e6613193a56fd
2019-03-21 23:04:46 -07:00
Amir Patel
468bded892 qcacmn: Add RDK statistics changes for Hawkeye
Add RDK statistics changes to collect below stats
a. Tx rate statistics
b. Tx sojourn statistics
c. Rx rate statistics

CRs-Fixed: 2416141
Change-Id: I0c8127cd387b7665a76847f4125977bbb8c5a57a
2019-03-21 23:04:43 -07:00
Rathees kumar Chinannan
a8e7ec3d1c qcacmn: Add API to delete multiple WDS entries
Added a new API to delete multiple WDS entries.

Change-Id: Ie07bf9aa34334b5b7cf28374e78c25a5cc35dd00
CRs-Fixed: 2404435
2019-03-21 05:12:00 -07:00
Tallapragada Kalyan
c741308260 qcacmn: Increase AST table size to 4k
As fw has doubled the skid length we need to increase
the table size from 2k to 4k

Change-Id: Iaf46c9451220ce8e890cdf1909841917029ce32f
2019-03-20 22:10:36 -07:00
Lin Bai
fb19a22340 qcacmn: Fix compiler issue with DISABLE_MON_CONFIG
Compiler threw error 'defined but not used [-Werror=unused-function]'
when macro DISABLE_MON_CONFIG defined.

Wrap those functions by DISABLE_MON_CONFIG, which used only
within DISABLE_MON_CONFIG.

Change-Id: Idd92b9c481d580a6ca3df39963fa98e11d9d0753
CRs-Fixed: 2418584
2019-03-19 21:17:11 -07:00
Jingxiang Ge
434105d7a5 qcacmn: Get wlan op mode from vdev for pktlog
To avoid using qcacld code in cmn, when getting
wlan op mode, using op mode info from vdev rather
adapter.

Change-Id: Ida5a7aa6c793e955122a4bbf3bf0fa1fa5cbf7a3
CRs-Fixed: 2412317
2019-03-19 21:17:07 -07:00
Subhranil Choudhury
9bcfecf548 qcacmn: Add vdev_id argument to peer-delete
Add vdev-id as argument to peer-delete callback
function.

Change-Id: I8a43ed53c5f7ad64f1f4cb7aeb925e285752b7b5
2019-03-16 14:28:31 -07:00
Shashikala Prabhu
550e69c726 qcacmn: Restrict the tx descriptors for low mem config
For low mem config, use user configured max tx descriptors to limit the
allocation of software tx descriptors.

Use dp_txrx_pflow_update_pdev_params function to print stats and to update
pdev param.

Change-Id: I8fa6f0bb8841de68e8dc205ffcb0fde264f1b0e0
CRs-Fixed: 2414452
2019-03-15 23:15:06 -07:00
Varsha Mishra
3e9d647162 qcacmn: Fixing display of Vow Stats
Adding more fields to vow stats display function.

Change-Id: Ic5227e994e55c0ebc99351051d5b409ba0c3f627
2019-03-15 23:15:02 -07:00
Venkateswara Swamy Bandaru
cf1a001281 qcacmn: Add cdp support for DCS reenable timer
Add cdp support to configure DCS re-enable timer.

Change-Id: I35fdf2fd582468e6f09cbad35c927115b4177694
CRs-Fixed: 2415368
2019-03-15 09:15:13 -07:00
Vignesh U
b7f7d8e55e qcacmn: Provide proper age value for Assoc STA Link Metrics
Use the time stamp taken during the updating of RSSI value to
calculate the time elapsed when the IOCTL call happens. Return
that value as delta age in ms.

Change-Id: I96d36a7a132b7a327d9d5a5ba3a318a82889ebd5
CRs-Fixed: 2394910
2019-03-13 19:41:39 -07:00
syed touqeer pasha
576972b9e5 qcacmn: Move RBM value check before rx descriptor fetch
The rx descriptor may be invalid if RBM is incorrect.
Check the RBM value before fetching the rx descriptor.

Change-Id: I12cc99ceb31b8bbf0127591e1c275b13264eb80c
2019-03-13 19:41:36 -07:00
Dustin Brown
b5b21cac42 qcacmn: Remove qdf_*_outline() APIs
Several qdf_*_outline() APIs exist which are straight aliases to their
regular qdf_*() counterparts. Remove them, and update any callers to use
the regular APIs instead.

Change-Id: Ibe6e9cced521b93061e89690ab817ceafe49a469
CRs-Fixed: 2408267
2019-03-12 13:58:27 -07:00
Varsha Mishra
a331e6e55f qcacmn: Implement delay VOW stats for hawkeye
Delay counters per TID have been implemented for following types:
1. Linux stack to hw enqueue delay
2. HW enqueue delay to tx completion delay
3. TX interframe delay
4. RX interframe delay
5. RX frame delay from ring reap to networking stack

Change-Id: I836596cbd878a43955c18b4981cb5b7b43d4df5e
2019-03-12 06:10:05 -07:00
sumedh baikady
6d66c7e1b6 qcacmn: Remove redundant check for BA state
In handling addba request, if we receive a request
for a tid that is in IN_PROGRESS state, we ignore
this new request.

Change-Id: I71e3f78cf43f25c184161669a359a4b703cab3cd
Crs-fixed: 2408140
2019-03-11 14:20:53 -07:00
Debasis Das
a3249bd41e qcacmn: cdp support for 8021pCoS to tid mapping
Add members in the ops framework and the respective
function definitions for supporting 8021pcos to tid mapping.

Change-Id: Iaa15efbda0824cecb1b2db67ea8b6ee585a8d56c
2019-03-11 03:19:21 -07:00
Kiran Venkatappa
07921611b4 qcacmn: Use HTT message to disable rx_pkt_header tlv
On low memory platform rx_pkt_header tlv is not subscribed to get a
savings of 128bytes in skb. This is required to reduce the skb size from
4K to 2K on 32-bit platforms. Use HTT_H2T_MSG_TYPE_RX_RING_SELECTION_CFG
message to unsubscribe rx_pkt_header tlv for rxdma ring.

Change-Id: Ie684f1ca1de9c824a869b4e13fd0ee1d068004e7
CRs-Fixed: 2408424
2019-03-08 23:38:07 -08:00
Shashikala Prabhu
e11412df5c qcacmn: Add compile time macro to disable rx_pkt_hdr_tlv
Do not process  RX packet header TLV for low memory config profile.
Also, drop decapped frames in invalid peer processing function.

Change-Id: Ifc7721bb25d85c7e277bebf4b962d2f1bfea150c
CRs-Fixed: 2395508
2019-03-08 23:38:04 -08:00
phadiman
449a268392 qcacmn: Reuse Rx Descriptor Pool Array
wifi up/down will cause soc stop and soc
start which will allocate rx desc pool
array memory for each wifi up

This creates memory fragmentation issue
hence reuse Rx descriptor pool array
across wifi up/down and free only nbufs

CRs-Fixed: 2394666
Change-Id: Ic897c733dfba3d8829e2f2f51099cd615b8a7ea2
2019-03-08 20:19:16 -08:00
phadiman
2c146ea33a qcacmn: Memory Leak in Rx Frag Path
qdf_nbuf_cat API used to call skb_free
on src address but was later modified
so that the caller of qdf_nbuf_cat is
responsible for freeing the src memory

Due to this change in  the API, the
freeing of src memory on caller side
was not taken care and will lead to
mem leak

Hence add qdf_nbuf_free after calling
qdf_nbuf_cat if it returns success.

If qdf_nbuf_cat returns failure, then
freeing is taken care as part of error
handling in parent function.

CRs-Fixed: 2411320
Change-Id: If50eb9279d0cf26a0cf57444cb69e56f11995720
2019-03-08 17:24:08 -08:00
Santosh Anbu
4de9ffb5b1 qcacmn: Update retry count for failed tx frames
Check for completion status of the ppdu based on
HTT_PPDU_STATS_USR_COMMON_TLV and
HTT_PPDU_STATS_USR_COMPLTN_ACK_BA_STATUS_TLV.
Update the stats only when completion status is ok else
update retry and failed frames count.

Change-Id: Iac7730715f853746d77873488b7886e7beed467d
CRs-Fixed: 2390383
2019-03-08 12:06:01 -08:00
Mainak Sen
2e43fb26f0 qcacmn: Add support for displaying TID statistics
Framework is added to print per TID Video and delay statistics
Change-Id: Icdf825d0b90b6c698d20d80a16a65b11f4e385a0
2019-03-08 07:39:38 -08:00
Chaithanya Garrepalli
267ae0e416 qcacmn: add support for reset ast entry and table
Add support for reset ast entry and table, also send
ast entry type to upper layers in delete callback

Change-Id: I6b420fba5bab50519e8954a1e796b04bc0768ef8
CRs-fixed: 2384550
2019-03-08 06:04:39 -08:00
Sravan Kumar Kairam
fc3c8cf330 qcacmn: Add support for IPA using GSI
When IPA using GSI instead of UC different IPA TX and RX
clients needs to be configured. In this change when IPA
uses GSI configure appropriate TX and RX clients/pipes.

Change-Id: I0302323d91f0cc4256a1b08ddbb1345d0daa2939
CRs-Fixed: 2368003
2019-03-07 02:02:00 -08:00
Venkata Sharath Chandra Manchala
aedd8c3606 qcacmn: Return appropriate Rx descriptor pool for monitor mode
Replenish buffers consumed during monitor packet processing
and map it to the rx_desc_pool associated with a pdev.

Change-Id: Ia844c92c6b61bbb22ae42d38796aad2f29756b5e
CRs-Fixed: 2407502
2019-03-06 19:48:37 -08:00
Varsha Mishra
18281794c8 qcacmn: Implement VOW stats for hawkeye
VOW stats is an extension of regular stats to capture
all drops per TID. Delay counters per TID are also
included.

Change-Id: If6087f37b32cf9ae4bb405190a358ad3c9750dd2
2019-03-06 18:20:42 -08:00
Krunal Soni
9911b44343 qcacmn: Use hal_verbose_debug() to print msgs which come excessively
Some of the print messages in HAL module come very excessively.
Use hal_verbose_debug() API to print them.

CRs-fixed: 2405028
Change-Id: I4b4754af65c00edb571de898527026b6183ef15f
2019-03-06 12:52:10 -08:00
Krunal Soni
c96a1167f8 qcacmn: Use dp_verbose_debug() to print msgs which come excessively
Some of the print messages in Data-path module come very excessively.
Use dp_verbose_debug() API to print them.

CRs-fixed: 2376998
Change-Id: Ibaec3751ce3cbe98492c531548e613c7d17db898
2019-03-06 12:52:07 -08:00
Krunal Soni
03ba0f55cf qcacmn: Implement new INI to switch-on/off excessive logging in DP
In datapath, some of the messages get printed everytime when packet
is received or sent. This situation ends up in excessive logging which
leads to stability issue.

In order to fix the situation, provide knob through INI to control
excessive logging and create new macro for logging the message which
comes under per packet path.

Change-Id: I2af5f9bf39540f952138aa8308401a387fe62bf1
CRs-Fixed: 2376998
2019-03-06 12:52:00 -08:00
Srinivas Girigowda
9cf1aa027b qcacmn: Modify IEEE80211_FC0_SUBTYPE_QOS to QDF_IEEE80211_FC0_SUBTYPE_QOS
Modify IEEE80211_FC0_SUBTYPE_QOS to QDF_IEEE80211_FC0_SUBTYPE_QOS.

Change-Id: I93eb546c04798e82c7be4660d1fe127ce13dc754
CRs-Fixed: 2408226
2019-03-06 11:00:03 -08:00
Ankit Kumar
8dc0e2a679 qcacmn: Add time_latency check for tx_completion
This patch adds support to measure latency  for tx completions

Change-Id: Ifda1c2f7ffaf8276f012e7a458f6f167ad931356
2019-03-05 20:56:42 -08:00
Rachit Kankane
a52e28ea45 qcacmn: Update cdp_peer_update_last_real_peer
Update function prototype to pass pointer to vdev instead of peer structure

Change-Id: I66546b7a524c9d9f90e91876333912e36b99e230
CRs-Fixed: 2407085
2019-03-05 05:36:43 -08:00
Chaithanya Garrepalli
0e2d7fc5ad qcacmn: Handle failure in service ready event
Handle error case if unable to allocate peer map
memory.

Change-Id: Id11b04e6ae0714a9f09f051fc61231b758b56179
CRs-fixed: 2396533
2019-03-03 22:25:19 -08:00
chenguo
26c518a6f6 qcacmn: Fix wrong trace info in PEER_UNMAP_V2 message
It is easy to be misled when unmapping message is traced as map
message. Correct this wrong message.

CRs-Fixed: 2376470
Change-Id: I5577ae8e0f787925452c3ecf91ce0e2ff8a2ae9f
2019-03-03 22:25:15 -08:00
Neil Zhao
fca0919fb9 qcacmn: fix use after free issue: avoid access nbuf after deliver to OS
stats update is reading nbuf after vdev->osif_rx

Change-Id: I1d1972979066b402e4ee0519596cd305c5895702
2019-03-03 22:25:12 -08:00
Chaithanya Garrepalli
4fd2fe420f qcacmn: In CDP get_ast_info APIs return astentry when CB is registered
When delete callback is registered for the ast entry return the  ast info
even delete in progress is set

Change-Id: I3ff8a6d49560513c6a18153c5bf901f201e5949f
CRs-fixed: 2384550
2019-03-03 22:25:08 -08:00
Chaithanya Garrepalli
dedc49bb06 qcacmn: initialize DA WAR flag based on target type
In SOC init initialize DA WAR flag based on target
type

Change-Id: I118e712393bdb1498925a2ee36a29819fd2de8b4
CRs-fixed: 2384550
2019-03-03 22:25:03 -08:00
Tallapragada Kalyan
fe278d5425 qcacmn: discard fragmented pkts if msdu count is greater than 1
discard fragmented pkts if msdu count is greater than 1
and also some code clean up

Change-Id: I1d0857b5e22f0e4763cfa355b8c92bde697d7540
CRs-Fixed: 2382353
2019-03-03 22:25:00 -08:00
Amir Patel
256dcbe737 qcacmn: Add CDP support for RDK peer statistics framework
Add CDP APIs for:
a. To get/set rdk stats context into soc
b. To set rdk stats flag into soc
c. To flush rdk stats

Change-Id: I74e35f5fa244d6d38f46a4f64ebbad8a630589bd
2019-03-02 17:45:45 -08:00
Venkateswara Swamy Bandaru
09444a10ed qcacmn: Fix mesh non QOS frames issue
If non QOS is enabled in meta header store it in skb priority.
Issue occurred as meta header is getting over written by ext2 header
when the frame is sent to firmware.

Change-Id: I61f90dbd188b70e8960ec84c86fda9678ab21f7c
CRs-Fixed: 2400370
2019-03-02 05:12:55 -08:00
Venkata Sharath Chandra Manchala
69a0ed394a qcacmn: Add counters for wdi messages
Add counters to account for wdi messages from firmware.

Change-Id: I1c12d42ac4d385d2ed27f6eff84dd2fcfd540ab1
CRs-Fixed: 2365971
2019-03-01 23:39:17 -08:00
Amir Patel
ffe9a8626a qcacmn: Fix compilation issue
Add API parameter to dp_getrateindex to fix compilation issue

Change-Id: I2d7f3a29051eb35d88c5699c21cf378bd7f280ff
CRs-Fixed: 2397918
2019-03-01 19:19:35 -08:00
phadiman
a1f798250d qcacmn: Provide API for dp soc reinit
dp_soc_reinit is a flag to check if the
Rx descriptor memory can be reused across
WiFi up/down

Provide an API which checks the flag and
returns either true or false based on the
value set

CRs-Fixed: 2354186
Change-Id: I8c1afbfe0f743d7c9ab37a42a9ef0c6ac1fbf39c
2019-02-27 09:56:10 -08:00
Pamidipati, Vijay
ba4b57f368 qcacmn: Populate LTF in rx_ppdu_indication structure
Add support for indicating LTF as part of Rx PPDU indication

Change-Id: I9a39e5a32f3e6117b53ecae5a653df8318f0b21d
CRs-Fixed:2397734
2019-02-27 08:12:13 -08:00