提交線圖

303 次程式碼提交

作者 SHA1 備註 日期
Sathyanarayanan Esakkiappan
360ad1d34f qcacmn: Wrapper API for memset_io and memcpy_toio
Inclusion of Wrapper API for memset_io and memcpy_toio

Change-Id: I89b94e201f043d37b782e855f198dbc00b89ac15
2018-08-08 09:11:56 -07:00
Sathish Kumar
8b2d1c7c05 qcacmn: Add CB ftype for DMS packets
Directed Multicast Service (DMS) allows a client to request the AP
to convert multicast frames that match a certain traffic classifier
into unicast frames for the client. This request can be sent either
as a DMS Request Information Element in the Association/Reassociation
Request frame or explicitly via a DMS Request Action Frame after the
client has completed association. If the AP accepts the DMS Request,
all multicast frames matching the traffic classifier specified in the
DMS Request will be unicasted directly to the client as an AMSDU.
The original multicast frame will still be transmitted for the benefit
of those clients that do not support or request for DMS.

Add new CB ftype to differentiate data packets intended for DMS subscribed
clients

CRs-Fixed: 2056341
Change-Id: I687e4f4d182869753e2c3670ec07aa64f95fda1b
2018-08-01 12:31:58 -07:00
Nirav Shah
c3f3f9d4a8 qcacmn: QDF: Add logging macros without function/line info
Add per module logging macros without function/line info
to avoid adding function/line info where it is not required.

Change-Id: Ibc5745eae277110e884882891d14d3714e0d3ab4
CRs-Fixed: 2278876
2018-07-27 09:09:53 -07:00
Rajeev Kumar Sirasanagandla
66970850d9 qcacmn: Add WMI layer support for action OUI extensions
Add WMI support to send action OUI extensions to firmware.
For STA interface, this feature is intended to control mode of connection,
connected AP's in-activity time, Tx rate etc.,

Change-Id: I6a0bc9d3f7f0d57805b872cae4baa1fe84fb8193
CRs-Fixed: 2254509
2018-07-24 13:20:42 -07:00
Pavankumar Nandeshwar
205aeca91d qcacmn: Add a new qdf API for spin_trylock
This change adds a qdf wrapper api qdf_spin_trylock for spin_trylock.

Change-Id: I3406ed96f7f40df24949bd4e21ceb144d919d58d
2018-07-19 04:29:26 -07:00
Krunal Soni
37bf7f4d22 qcacmn: Update radiotap header with LTF symbol value
As per the updated spec, 11AX PPDU's HE SIG_A data-5 field has added
LTF symbol field which is 3bits in size.

Add logic to parse the TLV coming from hardware and update the
LTF symbol value.

Change-Id: I05e2ff8ece7e14dc22ce747e9a9b906bf130462f
CRs-Fixed: 2235233
2018-07-17 00:58:29 -07:00
Sravan Kumar Kairam
d0f08ef155 qcacmn: Assign DMA address correctly to all scatterlist elements
Assign DMA address correctly to all scatterlist elements of scatter
gather table in qdf_mem_shared_mem_alloc() func.

Change-Id: I07988d0bc35e3e0fcf7b9f6df02a9e56a0e8b083
CRS-Fixed: 2110715
2018-07-16 18:32:36 -07:00
Nirav Shah
a175314c51 qcacmn: Map all module logs to per-level log APIs
Map all module level log APIs to per-level log APIs
to compile out specific log level if required.

Change-Id: I4072b6740cb43200fd95c40943b66e1d5f8f1847
CRs-Fixed: 2266719
2018-07-13 10:36:22 -07:00
Mohit Khanna
163c3170a1 qcacmn: fix dptrace for data packets
Enable tracing for TX/RX data packets
Donot print stats with 0 value

Change-Id: I4bab6537494c4ee0fe290e3778fb5662bf5abd66
CRs-Fixed: 2269193
2018-07-13 02:58:46 -07:00
Dustin Brown
6d5b8fa8e7 qcacmn: Remove unused osdep APIs
osdep contains many legacy APIs which have better counterparts elsewhere
in QDF. Remove unused APIs from osdep to avoid reintroducing their
usage.

