qcacmn: Add support for hash based rx steering

This change includes:
- Adding the hooks to send LRO and hash configuration to the firmware
- Configuring the REO remap registers

Change-Id: I6d83e2a2365647f2c7a6440bd1d4b42fa7df7eff
CRs-Fixed: 1094775
此提交包含在:
Dhanashri Atre
2016-11-11 18:32:36 -08:00
提交者 Sandeep Puligilla
父節點 ebeac94625
當前提交 1404917b6e
共有 12 個檔案被更改,包括 283 行新增8 行删除

查看文件

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2014-2016 The Linux Foundation. All rights reserved.
* Copyright (c) 2014-2017 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -70,6 +70,14 @@ typedef struct qdf_net_ethaddr {
uint8_t addr[QDF_NET_ETH_LEN];
} qdf_net_ethaddr_t;
#define QDF_TCPHDR_FIN __QDF_TCPHDR_FIN
#define QDF_TCPHDR_SYN __QDF_TCPHDR_SYN
#define QDF_TCPHDR_RST __QDF_TCPHDR_RST
#define QDF_TCPHDR_PSH __QDF_TCPHDR_PSH
#define QDF_TCPHDR_ACK __QDF_TCPHDR_ACK
#define QDF_TCPHDR_URG __QDF_TCPHDR_URG
#define QDF_TCPHDR_ECE __QDF_TCPHDR_ECE
#define QDF_TCPHDR_CWR __QDF_TCPHDR_CWR
typedef struct {
uint16_t source;

查看文件

@@ -535,4 +535,15 @@ int qdf_set_dma_coherent_mask(struct device *dev, uint8_t addr_bits)
return __qdf_set_dma_coherent_mask(dev, addr_bits);
}
/**
* qdf_get_random_bytes() - returns nbytes bytes of random
* data
*
* Return: random bytes of data
*/
static inline
void qdf_get_random_bytes(void *buf, int nbytes)
{
return __qdf_get_random_bytes(buf, nbytes);
}
#endif /*_QDF_UTIL_H*/

查看文件

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2014-2016 The Linux Foundation. All rights reserved.
* Copyright (c) 2014-2017 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -36,6 +36,7 @@
#include <qdf_types.h> /* uint8_t, etc. */
#include <asm/checksum.h>
#include <net/ip6_checksum.h>
#include <net/tcp.h>
typedef struct in6_addr __in6_addr_t;
typedef __wsum __wsum_t;
@@ -49,4 +50,12 @@ static inline int32_t __qdf_csum_ipv6(const struct in6_addr *saddr,
(struct in6_addr *)daddr, len, proto, sum);
}
#define __QDF_TCPHDR_FIN TCPHDR_FIN
#define __QDF_TCPHDR_SYN TCPHDR_SYN
#define __QDF_TCPHDR_RST TCPHDR_RST
#define __QDF_TCPHDR_PSH TCPHDR_PSH
#define __QDF_TCPHDR_ACK TCPHDR_ACK
#define __QDF_TCPHDR_URG TCPHDR_URG
#define __QDF_TCPHDR_ECE TCPHDR_ECE
#define __QDF_TCPHDR_CWR TCPHDR_CWR
#endif /* _I_QDF_NET_TYPES_H */

查看文件

@@ -397,5 +397,16 @@ int __qdf_set_dma_coherent_mask(struct device *dev, uint8_t addr_bits)
return dma_set_coherent_mask(dev, DMA_BIT_MASK(addr_bits));
}
#endif
/**
* qdf_get_random_bytes() - returns nbytes bytes of random
* data
*
* Return: random bytes of data
*/
static inline
void __qdf_get_random_bytes(void *buf, int nbytes)
{
return get_random_bytes(buf, nbytes);
}
#endif /*_I_QDF_UTIL_H*/