qcacmn: Fix QDF documentation
The kernel-doc script identified a large number of documentation issues in the QDF. A series of patches has already fixed many of the issues, so fix most of the remaining ones. Note that the QDF IPA abstraction still has issues, but it is under rework, so not trying to clean it up until after the rework is complete. Change-Id: I10c33e341cb6b46e0f8ada99069616d450c07189 CRs-Fixed: 3406197
This commit is contained in:

committed by
Madan Koyyalamudi

parent
de1279ed3f
commit
4042de592d
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2014-2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -27,13 +28,12 @@
|
||||
#include <i_qdf_atomic.h>
|
||||
|
||||
/**
|
||||
* qdf_atomic_t - atomic type of variable
|
||||
* typedef qdf_atomic_t - atomic type of variable
|
||||
*
|
||||
* Use this when you want a simple resource counter etc. which is atomic
|
||||
* across multiple CPU's. These maybe slower than usual counters on some
|
||||
* platforms/OS'es, so use them with caution.
|
||||
*/
|
||||
|
||||
typedef __qdf_atomic_t qdf_atomic_t;
|
||||
|
||||
/**
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -27,7 +28,7 @@
|
||||
#include "qdf_status.h"
|
||||
#include "qdf_types.h"
|
||||
|
||||
/**
|
||||
/*
|
||||
* struct qdf_cpuhp_handler - an opaque hotplug event registration handle
|
||||
*/
|
||||
struct qdf_cpuhp_handler;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2018, 2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -121,19 +121,20 @@ qdf_default_hmac_sha256_kdf(uint8_t *secret, uint32_t secret_len,
|
||||
/**
|
||||
* qdf_get_keyed_hash: API to get hash using specific crypto and
|
||||
* scatterlist elements.
|
||||
* @type: crypto type
|
||||
* @alg: crypto type
|
||||
* @key: key needs to be used for hmac api
|
||||
* @keylen: length of key
|
||||
* @element_cnt: scatterlist element count
|
||||
* @addr: scatterlist element array
|
||||
* @addr_len: element length array
|
||||
* @hash: new hash
|
||||
* @key_len: length of key
|
||||
* @src: scatterlist element array
|
||||
* @src_len: scatterlist element length array
|
||||
* @num_elements: scatterlist element count
|
||||
* @out: calculated hash
|
||||
*
|
||||
* Return: 0 if success else error code
|
||||
*/
|
||||
int qdf_get_keyed_hash(const char *alg, const uint8_t *key,
|
||||
unsigned int key_len, const uint8_t *src[],
|
||||
size_t *src_len, size_t num_elements, uint8_t *out);
|
||||
|
||||
/**
|
||||
* qdf_update_dbl: This API does the doubling operation as defined in RFC5297
|
||||
* @d: input for doubling
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2017 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -29,7 +30,7 @@
|
||||
#include "qdf_types.h"
|
||||
|
||||
/**
|
||||
* struct qdf_debug_domain - debug domains for tracking resource allocations
|
||||
* enum qdf_debug_domain - debug domains for tracking resource allocations
|
||||
* @QDF_DEBUG_DOMAIN_INIT: The default debug domain, tied to driver load
|
||||
* @QDF_DEBUG_DOMAIN_ACTIVE: The active debug domain, tied some "running" state
|
||||
* @QDF_DEBUG_DOMAIN_COUNT: The number of debug domains for iterating, etc.
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -64,7 +65,7 @@ QDF_STATUS
|
||||
qdf_dev_release_mem(struct qdf_dev *qdfdev, struct qdf_devm *mrptr);
|
||||
|
||||
/**
|
||||
* qdf_dev_modify_irq() - modify irq
|
||||
* qdf_dev_modify_irq_status() - modify irq
|
||||
* @irnum: irq number
|
||||
* @cmask: Bitmap to be cleared for the property mask
|
||||
* @smask: Bitmap to be set for the property mask
|
||||
@@ -104,7 +105,7 @@ qdf_dev_set_irq_status_flags(unsigned int irnum, unsigned long set);
|
||||
/**
|
||||
* qdf_dev_clear_irq_status_flags() - clear irq status flags
|
||||
* @irnum: irq number
|
||||
* @clear: status flag to clear
|
||||
* @clr: status flag to clear
|
||||
*
|
||||
* This function will clear the status for an irq
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -42,7 +42,7 @@
|
||||
#define QDF_FM_BITMAP_BITS (sizeof(QDF_FM_BITMAP) * 8)
|
||||
|
||||
/**
|
||||
* qdf_flex_mem_pool - a pool of memory segments
|
||||
* struct qdf_flex_mem_pool - a pool of memory segments
|
||||
* @seg_list: the list containing the memory segments
|
||||
* @lock: spinlock for protecting internal data structures
|
||||
* @reduction_limit: the minimum number of segments to keep during reduction
|
||||
@@ -56,7 +56,7 @@ struct qdf_flex_mem_pool {
|
||||
};
|
||||
|
||||
/**
|
||||
* qdf_flex_mem_segment - a memory pool segment
|
||||
* struct qdf_flex_mem_segment - a memory pool segment
|
||||
* @node: the list node for membership in the memory pool
|
||||
* @dynamic: true if this segment was dynamically allocated
|
||||
* @used_bitmap: bitmap for tracking which items in the segment are in use
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -33,14 +34,14 @@
|
||||
#define QDF_WLAN_HANG_FW_OFFSET 195
|
||||
|
||||
/**
|
||||
* hang_event_tag: Hang event tag for various modules
|
||||
* enum hang_event_tag - Hang event tag for various modules
|
||||
* @HANG_EVT_TAG_CDS: CDS module hang event tag
|
||||
* @HANG_EVT_TAG_OS_IF: OS interface module hang event tag
|
||||
* @HANG_EVT_TAG_OS_IF_SCAN: scan module hang event tag
|
||||
* @HANG_EVT_TAG_LEGACY_MAC: Legacy mac module hang event tag
|
||||
* @HANG_EVT_TAG_WMI_EVT_HIST: WMI event history hang event tag
|
||||
* @HANG_EVT_TAG_WMI_CMD_HIST: WMI command history hang event tag
|
||||
* @HANG_EVT_TAG_WMI_CMD_HIST: HTC event tag wmi command history hang event tag
|
||||
* @HANG_EVT_TAG_HTC_CREDIT_HIST: HTC credit history hang event tag
|
||||
* @HANG_EVT_TAG_DP_PEER_INFO: DP peer info hang event tag
|
||||
* @HANG_EVT_TAG_CE_INFO: Copy Engine hang event tag
|
||||
* @HANG_EVT_TAG_BUS_INFO: Bus hang event tag
|
||||
@@ -67,7 +68,7 @@ enum hang_event_tag {
|
||||
((uint16_t)(sizeof(tlv_struct) - QDF_HANG_EVENT_TLV_HDR_SIZE))
|
||||
|
||||
/**
|
||||
* qdf_notifier_data - Private data for notifier data
|
||||
* struct qdf_notifer_data - Private data for notifier data
|
||||
* @hang_data: Data filled by notifier
|
||||
* @offset: Current offset of the hang data buffer
|
||||
*/
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -25,13 +26,13 @@
|
||||
|
||||
#include "i_qdf_hashtable.h"
|
||||
|
||||
/**
|
||||
* struct qdf_ht - opaque hashtable data type
|
||||
/*
|
||||
* qdf_ht - opaque hashtable data type
|
||||
*/
|
||||
#define qdf_ht __qdf_ht
|
||||
|
||||
/**
|
||||
* struct qdf_ht_entry - opaque hashtable entry for membership in a qdf_ht
|
||||
/*
|
||||
* qdf_ht_entry - opaque hashtable entry for membership in a qdf_ht
|
||||
*/
|
||||
#define qdf_ht_entry __qdf_ht_entry
|
||||
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2018 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -30,7 +31,7 @@
|
||||
#include <i_qdf_idr.h>
|
||||
|
||||
/**
|
||||
* qdf_idr - platform idr object
|
||||
* typedef qdf_idr - platform idr object
|
||||
*/
|
||||
typedef __qdf_idr qdf_idr;
|
||||
|
||||
|
@@ -145,8 +145,8 @@ static inline void qdf_list_destroy(qdf_list_t *list)
|
||||
/**
|
||||
* qdf_list_size() - gives the size of the list
|
||||
* @list: object of list
|
||||
* @size: size of the list
|
||||
* Return: uint32_t
|
||||
*
|
||||
* Return: uint32_t size of the list
|
||||
*/
|
||||
static inline uint32_t qdf_list_size(qdf_list_t *list)
|
||||
{
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2015-2017 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -28,12 +28,12 @@
|
||||
#include <i_qdf_lro.h>
|
||||
|
||||
/**
|
||||
* @qdf_nbuf_t - Platform independent LRO context abstraction
|
||||
* typedef qdf_lro_ctx_t - Platform independent LRO context abstraction
|
||||
*/
|
||||
typedef __qdf_lro_ctx_t qdf_lro_ctx_t;
|
||||
|
||||
/**
|
||||
* qdf_lro_info_s - LRO information
|
||||
* struct qdf_lro_info - LRO information
|
||||
* @iph: IP header
|
||||
* @tcph: TCP header
|
||||
*/
|
||||
@@ -103,14 +103,14 @@ void qdf_lro_flush(qdf_lro_ctx_t lro_ctx);
|
||||
|
||||
/**
|
||||
* qdf_lro_desc_free() - Free the LRO descriptor
|
||||
* @desc: LRO descriptor
|
||||
* @lro_ctx: LRO context
|
||||
* @data: LRO descriptor
|
||||
*
|
||||
* Return the LRO descriptor to the free pool
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
void qdf_lro_desc_free(qdf_lro_ctx_t lro_ctx, void *desc);
|
||||
void qdf_lro_desc_free(qdf_lro_ctx_t lro_ctx, void *data);
|
||||
|
||||
#else
|
||||
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2014-2017 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -17,7 +18,7 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file qdf_module.h
|
||||
* DOC: qdf_module.h
|
||||
* This file abstracts "kernel module" semantics.
|
||||
*/
|
||||
|
||||
@@ -30,34 +31,43 @@ typedef uint32_t (*module_init_func_t)(void);
|
||||
|
||||
/**
|
||||
* qdf_virt_module_init - Specify the module's entry point.
|
||||
* @_mod_init_func: module entry function
|
||||
*/
|
||||
#define qdf_virt_module_init(_mod_init_func) \
|
||||
__qdf_virt_module_init(_mod_init_func)
|
||||
|
||||
/**
|
||||
* qdf_virt_module_exit - Specify the module's exit point.
|
||||
* qdf_virt_module_exit() - Specify the module's exit point.
|
||||
* @_mod_exit_func: module exit function
|
||||
*/
|
||||
#define qdf_virt_module_exit(_mod_exit_func) \
|
||||
__qdf_virt_module_exit(_mod_exit_func)
|
||||
|
||||
/**
|
||||
* qdf_virt_module_name - Specify the module's name.
|
||||
* qdf_virt_module_name() - Specify the module's name.
|
||||
* @_name: module name
|
||||
*/
|
||||
#define qdf_virt_module_name(_name) __qdf_virt_module_name(_name)
|
||||
|
||||
|
||||
/**
|
||||
* qdf_export_symbol - Export a symbol from a module.
|
||||
* qdf_export_symbol() - Export a symbol from a module.
|
||||
* @_sym: symbol to export
|
||||
*/
|
||||
#define qdf_export_symbol(_sym) __qdf_export_symbol(_sym)
|
||||
|
||||
/**
|
||||
* qdf_declare_param - Declare a module parameter.
|
||||
* qdf_declare_param() - Declare a module parameter.
|
||||
* @name: name of the parameter
|
||||
* @_type: type of the parameter
|
||||
*/
|
||||
#define qdf_declare_param(name, _type) __qdf_declare_param(name, _type)
|
||||
|
||||
/**
|
||||
* qdf_declare_param_array - Declare a module parameter.
|
||||
* qdf_declare_param_array() - Declare a module parameter that is an array
|
||||
* @name: name of the array
|
||||
* @_type: type of the array element
|
||||
* @_num: number of entries written
|
||||
*/
|
||||
#define qdf_declare_param_array(name, _type, _num) \
|
||||
__qdf_declare_param_array(name, _type, _num)
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2014-2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -32,7 +32,7 @@
|
||||
#define QDF_NBUF_TX_EXT_TID_INVALID 0x1f
|
||||
|
||||
/**
|
||||
* qdf_nbuf_exemption_type - QDF net buf exemption types for encryption
|
||||
* enum qdf_nbuf_exemption_type - QDF net buf exemption types for encryption
|
||||
* @QDF_NBUF_EXEMPT_NO_EXEMPTION: No exemption
|
||||
* @QDF_NBUF_EXEMPT_ALWAYS: Exempt always
|
||||
* @QDF_NBUF_EXEMPT_ON_KEY_MAPPING_KEY_UNAVAILABLE: Exempt on key mapping
|
||||
@@ -95,7 +95,7 @@ typedef __in6_addr_t in6_addr_t;
|
||||
|
||||
#define QDF_NET_IS_MAC_MULTICAST(_a) (*(_a) & 0x01)
|
||||
|
||||
/**
|
||||
/*
|
||||
* In LLC header individual LSAP address 0x42 in
|
||||
* DSAP and SSAP signifies IEEE 802.1 Bridge
|
||||
* Spanning Tree Protocol
|
||||
@@ -217,7 +217,7 @@ typedef struct {
|
||||
#define IGMPV3_BLOCK_OLD_SOURCES 6
|
||||
|
||||
/**
|
||||
* qdf_net_cmd_vid_t - Command for set/unset vid
|
||||
* typedef qdf_net_cmd_vid_t - Command for set/unset vid
|
||||
*/
|
||||
typedef uint16_t qdf_net_cmd_vid_t ; /*get/set vlan id*/
|
||||
|
||||
@@ -347,7 +347,11 @@ typedef struct {
|
||||
|
||||
|
||||
/**
|
||||
* qdf_net_vlanhdr_t - Vlan header
|
||||
* typedef qdf_net_vlanhdr_t - Vlan header
|
||||
* @tpid:
|
||||
* @vid:
|
||||
* @cfi:
|
||||
* @prio:
|
||||
*/
|
||||
typedef struct qdf_net_vlanhdr {
|
||||
uint16_t tpid;
|
||||
@@ -383,7 +387,12 @@ typedef enum {
|
||||
} qdf_net_tso_type_t;
|
||||
|
||||
/**
|
||||
* qdf_net_dev_info_t - Basic device info
|
||||
* typedef qdf_net_dev_info_t - Basic device info
|
||||
* @if_name:
|
||||
* @dev_addr:
|
||||
* @header_len:
|
||||
* @mtu_size:
|
||||
* @unit:
|
||||
*/
|
||||
typedef struct {
|
||||
uint8_t if_name[QDF_NET_IF_NAME_SIZE];
|
||||
@@ -394,7 +403,10 @@ typedef struct {
|
||||
} qdf_net_dev_info_t;
|
||||
|
||||
/**
|
||||
* qdf_nbuf_tso_t - For TCP large Segment Offload
|
||||
* typedef qdf_nbuf_tso_t - For TCP large Segment Offload
|
||||
* @type:
|
||||
* @mss:
|
||||
* @hdr_off:
|
||||
*/
|
||||
typedef struct {
|
||||
qdf_net_tso_type_t type;
|
||||
@@ -403,17 +415,17 @@ typedef struct {
|
||||
} qdf_nbuf_tso_t;
|
||||
|
||||
/**
|
||||
* qdf_net_wireless_event_t - Wireless events
|
||||
* QDF_IEEE80211_ASSOC = station associate (bss mode)
|
||||
* QDF_IEEE80211_REASSOC = station re-associate (bss mode)
|
||||
* QDF_IEEE80211_DISASSOC = station disassociate (bss mode)
|
||||
* QDF_IEEE80211_JOIN = station join (ap mode)
|
||||
* QDF_IEEE80211_LEAVE = station leave (ap mode)
|
||||
* QDF_IEEE80211_SCAN = scan complete, results available
|
||||
* QDF_IEEE80211_REPLAY = sequence counter replay detected
|
||||
* QDF_IEEE80211_MICHAEL = Michael MIC failure detected
|
||||
* QDF_IEEE80211_REJOIN = station re-associate (ap mode)
|
||||
* QDF_CUSTOM_PUSH_BUTTON = WPS push button
|
||||
* typedef qdf_net_wireless_event_t - Wireless events
|
||||
* @QDF_IEEE80211_ASSOC: station associate (bss mode)
|
||||
* @QDF_IEEE80211_REASSOC: station re-associate (bss mode)
|
||||
* @QDF_IEEE80211_DISASSOC: station disassociate (bss mode)
|
||||
* @QDF_IEEE80211_JOIN: station join (ap mode)
|
||||
* @QDF_IEEE80211_LEAVE: station leave (ap mode)
|
||||
* @QDF_IEEE80211_SCAN: scan complete, results available
|
||||
* @QDF_IEEE80211_REPLAY: sequence counter replay detected
|
||||
* @QDF_IEEE80211_MICHAEL: Michael MIC failure detected
|
||||
* @QDF_IEEE80211_REJOIN: station re-associate (ap mode)
|
||||
* @QDF_CUSTOM_PUSH_BUTTON: WPS push button
|
||||
*/
|
||||
typedef enum qdf_net_wireless_events {
|
||||
QDF_IEEE80211_ASSOC = __QDF_IEEE80211_ASSOC,
|
||||
@@ -429,7 +441,8 @@ typedef enum qdf_net_wireless_events {
|
||||
} qdf_net_wireless_event_t;
|
||||
|
||||
/**
|
||||
* qdf_net_ipv6_addr_t - IPv6 Address
|
||||
* typedef qdf_net_ipv6_addr_t - IPv6 Address
|
||||
* @in6_u: union of IPv6 address representations
|
||||
*/
|
||||
typedef struct {
|
||||
union {
|
||||
@@ -441,7 +454,15 @@ typedef struct {
|
||||
} qdf_net_ipv6_addr_t;
|
||||
|
||||
/**
|
||||
* qdf_net_ipv6hdr_t - IPv6 Header
|
||||
* struct qdf_net_ipv6hdr_t - IPv6 Header
|
||||
* @ipv6_priority:
|
||||
* @ipv6_version:
|
||||
* @ipv6_flow_lbl:
|
||||
* @ipv6_payload_len:
|
||||
* @ipv6_nexthdr:
|
||||
* @ipv6_hop_limit:
|
||||
* @ipv6_saddr:
|
||||
* @ipv6_daddr:
|
||||
*/
|
||||
typedef struct {
|
||||
#if defined(QDF_LITTLE_ENDIAN_MACHINE)
|
||||
@@ -464,7 +485,11 @@ typedef struct {
|
||||
} qdf_net_ipv6hdr_t;
|
||||
|
||||
/**
|
||||
* qdf_net_icmpv6hdr_t - ICMPv6 Header
|
||||
* typedef qdf_net_icmpv6hdr_t - ICMPv6 Header
|
||||
* @icmp6_type: ICMPv6 message type
|
||||
* @icmp6_code: ICMPv6 message code
|
||||
* @icmp6_cksum: ICMPv6 message checksum
|
||||
* @icmp6_dataun: Union of supported ICMPv6 message bodies
|
||||
*/
|
||||
typedef struct {
|
||||
uint8_t icmp6_type;
|
||||
@@ -520,7 +545,10 @@ typedef struct {
|
||||
} qdf_net_icmpv6hdr_t;
|
||||
|
||||
/**
|
||||
* qdf_net_nd_msg_t - Neighbor Discovery Message
|
||||
* typedef qdf_net_nd_msg_t - Neighbor Discovery Message
|
||||
* @nd_icmph: ICMPv6 header
|
||||
* @nd_target: Target IPv6 address
|
||||
* @nd_opt: Neighbor Discovery options
|
||||
*/
|
||||
typedef struct {
|
||||
qdf_net_icmpv6hdr_t nd_icmph;
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -15,7 +16,7 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file qdf_notifier.h
|
||||
* DOC: qdf_notifier.h
|
||||
* This file abstracts notifier chain call operations.
|
||||
*/
|
||||
|
||||
@@ -25,9 +26,9 @@
|
||||
#include <i_qdf_notifier.h>
|
||||
#include <qdf_status.h>
|
||||
|
||||
/*
|
||||
* qdf_notif_block - qdf notifier block
|
||||
* @__qdf_notifier_block: OS specific notifier block
|
||||
/**
|
||||
* typedef qdf_notif_block - qdf notifier block
|
||||
* @notif_block: OS specific notifier block
|
||||
* @priv_data: private data of the notifier block
|
||||
*/
|
||||
typedef struct {
|
||||
@@ -43,8 +44,8 @@ typedef __qdf_notifier_block qdf_notifier_block;
|
||||
|
||||
/**
|
||||
* qdf_register_blocking_notifier_chain() - Register for blocking notifier chain
|
||||
* @qdf_blocking_notif_head: Head of blocking notifier chain
|
||||
* @qdf_notif_block: Notifier Block to be registered for this head chain
|
||||
* @head: Head of blocking notifier chain
|
||||
* @qnb: Notifier Block to be registered for this head chain
|
||||
*
|
||||
* This function is invoked to add a notifier block for the specific notifier
|
||||
* head chain.
|
||||
@@ -57,8 +58,8 @@ QDF_STATUS qdf_register_blocking_notifier_chain(qdf_blocking_notif_head *head,
|
||||
/**
|
||||
* qdf_unregister_blocking_notifier_chain() - Unregister for blocking notifier
|
||||
* chain
|
||||
* @qdf_blocking_notif_head: Head of blocking notifier chain
|
||||
* @qdf_notif_block: Notifier Block to be registered for this head chain
|
||||
* @head: Head of blocking notifier chain
|
||||
* @qnb: Notifier Block to be unregistered from this head chain
|
||||
*
|
||||
* This function is invoked to remove a notifier block for the specific notifier
|
||||
* head chain.
|
||||
@@ -70,7 +71,7 @@ QDF_STATUS qdf_unregister_blocking_notifier_chain(qdf_blocking_notif_head *head,
|
||||
qdf_notif_block *qnb);
|
||||
/**
|
||||
* qdf_blocking_notfier_call() - Invoke the function in the blocking chain
|
||||
* @qdf_blocking_notif_head: Head of blocking notifier chain
|
||||
* @head: Head of blocking notifier chain
|
||||
* @state: state passed during the invoking of the notifier
|
||||
* @data: Private data to be passed to all the notifier functions
|
||||
*
|
||||
@@ -86,8 +87,8 @@ QDF_STATUS qdf_blocking_notfier_call(qdf_blocking_notif_head *head,
|
||||
|
||||
/**
|
||||
* qdf_register_atomic_notifier_chain() - Register for atomic notifier chain
|
||||
* @qdf_blocking_notif_head: Head of atomic notifier chain
|
||||
* @qdf_notif_block: Notifier Block to be registered for this head chain
|
||||
* @head: Head of atomic notifier chain
|
||||
* @qnb: Notifier Block to be registered for this head chain
|
||||
*
|
||||
* This function is invoked to add a notifier block for the specific atomic
|
||||
* notifier head chain.
|
||||
@@ -98,10 +99,10 @@ QDF_STATUS qdf_blocking_notfier_call(qdf_blocking_notif_head *head,
|
||||
QDF_STATUS qdf_register_atomic_notifier_chain(qdf_atomic_notif_head *head,
|
||||
qdf_notif_block *qnb);
|
||||
/**
|
||||
* qdf_unregister_atmoic_notifier_chain() - Unregister for atomic notifier
|
||||
* qdf_unregister_atomic_notifier_chain() - Unregister for atomic notifier
|
||||
* chain
|
||||
* @qdf_blocking_notif_head: Head of blocking notifier chain
|
||||
* @qdf_notif_block: Notifier Block to be registered for this head chain
|
||||
* @head: Head of atomic notifier chain
|
||||
* @qnb: Notifier Block to be unregistered from this head chain
|
||||
*
|
||||
* This function is invoked to remove a notifier block for the specific notifier
|
||||
* head chain.
|
||||
@@ -112,8 +113,8 @@ QDF_STATUS qdf_register_atomic_notifier_chain(qdf_atomic_notif_head *head,
|
||||
QDF_STATUS qdf_unregister_atomic_notifier_chain(qdf_atomic_notif_head *head,
|
||||
qdf_notif_block *qnb);
|
||||
/**
|
||||
* qdf_blocking_notfier_call() - Invoke the function in the blocking chain
|
||||
* @qdf_blocking_notif_head: Head of blocking notifier chain
|
||||
* qdf_atomic_notfier_call() - Invoke the function in the blocking chain
|
||||
* @head: Head of atomic notifier chain
|
||||
* @v: Generally state passed during the invoking of the notifier
|
||||
* @data: Private data to be passed to all the notifier functions
|
||||
*
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -27,7 +28,7 @@
|
||||
#include "qdf_types.h"
|
||||
|
||||
/**
|
||||
* qdf_self_recovery_callback() - callback for self recovery
|
||||
* typedef qdf_self_recovery_callback() - callback for self recovery
|
||||
* @psoc: pointer to the posc object
|
||||
* @reason: the reason for the recovery request
|
||||
* @func: the caller's function name
|
||||
@@ -41,7 +42,7 @@ typedef void (*qdf_self_recovery_callback)(void *psoc,
|
||||
const uint32_t line);
|
||||
|
||||
/**
|
||||
* qdf_is_fw_down_callback() - callback to query if fw is down
|
||||
* typedef qdf_is_fw_down_callback() - callback to query if fw is down
|
||||
*
|
||||
* Return: true if fw is down and false if fw is not down
|
||||
*/
|
||||
@@ -64,7 +65,7 @@ void qdf_register_fw_down_callback(qdf_is_fw_down_callback is_fw_down);
|
||||
bool qdf_is_fw_down(void);
|
||||
|
||||
/**
|
||||
* qdf_wmi_recv_qmi_cb() - callback to receive WMI over QMI
|
||||
* typedef qdf_wmi_recv_qmi_cb() - callback to receive WMI over QMI
|
||||
* @cb_ctx: WMI event recv callback context(wmi_handle)
|
||||
* @buf: WMI buffer
|
||||
* @len: WMI buffer len
|
||||
@@ -74,7 +75,7 @@ bool qdf_is_fw_down(void);
|
||||
typedef int (*qdf_wmi_recv_qmi_cb)(void *cb_ctx, void *buf, int len);
|
||||
|
||||
/**
|
||||
* qdf_wmi_send_over_qmi_callback() - callback to send WMI over QMI
|
||||
* typedef qdf_wmi_send_over_qmi_callback() - callback to send WMI over QMI
|
||||
* @buf: WMI buffer
|
||||
* @len: WMI buffer len
|
||||
* @cb_ctx: WMI event recv callback context(wmi_handle)
|
||||
@@ -89,7 +90,7 @@ typedef QDF_STATUS (*qdf_wmi_send_over_qmi_callback)(void *buf, uint32_t len,
|
||||
|
||||
/**
|
||||
* qdf_register_wmi_send_recv_qmi_callback() - Register WMI over QMI callback
|
||||
* @qdf_wmi_send_over_qmi_callback: callback to send recv WMI data over QMI
|
||||
* @wmi_send_recv_qmi_cb: callback to send recv WMI data over QMI
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
@@ -109,8 +110,8 @@ QDF_STATUS qdf_wmi_send_recv_qmi(void *buf, uint32_t len, void *cb_ctx,
|
||||
qdf_wmi_recv_qmi_cb wmi_rx_cb);
|
||||
|
||||
/**
|
||||
* qdf_is_driver_unloading_callback() - callback to get driver unloading in progress
|
||||
* or not
|
||||
* typedef qdf_is_driver_unloading_callback() - callback to get driver
|
||||
* unloading in progress or not
|
||||
*
|
||||
* Return: true if driver is unloading else false
|
||||
*/
|
||||
@@ -126,8 +127,8 @@ void qdf_register_is_driver_unloading_callback(
|
||||
qdf_is_driver_unloading_callback callback);
|
||||
|
||||
/**
|
||||
* qdf_is_driver_state_module_stop_callback() - callback to get driver state is
|
||||
* module stop or not
|
||||
* typedef qdf_is_driver_state_module_stop_callback() - callback to get driver
|
||||
* state is module stop or not
|
||||
*
|
||||
* Return: true if driver state is module stop else false
|
||||
*/
|
||||
@@ -168,7 +169,7 @@ void __qdf_trigger_self_recovery(void *psoc, enum qdf_hang_reason reason,
|
||||
const char *func, const uint32_t line);
|
||||
|
||||
/**
|
||||
* qdf_is_recovering_callback() - callback to get driver recovering in
|
||||
* typedef qdf_is_recovering_callback() - callback to get driver recovering in
|
||||
* progress or not
|
||||
*
|
||||
* Return: true if driver is doing recovering else false
|
||||
@@ -178,6 +179,7 @@ typedef bool (*qdf_is_recovering_callback)(void);
|
||||
/**
|
||||
* qdf_register_recovering_state_query_callback() - register recover status
|
||||
* query callback
|
||||
* @is_recovering: true if driver is recovering
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
@@ -207,7 +209,7 @@ bool qdf_is_driver_state_module_stop(void);
|
||||
*/
|
||||
bool qdf_is_recovering(void);
|
||||
|
||||
/**
|
||||
/*
|
||||
* struct qdf_op_sync - opaque operation synchronization context handle
|
||||
*/
|
||||
struct qdf_op_sync;
|
||||
@@ -239,6 +241,8 @@ void __qdf_op_unprotect(struct qdf_op_sync *sync, const char *func);
|
||||
|
||||
/**
|
||||
* qdf_op_callbacks_register() - register driver operation protection callbacks
|
||||
* @on_protect: callback on protect
|
||||
* @on_unprotect: callback on unprotect
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
@@ -246,7 +250,8 @@ void qdf_op_callbacks_register(qdf_op_protect_cb on_protect,
|
||||
qdf_op_unprotect_cb on_unprotect);
|
||||
|
||||
/**
|
||||
* qdf_is_drv_connected_callback() - callback to query if drv is connected
|
||||
* typedef qdf_is_drv_connected_callback() - callback to query if drv
|
||||
* is connected
|
||||
*
|
||||
* Return: true if drv is connected else false
|
||||
*/
|
||||
@@ -283,14 +288,14 @@ void qdf_register_drv_connected_callback(qdf_is_drv_connected_callback
|
||||
void qdf_check_state_before_panic(const char *func, const uint32_t line);
|
||||
|
||||
/**
|
||||
* qdf_is_drv_supported_callback() - callback to query if drv is supported
|
||||
*typedef qdf_is_drv_supported_callback() - callback to query if drv is supported
|
||||
*
|
||||
* Return: true if drv is supported else false
|
||||
*/
|
||||
typedef bool (*qdf_is_drv_supported_callback)(void);
|
||||
|
||||
/**
|
||||
* qdf_is_drv_supported_callback() - API to check if drv is supported or not
|
||||
* qdf_is_drv_supported() - API to check if drv is supported or not
|
||||
*
|
||||
* DRV is dynamic request voting using which fw can do page fault and
|
||||
* bring in page back without apps wake up
|
||||
@@ -309,13 +314,17 @@ bool qdf_is_drv_supported(void);
|
||||
void qdf_register_drv_supported_callback(qdf_is_drv_supported_callback
|
||||
is_drv_supported);
|
||||
|
||||
/**
|
||||
* typedef qdf_recovery_reason_update_callback() - recovery reason update callback
|
||||
* @reason: recovery reason
|
||||
*/
|
||||
typedef void (*qdf_recovery_reason_update_callback)(enum qdf_hang_reason
|
||||
reason);
|
||||
|
||||
/**
|
||||
* qdf_register_recovery_reason_update() - Register callback to update recovery
|
||||
* reason
|
||||
* @qdf_recovery_reason_update_callback: callback to update recovery reason
|
||||
* @callback: callback to update recovery reason
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
@@ -331,7 +340,7 @@ void qdf_register_recovery_reason_update(qdf_recovery_reason_update_callback
|
||||
void qdf_recovery_reason_update(enum qdf_hang_reason reason);
|
||||
|
||||
/**
|
||||
* qdf_bus_reg_dump() - callback for getting bus specific register dump
|
||||
* typedef qdf_bus_reg_dump() - callback for getting bus specific register dump
|
||||
* @dev: Bus specific device
|
||||
* @buf: Hang event buffer in which the data will be populated
|
||||
* @len: length of data to be populated in the hang event buffer
|
||||
@@ -344,7 +353,7 @@ typedef void (*qdf_bus_reg_dump)(struct device *dev, uint8_t *buf,
|
||||
/**
|
||||
* qdf_register_get_bus_reg_dump() - Register callback to update bus register
|
||||
* dump
|
||||
* @qdf_bus_reg_dump: callback to update bus register dump
|
||||
* @callback: callback to update bus register dump
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
@@ -353,7 +362,7 @@ void qdf_register_get_bus_reg_dump(qdf_bus_reg_dump callback);
|
||||
/**
|
||||
* qdf_get_bus_reg_dump() - Get the register dump for the bus
|
||||
* @dev: device
|
||||
* @buffer: buffer for hang data
|
||||
* @buf: buffer for hang data
|
||||
* @len: len of hang data
|
||||
*
|
||||
* Return: none
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -84,7 +84,7 @@ struct qdf_ptr_hash_entry {
|
||||
/**
|
||||
* qdf_ptr_hash_declare() - declare a new qdf_ptr_hash
|
||||
* @name: the C identifier to use for the new hash table
|
||||
* @bits: The number of bits to use for hashing
|
||||
* @_bits: The number of bits to use for hashing
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
@@ -198,9 +198,9 @@ static inline bool qdf_ptr_hash_empty(struct qdf_ptr_hash *ht)
|
||||
#ifdef ENABLE_QDF_PTR_HASH_DEBUG
|
||||
/**
|
||||
* qdf_ptr_hash_dup_check_in_bucket() - check if a hash_entry is duplicated
|
||||
in hash_bucket
|
||||
* in hash_bucket
|
||||
* @bucket: qdf_ptr_hash_bucket pointer
|
||||
* cmp_entry: the hash_entry to be checked
|
||||
* @cmp_entry: the hash_entry to be checked
|
||||
*
|
||||
* if the cmp_entry is found in bucket list, then trigger
|
||||
* assert to report duplication.
|
||||
@@ -313,9 +313,9 @@ __qdf_ptr_hash_remove(struct qdf_ptr_hash *ht, uintptr_t key)
|
||||
|
||||
/**
|
||||
* qdf_ptr_hash_for_each_by_key() - qdf_ptr_hash item iterator for items whose
|
||||
* keys equal @key
|
||||
* keys equal @_key
|
||||
* @ht: the qdf_ptr_hash to iterate over
|
||||
* @key: the pointer to use as a lookup key
|
||||
* @_key: the pointer to use as a lookup key
|
||||
* @cursor: a pointer to a type that contains a qdf_ptr_hash_entry
|
||||
* @entry_field: C identifier for the qdf_ptr_hash_entry field in @cursor
|
||||
*/
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2018, 2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -58,7 +58,7 @@ static inline void qdf_streamfs_remove_file(qdf_dentry_t d)
|
||||
}
|
||||
|
||||
/**
|
||||
* qdf_debugfs_remove_dir_recursive() - wrapper to remove directory recursively
|
||||
* qdf_streamfs_remove_dir_recursive() - wrapper to remove directory recursively
|
||||
* @d: debugfs node
|
||||
*
|
||||
* This function will recursively remove a directory in streamfs that was
|
||||
@@ -131,7 +131,7 @@ void qdf_streamfs_reset(qdf_streamfs_chan_t chan);
|
||||
* count
|
||||
* @chan: pointer to qdf_streamfs_chan.
|
||||
* @cpu: the cpu associated with the channel buffer to update
|
||||
* @subbufs_consumed: number of sub-buffers to add to current buf's count
|
||||
* @consumed: number of sub-buffers to add to current buf's count
|
||||
*
|
||||
* Returns NONE
|
||||
*/
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2018 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -71,7 +71,7 @@
|
||||
|
||||
/**
|
||||
* qdf_tfree() - free memory allocated using the *_talloc() function family
|
||||
* @inout_ptr: double point to memory to free, set to NULL
|
||||
* @ptr: double point to memory to free, set to NULL
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2021, 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
@@ -48,9 +48,9 @@ struct qdf_tracker {
|
||||
* qdf_tracker_declare() - statically declare a qdf_tacker instance
|
||||
* @name: C identifier to use for the new qdf_tracker
|
||||
* @bits: the number of bits to use for hashing the resource pointers
|
||||
* @leak_title: the string title to use when logging leaks
|
||||
* @track_title: the string title to use when logging double tracking issues
|
||||
* @untrack_title: the string title to use when logging double untracking issues
|
||||
* @_leak_title: the string title to use when logging leaks
|
||||
* @_track_title: the string title to use when logging double tracking issues
|
||||
* @_untrack_title: the string title to use when logging double untracking issues
|
||||
*/
|
||||
#define qdf_tracker_declare(name, bits, _leak_title, \
|
||||
_track_title, _untrack_title) \
|
||||
|
@@ -43,9 +43,9 @@
|
||||
/**
|
||||
* struct qdf_sglist - scatter-gather list
|
||||
* @nsegs: total number of segments
|
||||
* @struct sg_segs - scatter-gather segment list
|
||||
* @vaddr: Virtual address of the segment
|
||||
* @len: Length of the segment
|
||||
* @sg_segs: scatter-gather segment list
|
||||
* @sg_segs.vaddr: Virtual address of the segment
|
||||
* @sg_segs.len: Length of the segment
|
||||
*/
|
||||
typedef struct qdf_sglist {
|
||||
uint32_t nsegs;
|
||||
@@ -101,12 +101,12 @@ typedef void *qdf_drv_handle_t;
|
||||
typedef void *qdf_os_handle_t;
|
||||
typedef void *qdf_pm_t;
|
||||
|
||||
/**
|
||||
/*
|
||||
* typedef qdf_handle_t - handles opaque to each other
|
||||
*/
|
||||
typedef void *qdf_handle_t;
|
||||
|
||||
/**
|
||||
/*
|
||||
* typedef qdf_freq_t - define frequency as a 16 bit/32 bit
|
||||
* unsigned integer depending on the requirement
|
||||
*/
|
||||
@@ -146,7 +146,7 @@ typedef __qdf_off_t qdf_off_t;
|
||||
typedef __qdf_dma_map_t qdf_dma_map_t;
|
||||
|
||||
/**
|
||||
* tyepdef qdf_dma_addr_t - DMA address.
|
||||
* typedef qdf_dma_addr_t - DMA address.
|
||||
*/
|
||||
typedef __qdf_dma_addr_t qdf_dma_addr_t;
|
||||
|
||||
@@ -156,7 +156,7 @@ typedef __qdf_dma_addr_t qdf_dma_addr_t;
|
||||
typedef __qdf_dma_size_t qdf_dma_size_t;
|
||||
|
||||
/**
|
||||
* tyepdef qdf_dma_context_t - DMA context.
|
||||
* typedef qdf_dma_context_t - DMA context.
|
||||
*/
|
||||
typedef __qdf_dma_context_t qdf_dma_context_t;
|
||||
|
||||
@@ -164,7 +164,7 @@ typedef __qdf_mem_info_t qdf_mem_info_t;
|
||||
typedef __sgtable_t sgtable_t;
|
||||
|
||||
/**
|
||||
* typepdef qdf_cpu_mask - CPU Mask
|
||||
* typedef qdf_cpu_mask - CPU Mask
|
||||
*/
|
||||
typedef __qdf_cpu_mask qdf_cpu_mask;
|
||||
|
||||
@@ -191,9 +191,9 @@ typedef __qdf_dummy_netdev_t qdf_dummy_netdev_t;
|
||||
/**
|
||||
* struct qdf_dma_map_info - Information inside a DMA map.
|
||||
* @nsegs: total number mapped segments
|
||||
* @struct dma_segs - list of segments
|
||||
* @paddr: physical(dam'able) address of the segment
|
||||
* @len: length of the segment
|
||||
* @dma_segs: list of segments
|
||||
* @dma_segs.paddr: physical(dma'able) address of the segment
|
||||
* @dma_segs.len: length of the segment
|
||||
*/
|
||||
typedef struct qdf_dma_map_info {
|
||||
uint32_t nsegs;
|
||||
@@ -203,12 +203,15 @@ typedef struct qdf_dma_map_info {
|
||||
} dma_segs[QDF_MAX_SCATTER];
|
||||
} qdf_dmamap_info_t;
|
||||
|
||||
/**
|
||||
/*
|
||||
* struct qdf_shared_mem - Shared memory resource
|
||||
* @mem_info: memory info struct
|
||||
* @vaddr: virtual address
|
||||
* @sgtable: scatter-gather table
|
||||
* @qdf_dma_mem_context: dma address
|
||||
*
|
||||
* NB: not using kernel-doc format since the kernel-doc script doesn't
|
||||
* handle the qdf_dma_mem_context() macro
|
||||
*/
|
||||
typedef struct qdf_shared_mem {
|
||||
qdf_mem_info_t mem_info;
|
||||
@@ -220,7 +223,7 @@ typedef struct qdf_shared_mem {
|
||||
#define qdf_iomem_t __qdf_iomem_t
|
||||
|
||||
/**
|
||||
* typedef enum QDF_TIMER_TYPE - QDF timer type
|
||||
* typedef QDF_TIMER_TYPE - QDF timer type
|
||||
* @QDF_TIMER_TYPE_SW: Deferrable SW timer it will not cause CPU to wake up
|
||||
* on expiry
|
||||
* @QDF_TIMER_TYPE_WAKE_APPS: Non deferrable timer which will cause CPU to
|
||||
@@ -235,7 +238,7 @@ typedef enum {
|
||||
} QDF_TIMER_TYPE;
|
||||
|
||||
/**
|
||||
* tyepdef enum qdf_resource_type_t - hw resources
|
||||
* typedef qdf_resource_type_t - hw resources
|
||||
* @QDF_RESOURCE_TYPE_MEM: memory resource
|
||||
* @QDF_RESOURCE_TYPE_IO: io resource
|
||||
* Define the hw resources the OS has allocated for the device
|
||||
@@ -247,7 +250,7 @@ typedef enum {
|
||||
} qdf_resource_type_t;
|
||||
|
||||
/**
|
||||
* tyepdef struct qdf_resource_t - representation of a h/w resource.
|
||||
* typedef qdf_resource_t - representation of a h/w resource.
|
||||
* @start: start
|
||||
* @end: end
|
||||
* @type: resource type
|
||||
@@ -301,7 +304,7 @@ typedef bool (*qdf_irqlocked_func_t)(void *);
|
||||
#define qdf_offsetof(type, field) offsetof(type, field)
|
||||
|
||||
/**
|
||||
* typedef enum QDF_MODULE_ID - Debug category level
|
||||
* typedef QDF_MODULE_ID - Debug category level
|
||||
* @QDF_MODULE_ID_MIN: The smallest/starting module id
|
||||
* @QDF_MODULE_ID_TDLS: TDLS
|
||||
* @QDF_MODULE_ID_ACS: auto channel selection
|
||||
@@ -616,7 +619,7 @@ typedef enum {
|
||||
} QDF_MODULE_ID;
|
||||
|
||||
/**
|
||||
* typedef enum QDF_TRACE_LEVEL - Debug verbose level
|
||||
* typedef QDF_TRACE_LEVEL - Debug verbose level
|
||||
* @QDF_TRACE_LEVEL_NONE: no trace will be logged. This value is in place
|
||||
* for the qdf_trace_setlevel() to allow the user
|
||||
* to turn off all traces
|
||||
@@ -949,7 +952,7 @@ QDF_STATUS qdf_uint64_parse(const char *int_str, uint64_t *out_int);
|
||||
|
||||
#define QDF_MAC_ADDR_SIZE 6
|
||||
|
||||
/**
|
||||
/*
|
||||
* If the feature CONFIG_WLAN_TRACE_HIDE_MAC_ADDRESS is enabled,
|
||||
* then the requirement is to hide 2nd, 3rd and 4th octet of the
|
||||
* MAC address in the kernel logs and driver logs.
|
||||
@@ -1421,7 +1424,7 @@ struct qdf_tso_seg_t {
|
||||
* @TSOSEG_LOC_GETINFO: get info
|
||||
* @TSOSEG_LOC_FILLHTTSEG: fill HTT segment
|
||||
* @TSOSEG_LOC_FILLCMNSEG: fill CMN segment
|
||||
* TSOSEG_LOC_PREPARETSO: prepare TSO
|
||||
* @TSOSEG_LOC_PREPARETSO: prepare TSO
|
||||
* @TSOSEG_LOC_TXPREPLLFAST: tx prep LL fast
|
||||
* @TSOSEG_LOC_UNMAPTSO: unmap TSO
|
||||
* @TSOSEG_LOC_UNMAPLAST: unmap last
|
||||
@@ -1465,6 +1468,11 @@ struct qdf_tso_seg_dbg_t {
|
||||
* struct qdf_tso_seg_elem_t - tso segment element
|
||||
* @next: pointer to the next segment
|
||||
* @seg: instance of segment
|
||||
* @cookie:
|
||||
* @on_freelist:
|
||||
* @sent_to_target:
|
||||
* @force_free:
|
||||
* @dbg: debug struct
|
||||
*/
|
||||
struct qdf_tso_seg_elem_t {
|
||||
struct qdf_tso_seg_elem_t *next;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2014-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -36,13 +36,13 @@
|
||||
typedef __qdf_wait_queue_head_t qdf_wait_queue_head_t;
|
||||
|
||||
/**
|
||||
* qdf_unlikely - Compiler-dependent macro denoting code likely to execute
|
||||
* qdf_unlikely - Compiler-dependent macro denoting code unlikely to execute
|
||||
* @_expr: expression to be checked
|
||||
*/
|
||||
#define qdf_unlikely(_expr) __qdf_unlikely(_expr)
|
||||
|
||||
/**
|
||||
* qdf_likely - Compiler-dependent macro denoting code unlikely to execute
|
||||
* qdf_likely - Compiler-dependent macro denoting code likely to execute
|
||||
* @_expr: expression to be checked
|
||||
*/
|
||||
#define qdf_likely(_expr) __qdf_likely(_expr)
|
||||
@@ -67,6 +67,7 @@ typedef __qdf_wait_queue_head_t qdf_wait_queue_head_t;
|
||||
* @offset: register address
|
||||
*/
|
||||
#define qdf_ioread32(offset) __qdf_ioread32(offset)
|
||||
|
||||
/**
|
||||
* qdf_iowrite32 - write a register
|
||||
* @offset: register address
|
||||
@@ -76,6 +77,7 @@ typedef __qdf_wait_queue_head_t qdf_wait_queue_head_t;
|
||||
|
||||
/**
|
||||
* qdf_assert - assert "expr" evaluates to false.
|
||||
* @expr: expression to test
|
||||
*/
|
||||
#ifdef QDF_DEBUG
|
||||
#define qdf_assert(expr) __qdf_assert(expr)
|
||||
@@ -85,11 +87,13 @@ typedef __qdf_wait_queue_head_t qdf_wait_queue_head_t;
|
||||
|
||||
/**
|
||||
* qdf_assert_always - always assert "expr" evaluates to false.
|
||||
* @expr: expression to test
|
||||
*/
|
||||
#define qdf_assert_always(expr) __qdf_assert(expr)
|
||||
|
||||
/**
|
||||
* qdf_target_assert_always - always target assert "expr" evaluates to false.
|
||||
* @expr: expression to test
|
||||
*/
|
||||
#define qdf_target_assert_always(expr) __qdf_target_assert(expr)
|
||||
|
||||
@@ -270,7 +274,7 @@ typedef __qdf_wait_queue_head_t qdf_wait_queue_head_t;
|
||||
|
||||
/**
|
||||
* qdf_wake_up() - wakes up sleeping waitqueue
|
||||
* @wait_queue: wait queue, which needs wake up
|
||||
* @_q: wait queue, which needs wake up
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
@@ -279,7 +283,7 @@ typedef __qdf_wait_queue_head_t qdf_wait_queue_head_t;
|
||||
#define qdf_wake_up_completion(_q) __qdf_wake_up_completion(_q)
|
||||
|
||||
/**
|
||||
* qdf_container_of - cast a member of a structure out to the containing
|
||||
* qdf_container_of() - cast a member of a structure out to the containing
|
||||
* structure
|
||||
* @ptr: the pointer to the member.
|
||||
* @type: the type of the container struct this is embedded in.
|
||||
@@ -289,7 +293,7 @@ typedef __qdf_wait_queue_head_t qdf_wait_queue_head_t;
|
||||
__qdf_container_of(ptr, type, member)
|
||||
|
||||
/**
|
||||
* qdf_is_pwr2 - test input value is power of 2 integer
|
||||
* QDF_IS_PWR2() - test input value is power of 2 integer
|
||||
* @value: input integer
|
||||
*/
|
||||
#define QDF_IS_PWR2(value) (((value) ^ ((value)-1)) == ((value) << 1) - 1)
|
||||
@@ -368,7 +372,7 @@ static inline void qdf_zero_macaddr(struct qdf_mac_addr *mac_addr)
|
||||
|
||||
/**
|
||||
* qdf_is_macaddr_group() - check for a MacAddress is a 'group' address
|
||||
* @mac_addr1: pointer to the qdf MacAddress to check
|
||||
* @mac_addr: pointer to the qdf MacAddress to check
|
||||
*
|
||||
* This function returns a bool that tells if a the input QDF MacAddress
|
||||
* is a "group" address. Group addresses have the 'group address bit' turned
|
||||
@@ -501,32 +505,37 @@ static inline uint8_t *qdf_get_u32(uint8_t *ptr, uint32_t *value)
|
||||
}
|
||||
|
||||
/**
|
||||
* qdf_abs - Get absolute value
|
||||
* qdf_abs() - Get absolute value
|
||||
* @x: value to be converted
|
||||
*/
|
||||
#define qdf_abs(x) __qdf_abs(x)
|
||||
|
||||
/**
|
||||
* qdf_ntohs - Convert a 16-bit value from network byte order to host byte order
|
||||
* qdf_ntohs() - Convert a 16-bit value from network byte order to host byte order
|
||||
* @x: value to be converted
|
||||
*/
|
||||
#define qdf_ntohs(x) __qdf_ntohs(x)
|
||||
|
||||
/**
|
||||
* qdf_ntohl - Convert a 32-bit value from network byte order to host byte order
|
||||
* qdf_ntohl() - Convert a 32-bit value from network byte order to host byte order
|
||||
* @x: value to be converted
|
||||
*/
|
||||
#define qdf_ntohl(x) __qdf_ntohl(x)
|
||||
|
||||
/**
|
||||
* qdf_htons - Convert a 16-bit value from host byte order to network byte order
|
||||
* qdf_htons() - Convert a 16-bit value from host byte order to network byte order
|
||||
* @x: value to be converted
|
||||
*/
|
||||
#define qdf_htons(x) __qdf_htons(x)
|
||||
|
||||
/**
|
||||
* qdf_htonl - Convert a 32-bit value from host byte order to network byte order
|
||||
* qdf_htonl() - Convert a 32-bit value from host byte order to network byte order
|
||||
* @x: value to be converted
|
||||
*/
|
||||
#define qdf_htonl(x) __qdf_htonl(x)
|
||||
|
||||
/**
|
||||
* qdf_cpu_to_le16 - Convert a 16-bit value from CPU byte order to
|
||||
* qdf_cpu_to_le16() - Convert a 16-bit value from CPU byte order to
|
||||
* little-endian byte order
|
||||
*
|
||||
* @x: value to be converted
|
||||
@@ -534,7 +543,7 @@ static inline uint8_t *qdf_get_u32(uint8_t *ptr, uint32_t *value)
|
||||
#define qdf_cpu_to_le16(x) __qdf_cpu_to_le16(x)
|
||||
|
||||
/**
|
||||
* qdf_cpu_to_le32 - Convert a 32-bit value from CPU byte order to
|
||||
* qdf_cpu_to_le32() - Convert a 32-bit value from CPU byte order to
|
||||
* little-endian byte order
|
||||
*
|
||||
* @x: value to be converted
|
||||
@@ -542,7 +551,7 @@ static inline uint8_t *qdf_get_u32(uint8_t *ptr, uint32_t *value)
|
||||
#define qdf_cpu_to_le32(x) __qdf_cpu_to_le32(x)
|
||||
|
||||
/**
|
||||
* qdf_cpu_to_le64 - Convert a 64-bit value from CPU byte order to
|
||||
* qdf_cpu_to_le64() - Convert a 64-bit value from CPU byte order to
|
||||
* little-endian byte order
|
||||
*
|
||||
* @x: value to be converted
|
||||
@@ -550,7 +559,7 @@ static inline uint8_t *qdf_get_u32(uint8_t *ptr, uint32_t *value)
|
||||
#define qdf_cpu_to_le64(x) __qdf_cpu_to_le64(x)
|
||||
|
||||
/**
|
||||
* qdf_le16_to_cpu - Convert a 16-bit value from little-endian byte order
|
||||
* qdf_le16_to_cpu() - Convert a 16-bit value from little-endian byte order
|
||||
* to CPU byte order
|
||||
*
|
||||
* @x: value to be converted
|
||||
@@ -558,7 +567,7 @@ static inline uint8_t *qdf_get_u32(uint8_t *ptr, uint32_t *value)
|
||||
#define qdf_le16_to_cpu(x) __qdf_le16_to_cpu(x)
|
||||
|
||||
/**
|
||||
* qdf_le32_to_cpu - Convert a 32-bit value from little-endian byte
|
||||
* qdf_le32_to_cpu() - Convert a 32-bit value from little-endian byte
|
||||
* order to CPU byte order
|
||||
*
|
||||
* @x: value to be converted
|
||||
@@ -566,7 +575,7 @@ static inline uint8_t *qdf_get_u32(uint8_t *ptr, uint32_t *value)
|
||||
#define qdf_le32_to_cpu(x) __qdf_le32_to_cpu(x)
|
||||
|
||||
/**
|
||||
* qdf_le64_to_cpu - Convert a 64-bit value from little-endian byte
|
||||
* qdf_le64_to_cpu() - Convert a 64-bit value from little-endian byte
|
||||
* order to CPU byte order
|
||||
*
|
||||
* @x: value to be converted
|
||||
@@ -574,7 +583,7 @@ static inline uint8_t *qdf_get_u32(uint8_t *ptr, uint32_t *value)
|
||||
#define qdf_le64_to_cpu(x) __qdf_le64_to_cpu(x)
|
||||
|
||||
/**
|
||||
* qdf_cpu_to_be16 - Convert a 16-bit value from CPU byte order to
|
||||
* qdf_cpu_to_be16() - Convert a 16-bit value from CPU byte order to
|
||||
* big-endian byte order
|
||||
*
|
||||
* @x: value to be converted
|
||||
@@ -582,7 +591,7 @@ static inline uint8_t *qdf_get_u32(uint8_t *ptr, uint32_t *value)
|
||||
#define qdf_cpu_to_be16(x) __qdf_cpu_to_be16(x)
|
||||
|
||||
/**
|
||||
* qdf_cpu_to_be32 - Convert a 32-bit value from CPU byte order to
|
||||
* qdf_cpu_to_be32() - Convert a 32-bit value from CPU byte order to
|
||||
* big-endian byte order
|
||||
*
|
||||
* @x: value to be converted
|
||||
@@ -590,7 +599,7 @@ static inline uint8_t *qdf_get_u32(uint8_t *ptr, uint32_t *value)
|
||||
#define qdf_cpu_to_be32(x) __qdf_cpu_to_be32(x)
|
||||
|
||||
/**
|
||||
* qdf_cpu_to_be64 - Convert a 64-bit value from CPU byte order to
|
||||
* qdf_cpu_to_be64() - Convert a 64-bit value from CPU byte order to
|
||||
* big-endian byte order
|
||||
*
|
||||
* @x: value to be converted
|
||||
@@ -599,7 +608,7 @@ static inline uint8_t *qdf_get_u32(uint8_t *ptr, uint32_t *value)
|
||||
|
||||
|
||||
/**
|
||||
* qdf_be16_to_cpu - Convert a 16-bit value from big-endian byte order
|
||||
* qdf_be16_to_cpu() - Convert a 16-bit value from big-endian byte order
|
||||
* to CPU byte order
|
||||
*
|
||||
* @x: value to be converted
|
||||
@@ -607,7 +616,7 @@ static inline uint8_t *qdf_get_u32(uint8_t *ptr, uint32_t *value)
|
||||
#define qdf_be16_to_cpu(x) __qdf_be16_to_cpu(x)
|
||||
|
||||
/**
|
||||
* qdf_be32_to_cpu - Convert a 32-bit value from big-endian byte order
|
||||
* qdf_be32_to_cpu() - Convert a 32-bit value from big-endian byte order
|
||||
* to CPU byte order
|
||||
*
|
||||
* @x: value to be converted
|
||||
@@ -615,7 +624,7 @@ static inline uint8_t *qdf_get_u32(uint8_t *ptr, uint32_t *value)
|
||||
#define qdf_be32_to_cpu(x) __qdf_be32_to_cpu(x)
|
||||
|
||||
/**
|
||||
* qdf_be64_to_cpu - Convert a 64-bit value from big-endian byte order
|
||||
* qdf_be64_to_cpu() - Convert a 64-bit value from big-endian byte order
|
||||
* to CPU byte order
|
||||
*
|
||||
* @x: value to be converted
|
||||
@@ -628,7 +637,9 @@ static inline uint8_t *qdf_get_u32(uint8_t *ptr, uint32_t *value)
|
||||
#define qdf_function __qdf_function
|
||||
|
||||
/**
|
||||
* qdf_min - minimum of two numbers
|
||||
* qdf_min() - minimum of two numbers
|
||||
* @a: first number
|
||||
* @b: second number
|
||||
*/
|
||||
#define qdf_min(a, b) __qdf_min(a, b)
|
||||
|
||||
@@ -678,7 +689,7 @@ int qdf_get_cpu(void)
|
||||
|
||||
/**
|
||||
* qdf_get_hweight8() - count num of 1's in 8-bit bitmap
|
||||
* @value: input bitmap
|
||||
* @w: input bitmap
|
||||
*
|
||||
* Count num of 1's set in the 8-bit bitmap
|
||||
*
|
||||
@@ -694,7 +705,7 @@ unsigned int qdf_get_hweight8(unsigned int w)
|
||||
|
||||
/**
|
||||
* qdf_get_hweight16() - count num of 1's in 16-bit bitmap
|
||||
* @value: input bitmap
|
||||
* @w: input bitmap
|
||||
*
|
||||
* Count num of 1's set in the 16-bit bitmap
|
||||
*
|
||||
@@ -712,7 +723,7 @@ unsigned int qdf_get_hweight16(unsigned int w)
|
||||
|
||||
/**
|
||||
* qdf_get_hweight32() - count num of 1's in 32-bit bitmap
|
||||
* @value: input bitmap
|
||||
* @w: input bitmap
|
||||
*
|
||||
* Count num of 1's set in the 32-bit bitmap
|
||||
*
|
||||
@@ -832,8 +843,9 @@ uint64_t qdf_do_div_rem(uint64_t dividend, uint32_t divisor)
|
||||
}
|
||||
|
||||
/**
|
||||
* qdf_get_random_bytes() - returns nbytes bytes of random
|
||||
* data
|
||||
* qdf_get_random_bytes() - returns nbytes bytes of random data
|
||||
* @buf: buffer to fill
|
||||
* @nbytes: number of bytes to fill
|
||||
*
|
||||
* Return: random bytes of data
|
||||
*/
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2013-2019 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -64,7 +64,7 @@
|
||||
#endif /* ifdef CONFIG_SMP */
|
||||
|
||||
/**
|
||||
* struct os_mest_t - maintain attributes of message
|
||||
* typedef os_mesg_t - maintain attributes of message
|
||||
* @mesg_next: pointer to the nexgt message
|
||||
* @mest_type: type of message
|
||||
* @mesg_len: length of the message
|
||||
@@ -146,6 +146,7 @@ typedef struct {
|
||||
* @bc: hal bus context
|
||||
* @device: generic device
|
||||
* @event_queue: instance to wait queue
|
||||
* @async_q:
|
||||
* @is_device_asleep: keep device status, sleep or awakei
|
||||
* @acfg_event_list: event list
|
||||
* @acfg_event_queue_lock: queue lock
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2014-2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -116,6 +117,7 @@ static inline int32_t __qdf_atomic_dec_and_test(__qdf_atomic_t *v)
|
||||
/**
|
||||
* __qdf_atomic_set() - set a value to the value of an atomic variable
|
||||
* @v: A pointer to an opaque atomic variable
|
||||
* @i: value to assign
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2014-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -31,10 +31,13 @@
|
||||
#include <qdf_status.h>
|
||||
#include <qdf_trace.h>
|
||||
|
||||
/**
|
||||
* typedef __qdf_workqueue_t - qdf_workqueue_t abstraction
|
||||
*/
|
||||
typedef struct workqueue_struct __qdf_workqueue_t;
|
||||
|
||||
/**
|
||||
* typedef struct __qdf_work_t - wrapper around the real task func
|
||||
* typedef __qdf_work_t - wrapper around the real task func
|
||||
* @work: Instance of work
|
||||
* @fn: function pointer to the handler
|
||||
* @arg: pointer to argument
|
||||
@@ -46,7 +49,7 @@ typedef struct {
|
||||
} __qdf_work_t;
|
||||
|
||||
/**
|
||||
* typedef struct __qdf_bh_t - wrapper around the real task func
|
||||
* typedef __qdf_bh_t - wrapper around the real task func
|
||||
* @bh: Instance of the bottom half
|
||||
* @fn: function pointer to the handler
|
||||
* @arg: pointer to argument
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2019-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -85,7 +86,7 @@ __qdf_dev_release_mem(struct qdf_dev *qdfdev, struct qdf_devm *mrptr)
|
||||
}
|
||||
|
||||
/**
|
||||
* __qdf_dev_modify_irq() - modify irq
|
||||
* __qdf_dev_modify_irq_status() - modify irq
|
||||
* @irnum: irq number
|
||||
* @cmask: Bitmap to be cleared for the property mask
|
||||
* @smask: Bitmap to be set for the property mask
|
||||
@@ -139,7 +140,7 @@ static inline int __qdf_topology_physical_package_id(unsigned int cpu)
|
||||
/**
|
||||
* __qdf_cpumask_subset() - API to check for subset in cpumasks
|
||||
* @srcp1: first cpu mask
|
||||
* @srcp1: second cpu mask
|
||||
* @srcp2: second cpu mask
|
||||
*
|
||||
* This checks for *srcp1 & ~*srcp2
|
||||
*
|
||||
@@ -155,7 +156,7 @@ static inline int __qdf_cpumask_subset(qdf_cpu_mask *srcp1,
|
||||
* __qdf_cpumask_intersects() - API to check if cpumasks
|
||||
* intersect
|
||||
* @srcp1: first cpu mask
|
||||
* @srcp1: second cpu mask
|
||||
* @srcp2: second cpu mask
|
||||
*
|
||||
* This checks for (*srcp1 & *srcp2) != 0
|
||||
*
|
||||
@@ -171,6 +172,7 @@ static inline int __qdf_cpumask_intersects(qdf_cpu_mask *srcp1,
|
||||
/**
|
||||
* __qdf_core_ctl_set_boost() - This API is used to move tasks
|
||||
* to CPUs with higher capacity
|
||||
* @boost: value to set
|
||||
*
|
||||
* This function moves tasks to higher capacity CPUs than those
|
||||
* where the tasks would have normally ended up. This is
|
||||
@@ -209,7 +211,7 @@ __qdf_dev_set_irq_status_flags(unsigned int irnum, unsigned long set)
|
||||
/**
|
||||
* __qdf_dev_clear_irq_status_flags() - clear irq status flags
|
||||
* @irnum: irq number
|
||||
* @clear: status flag to clear
|
||||
* @clr: status flag to clear
|
||||
*
|
||||
* This function will set the status for an irq
|
||||
*
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2014-2017,2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -27,7 +28,7 @@
|
||||
#include <linux/completion.h>
|
||||
|
||||
/**
|
||||
* qdf_event_t - manages events
|
||||
* typedef __qdf_event_t - manages events
|
||||
* @complete: instance to completion
|
||||
* @cookie: unsigned int
|
||||
* @done: indicate completion
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2017 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -32,7 +33,7 @@
|
||||
#include <linux/inet_lro.h>
|
||||
|
||||
/**
|
||||
* qdf_lro_desc_entry - defines the LRO descriptor
|
||||
* struct qdf_lro_desc_entry - defines the LRO descriptor
|
||||
* element stored in the list
|
||||
* @lro_node: node of the list
|
||||
* @lro_desc: the LRO descriptor contained in this list entry
|
||||
@@ -43,7 +44,7 @@ struct qdf_lro_desc_entry {
|
||||
};
|
||||
|
||||
/**
|
||||
* qdf_lro_desc_pool - pool of free LRO descriptors
|
||||
* struct qdf_lro_desc_pool - pool of free LRO descriptors
|
||||
* @lro_desc_array: array of LRO descriptors allocated
|
||||
* @lro_free_list_head: head of the list
|
||||
* @lro_pool_lock: lock to protect access to the list
|
||||
@@ -54,7 +55,7 @@ struct qdf_lro_desc_pool {
|
||||
};
|
||||
|
||||
/**
|
||||
* qdf_lro_desc_table - defines each entry of the LRO hash table
|
||||
* struct qdf_lro_desc_table - defines each entry of the LRO hash table
|
||||
* @lro_desc_list: list of LRO descriptors
|
||||
*/
|
||||
struct qdf_lro_desc_table {
|
||||
@@ -62,7 +63,7 @@ struct qdf_lro_desc_table {
|
||||
};
|
||||
|
||||
/**
|
||||
* qdf_lro_desc_info - structure containing the LRO descriptor
|
||||
* struct qdf_lro_desc_info - structure containing the LRO descriptor
|
||||
* information
|
||||
* @lro_hash_table: hash table used for a quick desc. look-up
|
||||
* @lro_hash_lock: lock to protect access to the hash table
|
||||
@@ -74,11 +75,9 @@ struct qdf_lro_desc_info {
|
||||
};
|
||||
|
||||
/**
|
||||
* qdf_lro_info_s - LRO information
|
||||
* struct qdf_lro_s - LRO information
|
||||
* @lro_mgr: LRO manager
|
||||
* @lro_desc_info: LRO descriptor information
|
||||
* @lro_mgr_arr_access_lock: Lock to access LRO manager array.
|
||||
* @lro_stats: LRO statistics
|
||||
*/
|
||||
struct qdf_lro_s {
|
||||
struct net_lro_mgr *lro_mgr;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2014-2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -210,9 +210,9 @@ typedef struct __qdf_shared_mem_info {
|
||||
#define qdf_get_dma_mem_context(var, field) ((qdf_dma_context_t)(var->field))
|
||||
|
||||
/**
|
||||
* typedef struct __qdf_resource - qdf resource type
|
||||
* typedef __qdf_resource_t - qdf resource type
|
||||
* @paddr: Physical address
|
||||
* @paddr: Virtual address
|
||||
* @vaddr: Virtual address
|
||||
* @len: Length
|
||||
*/
|
||||
typedef struct __qdf_resource {
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2014-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -175,7 +175,7 @@ static inline bool __qdf_is_macaddr_equal(const struct qdf_mac_addr *mac_addr1,
|
||||
#define __qdf_min(_a, _b) min(_a, _b)
|
||||
#define __qdf_max(_a, _b) max(_a, _b)
|
||||
|
||||
/**
|
||||
/*
|
||||
* Setting it to blank as feature is not intended to be supported
|
||||
* on linux version less than 4.3
|
||||
*/
|
||||
@@ -201,9 +201,6 @@ static inline bool __qdf_is_macaddr_equal(const struct qdf_mac_addr *mac_addr1,
|
||||
|
||||
#define MEMINFO_KB(x) ((x) << (PAGE_SHIFT - 10)) /* In kilobytes */
|
||||
|
||||
/**
|
||||
* @brief Assert
|
||||
*/
|
||||
#define __qdf_assert(expr) do { \
|
||||
if (unlikely(!(expr))) { \
|
||||
pr_err("Assertion failed! %s:%s %s:%d\n", \
|
||||
@@ -213,9 +210,6 @@ static inline bool __qdf_is_macaddr_equal(const struct qdf_mac_addr *mac_addr1,
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
/**
|
||||
* @brief Assert
|
||||
*/
|
||||
#define __qdf_target_assert(expr) do { \
|
||||
if (unlikely(!(expr))) { \
|
||||
qdf_err("Assertion failed! %s:%s %s:%d", \
|
||||
@@ -225,9 +219,6 @@ static inline bool __qdf_is_macaddr_equal(const struct qdf_mac_addr *mac_addr1,
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
/**
|
||||
* @brief Compile time Assert
|
||||
*/
|
||||
#define QDF_COMPILE_TIME_ASSERT(assertion_name, predicate) \
|
||||
typedef char assertion_name[(predicate) ? 1 : -1]
|
||||
|
||||
@@ -255,9 +246,6 @@ static inline bool __qdf_is_macaddr_equal(const struct qdf_mac_addr *mac_addr1,
|
||||
#define __qdf_be32_to_cpu be32_to_cpu
|
||||
#define __qdf_be64_to_cpu be64_to_cpu
|
||||
|
||||
/**
|
||||
* @brief memory barriers.
|
||||
*/
|
||||
#define __qdf_wmb() wmb()
|
||||
#define __qdf_rmb() rmb()
|
||||
#define __qdf_mb() mb()
|
||||
@@ -419,10 +407,11 @@ int __qdf_set_dma_coherent_mask(struct device *dev, uint8_t addr_bits)
|
||||
}
|
||||
#endif
|
||||
/**
|
||||
* qdf_get_random_bytes() - returns nbytes bytes of random
|
||||
* data
|
||||
* __qdf_get_random_bytes() - returns nbytes bytes of random data
|
||||
* @buf: buffer to fill
|
||||
* @nbytes: number of bytes to fill
|
||||
*
|
||||
* Return: random bytes of data
|
||||
* Return: void
|
||||
*/
|
||||
static inline
|
||||
void __qdf_get_random_bytes(void *buf, int nbytes)
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -84,7 +85,7 @@ umode_t qdf_debugfs_get_filemode(uint16_t mode)
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* ---------------------- Implementation note ---------------------------------
|
||||
*
|
||||
* A read in debugfs file triggers seq_read() which calls seq_read api. A
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2015-2017, 2019 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -106,11 +106,6 @@ static int qdf_lro_get_skb_header(struct sk_buff *skb, void **ip_hdr,
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* qdf_lro_init() - LRO initialization function
|
||||
*
|
||||
* Return: LRO context
|
||||
*/
|
||||
qdf_lro_ctx_t qdf_lro_init(void)
|
||||
{
|
||||
struct qdf_lro_s *lro_ctx;
|
||||
@@ -171,12 +166,6 @@ qdf_lro_ctx_t qdf_lro_init(void)
|
||||
return lro_ctx;
|
||||
}
|
||||
|
||||
/**
|
||||
* qdf_lro_deinit() - LRO deinitialization function
|
||||
* @lro_ctx: LRO context
|
||||
*
|
||||
* Return: nothing
|
||||
*/
|
||||
void qdf_lro_deinit(qdf_lro_ctx_t lro_ctx)
|
||||
{
|
||||
if (likely(lro_ctx)) {
|
||||
@@ -188,9 +177,9 @@ void qdf_lro_deinit(qdf_lro_ctx_t lro_ctx)
|
||||
|
||||
/**
|
||||
* qdf_lro_tcp_flow_match() - function to check for a flow match
|
||||
* @lro_desc: LRO descriptor
|
||||
* @iph: IP header
|
||||
* @tcph: TCP header
|
||||
* @lro_desc: LRO descriptor
|
||||
*
|
||||
* Checks if the descriptor belongs to the same flow as the one
|
||||
* indicated by the TCP and IP header.
|
||||
@@ -372,17 +361,7 @@ bool qdf_lro_get_info(qdf_lro_ctx_t lro_ctx, qdf_nbuf_t nbuf,
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* qdf_lro_desc_free() - Free the LRO descriptor
|
||||
* @desc: LRO descriptor
|
||||
* @lro_ctx: LRO context
|
||||
*
|
||||
* Return the LRO descriptor to the free pool
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
void qdf_lro_desc_free(qdf_lro_ctx_t lro_ctx,
|
||||
void *data)
|
||||
void qdf_lro_desc_free(qdf_lro_ctx_t lro_ctx, void *data)
|
||||
{
|
||||
struct qdf_lro_desc_entry *entry;
|
||||
struct net_lro_mgr *lro_mgr;
|
||||
@@ -419,15 +398,6 @@ void qdf_lro_desc_free(qdf_lro_ctx_t lro_ctx,
|
||||
lro_desc_pool.lro_free_list_head);
|
||||
}
|
||||
|
||||
/**
|
||||
* qdf_lro_flush() - LRO flush API
|
||||
* @lro_ctx: LRO context
|
||||
*
|
||||
* Flush all the packets aggregated in the LRO manager for all
|
||||
* the flows
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
void qdf_lro_flush(qdf_lro_ctx_t lro_ctx)
|
||||
{
|
||||
struct net_lro_mgr *lro_mgr = lro_ctx->lro_mgr;
|
||||
@@ -440,6 +410,7 @@ void qdf_lro_flush(qdf_lro_ctx_t lro_ctx)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* qdf_lro_get_desc() - LRO descriptor look-up function
|
||||
* @iph: IP header
|
||||
@@ -467,16 +438,6 @@ static struct net_lro_desc *qdf_lro_get_desc(struct net_lro_mgr *lro_mgr,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* qdf_lro_flush_pkt() - function to flush the LRO flow
|
||||
* @info: LRO related information passed by the caller
|
||||
* @lro_ctx: LRO context
|
||||
*
|
||||
* Flush all the packets aggregated in the LRO manager for the
|
||||
* flow indicated by the TCP and IP header
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
void qdf_lro_flush_pkt(qdf_lro_ctx_t lro_ctx,
|
||||
struct qdf_lro_info *info)
|
||||
{
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -20,7 +21,7 @@
|
||||
#include "qdf_trace.h"
|
||||
#include "qdf_platform.h"
|
||||
|
||||
/**
|
||||
/*
|
||||
* The following callbacks should be defined static to make sure they are
|
||||
* initialized to NULL
|
||||
*/
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2018, 2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -99,6 +99,7 @@ static qdf_spinlock_t __qdf_talloc_meta_lock;
|
||||
/**
|
||||
* struct qdf_talloc_parent_meta - parent/children metadata for memory tracking
|
||||
* @entry: entry for membership in the parent hashtable
|
||||
* @key: parent
|
||||
* @children: list of associated children
|
||||
*/
|
||||
struct qdf_talloc_parent_meta {
|
||||
@@ -149,6 +150,7 @@ qdf_talloc_parent_meta_lookup(const void *parent)
|
||||
* @func: name of the function that requested the allocation
|
||||
* @line: line number of the call site in @func
|
||||
* @size: size of the allocation in bytes
|
||||
* @guard: a known value, used to detect out-of-bounds access
|
||||
*/
|
||||
struct qdf_talloc_child_meta {
|
||||
const void *parent;
|
||||
|
Reference in New Issue
Block a user