Change-Id: I912b6d0dae510e96f5ab520d5d5b4ac6c60fbe86
CRs-Fixed: 2276316
2018-07-11 18:45:56 -07:00
Dustin Brown
352de8a613 qcacmn: Add qdf_thread_run and qdf_thread_join APIs
For cases where you want to create and immediately start a thread, the
Linux kernel has the kthread_run() API. Create a QDF wrapper for
kthread_run() as well as companion APIs for waiting for a thread to exit
and one to check if the current thread should exit.

Change-Id: Ia4e107010fc400f764661a9b36aceea970841ade
CRs-Fixed: 2270827
2018-07-11 14:29:13 -07:00
Rajeev Kumar Sirasanagandla
6b6b91db11 qcacmn: Update QDF API to convert ASCII hex char to decimal value
To convert ASCII hexa decimal character to unsigned value and similarly
to convert string of ASCII hexa decimal characters to array of decimal
values, there is need of QDF API.

Therfore, add QDF wrapper functions to kernel API hex_to_bin() and
hex2bin().

Change-Id: I4692961eeba9067f9b737f7deeefca397ff1a7bf
CRs-Fixed: 2274320
2018-07-10 18:42:07 -07:00
Rachit Kankane
371fce287d qcacmn: Allocate MAC Trace buffer dynamically
Allocate memory for g_qdf_trace_tbl buffer dynamically.

Change-Id: I5e9ba0a33e220ead36e0775f00000346aae68373
CRs-Fixed: 2267922
2018-07-08 23:30:46 -07:00
Linux Build Service Account
cb090521de Merge "qcacmn: Allocate DP_TRACE buffer dynamically" 2018-07-03 05:33:24 -07:00
Manjunathappa Prakash
cf4286b730 qcacmn: DPtrace: Do not log to memory during high throughput
During high TPUT scenario logging of DPT trace is not useful,
require more MIPS. Disable datapacket DPtrace logging during
TPUT runs, but contiue to log special packets like ARP/DHCP/ICMP etc..

Change-Id: I70c9368de4cb2423901449b267452a34d652213d
CRs-Fixed: 2255756
2018-07-02 12:23:38 -07:00
Bala Venkatesh
dea772a6b7 qcacmn: Add support to allow user select preferred band for SAP
Add enum QDF_MCC_TO_SCC_WITH_PREFERRED_BAND(6) for this.
If ini gWlanMccToSccSwitchMode is selected to
QDF_MCC_TO_SCC_WITH_PREFERRED_BAND(6) then following will be the
behaviour of STA+SAP concurrency.
1. If second interface(SAP/STA) comes in same band as
   first interface(STA/SAP) respectively then force SCC
   irrespective of channel.
2. If second interface(SAP/STA) comes in other band as
   first interface(STA/SAP) then dont force SCC allow
   interband MCC or DBS based on DBS capability.
Allow interband MCC but not intraband MCC.

Change-Id: I91d41b4b0306ed4e362b5bcab9538f5fd5feea7d
CRs-Fixed: 2260677
2018-07-02 08:45:47 -07:00
Rachit Kankane
b3ba76975e qcacmn: Allocate DP_TRACE buffer dynamically
Allocate memory for g_qdf_dp_trace_tbl buffer dynamically.

Change-Id: Id5cc51776f4378ecc97d7d758d5e502055423fb2
CRs-Fixed: 2268793
2018-07-02 11:24:53 +05:30
Rakshith Suresh Patkar
09089f1b73 qcacmn: Remove unused APIs qdf_nbuf_set_rx_info and qdf_nbuf_get_rx_info
Currently, the APIs qdf_nbuf_set_rx_info and qdf_nbuf_get_rx_info
are no longer used in our driver code.

Cleanup the unused code for qdf_nbuf_set_rx_info and
qdf_nbuf_get_rx_info.

Change-Id: I57acbd4e5901d8922e3b650f0f3b57f056a0ae3e
CRs-Fixed: 2259212
2018-06-25 23:53:07 -07:00
Shiva Krishna Pittala
7d721c3baf qcacmn: Fix file name tracking logic in QDF nbuf tracker
As WIN has multiple modules and QDF is the last one to be unloaded,
QDF is crashing when it tried to print the file name of an nbuf
allocated by other modules. To fix this, copy the file name in the
QDF nbuf tracker, rather than using the pointer to file name,
to avoid access to the invalid pointer.

