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
此提交包含在:
@@ -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*/
|
||||
|
新增問題並參考
封鎖使用者