diff options
author | Tom Hochstein <tom.hochstein@nxp.com> | 2018-07-27 11:08:36 -0500 |
---|---|---|
committer | Otavio Salvador <otavio@ossystems.com.br> | 2019-04-05 16:38:31 -0300 |
commit | ebd01de53e6d2cb8bb494e34c897bfd71986063f (patch) | |
tree | 5d674b676b6a0f01f830694adff6c6edf3a50de3 | |
parent | 5b3ded0efe9ed465cec79d214629f6f8474478d4 (diff) | |
download | meta-freescale-ebd01de53e6d2cb8bb494e34c897bfd71986063f.tar.gz |
kernel-module-qca6174: Add support for QCA6174 on i.MX 8 Series
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
3 files changed, 108 insertions, 1 deletions
diff --git a/recipes-kernel/kernel-modules/kernel-module-qca6174/0001-MLK-18491-02-qcacld-2.0-fix-the-overflow-of-bounce-b.patch b/recipes-kernel/kernel-modules/kernel-module-qca6174/0001-MLK-18491-02-qcacld-2.0-fix-the-overflow-of-bounce-b.patch new file mode 100644 index 00000000..3ab1ccdd --- /dev/null +++ b/recipes-kernel/kernel-modules/kernel-module-qca6174/0001-MLK-18491-02-qcacld-2.0-fix-the-overflow-of-bounce-b.patch | |||
@@ -0,0 +1,92 @@ | |||
1 | From e480b6825d3670f3517c3b7be0c13fd318cbe985 Mon Sep 17 00:00:00 2001 | ||
2 | From: Hangtian Zhu <hangtian@qti.qualcomm.com> | ||
3 | Date: Thu, 14 Jun 2018 11:10:05 +0800 | ||
4 | Subject: [PATCH] MLK-18491-02 qcacld-2.0: fix the overflow of bounce buffer | ||
5 | |||
6 | Patch a41baa51cbc5("MLK-18491 qcacld-2.0: avoid overflow of bounce buffer") | ||
7 | is not reasonable to fix overflow of bounce buffer issue. | ||
8 | |||
9 | The patch is released by Qualcomm to fix the issue. | ||
10 | (Case Number:03515221) | ||
11 | |||
12 | Upstream-Status: Pending | ||
13 | |||
14 | Signed-off-by: Hangtian Zhu <hangtian@qti.qualcomm.com> | ||
15 | --- | ||
16 | CORE/SERVICES/HTC/htc.c | 2 +- | ||
17 | CORE/SERVICES/HTC/htc_send.c | 28 ++++++++++++++-------------- | ||
18 | 2 files changed, 15 insertions(+), 15 deletions(-) | ||
19 | |||
20 | diff --git a/CORE/SERVICES/HTC/htc.c b/CORE/SERVICES/HTC/htc.c | ||
21 | index 1e2450d..09936a0 100644 | ||
22 | --- a/CORE/SERVICES/HTC/htc.c | ||
23 | +++ b/CORE/SERVICES/HTC/htc.c | ||
24 | @@ -657,7 +657,7 @@ static void ResetEndpointStates(HTC_TARGET *target) | ||
25 | INIT_HTC_PACKET_QUEUE(&pEndpoint->RxBufferHoldQueue); | ||
26 | pEndpoint->target = target; | ||
27 | //pEndpoint->TxCreditFlowEnabled = (A_BOOL)htc_credit_flow; | ||
28 | - pEndpoint->TxCreditFlowEnabled = (A_BOOL)0; | ||
29 | + pEndpoint->TxCreditFlowEnabled = (A_BOOL)1; | ||
30 | adf_os_atomic_init(&pEndpoint->TxProcessCount); | ||
31 | } | ||
32 | } | ||
33 | diff --git a/CORE/SERVICES/HTC/htc_send.c b/CORE/SERVICES/HTC/htc_send.c | ||
34 | index 1a3dd28..19d8065 100644 | ||
35 | --- a/CORE/SERVICES/HTC/htc_send.c | ||
36 | +++ b/CORE/SERVICES/HTC/htc_send.c | ||
37 | @@ -105,12 +105,12 @@ void HTCGetControlEndpointTxHostCredits(HTC_HANDLE HTCHandle, int *credits) | ||
38 | |||
39 | static INLINE void RestoreTxPacket(HTC_TARGET *target, HTC_PACKET *pPacket) | ||
40 | { | ||
41 | + adf_nbuf_t netbuf = GET_HTC_PACKET_NET_BUF_CONTEXT(pPacket); | ||
42 | if (pPacket->PktInfo.AsTx.Flags & HTC_TX_PACKET_FLAG_FIXUP_NETBUF) { | ||
43 | - adf_nbuf_t netbuf = GET_HTC_PACKET_NET_BUF_CONTEXT(pPacket); | ||
44 | adf_nbuf_unmap(target->osdev, netbuf, ADF_OS_DMA_TO_DEVICE); | ||
45 | - adf_nbuf_pull_head(netbuf, sizeof(HTC_FRAME_HDR)); | ||
46 | pPacket->PktInfo.AsTx.Flags &= ~HTC_TX_PACKET_FLAG_FIXUP_NETBUF; | ||
47 | } | ||
48 | + adf_nbuf_pull_head(netbuf, sizeof(HTC_FRAME_HDR)); | ||
49 | |||
50 | } | ||
51 | |||
52 | @@ -641,12 +641,11 @@ static A_STATUS HTCIssuePackets(HTC_TARGET *target, | ||
53 | * that is already mapped, or a non-data netbuf that needs to be | ||
54 | * mapped. | ||
55 | */ | ||
56 | - if (pPacket->PktInfo.AsTx.Flags & HTC_TX_PACKET_FLAG_FIXUP_NETBUF) { | ||
57 | - adf_nbuf_map( | ||
58 | - target->osdev, | ||
59 | - GET_HTC_PACKET_NET_BUF_CONTEXT(pPacket), | ||
60 | - ADF_OS_DMA_TO_DEVICE); | ||
61 | - } | ||
62 | + pPacket->PktInfo.AsTx.Flags |= HTC_TX_PACKET_FLAG_FIXUP_NETBUF; | ||
63 | + adf_nbuf_map( | ||
64 | + target->osdev, | ||
65 | + GET_HTC_PACKET_NET_BUF_CONTEXT(pPacket), | ||
66 | + ADF_OS_DMA_TO_DEVICE); | ||
67 | } | ||
68 | LOCK_HTC_TX(target); | ||
69 | /* store in look up queue to match completions */ | ||
70 | @@ -1261,12 +1260,13 @@ A_STATUS HTCSendPktsMultiple(HTC_HANDLE HTCHandle, HTC_PACKET_QUEUE *pPktQueue) | ||
71 | * mapped. This only applies to non-data frames, since data frames | ||
72 | * were already mapped as they entered into the driver. | ||
73 | */ | ||
74 | - adf_nbuf_map( | ||
75 | - target->osdev, | ||
76 | - GET_HTC_PACKET_NET_BUF_CONTEXT(pPacket), | ||
77 | - ADF_OS_DMA_TO_DEVICE); | ||
78 | - | ||
79 | - pPacket->PktInfo.AsTx.Flags |= HTC_TX_PACKET_FLAG_FIXUP_NETBUF; | ||
80 | + if(!IS_TX_CREDIT_FLOW_ENABLED(pEndpoint)) { | ||
81 | + pPacket->PktInfo.AsTx.Flags |= HTC_TX_PACKET_FLAG_FIXUP_NETBUF; | ||
82 | + adf_nbuf_map( | ||
83 | + target->osdev, | ||
84 | + GET_HTC_PACKET_NET_BUF_CONTEXT(pPacket), | ||
85 | + ADF_OS_DMA_TO_DEVICE); | ||
86 | + } | ||
87 | } HTC_PACKET_QUEUE_ITERATE_END; | ||
88 | |||
89 | HTCTrySend(target,pEndpoint,pPktQueue); | ||
90 | -- | ||
91 | 1.9.1 | ||
92 | |||
diff --git a/recipes-kernel/kernel-modules/kernel-module-qca6174_2.0.bb b/recipes-kernel/kernel-modules/kernel-module-qca6174_2.0.bb new file mode 100644 index 00000000..3bc18124 --- /dev/null +++ b/recipes-kernel/kernel-modules/kernel-module-qca6174_2.0.bb | |||
@@ -0,0 +1,15 @@ | |||
1 | require kernel-module-qcacld-lea.inc | ||
2 | |||
3 | SUMMARY = "Qualcomm WiFi driver for QCA module 6174" | ||
4 | |||
5 | SRC_URI += "file://0001-MLK-18491-02-qcacld-2.0-fix-the-overflow-of-bounce-b.patch" | ||
6 | |||
7 | EXTRA_OEMAKE += " \ | ||
8 | CONFIG_ROME_IF=pci \ | ||
9 | CONFIG_WLAN_FEATURE_11W=y \ | ||
10 | CONFIG_WLAN_FEATURE_FILS=y \ | ||
11 | CONFIG_WLAN_WAPI_MODE_11AC_DISABLE=y \ | ||
12 | MODNAME=qca6174 \ | ||
13 | " | ||
14 | |||
15 | RDEPENDS_${PN} += "firmware-qca6174" | ||
diff --git a/recipes-kernel/kernel-modules/kernel-module-qcacld-lea.inc b/recipes-kernel/kernel-modules/kernel-module-qcacld-lea.inc index a4597eae..b2aa7599 100644 --- a/recipes-kernel/kernel-modules/kernel-module-qcacld-lea.inc +++ b/recipes-kernel/kernel-modules/kernel-module-qcacld-lea.inc | |||
@@ -1,6 +1,6 @@ | |||
1 | # Copyright 2018 NXP | 1 | # Copyright 2018 NXP |
2 | 2 | ||
3 | SUMMARY = "Qualcomm WiFi driver for QCA module 9377" | 3 | SUMMARY = "Qualcomm WiFi driver for QCA module 9377 and 6174" |
4 | LICENSE = "BSD & GPLv2" | 4 | LICENSE = "BSD & GPLv2" |
5 | LIC_FILES_CHKSUM = "file://CORE/HDD/src/wlan_hdd_main.c;beginline=1;endline=20;md5=ec8d62116b13db773825ebf7cf91be1d;" | 5 | LIC_FILES_CHKSUM = "file://CORE/HDD/src/wlan_hdd_main.c;beginline=1;endline=20;md5=ec8d62116b13db773825ebf7cf91be1d;" |
6 | 6 | ||