CRs-Fixed: 2258770
Change-Id: I27ee76e58b0f5a976840783cfeba451784de85dd
2018-06-25 03:17:57 -07:00
Kiran Venkatappa
6dfc2c26ec qcacmn: Add nbuf debug version for qdf_nbuf_unshare API
skb_unshare may create copy and return different skb. If skb_unshare
returns different skb, remove debug node for the original skb and add
new debug node for the returned skb.

Change-Id: Ib511cde241ea7a44bd726912c225452722d953a7
CRs-Fixed: 2260467
2018-06-20 04:05:57 -07:00
Ryan Hsu
c84218fed7 qcacmn: Add SSR callbacks
As CDS is not usable by WIN, add callbacks that are
registered in QDF and correct the module dependencies.

Also moves the platform related function to qdf_platform.[c|h]

Change-Id: I3080e9df86770235ff46237b8a2ffb9c2a3c9c2c
CRs-fixed: 2130260
2018-06-20 04:05:54 -07:00
Nirav Shah
79ec3e999b qcacmn: Add support to configure buffer size from kbuild
Add support to configure logging buffer size from
per-OEM kbuild based on memory requirement.

Change-Id: Ia91d79e5e738b1c9787015de101c3f67ccde46aa
CRs-Fixed: 2253438
2018-06-15 21:31:16 -07:00
Vinay Adella
873dc40d46 qcacmn: Beacon to replace a probe response
Cancel broadcast of probe response if beacon is already sent
in beacon offload.

Change-Id: I4fea51433fbb959e05988c2daac89fbe839b1cdf
CRs-Fixed: 2209282
2018-06-15 12:39:38 -07:00
Om Prakash Tripathi
9b56f5dc1c qcacmn: Use atomic allocation for all scheduler context scan allocations
In low memory environments using GFP_KERNEL flag may cause
scheduler thread to sleep. Scheduler thread callback handlers
are expected to be atomic in nature to ensure timely execution
of different commands. Move all allocations done by scan module
in scheduler thread context to atomic allocation.

Change-Id: Iee3eafbc00a3afea0687ba67b3041ec0816094cc
CRs-Fixed: 2232553
2018-06-13 21:00:59 -07:00
Jeff Johnson
03f91cce40 qcacmn: Remove legacy tQDF_* definitions
Previously legacy definitions tQDF_GLOBAL_CON_MODE and
tQDF_ADAPTER_MODE were renamed to have converged semantics.  However
since these were defined in a common project, and since not all
references could be simultaneously changed, legacy definitions were
left with the expectation that they would be removed when all
references to the legacy definitions had been updated.

All of the legacy references have now been updated, so remove the
legacy definitions.

Change-Id: I21775c1f5a8ab1868c1ce27edce90acf5a1aa962
CRs-Fixed: 2245250
2018-06-04 13:58:58 -07:00
Yun Park
c8a48dbe8f qcacmn: Remove ipa_add/del_hdr_proc_ctx from QDF
Remove unused IPA API ipa_add_hdr_proc_ctx and ipa_del_hdr_proc_ctx
from QDF.

Change-Id: Iffe79a040ae68e817433416f9f59b23d9029fbdf
CRs-Fixed: 2242429
2018-06-01 19:44:48 -07:00
jiad
efc0b71831 qcacmn: Add support for SMMU IPA WDI unified API
IPA driver adds unified WDI API for ipa_wdi_create_smmu_mapping
and ipa_wdi_release_smmu_mapping. WLAN driver needs to adopt the
change accordingly.

Change-Id: Ibbf10e4beb579a6a3d3e6b0e8e6d2c853f7e629a
CRs-Fixed: 2238493
2018-05-24 07:52:02 -07:00
Mohit Khanna
4b3b7e7110 qcacmn: debug prints for monitor mode TLVs
Add prints to track:
* Incoming TLVs in the monitor mode status ring.
* HE, HE-MU and HE-MU-Other values being passed to the
  stack.

Change-Id: Ib23336353dc4a2253a62444b767d2a706ce372ea
CRs-Fixed: 2242514
2018-05-22 13:00:04 -07:00
Nirav Shah
9106902215 qcacmn: Featurize dp trace
Featurize dp trace to compile out cleanly.

