diff --git a/qdf/inc/osdep.h b/qdf/inc/osdep.h index a82d3cc140..24c0601287 100644 --- a/qdf/inc/osdep.h +++ b/qdf/inc/osdep.h @@ -79,7 +79,7 @@ * fall back to using the immediate work queue. */ #define qdf_sysctl_decl(f, ctl, write, filp, buffer, lenp, ppos) \ - f(struct ctl_table *ctl, int write, void *buffer, \ + f(struct ctl_table *ctl, int32_t write, void *buffer, \ size_t *lenp, loff_t *ppos) #define QDF_SYSCTL_PROC_DOINTVEC(ctl, write, filp, buffer, lenp, ppos) \ @@ -134,10 +134,11 @@ static inline qdf_time_t os_get_timestamp(void) struct _NIC_DEV; -static inline unsigned char *os_malloc(osdev_t pNicDev, - unsigned long ulSizeInBytes, int gfp) +static inline unsigned char *os_malloc(osdev_t nic_dev, + unsigned long size_in_bytes, + int32_t gfp) { - return qdf_mem_malloc(ulSizeInBytes); + return qdf_mem_malloc(size_in_bytes); } #define OS_FREE(_p) qdf_mem_free(_p) diff --git a/qdf/inc/qdf_nbuf.h b/qdf/inc/qdf_nbuf.h index 7402f60934..a49e9ad7a7 100644 --- a/qdf/inc/qdf_nbuf.h +++ b/qdf/inc/qdf_nbuf.h @@ -325,6 +325,8 @@ qdf_nbuf_frag_push_head(qdf_nbuf_t buf, __qdf_nbuf_frag_push_head(buf, frag_len, frag_vaddr, frag_paddr); } +#define qdf_nbuf_num_frags_init(_nbuf) __qdf_nbuf_num_frags_init((_nbuf)) + /* For efficiency, it is the responsibility of the caller to ensure that val * is either 0 or 1. */ @@ -1178,13 +1180,6 @@ qdf_nbuf_tx_cksum_info(qdf_nbuf_t buf, uint8_t **hdr_off, uint8_t **where) return __qdf_nbuf_tx_cksum_info(buf, hdr_off, where); } -static inline QDF_STATUS -qdf_nbuf_get_vlan_info(qdf_net_handle_t hdl, qdf_nbuf_t buf, - qdf_net_vlanhdr_t *vlan) -{ - return __qdf_nbuf_get_vlan_info(hdl, buf, vlan); -} - static inline void qdf_nbuf_reset_ctxt(__qdf_nbuf_t nbuf) { __qdf_nbuf_reset_ctxt(nbuf); diff --git a/qdf/inc/qdf_net_types.h b/qdf/inc/qdf_net_types.h index 984afe499a..9b4fd6d0ea 100644 --- a/qdf/inc/qdf_net_types.h +++ b/qdf/inc/qdf_net_types.h @@ -51,33 +51,6 @@ enum qdf_nbuf_exemption_type { QDF_NBUF_EXEMPT_ON_KEY_MAPPING_KEY_UNAVAILABLE }; - -/** - * QDF_NET_CMD - These control/get info from the device - */ -#define QDF_NET_CMD(_x) \ - QDF_NET_CMD_GET_##_x, \ - QDF_NET_CMD_SET_##_x - -/** - * qdf_net_cmd_t - Get/Set commands from anet to qdf_drv - */ -typedef enum { - QDF_NET_CMD(LINK_INFO), - QDF_NET_CMD(POLL_INFO), - QDF_NET_CMD(CKSUM_INFO), - QDF_NET_CMD(RING_INFO), - QDF_NET_CMD(MAC_ADDR), - QDF_NET_CMD(MTU), - QDF_NET_CMD_GET_DMA_INFO, - QDF_NET_CMD_GET_OFFLOAD_CAP, - QDF_NET_CMD_GET_STATS, - QDF_NET_CMD_ADD_VID, - QDF_NET_CMD_DEL_VID, - QDF_NET_CMD_SET_MCAST, - QDF_NET_CMD_GET_MCAST_CAP -} qdf_net_cmd_t; - typedef __wsum_t wsum_t; typedef __in6_addr_t in6_addr_t; @@ -93,6 +66,11 @@ typedef __in6_addr_t in6_addr_t; #define QDF_ETH_TYPE_IPV4 0x0800 /* IPV4 */ #define QDF_ETH_TYPE_IPV6 0x86dd /* IPV6 */ +typedef struct qdf_net_ethaddr { + uint8_t addr[QDF_NET_ETH_LEN]; +} qdf_net_ethaddr_t; + + typedef struct { uint16_t source; uint16_t dest; @@ -163,18 +141,6 @@ typedef struct { */ typedef uint16_t qdf_net_cmd_vid_t ; /*get/set vlan id*/ -/** - * qdf_net_devaddr_t - Command for getting general stats from a device - * @num: No. of mcast addresses - * @da_addr: Destination address - */ -typedef struct qdf_net_devaddr { - uint32_t num; - uint8_t *da_addr[QDF_NET_MAX_MCAST_ADDR]; -} qdf_net_devaddr_t; - -typedef qdf_net_devaddr_t qdf_net_cmd_mcaddr_t; - /** * typedef qdf_nbuf_tx_cksum_t - transmit checksum offload types * @QDF_NBUF_TX_CKSUM_NONE: No checksum offload diff --git a/qdf/inc/qdf_trace.h b/qdf/inc/qdf_trace.h index 2614f0217d..60e7f7b962 100644 --- a/qdf/inc/qdf_trace.h +++ b/qdf/inc/qdf_trace.h @@ -72,6 +72,18 @@ typedef enum { QDF_TRACE_LEVEL_MAX } QDF_TRACE_LEVEL; +/* + * Log levels + */ +#define QDF_DEBUG_FUNCTRACE 0x01 +#define QDF_DEBUG_LEVEL0 0x02 +#define QDF_DEBUG_LEVEL1 0x04 +#define QDF_DEBUG_LEVEL2 0x08 +#define QDF_DEBUG_LEVEL3 0x10 +#define QDF_DEBUG_ERROR 0x20 +#define QDF_DEBUG_CFG 0x40 + +#ifdef CONFIG_MCL /* By default Data Path module will have all log levels enabled, except debug * log level. Debug level will be left up to the framework or user space modules * to be enabled when issue is detected @@ -188,17 +200,6 @@ enum QDF_DP_TRACE_ID { }; -/* - * Log levels - */ -#define QDF_DEBUG_FUNCTRACE 0x01 -#define QDF_DEBUG_LEVEL0 0x02 -#define QDF_DEBUG_LEVEL1 0x04 -#define QDF_DEBUG_LEVEL2 0x08 -#define QDF_DEBUG_LEVEL3 0x10 -#define QDF_DEBUG_ERROR 0x20 -#define QDF_DEBUG_CFG 0x40 - /** * struct qdf_dp_trace_record_s - Describes a record in DP trace * @time: time when it got stored @@ -311,7 +312,7 @@ void qdf_dp_display_record(struct qdf_dp_trace_record_s *record, * */ void __printf(3, 4) qdf_trace_msg(QDF_MODULE_ID module, QDF_TRACE_LEVEL level, - char *str_format, ...); + char *str_format, ...); void qdf_trace_hex_dump(QDF_MODULE_ID module, QDF_TRACE_LEVEL level, void *data, int buf_len); @@ -323,39 +324,10 @@ void qdf_trace_set_value(QDF_MODULE_ID module, QDF_TRACE_LEVEL level, void qdf_trace_set_module_trace_level(QDF_MODULE_ID module, uint32_t level); -/* QDF_TRACE is the macro invoked to add trace messages to code. See the - * documenation for qdf_trace_msg() for the parameters etc. for this function. - * - * NOTE: Code QDF_TRACE() macros into the source code. Do not code directly - * to the qdf_trace_msg() function. - * - * NOTE 2: qdf tracing is totally turned off if WLAN_DEBUG is *not* defined. - * This allows us to build 'performance' builds where we can measure performance - * without being bogged down by all the tracing in the code - */ - -#ifdef CONFIG_MCL -#if defined(WLAN_DEBUG) -#define QDF_TRACE qdf_trace_msg -#define QDF_TRACE_HEX_DUMP qdf_trace_hex_dump -#else -#define QDF_TRACE(arg ...) -#define QDF_TRACE_HEX_DUMP(arg ...) -#endif -#else -#define QDF_TRACE qdf_trace - -#define qdf_trace(log_level, args...) \ - do { \ - extern int qdf_dbg_mask; \ - if (qdf_dbg_mask >= log_level) { \ - printk("qdf: "args); \ - printk("\n"); \ - } \ - } while (0) -#endif void __printf(3, 4) qdf_snprintf(char *str_buffer, unsigned int size, - char *str_format, ...); + char *str_format, ...); + #define QDF_SNPRINTF qdf_snprintf +#endif /* CONFIG_MCL */ #endif /* __QDF_TRACE_H */ diff --git a/qdf/inc/qdf_types.h b/qdf/inc/qdf_types.h index 9764af98ea..6a9b6787e9 100644 --- a/qdf/inc/qdf_types.h +++ b/qdf/inc/qdf_types.h @@ -56,20 +56,6 @@ typedef struct qdf_sglist { #define QDF_MAX_SCATTER __QDF_MAX_SCATTER -/** - * QDF_MAX - get maximum of two values - * @_x: 1st arguement - * @_y: 2nd arguement - */ -#define QDF_MAX(_x, _y) (((_x) > (_y)) ? (_x) : (_y)) - -/** - * QDF_MIN - get minimum of two values - * @_x: 1st arguement - * @_y: 2nd arguement - */ -#define QDF_MIN(_x, _y) (((_x) < (_y)) ? (_x) : (_y)) - /** * QDF_SWAP_U16 - swap input u16 value * @_x: variable to swap @@ -229,6 +215,7 @@ typedef void (*qdf_timer_func_t)(void *); #define qdf_offsetof(type, field) offsetof(type, field) +#ifdef CONFIG_MCL /** * typedef QDF_MODULE_ID - QDF Module IDs * @QDF_MODULE_ID_TLSHIM: TLSHIM module ID @@ -284,12 +271,6 @@ typedef enum { QDF_MODULE_ID_MAX } QDF_MODULE_ID; -#define qdf_print(args...) \ - QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_ERROR, ## args) -#define qdf_vprint __qdf_vprint -#define qdf_snprint __qdf_snprint - - /** * enum tQDF_ADAPTER_MODE - Concurrency role. * @QDF_STA_MODE: STA mode @@ -335,6 +316,17 @@ enum tQDF_GLOBAL_CON_MODE { QDF_GLOBAL_MAX_MODE }; +#define qdf_print(args...) \ + QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_ERROR, ## args) +#define qdf_vprint __qdf_vprint +#define qdf_snprint __qdf_snprint +#else + +#define qdf_print printk + +#endif /* CONFIG_MCL */ + + #ifdef WLAN_OPEN_P2P_INTERFACE diff --git a/qdf/inc/qdf_util.h b/qdf/inc/qdf_util.h index 5ee8c6264d..defd94c143 100644 --- a/qdf/inc/qdf_util.h +++ b/qdf/inc/qdf_util.h @@ -71,6 +71,20 @@ */ #define qdf_target_assert_always(expr) __qdf_target_assert(expr) +/** + * QDF_MAX - get maximum of two values + * @_x: 1st arguement + * @_y: 2nd arguement + */ +#define QDF_MAX(_x, _y) (((_x) > (_y)) ? (_x) : (_y)) + +/** + * QDF_MIN - get minimum of two values + * @_x: 1st arguement + * @_y: 2nd arguement + */ +#define QDF_MIN(_x, _y) (((_x) < (_y)) ? (_x) : (_y)) + /** * qdf_status_to_os_return - returns the status to OS. * @status: enum QDF_STATUS diff --git a/qdf/linux/src/i_qdf_mem.h b/qdf/linux/src/i_qdf_mem.h index 429bfc4875..8744f44ea0 100644 --- a/qdf/linux/src/i_qdf_mem.h +++ b/qdf/linux/src/i_qdf_mem.h @@ -94,8 +94,8 @@ typedef struct __qdf_mempool_ctxt { u_int32_t max_elem; u_int32_t free_cnt; } __qdf_mempool_ctxt_t; -#endif -typedef __qdf_mempool_ctxt_t *__qdf_mempool_t; + +#endif /* __KERNEL__ */ /* typedef for dma_data_direction */ typedef enum dma_data_direction __dma_data_direction; diff --git a/qdf/linux/src/i_qdf_nbuf.h b/qdf/linux/src/i_qdf_nbuf.h index cbc798c141..d88a0ce83e 100644 --- a/qdf/linux/src/i_qdf_nbuf.h +++ b/qdf/linux/src/i_qdf_nbuf.h @@ -39,9 +39,9 @@ #include #include #include +#include #include #include -#include #include #include #include @@ -473,10 +473,6 @@ void __qdf_nbuf_frag_info(struct sk_buff *skb, qdf_sglist_t *sg); QDF_STATUS __qdf_nbuf_frag_map( qdf_device_t osdev, __qdf_nbuf_t nbuf, int offset, qdf_dma_dir_t dir, int cur_frag); -QDF_STATUS -__qdf_nbuf_get_vlan_info(qdf_net_handle_t hdl, struct sk_buff *skb, - qdf_net_vlanhdr_t *vlan); - #ifdef QCA_PKT_PROTO_TRACE void __qdf_nbuf_trace_update(struct sk_buff *buf, char *event_string); diff --git a/qdf/linux/src/i_qdf_trace.h b/qdf/linux/src/i_qdf_trace.h index 6eb603bee4..2f3e1c9101 100644 --- a/qdf/linux/src/i_qdf_trace.h +++ b/qdf/linux/src/i_qdf_trace.h @@ -39,9 +39,41 @@ #define __printf(a, b) #endif +#ifdef CONFIG_MCL /* Include Files */ #include +/* QDF_TRACE is the macro invoked to add trace messages to code. See the + * documenation for qdf_trace_msg() for the parameters etc. for this function. + * + * NOTE: Code QDF_TRACE() macros into the source code. Do not code directly + * to the qdf_trace_msg() function. + * + * NOTE 2: qdf tracing is totally turned off if WLAN_DEBUG is *not* defined. + * This allows us to build 'performance' builds where we can measure performance + * without being bogged down by all the tracing in the code + */ +#if defined(WLAN_DEBUG) +#define QDF_TRACE qdf_trace_msg +#define QDF_TRACE_HEX_DUMP qdf_trace_hex_dump +#else +#define QDF_TRACE(arg ...) +#define QDF_TRACE_HEX_DUMP(arg ...) +#endif +#else + +#define qdf_trace(log_level, args...) \ + do { \ + extern int qdf_dbg_mask; \ + if (qdf_dbg_mask >= log_level) { \ + printk("qdf: "args); \ + printk("\n"); \ + } \ + } while (0) +#define QDF_TRACE printk + +#endif /* CONFIG_MCL */ + #define QDF_ENABLE_TRACING #ifdef QDF_ENABLE_TRACING diff --git a/qdf/linux/src/i_qdf_types.h b/qdf/linux/src/i_qdf_types.h index 5a17bdf1b7..abd7a7613d 100644 --- a/qdf/linux/src/i_qdf_types.h +++ b/qdf/linux/src/i_qdf_types.h @@ -32,6 +32,26 @@ #if !defined(__I_QDF_TYPES_H) #define __I_QDF_TYPES_H + +#include + +#ifndef __KERNEL__ +#define __iomem +#endif +#include +#include +#include + +#ifndef __ahdecl +#ifdef __i386__ +#define __ahdecl __attribute__((regparm(0))) +#else +#define __ahdecl +#endif +#endif + +#ifdef __KERNEL__ +#include #include #include #include @@ -42,17 +62,6 @@ #include #include #include -#include - -#ifndef __KERNEL__ -#define __iomem -#endif -#include -#include -#include - -#ifdef __KERNEL__ -#include #include #include #include @@ -69,20 +78,13 @@ typedef unsigned long dma_addr_t; #endif -#ifndef __ahdecl -#ifdef __i386__ -#define __ahdecl __attribute__((regparm(0))) -#else -#define __ahdecl -#endif -#endif - #define SIOCGIWAP 0 #define IWEVCUSTOM 0 #define IWEVREGISTERED 0 #define IWEVEXPIRED 0 #define SIOCGIWSCAN 0 #define DMA_TO_DEVICE 0 +#define DMA_BIDIRECTIONAL 0 #define DMA_FROM_DEVICE 0 #define __iomem #endif /* __KERNEL__ */ @@ -233,7 +235,11 @@ enum __qdf_net_wireless_evcode { #define __QDF_DMA_BIDIRECTIONAL DMA_BIDIRECTIONAL #define __QDF_DMA_TO_DEVICE DMA_TO_DEVICE +#ifndef __ubicom32__ #define __QDF_DMA_FROM_DEVICE DMA_FROM_DEVICE +#else +#define __QDF_DMA_FROM_DEVICE DMA_TO_DEVICE +#endif #define __qdf_inline inline /* diff --git a/qdf/linux/src/qdf_lock.c b/qdf/linux/src/qdf_lock.c index 0afb06790b..a9e39f2c85 100644 --- a/qdf/linux/src/qdf_lock.c +++ b/qdf/linux/src/qdf_lock.c @@ -36,8 +36,8 @@ #ifdef CONFIG_MCL #include #include -#endif #include +#endif #include #include @@ -382,6 +382,7 @@ QDF_STATUS qdf_wake_lock_destroy(qdf_wake_lock_t *lock) } EXPORT_SYMBOL(qdf_wake_lock_destroy); +#ifdef CONFIG_MCL /** * qdf_runtime_pm_get() - do a get opperation on the device * @@ -539,6 +540,8 @@ void qdf_runtime_lock_deinit(qdf_runtime_lock_t lock) } EXPORT_SYMBOL(qdf_runtime_lock_deinit); +#endif /* CONFIG_MCL */ + /** * qdf_spinlock_acquire() - acquires a spin lock * @lock: Spin lock to acquire diff --git a/qdf/linux/src/qdf_mem.c b/qdf/linux/src/qdf_mem.c index a178f43686..d6897c1df6 100644 --- a/qdf/linux/src/qdf_mem.c +++ b/qdf/linux/src/qdf_mem.c @@ -76,9 +76,11 @@ struct s_qdf_mem_struct { int qdf_dbg_mask; qdf_declare_param(qdf_dbg_mask, int); +EXPORT_SYMBOL(qdf_dbg_mask); u_int8_t prealloc_disabled = 1; qdf_declare_param(prealloc_disabled, byte); +EXPORT_SYMBOL(prealloc_disabled); /** * __qdf_mempool_init() - Create and initialize memory pool diff --git a/qdf/linux/src/qdf_perf.c b/qdf/linux/src/qdf_perf.c index 86fb7b4d9a..4705aac081 100644 --- a/qdf/linux/src/qdf_perf.c +++ b/qdf/linux/src/qdf_perf.c @@ -40,6 +40,7 @@ #include #include +#ifdef QCA_PERF_PROFILING qdf_perf_entry_t perf_root = {{0, 0} }; @@ -193,3 +194,5 @@ void __qdf_perf_end(qdf_perf_id_t id) api_tbl[entry->type].sample(entry, 1); } EXPORT_SYMBOL(__qdf_perf_end); + +#endif /* QCA_PERF_PROFILING */