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 000000000..3ab1ccdd4 --- /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 000000000..3bc181243 --- /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 a4597eae3..b2aa75992 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 | ||