Change-Id: If244fba87a50cde57ec55e54249b41dd30dcc92d
CRs-Fixed: 2227771
2018-05-22 09:34:12 -07:00
Jeff Johnson
8bc5042785 qcacmn: qdf: Fix misspellings
Address the following issues in the qdf folder:
CHECK: 'arguement' may be misspelled - perhaps 'argument'?
CHECK: 'Arguement' may be misspelled - perhaps 'Argument'?
CHECK: 'continous' may be misspelled - perhaps 'continuous'?
- (actually 'contiguous')
CHECK: 'implentation' may be misspelled - perhaps 'implementation'?
CHECK: 'Initilize' may be misspelled - perhaps 'Initialize'?
CHECK: 'occurance' may be misspelled - perhaps 'occurrence'?
CHECK: 'untill' may be misspelled - perhaps 'until'?

Change-Id: I4ea13e1a6b1490082830ed67098ff174a162114b
CRs-Fixed: 2241580
2018-05-19 19:41:08 -07:00
Jeff Johnson
1974e07df2 qcacmn: qdf: Remove legacy markings
Per current guidance remove legacy markings.

Change-Id: Ia920daa3248677b9446f4203c7698cbc37648fbd
CRs-Fixed: 2230684
2018-05-18 02:17:38 -07:00
Dustin Brown
b7871f64ad qcacmn: Add qdf_status_from_os_return()
It is sometimes useful to reverse map an errno into a QDF_STATUS. For
this purpose, introduce qdf_status_from_os_return(), the logical inverse
operation of qdf_status_to_os_return().

Change-Id: I053f43867ef603c2654eca64fe76c7bd313e14e4
CRs-Fixed: 2242664
2018-05-18 00:00:33 -07:00
Wen Gong
a5dfb6d847 qcacmn: Add hdd memory dump feature flag
Add config flag to enable / disable hdd memory dump feature

CRs-Fixed: 2231694
Change-Id: I6b565bd7007223a51b67a2ea9fbafd6a737d22d9
2018-05-17 21:39:10 -07:00
Wu Gao
210778359a qcacmn: Add QDF API for ID allocation
In P2P ROC and MGMT tx cases, it use kernel address as cookie and
provides to userspace. Which has security risk. Add QDF API for ID
allocation and map ID to pointer, provides ID to userspace instead
of kernel address.

Change-Id: I4e10109988391474722df5b251fab11a87c7992b
CRs-Fixed: 2237756
2018-05-17 16:55:21 -07:00
Jeff Johnson
2d821eb0fe qcacmn: Fix typo "recieve"
Replace typo "recieve" with correct spelling "receive".

Change-Id: I7d88e57b97fa6d217630d4a5d5c365b56e714428
CRs-Fixed: 2238309
2018-05-17 00:47:23 -07:00
Prathyusha Guduri
9bb99acfca qcacmn: Add skb record rx queue to qdf API
Add skb_record_rx_queue() wrapper in qdf

Change-Id: Ic14e0a39d7d62bb404b443cc240b1ed0e5176119
2018-05-14 03:00:04 -07:00
Dustin Brown
03a7ac6e19 qcacmn: Add reduction limit to qdf_flex_mem
Add the ability to prevent qdf_flex_mem_pool from freeing memory
segments unless there are more than some minimum number in the pool
already.

Change-Id: I20bde2ed629b97924ea71b4f7f46a2c1fc1bab28
CRs-Fixed: 2229511
2018-05-11 13:23:00 -07:00
Kiran Venkatappa
bc1c547b8e qcacmn: Add timekeeping.h inclusion under correct kernel version
timekeeping.h is available from kernel version 3.17. Add header
inclusion and ktime_get_boot_ns call under correct version check flag.

Change-Id: I2a1a127e1716b52af56d14c39e2e646e34b05fa3
CRs-Fixed: 2230949
2018-05-07 01:29:30 -07:00
psimha
0e8a2c6558 qcacmn: Get NSS info from SS bitmap
Get NSS info from a the MIMO SS bitmap within msdu_start info

Change-Id: I794b093783b5f1ffc7faf335da84cbc07375d520
CRs-Fixed: 2215660
2018-05-04 20:43:12 -07:00
Yun Park
538a3a6e3d qcacmn: Remove ipa_reset_hdr from QDF
Remove unused IPA API ipa_reset_hdr form QDF.

