update uwe5622 patches

This commit is contained in:
ludiazv 2024-04-28 01:39:09 +02:00
parent 0437a1df6b
commit c19b5742bd
19 changed files with 95 additions and 47 deletions

View File

@ -1,26 +0,0 @@
#!/bin/bash
PREFIX_MISC="https://raw.githubusercontent.com/armbian/build/main/patch/misc/"
PREFIX_RK="https://raw.githubusercontent.com/armbian/build/main/patch/kernel/archive/rockchip64-6.6/"
if [ $# -lt 1 ] ; then
echo "usage $0 <scc file>"
exit 1
fi
while read e ; do
f=$(echo $e | cut -f 2 -d ' ')
url="${PREFIX_RK}${f}"
if echo $f | grep 'wireless-' >/dev/null ; then
url="${PREFIX_MISC}${f}"
fi
echo "Downloading $f [$url] ..."
wget "${url}" -O "./$f"
done < <(cat $1 | grep -v ^# | grep '^patch')

View File

@ -4,7 +4,7 @@
# source: armbian misc drivers # source: armbian misc drivers
patch wireless-driver-for-uwe5622-allwinner.patch patch uwe5622-allwinner.patch
patch wireless-driver-for-uwe5622-allwinner-bugfix.patch patch uwe5622-allwinner-bugfix.patch
include uwe5622-common.scc include uwe5622-common.scc

View File

@ -2,10 +2,10 @@
# patches for 6.5 & 6.6 # patches for 6.5 & 6.6
patch wireless-driver-for-uwe5622-allwinner-v6.3.patch patch uwe5622-allwinner-v6.3.patch
patch wireless-driver-for-uwe5622-allwinner-bugfix-v6.3.patch patch uwe5622-allwinner-bugfix-v6.3.patch
patch wireless-driver-for-uwe5622-allwinner-v6.3-compilation-fix.patch patch uwe5622-allwinner-v6.3-compilation-fix.patch
patch wireless-driver-for-uwe5622-v6.4-post.patch patch uwe5622-v6.4-post.patch
include uwe5622-common.scc include uwe5622-common.scc

View File

@ -1,6 +1,6 @@
# Kmeta for uwe5622 # Kmeta for uwe5622
# for kernel 6.6 # for kernel 6.6 only
include uwe5622-6_5.scc include uwe5622-6_5.scc
patch wireless-driver-for-uwe5622-v6.6-fix-tty-sdio.patch patch uwe5622-v6.6-fix-tty-sdio.patch

View File

@ -0,0 +1,7 @@
# Kmeta for uwe5622
# for kernel 6.7
# simply includes 6.6 metadata
include uwe5622-6_6.scc

View File

@ -1252,7 +1252,7 @@ new file mode 100644
index 000000000000..0f90a758b7bc index 000000000000..0f90a758b7bc
--- /dev/null --- /dev/null
+++ b/drivers/net/wireless/uwe5622/tty-sdio/tty.c +++ b/drivers/net/wireless/uwe5622/tty-sdio/tty.c
@@ -0,0 +1,885 @@ @@ -0,0 +1,886 @@
+/* +/*
+ * Copyright (C) 2015 Spreadtrum Communications Inc. + * Copyright (C) 2015 Spreadtrum Communications Inc.
+ * + *
@ -1282,6 +1282,7 @@ index 000000000000..0f90a758b7bc
+#include <linux/atomic.h> +#include <linux/atomic.h>
+#ifdef CONFIG_OF +#ifdef CONFIG_OF
+#include <linux/of_device.h> +#include <linux/of_device.h>
+#include <linux/of.h>
+#endif +#endif
+#include <linux/compat.h> +#include <linux/compat.h>
+#include <linux/tty_flip.h> +#include <linux/tty_flip.h>
@ -166482,7 +166483,7 @@ new file mode 100644
index 000000000000..42fb0a2b38a8 index 000000000000..42fb0a2b38a8
--- /dev/null --- /dev/null
+++ b/drivers/net/wireless/uwe5622/unisocwcn/sdio/sdiohal_main.c +++ b/drivers/net/wireless/uwe5622/unisocwcn/sdio/sdiohal_main.c
@@ -0,0 +1,2313 @@ @@ -0,0 +1,2314 @@
+/* +/*
+ * Copyright (C) 2017 Spreadtrum Communications Inc. + * Copyright (C) 2017 Spreadtrum Communications Inc.
+ * + *
@ -166508,6 +166509,7 @@ index 000000000000..42fb0a2b38a8
+#include <linux/module.h> +#include <linux/module.h>
+#include <linux/of_device.h> +#include <linux/of_device.h>
+#include <linux/of_gpio.h> +#include <linux/of_gpio.h>
+#include <linux/of_platform.h>
+#include <linux/pm_runtime.h> +#include <linux/pm_runtime.h>
+#include <linux/mmc/card.h> +#include <linux/mmc/card.h>
+#include <linux/mmc/core.h> +#include <linux/mmc/core.h>
@ -182146,7 +182148,7 @@ index 000000000000..d4ffe102447c
+ +
+struct sprdwl_scan_ssid { +struct sprdwl_scan_ssid {
+ u8 len; + u8 len;
+ u8 ssid[0]; + u8 ssid[];
+} __packed; +} __packed;
+ +
+struct sprdwl_sched_scan_buf { +struct sprdwl_sched_scan_buf {

View File

@ -1253,7 +1253,7 @@ new file mode 100644
index 000000000..0f90a758b index 000000000..0f90a758b
--- /dev/null --- /dev/null
+++ b/drivers/net/wireless/uwe5622/tty-sdio/tty.c +++ b/drivers/net/wireless/uwe5622/tty-sdio/tty.c
@@ -0,0 +1,885 @@ @@ -0,0 +1,886 @@
+/* +/*
+ * Copyright (C) 2015 Spreadtrum Communications Inc. + * Copyright (C) 2015 Spreadtrum Communications Inc.
+ * + *
@ -1283,6 +1283,7 @@ index 000000000..0f90a758b
+#include <linux/atomic.h> +#include <linux/atomic.h>
+#ifdef CONFIG_OF +#ifdef CONFIG_OF
+#include <linux/of_device.h> +#include <linux/of_device.h>
+#include <linux/of.h>
+#endif +#endif
+#include <linux/compat.h> +#include <linux/compat.h>
+#include <linux/tty_flip.h> +#include <linux/tty_flip.h>
@ -166483,7 +166484,7 @@ new file mode 100644
index 000000000..920645b2b index 000000000..920645b2b
--- /dev/null --- /dev/null
+++ b/drivers/net/wireless/uwe5622/unisocwcn/sdio/sdiohal_main.c +++ b/drivers/net/wireless/uwe5622/unisocwcn/sdio/sdiohal_main.c
@@ -0,0 +1,2313 @@ @@ -0,0 +1,2314 @@
+/* +/*
+ * Copyright (C) 2017 Spreadtrum Communications Inc. + * Copyright (C) 2017 Spreadtrum Communications Inc.
+ * + *
@ -166509,6 +166510,7 @@ index 000000000..920645b2b
+#include <linux/module.h> +#include <linux/module.h>
+#include <linux/of_device.h> +#include <linux/of_device.h>
+#include <linux/of_gpio.h> +#include <linux/of_gpio.h>
+#include <linux/of_platform.h>
+#include <linux/pm_runtime.h> +#include <linux/pm_runtime.h>
+#include <linux/mmc/card.h> +#include <linux/mmc/card.h>
+#include <linux/mmc/core.h> +#include <linux/mmc/core.h>
@ -182148,7 +182150,7 @@ index 000000000..d4ffe1024
+ +
+struct sprdwl_scan_ssid { +struct sprdwl_scan_ssid {
+ u8 len; + u8 len;
+ u8 ssid[0]; + u8 ssid[];
+} __packed; +} __packed;
+ +
+struct sprdwl_sched_scan_buf { +struct sprdwl_sched_scan_buf {

View File

@ -1,14 +1,15 @@
# Kmeta for uwe5622 # Kmeta for uwe5622
# common patches for kernel versions 6.1, 6.5 & 6.6 # common patches for kernel versions 6.1, 6.5, 6.6 & 6.7
# source: armbian misc drivers # source: armbian misc drivers
# common patches to be appliend after specific ones # common patches to be appliend after kernel version specific ones
patch wireless-driver-for-uwe5622-warnings.patch
patch wireless-driver-for-uwe5622-park-link-v6.1-post.patch
patch wireless-driver-for-uwe5622-v6.1.patch
patch wireless-driver-for-uwe5622-fix-setting-mac-address-for-netdev.patch
patch uwe5622-warnings.patch
patch uwe5622-park-link-v6.1-post.patch
patch uwe5622-v6.1.patch
patch uwe5622-fix-setting-mac-address-for-netdev.patch
patch wireless-uwe5622-Fix-compilation-with-6.7-kernel.patch
patch wireless-uwe5622-reduce-system-load.patch
# Custom: Add driver to makefile and patch Makefiles to make it work with yocto. # Custom: Add driver to makefile and patch Makefiles to make it work with yocto.
patch add-uwe5622-to-wireless-makefile.patch patch add-uwe5622-to-wireless-makefile.patch

View File

@ -0,0 +1,33 @@
From 4cf270a8ac06021e0f6cf30790d089584cb24b67 Mon Sep 17 00:00:00 2001
From: Gunjan Gupta <viraniac@gmail.com>
Date: Sat, 23 Dec 2023 10:05:30 +0000
Subject: [PATCH] wireless: uwe5622: Fix compilation with 6.7 kernel
---
drivers/net/wireless/uwe5622/unisocwifi/cfg80211.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/net/wireless/uwe5622/unisocwifi/cfg80211.c b/drivers/net/wireless/uwe5622/unisocwifi/cfg80211.c
index b2f9a877edce..34b2e5e4274d 100644
--- a/drivers/net/wireless/uwe5622/unisocwifi/cfg80211.c
+++ b/drivers/net/wireless/uwe5622/unisocwifi/cfg80211.c
@@ -964,9 +964,16 @@ static int sprdwl_cfg80211_start_ap(struct wiphy *wiphy,
static int sprdwl_cfg80211_change_beacon(struct wiphy *wiphy,
struct net_device *ndev,
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 7, 0))
+ struct cfg80211_ap_update *info)
+#else
struct cfg80211_beacon_data *beacon)
+#endif
{
struct sprdwl_vif *vif = netdev_priv(ndev);
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 7, 0))
+ struct cfg80211_beacon_data *beacon = &(info->beacon);
+#endif
wl_ndev_log(L_DBG, ndev, "%s\n", __func__);
#ifdef DFS_MASTER
--
2.34.1

View File

@ -0,0 +1,29 @@
From 2bf93d6cfe24f56baa12f75a57b71dfc33fe322a Mon Sep 17 00:00:00 2001
From: Gunjan Gupta <viraniac@gmail.com>
Date: Tue, 2 Jan 2024 13:23:23 +0000
Subject: [PATCH] wireless: uwe5622: reduce system load
Based on https://github.com/pyavitz/debian-image-builder/commit/cbed5020641ad2d2a6c2df0a2ce68586da1b1635
---
drivers/net/wireless/uwe5622/unisocwifi/tx_msg.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/uwe5622/unisocwifi/tx_msg.c b/drivers/net/wireless/uwe5622/unisocwifi/tx_msg.c
index 40d51a7130d9..040193d3115d 100644
--- a/drivers/net/wireless/uwe5622/unisocwifi/tx_msg.c
+++ b/drivers/net/wireless/uwe5622/unisocwifi/tx_msg.c
@@ -317,7 +317,10 @@ void sprdwl_dequeue_data_list(struct mbuf_t *head, int num)
/* seam for tx_thread */
void tx_down(struct sprdwl_tx_msg *tx_msg)
{
- wait_for_completion(&tx_msg->tx_completed);
+ int ret;
+ do {
+ ret = wait_for_completion_interruptible(&tx_msg->tx_completed);
+ } while (ret == -ERESTARTSYS);
}
void tx_up(struct sprdwl_tx_msg *tx_msg)
--
2.34.1