qcacmn: Initial changes for pine

Add device ID change and target type checks for pine.
Also remove memory war added for Hk emulation.

Change-Id: Idf531a48a03202d4fb241a92a1d671ee2b94cfbd
CRs-fixed: 2453899
This commit is contained in:
Nandha Kishore Easwaran
2019-06-27 11:38:53 +05:30
committed by nshrivas
parent 1e8591a2a0
commit 5d3475b985
19 changed files with 199 additions and 9 deletions

View File

@@ -1696,7 +1696,9 @@ static inline void *qdf_mem_dma_alloc(qdf_device_t osdev, void *dev,
return vaddr;
}
#elif defined(QCA_WIFI_QCA8074_VP) && defined(BUILD_X86)
#elif defined(QCA_WIFI_QCA8074_VP) && defined(BUILD_X86) && \
!defined(QCA_WIFI_QCN9000)
#define QCA8074_RAM_BASE 0x50000000
#define QDF_MEM_ALLOC_X86_MAX_RETRIES 10
void *qdf_mem_dma_alloc(qdf_device_t osdev, void *dev, qdf_size_t size,

View File

@@ -377,7 +377,8 @@ void __qdf_nbuf_count_dec(__qdf_nbuf_t nbuf)
qdf_export_symbol(__qdf_nbuf_count_dec);
#endif
#if defined(QCA_WIFI_QCA8074_VP) && defined(BUILD_X86)
#if defined(QCA_WIFI_QCA8074_VP) && defined(BUILD_X86) && \
!defined(QCA_WIFI_QCN9000)
struct sk_buff *__qdf_nbuf_alloc(qdf_device_t osdev, size_t size, int reserve,
int align, int prio, const char *func,
uint32_t line)
@@ -3213,7 +3214,7 @@ uint32_t __qdf_nbuf_get_tso_num_seg(struct sk_buff *skb)
return num_segs;
}
#else
#elif !defined(QCA_WIFI_QCN9000)
uint32_t __qdf_nbuf_get_tso_num_seg(struct sk_buff *skb)
{
uint32_t i, gso_size, tmp_len, num_segs = 0;
@@ -3242,6 +3243,42 @@ uint32_t __qdf_nbuf_get_tso_num_seg(struct sk_buff *skb)
}
gso_size = skb_shinfo(skb)->gso_size;
tmp_len = skb->len - ((skb_transport_header(skb) - skb_mac_header(skb))
+ tcp_hdrlen(skb));
while (tmp_len) {
num_segs++;
if (tmp_len > gso_size)
tmp_len -= gso_size;
else
break;
}
return num_segs;
/*
* Do not free this frame, just do socket level accounting
* so that this is not reused.
*/
fail:
if (skb->sk)
atomic_sub(skb->truesize, &(skb->sk->sk_wmem_alloc));
return 0;
}
#else
uint32_t __qdf_nbuf_get_tso_num_seg(struct sk_buff *skb)
{
uint32_t i, gso_size, tmp_len, num_segs = 0;
struct skb_frag_struct *frag = NULL;
for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
frag = &skb_shinfo(skb)->frags[i];
if (!frag)
goto fail;
}
gso_size = skb_shinfo(skb)->gso_size;
tmp_len = skb->len - ((skb_transport_header(skb) - skb_mac_header(skb))
+ tcp_hdrlen(skb));