Change-Id: I749e891b74b0adb45a5c3b9dbe7ad638d62c4459
CRs-Fixed: 2233616
2018-05-03 12:55:02 -07:00
Yun Park
bcffecb07e qcacmn: Add QDF abstraction for IPA_CLIENT_WLAN1_CONS
Add QDF abstraction for IPA_CLIENT_WLAN1_CONS.

Change-Id: I7b93432c5ce88d13ba9e52eb04e933238fe7c836
CRs-Fixed: 2220705
2018-05-02 14:29:22 -07:00
Naveen Rawat
34e15c4636 qcacmn: Add umac implementation of getting peer rssi
Add changes to support get peer rssi from within cp_stats
component.

Change-Id: I68c9c7e23dd14b515a71080b1b5fe3af15651ef9
CRs-Fixed: 2222777
2018-05-02 04:35:07 -07:00
Chaithanya Garrepalli
5142030dd9 qcacmn: add qdf API for skb_orphan
Add the qdf abstraction API for skb_orphan

Change-Id: I0fabb3fdd02e289d7bad97efebb2853e6827f458
CRs-Fixed: 2232427
2018-05-02 01:19:47 -07:00
Mohit Khanna
0425280d73 qcacmn: add DPTRACE Enhancements - Phase 2
Change data packets printing to one line
Add msdu-id to TX packets
Increase data packets size to include the complete IP packets
Indication/print when the throttling occurs

Change-Id: I07fc664ea08bc8746e31260599c5892701ae52e7
CRs-Fixed: 2157769
2018-05-01 21:37:34 -07:00
Rakshith Suresh Patkar
dcd073313e qcacmn: ADD APIs to set/dump dp trace buffer
Add APIs to dump dp trace buffer and set
proto bitmap, number of records and
verbosity of dp trace.

Change-Id: I23cda36515e1f3299d6c1c28dee2489a89bb15d9
CRs-Fixed: 2180984
2018-04-23 07:51:00 -07:00
Mohit Khanna
1fe9fd414a qcacmn: add HE radiotap flags for MU cases
HE field in radiotap header are not being updated for MU frames.
Add support for MU-MIMO and MU-OFDMA frames.

Change-Id: If33e9f9039c8df6e1bb8f591879d4defed184ac8
CRs-Fixed: 2191215
2018-04-20 12:09:02 -07:00
Rhythm Patwa
f6862a6527 qcacmn: Add HE MU and HE MU Other support
Populate HE-MU and HE-MU-Other fields in the radiotap header.

Change-Id: Iab9b9c47e076007b43b7abeb296ea15f0ec2a2cb
CRs-Fixed: 2191215
2018-04-20 12:09:00 -07:00
Dustin Brown
19911f3a06 qcacmn: Add qdf_flex_mem pool allocator
It often happens that the WLAN driver needs to allocate some pool of
structures to handle bursty operations. The traditional approach is to
statically allocate the maximum number of structures that we want to be
able to handle concurrently. This has the significant down side of
requiring manual tuning for every hardware combination for optimal
behavior, and wasting large amounts of memory during non-burst periods.

Add a new flexible, segmented memory allocator in QDF to help address
such scenarios. A small static buffer segment is used to service the
vast majority of operations, while additional segments are dynamically
allocated as needed to meet demand. Critically, these additional
segments are freed when not in use to reduce memory consumption. The
result is a self-tuning buffer that combines most of the benefits of
pure dynamic allocation with most of the benefits of pure static
allocation.

Change-Id: I5c27ecce72a450826494b5d13d6c9fdebda650a6
CRs-Fixed: 2224534
2018-04-19 14:15:19 -07:00
Yun Park
c60a22b88d qcacmn: Fix use after free of SKB in DP trace path
qdf_dp_trace could access nbuf already freed after sending to CE ring.
Move trace log before sending skb and add error log when fail to send.

Change-Id: I8ce36b9d196b7d44e0e9f7dcfe05db404a77e32f
CRs-Fixed: 2090277
2018-04-18 21:02:21 -07:00
Manjunathappa Prakash
2c3dba28d9 qcacmn: Fix qdf_tso_seg_dbg_bug to use qdf_print format string
Fix build issue with extra compile flags [-Werror,-Wformat-security]

Change-Id: Ia2d516f3ff35d8d3b48a337b24d74ff8f3d83363
CRs-Fixed: 2174715
2018-04-18 19:49:55 -07:00