summaryrefslogtreecommitdiff
path: root/qdf/linux/src (follow)
Commit message (Collapse)AuthorAge
* qcacmn: Add delete node definition when MEMORY_DEBUG macro is undefinedPoddar, Siddarth2017-03-21
| | | | | | | | Add qdf_net_buf_debug_delete_node definition when MEMORY_DEBUG macro is undefined. Change-Id: I9af90d44553f91a4c9e3021a8f4f4a36f622598e CRs-Fixed: 2022420
* qcacmn: Remove EXPORT_SYMBOL to avoid duplicate symbol errorKai Liu2017-03-20
| | | | | | | | | MDM platform supports two wlan cards, so two drivers will be loaded at same time. If export these routine, then loading the second driver will encounter duplicate symbol error. Change-Id: Ia2b900011e0a9f693fa28f2774a158e5f5b4291f CRs-Fixed: 2018377
* qcacmn: Fix "__aeabi_uldivmod" symbol errorYingying Tang2017-03-20
| | | | | | | | | | There is an unknown symbol error "__aeabi_uldivmod" due to a division operation between uint64 value in wlan driver. Add qdf API to use do_div to avoid "__aeabi_uldivmod" symbol error. Change-Id: I24e51990ff9e0ecea327ad9c71266fd768d62a6c CRs-Fixed: 2013952
* qcacmn: Add NULL check for dma address before calling unmapPoddar, Siddarth2017-03-20
| | | | | | | Add NULL check for dma address of buffer before calling unmap. Change-Id: Id10a767d97fc1328b6d42e804f5a3e8639ff8fbf CRs-Fixed: 2021902
* qcacmn: Add a flag in skb->cb for packet trackingPoddar, Siddarth2017-03-19
| | | | | | | | | | | | | | | | | | | | | | | | When a packet is generated internally, host adds a debug node entry to the table and deletes the entry once received tx completion for that packet by calling qdf_nbuf_free. But when a packet is coming from network stack, host doesn’t add any debug entry to the table and on receiving tx completion, it calls qdf_nbuf_tx_free which will simply free the skb. In case of P2P GO mode where packets are forwarded internally, host creates a private copy of skb and add debug node entry in the table. But when receiving a tx completion for the same packet host calls qdf_nbuf_tx_free which will free the skb but will not remove this node entry from the table. Currently, this api is common for all data tx completion packets. Add an extra flag in control block to differentiate whether skb is generated by driver or come from network stack. If flag is true, that means generated internally and need to remove the entry from debug node table. Change-Id: I61a76fdfedf0429e1b972824dc4513065d53033f CRs-Fixed: 2020947
* qcacmn: Add qdf utility functions for ARP debug statsSravan Kumar Kairam2017-03-16
| | | | | | | | Implent QDF utility functions to operate on ARP data packet to support ARP debug stats feature. Change-Id: Idce70799bd3698dc8a8ecd8cfc8ef7d9bf1f5764 CRs-Fixed: 2019789
* qcacmn: Remove event report when failed to allocate memoryZhang Qian2017-03-13
| | | | | | | | | | | | | qcacld-2.0 to qcacld-3.0 propagation There will be recursive call for vos_mem_malloc once there is memory allocation failure, because vos_mem_malloc is called to allocate message buffer for WIFI_EVENT_MEMORY_FAILURE. Remove this event report in this change. Change-Id: I897af2428af7e21c2962d5c91969930125178e74 CRs-Fixed: 2010103
* qcacmn: Fix preallocation perf build compilation errorDustin Brown2017-03-10
| | | | | | | | | A compilation error occurs if MEMORY_DEBUG is not enabled. Fix this issue by moving the definition of qdf_mem_prealloc_put and qdf_mem_prealloc_get outside of the MEMORY_DEBUG region. Change-Id: I17b4ae2cd65658e961bf7aa37518635bb94b5a95 CRs-Fixed: 2017447
* qcacmn: Remove CONFIG_CNSS ifdef for memory proallocatationDustin Brown2017-03-09
| | | | | | | | | Memory preallocation is hidden behind two flags, CONFIG_CNSS and CONFIG_WCNSS_MEM_PRE_ALLOC. Remove the check for CONFIG_CNSS, as the presence of CONFIG_WCNSS_MEM_PRE_ALLOC is enough. Change-Id: I233f6f31065c2d1da1ffb25a5013a17ac0b99246 CRs-Fixed: 2016844
* qcacmn: Fix unknown symbol error when FEATURE_TSO is disabledYingying Tang2017-02-28
| | | | | | | | | | __qdf_nbuf_get_tso_num_seg is defined under FEATURE_TSO but declared in header file without FEATURE_TSO. Compilation can be successful when FEATURE_TSO is disabled but there is unknown symbol error in driver loading. Add fix to resolve this issue. Change-Id: Ie01875405d65a0f43221cbfd42940747de0df916 CRs-Fixed: 2007179
* qcacmn: Do IPA version based DMA coherent mask settingHimanshu Agarwal2017-02-14
| | | | | | | | | | | | | | In case of IPA hw version less than 3.0, only 32 bit DMA address can be handled as it is only 32 bit compliant. Because of this, setting DMA coherent mask of 37 when IPA hw version is less than 3.0, crash is happening. Do IPA version based DMA coherent mask setting such that when IPA hw version is less than 3.0, set DMA coherent mask as 32 only. Change-Id: I8dec7da47766985ab0590f885b29f345f153cd08 CRs-Fixed: 1114605
* qcacmn: Add support to dump ICMPV6 RS and RA in wow wakeup statsHimanshu Agarwal2017-02-03
| | | | | | | | | | Propagation from qcacld-2.0 to qcacmn. Add support to dump information for ICMPV6 RS and RA packets in wow wakeup stats. Change-Id: I1a2852189664fff31e29b487d7a8c66ee83931c5 CRs-Fixed: 1115364
* qcacmn: Add support to dump few bytes of rx packet in DPTRACEHimanshu Agarwal2017-02-03
| | | | | | | | | | Propagation from qcacld-2.0 to qcacmn. Add support to dump few bytes of rx packets in DPTRACE by adding QDF_DP_TRACE_HDD_RX_PACKET_RECORD in DPTRACE enum. Change-Id: I950108b9d1c9094ce3d285493ee36bda4f9d7e41 CRs-Fixed: 1074551
* qcacmn: Change semantics of Runtime Lock APIsPrashanth Bhatta2017-01-30
| | | | | | | | | | | | | | | Runtime PM lock init API right now returns pointer to a context but this would cause confusion to the caller if feature is not defined and dummy function return NULL as caller can't find real failure versus dummy function returning because feature not being enabled. Fix declaring a data structure in QDF layer that caller can use but it hides the internal details of HIF implementation for Runtime PM locks. CRs-fixed: 1116509 Change-Id: I4dcba604e803faa0e14fac6403610391895e382e
* qcacmn: Add check to avoid adf_dp_trace_cb_table over readSaidiReddy Yenuga2017-01-24
| | | | | | | | | | | The size of adf_dp_trace_cb_table array is 30, possible over read of adf_dp_trace_cb_table array in adf_dp_add_record API. Add index condition check for adf_dp_trace_cb_table to avoid array over read. CRs-Fixed: 1041684 Change-Id: I4f0f9dda239efd404dff3f92b68a45aaf71875ae
* qcacmn: Add acquired by to lock statsHouston Hoffman2017-01-23
| | | | | | | | Record the last function to acquire a lock. Improve detectability for failure to release spinlocks. Change-Id: I4c13dfbb2dad322c119914a325ff9edeee60fbf4 CRs-Fixed: 1111956
* qcacmn: Add spinlockstats listHouston Hoffman2017-01-23
| | | | | | | | | Keep all spinlocks on a list for offline debugging. Also support detection of duplicate destroy calls. Also support detection of not calling spinlock_destroy. Change-Id: I75f520bb87c06111eabf0f610d4751e98a932c99 CRs-Fixed: 1111956
* qcacmn: TSO MAP-UNMAP individual segments one by onePoddar, Siddarth2017-01-18
| | | | | | | | | | | | Change the static allocation of tso common info to dynamic allocation to use this structure later on. Introduce one more element in tso common info structure use to store the dma address of EIT header which can be repeatedly use to assign to the dma address of the 0th fragment of all the tso segments corresponding to one jumbo skb. CRs-Fixed: 1106688 Change-Id: I572c7dcd2d29cb19b398e13e0fe7ce6f88ee1641
* qcacmn: Get monotonic boottime from kernel in nano secArunk Khandavalli2017-01-16
| | | | | | | | | qcacld-2.0 to qca-wifi-host-cmn propogation Add support to get the boot time from kernel in nano seconds. Change-Id: Iaa512248a5e56d77cff39da562e0c9ee4eaeeefd CRs-Fixed: 1107219
* qcacmn: Fix a compilation error on QDF mem statsMahesh Kumar Kalikot Veetil2017-01-06
| | | | | | | | | Correct a dependency between MEMORY_DEBUG and WLAN_DEBUFS. QDF memory stats is expected to be enabled only when MEMORY_DEBUG feature is there. Change-Id: Id14b5ccfa532660b24087f9456f99b1d41f5420c CRs-Fixed: 1108556
* qcacmn: Add QDF memory statsMahesh Kumar Kalikot Veetil2017-01-06
| | | | | | | | | | | | | | | | | | | | | | Create debug file system entries to show current QDF memory usage. The 'list' option adds a little overhead, which is minimized by locking node by node while traversing the entire allocated memory list. Major operation is lock-less, using node reference count. Following debugfs entries are added, 1. /sys/kernel/debug/<module_name>_qdf/mem/list This lists QDF allocation by file and line number. It takes some time to traverse the entire allocated list. 2. /sys/kernel/debug/<module_name>_qdf/mem/kmalloc This file shows total kmalloc done by qdf_mem_alloc(). 3. /sys/kernel/debug/<module_name>_qdf/mem/dma This file shows total allocation done by qdf_mem_alloc_consistent() Change-Id: Ie40a7cb6ee03dd58aebd0fbda0118ab06b64725a CRs-Fixed: 1084097
* qcacmn: Add debugfs supportMahesh Kumar Kalikot Veetil2017-01-06
| | | | | | | | | | | | | | | | | | | | Create a root directory for debugfs at /sys/kernel/debug/KBUILD_MODNAME_qdf/. The module name, KBUILD_MODNAME, is used in the path to avoid conflict in case of multiple instances of the same driver. Any sub module in QDF can use this as the root directory to add further files of directories. While unloading the driver the exit routine does a recursive cleanup of any remaining files or sub directories. Even though debugfs is a Linux specific feature, a logic which is related to file system for debugging can be added here. This feature is protected with a compilation flag WLAN_DEBUGFS. Change-Id: I21cae38b69f45c22121dfe70fe84f02423a26020 CRs-Fixed: 1083771
* qcacmn: balance spin_lock_create (mc_timer)Houston Hoffman2017-01-04
| | | | | | | | Adding lock stats print upon spinlock & mutex destroy. Without the destroy api invoked the lock stats are not printed. Change-Id: I670bef0aeca03b61ad6d2f1ffec404b6c33f9002 CRs-Fixed: 1100505
* qcacmn: add stats to spinlock & mutexesHouston Hoffman2017-01-04
| | | | | | | | | | | Wish to profile spinlock & mutex usage. Bug on when spinlock is being used to protect large regions of time. (1mS for irq disabled, 5mS for bh disabled, 5ms for regular spinlock). Change-Id: I95190a0d3d407a91a869f9f015e61d75e80830a7 CRs-Fixed: 1100505
* qcacmn: Introduce qdf_spin_is_lockedHouston Hoffman2017-01-04
| | | | | | | | Add a wrapper to check if a spinlock is currently locked without acquiring it. Change-Id: I867cfd00a61b1632e9652cdffc896b2654e3c338 CRs-Fixed: 1100505
* qcacmn: make qdf_print useable without qdf_trace.h (2)Houston Hoffman2017-01-04
| | | | | | | | | | qdf_trace prototype needs to be defined as well. note: i_qdf_trace.h is still needed for qdf_print to be used, but we have removed dependencies of i_qdf_trace.h on other include files (so this is fine). Change-Id: I01052d00c1619e4847de702a687554badd47882f CRs-Fixed: 1100505
* qcacmn: Change HDD IPA to comply with the refactored SKB CBYun Park2016-12-23
| | | | | | | | | | | | This change refactors IPA private data stored in skb control block, which size is reduced to 32 bits. Owner id is changed to 1 bit, to flag if the owner is IPA. Callback function pointer is removed by adding the callback into cdf. Skb control block priv data is reduced to 16 bits by storing the index to the Tx descriptor list added in HDD. Change-Id: I0eec0636794da3b4729b8be825afe6a1275915a4 CRs-Fixed: 982728
* qcacmn: Change time format and default configuration in DPTRACEHimanshu Agarwal2016-12-08
| | | | | | | | | | Fix below in DPTRACE feature:: 1) Change timestamp in DPTRACE records to hr:mm:sec.usec format. 2) Change default configuration in qdf_dp_trace_clear_buffer() to match that of qdf_dp_trace_init(). Change-Id: Ibad674e3b94a2c7ac5cbefa5fc18efb48f6ca694 CRs-Fixed: 1098928
* qcacmn: IPA uC: Round down Tx/Rx buffer count to nearest power of twoYun Park2016-12-05
| | | | | | | | | | | | | | qcacld-2.0 to qcacmn propagation In certain situation, allocated Tx buffer count could be an arbitrary number, so not power of two. This could violate F/W ring buffer count requirement. If allocated Tx buffer count is not power of two, round down it to the nearest power of two. The same change is also applicable for INI parameters IpaUcTxBufCount and IpaUcRxIndRingCount. Change-Id: I7c119886a669c79adbc7bd9b2c1c1d93de41cf72 CRs-Fixed: 973723
* qcacmn: Store tx desc id in sk_buff instead of skb headKai Liu2016-11-24
| | | | | | | | | qcacld-2.0 to qcacmn propagation Store tx desc id in skb_buff. Change-Id: I2186a06ad3ec929683292c4c052904a18427cc64 CRs-Fixed: 951208
* qcacmn: Reduce log level of DPTRACE printsHouston Hoffman2016-11-15
| | | | | | | | | DPT prints were flooding kmesg and causing watchdog bark in stress testing cases. Reduce log level to info and only include the prints in the driver log. Change-Id: If6ba6786cfe9ff050a21673002ef273a670c3f68 CRS-Fixed: 1089051
* qcacmn: Do not export dump_hex_traceHouston Hoffman2016-11-15
| | | | | | | | Since dump_hex_trace is defined as a static function, it should not be exported. The 2 scopes conflict. Change-Id: Ia39a4fdcffeffa452b684f77d015eabd421e89e8 CRs-Fixed: 1089727
* qcacmn: Prepend DPT timeout messages with 'DPT:'Houston Hoffman2016-11-15
| | | | | | | | | | | | | | Mark the timeout messages in qdf_dp_display_record with the 'DPT:' prefix and print them with the same error level as other DPT messages. Note that there are allready error level logs in HDD to indicate that a timeout occured. The value add here is that this timeout is noted in the contect of DPTRACE where prior successfull packets will also have been logged. Change-Id: I87b041895462474d37d092d48aa4c7e957ff45c5 CRs-Fixed: 1089725
* qcacmn: Add changes for per NAPI or per Rx CE LRO managerManjunathappa Prakash2016-11-13
| | | | | | | | Make changes for per per Rx context LRO manager, this addresses all parallel Rx concurrency issues. There by removes all the contention. Change-Id: I90604ffdf7b7fd930eee636426a4c7fc9b92c7d7 CRs-Fixed: 1079320
* qcacmn: Change time format of MTRACE logsSreelakshmi Konamki2016-11-08
| | | | | | | | | | | | | qcacld-2.0 to qcacld-3.0 propagation MTRACE logs timestamp format is different from logcat logs, and it's difficult to correlate with other logs. This fix changes the timeformat of MTRACE logs from qtimer ticks to hr:min:sec:msec Change-Id: I45e5d28fbeccd757648f05ce4e593d8ca4fe7804 CRS-Fixed: 1049125
* qcacmn: Fix DP trace logging during HDD Tx timeoutMohit Khanna2016-11-03
| | | | | | | | | | Currently on a HDD Tx timeout, we are recording the event in DP Trace framework. Currently the framework is unable to handle calls where skb is NULL. Add code to handle cases in qdf_dp_trace where the skb could be NULL. Change-Id: I4d04cd59f11f19c4ba81219925c7f3011c97de29 CRs-Fixed: 1083941
* qcacmn: Enable logging of all DPTRACE logs for protocol packetsHimanshu Agarwal2016-10-28
| | | | | | | | Enable logging of DPTRACE logs at each layer of driver and at tx completion for all tx as well as rx protocol packets. Change-Id: Id568c19196702034989a0f55490bc62667b3b20e CRs-Fixed: 1083002
* qcacmn: Add infrastructure to log roam events in DPTRACEHimanshu Agarwal2016-10-26
| | | | | | | | Add infrastructure to log all roam related commands and events in DPTRACE. Change-Id: I66773fc23dfeacf3a63688819e099bf44676d95b CRs-Fixed: 1081851
* qcacmn: Fix -Wmissing-prototypes in QDFJeff Johnson2016-10-25
| | | | | | | | | We want to enable the compiler's -Wmissing-prototypes switch, but there is existing code that is generating warnings. Fix all warnings in qdf. Change-Id: Ib499e7d0a5bfb6d2e5a7eaa7fbe769bb2b49772a CRs-Fixed: 1076314
* qcacmn: Print proto type for ICMP/ICMPv6 packetsHimanshu Agarwal2016-10-25
| | | | | | | | | | Propagation from qcacld-2.0 to qcacmn. Print proto type for ICMP and ICMPv6 packets which cause wow wakeup in HOST driver. Change-Id: I6d8cf8ad65652205bfad1a3531daf48a42a79350 CRs-Fixed: 1080772
* qcacmn: Replace DEBUG macro with WLAN_DEBUGSrinivas Girigowda2016-10-20
| | | | | | | | | | | | | | This is a qcacld-2.0 to qcacld-3.0 propagation. pr_debug() should not appear by default in kernel log (kmsg). DEBUG is a kernel macro, since host driver is using the same name macro, pr_debug log statements are appearing in kmsg. Fix this by moving the code under DEBUG to WLAN_DEBUG and remove DEBUG macro from Kbuild. Change-Id: I5bb385f91f9b6ba15629a5878625fefc21d4a7e1 CRs-Fixed: 1003261
* qcacmn: Reduce log level in qdf_nbuf_track_memory_manager_destroyHouston Hoffman2016-10-07
| | | | | | | | | | | | | These logs were being printed in the kmesg durring every unload. Questions about these logs wasted time and indicated the logs were too prominent and confusing. Only log nbuf tracking free list stats to the kernel log when unexpected conditions occured. Also distinguish between pre-filled tracking nodes and nodes that were used to track nbufs. Change-Id: I835ef2a04500dbab3229e6765fe7a168c05837fa CRs-Fixed: 1072098
* qcacmn: Add cb funtion to qdf_dp_trace_cb_table for QDF_DP_TRACE_MAXHouston Hoffman2016-10-07
| | | | | | | | Function tables based on enums should have entries for all available enum values. Change-Id: I452006d177c7651c43938de47fdff5fe78d2e582 CRs-Fixed: 1072077
* qcacmn: Dump driver informationPadma, Santhosh Kumar2016-10-07
| | | | | | | | | | | | qcacld-2.0 to qcacmn propagation Dump state information of HDD, SME, PE and WMA layers into a buffer. Contents of this buffer will be copied into user space using proc entry /proc/debugdriver/ driverdump. Change-Id: Ifbb102e440d7df20defa1a397964cb9b55082bf9 CRs-Fixed: 955357
* qcacmn: Fix compilation errors in QDF for Big Endian platformSathish Kumar2016-09-22
| | | | | | | | Fix compilation issues faced on the WIN big endian platform due to QDF convergence related changes. Change-Id: I33b2a4bbe063acb4585b86e12fa79f96dc12ac73 CRs-Fixed: 1039318
* qcacmn: Correct the comment for qdf_mem_cmpAnkit Gupta2016-09-20
| | | | | | | | | | | Comment in the api specifies that qdf_mem_cmp api return bool value which is not correct. Replace bool to int to reflect the correct return type of a qdf_mem_cmp api. Change-Id: Iff83fbf588a072dcda8b0aaef3c6743e572b1ac5 CRs-Fixed: 1066946
* qcacmn: Add diag events for debuggingPadma, Santhosh Kumar2016-09-19
| | | | | | | | | | | qcacld-2.0 to qcacmn propagation Currently there are no diag events to debug auth, assoc timeouts and memory failure. Add such diag events which can be useful during failures. Change-Id: Iec4c2a9946fbef388959fdc796273944d3be8003 CRs-Fixed: 954888
* qcacmn: Maintain length for each TSO segmentMohit Khanna2016-09-11
| | | | | | | | | | | | | | | | | In current codeflow, we are maintaining the length of the TSO segments belonging to one jumbo packet inside tso_info, which is common for all the segments of one jumbo packet. This works if the length of the segments (frag[1]) is the same. In case it is not, it ends up assigning incorrect length to all the segments. This is resulting GMS login failure. Fix issue by maintaining the total length of the segment in the qdf_tso_seg_t structure. Re-factor code for easy readability Add TSO_DEBUG prints which can be enabled (compile time) to debug TSO issues Change-Id: Ifb5a0f1493224c66c3acc394e47a74b2dd84bbc9 CRs-Fixed: 1062556
* qcacmn: Track size of qdf_mem_listHouston Hoffman2016-09-09
| | | | | | | | Decrement qdf_mem_list.count when removing elements to avoid assert when destroying the list. Change-Id: I0d0989f3a9009184b898b8b27517e6d12fa3dc97 CRs-Fixed: 1063093
* qcacmn: Remove ani_global.h from qca-cmnAnurag Chouhan2016-09-08
| | | | | | | | | Currently ani_global.h is included in qca-cmn, This change removes ani_global.h and there are corresponding changes in Driver Change-Id: I4c1cf70e8eb1f4391a25783a560c02a43c483054 CRs-Fixed: 1012452