Compare commits
59 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7853a2498f | ||
|
|
da9ffd2add | ||
|
|
3b5d11ebc6 | ||
|
|
f167cd2979 | ||
|
|
25d01b26a1 | ||
|
|
714401cbed | ||
|
|
17daee647c | ||
|
|
0982198339 | ||
|
|
9aeea00793 | ||
|
|
5c237602f0 | ||
|
|
33d2539582 | ||
|
|
34b2606570 | ||
|
|
181f885645 | ||
|
|
79e5b24967 | ||
|
|
86d3a78e29 | ||
|
|
8e7c12b684 | ||
|
|
cd7ba71c76 | ||
|
|
cd5e23b104 | ||
|
|
84451d680c | ||
|
|
c35f7f23db | ||
|
|
ae4a8f858e | ||
|
|
a0314a2020 | ||
|
|
23c86d44bc | ||
|
|
f67f60b809 | ||
|
|
3c00c15667 | ||
|
|
f86f8e5684 | ||
|
|
08281831be | ||
|
|
cc9a7cea38 | ||
|
|
16ae19997b | ||
|
|
191f7620f5 | ||
|
|
a49f023eb7 | ||
|
|
afc4bc891e | ||
|
|
74940653d4 | ||
|
|
4c2eaeca94 | ||
|
|
0d4c9bde61 | ||
|
|
e4682b37f9 | ||
|
|
365c259b1d | ||
|
|
a17a86ff20 | ||
|
|
908e869689 | ||
|
|
1f530a6e85 | ||
|
|
2c5685d3eb | ||
|
|
d5d1db00ec | ||
|
|
75de35302c | ||
|
|
d6e3a5cece | ||
|
|
3c4de29ee3 | ||
|
|
c857abfeb4 | ||
|
|
891bf5b61d | ||
|
|
e252dd0177 | ||
|
|
b4f56cda2b | ||
|
|
c3b16df57f | ||
|
|
5db2c76e3e | ||
|
|
9ce7a7e4e1 | ||
|
|
14895598fb | ||
|
|
ed7ac00beb | ||
|
|
8d995b3bd7 | ||
|
|
23ad680a34 | ||
|
|
dbbf5c2a1d | ||
|
|
e8896779da | ||
|
|
1da9099f0f |
@@ -1,4 +1,4 @@
|
||||
src-git-full packages https://github.com/immortalwrt/packages.git^b5f328296fa427a8bf4bc7e42a51a08b5897af9e
|
||||
src-git-full luci https://github.com/immortalwrt/luci.git^4094fcb084b71d625d538c0c98e72b15347282f2
|
||||
src-git-full routing https://github.com/openwrt/routing.git^0621622dc5653127f5656010905f71daebf85ad0
|
||||
src-git-full packages https://github.com/immortalwrt/packages.git^b603fb5f198ef513216fb8e21ef909321f1fad19
|
||||
src-git-full luci https://github.com/immortalwrt/luci.git^94f026b4e9aeea0caa460e190dbb40c77c15b3e6
|
||||
src-git-full routing https://github.com/openwrt/routing.git^8071852b4556a02533cacb7a0f6a432df3507302
|
||||
src-git-full telephony https://github.com/openwrt/telephony.git^920fbc5c0a2e4badf51bceff42e9a1e3eb693462
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-5.4 = .230
|
||||
LINUX_KERNEL_HASH-5.4.230 = a74fd32ccc1025b72f3ba7183208761f7c6190fb96e8f484f6d543a5a183e62f
|
||||
LINUX_VERSION-5.4 = .236
|
||||
LINUX_KERNEL_HASH-5.4.236 = ccc892faa96f2580bde683f1063c271dc196b5a462e9980912e4c188b7154951
|
||||
|
||||
@@ -23,13 +23,13 @@ PKG_CONFIG_DEPENDS += \
|
||||
sanitize = $(call tolower,$(subst _,-,$(subst $(space),-,$(1))))
|
||||
|
||||
VERSION_NUMBER:=$(call qstrip,$(CONFIG_VERSION_NUMBER))
|
||||
VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),21.02.4)
|
||||
VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),21.02.5)
|
||||
|
||||
VERSION_CODE:=$(call qstrip,$(CONFIG_VERSION_CODE))
|
||||
VERSION_CODE:=$(if $(VERSION_CODE),$(VERSION_CODE),r19892-a6dce2ceb7)
|
||||
VERSION_CODE:=$(if $(VERSION_CODE),$(VERSION_CODE),r19951-da9ffd2add)
|
||||
|
||||
VERSION_REPO:=$(call qstrip,$(CONFIG_VERSION_REPO))
|
||||
VERSION_REPO:=$(if $(VERSION_REPO),$(VERSION_REPO),https://downloads.immortalwrt.org/releases/21.02.4)
|
||||
VERSION_REPO:=$(if $(VERSION_REPO),$(VERSION_REPO),https://downloads.immortalwrt.org/releases/21.02.5)
|
||||
|
||||
VERSION_DIST:=$(call qstrip,$(CONFIG_VERSION_DIST))
|
||||
VERSION_DIST:=$(if $(VERSION_DIST),$(VERSION_DIST),ImmortalWrt)
|
||||
|
||||
@@ -183,7 +183,7 @@ if VERSIONOPT
|
||||
config VERSION_REPO
|
||||
string
|
||||
prompt "Release repository"
|
||||
default "https://downloads.immortalwrt.org/releases/21.02.4"
|
||||
default "https://downloads.immortalwrt.org/releases/21.02.5"
|
||||
help
|
||||
This is the repository address embedded in the image, it defaults
|
||||
to the trunk snapshot repo; the url may contain the following placeholders:
|
||||
|
||||
@@ -31,6 +31,9 @@ ubootenv_mtdinfo () {
|
||||
}
|
||||
|
||||
case "$board" in
|
||||
askey,rt4230w-rev6)
|
||||
ubootenv_add_uci_config "/dev/mtd9" "0x0" "0x40000" "0x20000"
|
||||
;;
|
||||
edgecore,ecw5410)
|
||||
ubootenv_add_uci_config "/dev/mtd11" "0x0" "0x10000" "0x10000"
|
||||
;;
|
||||
|
||||
@@ -47,7 +47,9 @@ zte,mf283plus)
|
||||
h3c,tx1800-plus|\
|
||||
h3c,tx1801-plus|\
|
||||
h3c,tx1806|\
|
||||
jcg,q20)
|
||||
jcg,q20|\
|
||||
jcg,q20-lzma-loader|\
|
||||
jcg,q20-pb-boot)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000"
|
||||
;;
|
||||
hootoo,ht-tm05|\
|
||||
|
||||
@@ -14,7 +14,6 @@ rm -f /www/luci-static/resources/view/status/include/80_upnp.js
|
||||
ln -sf /sbin/ip /usr/bin/ip
|
||||
|
||||
[ -f '/bin/bash' ] && sed -i 's|root:x:0:0:root:/root:/bin/ash|root:x:0:0:root:/root:/bin/bash|g' /etc/passwd
|
||||
[ -f '/etc/openwrt_banner' ] && mv '/etc/openwrt_banner' '/etc/banner'
|
||||
|
||||
sed -i '/option disabled/d' /etc/config/wireless
|
||||
sed -i '/set wireless.radio${devidx}.disabled/d' /lib/wifi/mac80211.sh
|
||||
|
||||
@@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=i40e
|
||||
PKG_VERSION:=2.22.8
|
||||
PKG_RELEASE:=2
|
||||
PKG_VERSION:=2.22.18
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@IMMORTALWRT
|
||||
PKG_HASH:=938eac24067e385d6e7e47788c7a1c47987bbe0ed36f3360809cbaa8caf85c6b
|
||||
PKG_SOURCE_URL:=@SF/e1000/i40e%20stable/$(PKG_VERSION)/
|
||||
PKG_HASH:=ba3fed07b178bc78bfeab3ba309f812243cbc88032333edca891eb74022468f6
|
||||
|
||||
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
|
||||
PKG_LICENSE:=GPL-2.0-only
|
||||
@@ -37,6 +37,17 @@ define KernelPackage/i40e-vendor/description
|
||||
Kernel modules for Intel(R) Ethernet Controller XL710 Family 40 Gigabit Ethernet adapters.
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
( \
|
||||
pushd $(PKG_BUILD_DIR)/src ; \
|
||||
KSRC=$(LINUX_DIR) \
|
||||
OUT=kcompat_generated_defs.h \
|
||||
CONFFILE=$(LINUX_DIR)/include/generated/autoconf.h \
|
||||
bash kcompat-generator.sh ; \
|
||||
popd ; \
|
||||
)
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
+$(KERNEL_MAKE) $(PKG_JOBS) \
|
||||
M=$(PKG_BUILD_DIR)/src \
|
||||
|
||||
58
package/kernel/iavf/Makefile
Normal file
58
package/kernel/iavf/Makefile
Normal file
@@ -0,0 +1,58 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2023 ImmortalWrt.org
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=iavf
|
||||
PKG_VERSION:=4.8.2
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@SF/e1000/iavf%20stable/$(PKG_VERSION)/
|
||||
PKG_HASH:=78d986de9667f260e806a3d0962dfee32ac35a686a672c15c209a29252d42d48
|
||||
|
||||
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
|
||||
PKG_LICENSE:=GPL-2.0-only
|
||||
PKG_LICENSE_FILES:=COPYING
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define KernelPackage/iavf-vendor
|
||||
SUBMENU:=Network Devices
|
||||
TITLE:=Intel(R) Ethernet Adaptive Virtual Function support (vendor driver)
|
||||
VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE)
|
||||
DEPENDS:=@PCI_SUPPORT +kmod-i40e-vendor
|
||||
CONFLICTS:=kmod-iavf
|
||||
FILES:=$(PKG_BUILD_DIR)/src/iavf.ko
|
||||
AUTOLOAD:=$(call AutoProbe,iavf)
|
||||
endef
|
||||
|
||||
define KernelPackage/iavf-vendor/description
|
||||
Kernel modules for Intel XL710,
|
||||
X710, X722, XXV710, and all devices advertising support for
|
||||
Intel Ethernet Adaptive Virtual Function devices.
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
( \
|
||||
pushd $(PKG_BUILD_DIR)/src ; \
|
||||
KSRC=$(LINUX_DIR) \
|
||||
OUT=kcompat_generated_defs.h \
|
||||
CONFFILE=$(LINUX_DIR)/include/generated/autoconf.h \
|
||||
bash kcompat-generator.sh ; \
|
||||
popd ; \
|
||||
)
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
+$(KERNEL_MAKE) $(PKG_JOBS) \
|
||||
M=$(PKG_BUILD_DIR)/src \
|
||||
NEED_AUX_BUS=2 \
|
||||
modules
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,iavf-vendor))
|
||||
@@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=igb
|
||||
PKG_VERSION:=5.13.7
|
||||
PKG_VERSION:=5.13.16
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@IMMORTALWRT
|
||||
PKG_HASH:=4ccae73110f3c871a17b7cc6df7dbdf6295fc90f4941e8b2978a471c2fec83cb
|
||||
PKG_SOURCE_URL:=@SF/e1000/igb%20stable/$(PKG_VERSION)/
|
||||
PKG_HASH:=23731b9d3630e20ecdbe6c5db06475f07c8b2d080a374635550957747db96183
|
||||
|
||||
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
|
||||
PKG_LICENSE:=GPL-2.0-only
|
||||
@@ -25,7 +25,7 @@ define KernelPackage/igb-vendor
|
||||
SUBMENU:=Network Devices
|
||||
TITLE:=Intel(R) 82575/82576 PCI-Express Gigabit Ethernet support (vendor driver)
|
||||
VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE)
|
||||
DEPENDS:=@PCI_SUPPORT +kmod-i2c-core +kmod-i2c-algo-bit +kmod-ptp +kmod-hwmon-core
|
||||
DEPENDS:=@PCI_SUPPORT +kmod-i2c-core +kmod-i2c-algo-bit +kmod-ptp +kmod-hwmon-core @TARGET_x86
|
||||
CONFLICTS:=kmod-igb
|
||||
FILES:=$(PKG_BUILD_DIR)/src/igb.ko
|
||||
AUTOLOAD:=$(call AutoProbe,igb)
|
||||
@@ -35,6 +35,17 @@ define KernelPackage/igb-vendor/description
|
||||
Kernel modules for Intel(R) 82575/82576 PCI-Express Gigabit Ethernet adapters.
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
( \
|
||||
pushd $(PKG_BUILD_DIR)/src ; \
|
||||
KSRC=$(LINUX_DIR) \
|
||||
OUT=kcompat_generated_defs.h \
|
||||
CONFFILE=$(LINUX_DIR)/include/generated/autoconf.h \
|
||||
bash kcompat-generator.sh ; \
|
||||
popd ; \
|
||||
)
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
+$(KERNEL_MAKE) $(PKG_JOBS) \
|
||||
M=$(PKG_BUILD_DIR)/src \
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
--- a/src/igb_main.c
|
||||
+++ b/src/igb_main.c
|
||||
@@ -25,6 +25,7 @@
|
||||
#ifdef CONFIG_PM_RUNTIME
|
||||
#include <linux/pm_runtime.h>
|
||||
#endif /* CONFIG_PM_RUNTIME */
|
||||
+#include <linux/ctype.h>
|
||||
|
||||
#include <linux/if_bridge.h>
|
||||
#include "igb.h"
|
||||
45
package/kernel/ixgbe/Makefile
Normal file
45
package/kernel/ixgbe/Makefile
Normal file
@@ -0,0 +1,45 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2023 ImmortalWrt.org
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=ixgbe
|
||||
PKG_VERSION:=5.18.11
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@SF/e1000/ixgbe%20stable/$(PKG_VERSION)/
|
||||
PKG_HASH:=4ca9cc8d9041b8c9b4fdbbab4fe079e5da422fa1697ca5a58ebfa95d21e62daa
|
||||
|
||||
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
|
||||
PKG_LICENSE:=GPL-2.0-only
|
||||
PKG_LICENSE_FILES:=COPYING
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define KernelPackage/ixgbe-vendor
|
||||
SUBMENU:=Network Devices
|
||||
TITLE:=Intel(R) 82598/82599 PCI-Express 10 Gigabit Ethernet support (vendor driver)
|
||||
VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE)
|
||||
DEPENDS:=@PCI_SUPPORT +kmod-ptp +kmod-libphy @TARGET_x86
|
||||
CONFLICTS:=kmod-ixgbe
|
||||
FILES:=$(PKG_BUILD_DIR)/src/ixgbe.ko
|
||||
AUTOLOAD:=$(call AutoProbe,ixgbe)
|
||||
endef
|
||||
|
||||
define KernelPackage/ixgbe-vendor/description
|
||||
Kernel modules for Intel(R) 82598/82599 PCI-Express 10 Gigabit Ethernet adapters.
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
+$(KERNEL_MAKE) $(PKG_JOBS) \
|
||||
M=$(PKG_BUILD_DIR)/src \
|
||||
CONFIG_IXGBE=m \
|
||||
modules
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,ixgbe-vendor))
|
||||
45
package/kernel/ixgbevf/Makefile
Normal file
45
package/kernel/ixgbevf/Makefile
Normal file
@@ -0,0 +1,45 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2023 ImmortalWrt.org
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=ixgbevf
|
||||
PKG_VERSION:=4.17.11
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@SF/e1000/ixgbevf%20stable/$(PKG_VERSION)/
|
||||
PKG_HASH:=59813a6f92e699b4cb6983b70b91137eece4609a113fa7bb60db0be9889d2b46
|
||||
|
||||
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
|
||||
PKG_LICENSE:=GPL-2.0-only
|
||||
PKG_LICENSE_FILES:=COPYING
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define KernelPackage/ixgbevf-vendor
|
||||
SUBMENU:=Network Devices
|
||||
TITLE:=Intel(R) 82599 Virtual Function Ethernet support (vendor driver)
|
||||
VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE)
|
||||
DEPENDS:=@PCI_SUPPORT +kmod-ixgbe-vendor
|
||||
CONFLICTS:=kmod-ixgbevf
|
||||
FILES:=$(PKG_BUILD_DIR)/src/ixgbevf.ko
|
||||
AUTOLOAD:=$(call AutoProbe,ixgbevf)
|
||||
endef
|
||||
|
||||
define KernelPackage/ixgbevf-vendor/description
|
||||
Kernel modules for Intel(R) 82599 Virtual Function Ethernet adapters.
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
+$(KERNEL_MAKE) $(PKG_JOBS) \
|
||||
M=$(PKG_BUILD_DIR)/src \
|
||||
CONFIG_IXGBEVF=m \
|
||||
modules
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,ixgbevf-vendor))
|
||||
@@ -199,7 +199,7 @@ static inline void mailbox_aal_rx_handler(void);
|
||||
static irqreturn_t mailbox_irq_handler(int, void *);
|
||||
static inline void mailbox_signal(unsigned int, int);
|
||||
static void do_ppe_tasklet(unsigned long);
|
||||
DECLARE_TASKLET(g_dma_tasklet, do_ppe_tasklet, 0);
|
||||
DECLARE_TASKLET_OLD(g_dma_tasklet, do_ppe_tasklet);
|
||||
|
||||
/*
|
||||
* QSB & HTU setting functions
|
||||
|
||||
@@ -125,7 +125,7 @@ static char *g_net_dev_name[1] = {"dsl0"};
|
||||
|
||||
static int g_ptm_prio_queue_map[8];
|
||||
|
||||
static DECLARE_TASKLET(g_swap_desc_tasklet, do_swap_desc_tasklet, 0);
|
||||
static DECLARE_TASKLET_OLD(g_swap_desc_tasklet, do_swap_desc_tasklet);
|
||||
|
||||
|
||||
unsigned int ifx_ptm_dbg_enable = DBG_ENABLE_MASK_ERR;
|
||||
|
||||
11
package/kernel/lantiq/ltq-tapi/patches/500-linux-509.patch
Normal file
11
package/kernel/lantiq/ltq-tapi/patches/500-linux-509.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/src/drv_tapi_kpi.c
|
||||
+++ b/src/drv_tapi_kpi.c
|
||||
@@ -134,7 +134,7 @@ extern IFX_int32_t block_ingre
|
||||
/* ========================================================================== */
|
||||
static IFX_void_t ifx_tapi_KPI_IngressHandler (IFX_ulong_t foo);
|
||||
#ifdef KPI_TASKLET
|
||||
-DECLARE_TASKLET(tl_kpi_ingress, ifx_tapi_KPI_IngressHandler, 0L);
|
||||
+DECLARE_TASKLET_OLD(tl_kpi_ingress, ifx_tapi_KPI_IngressHandler);
|
||||
#endif /* KPI_TASKLET */
|
||||
static IFX_int32_t ifx_tapi_KPI_IngressThread (IFXOS_ThreadParams_t *pThread);
|
||||
static IFX_return_t ifx_tapi_KPI_GroupInit(IFX_uint32_t nKpiGroup);
|
||||
@@ -689,7 +689,7 @@ $(eval $(call KernelPackage,mppe))
|
||||
|
||||
|
||||
SCHED_MODULES = $(patsubst $(LINUX_DIR)/net/sched/%.ko,%,$(wildcard $(LINUX_DIR)/net/sched/*.ko))
|
||||
SCHED_MODULES_CORE = sch_ingress sch_fq_codel sch_hfsc sch_htb sch_tbf cls_basic cls_fw cls_route cls_flow cls_tcindex cls_u32 em_u32 act_gact act_mirred act_skbedit cls_matchall
|
||||
SCHED_MODULES_CORE = sch_ingress sch_fq_codel sch_hfsc sch_htb sch_tbf cls_basic cls_fw cls_route cls_flow cls_u32 em_u32 act_gact act_mirred act_skbedit cls_matchall
|
||||
SCHED_MODULES_FILTER = $(SCHED_MODULES_CORE) act_connmark act_ctinfo sch_cake sch_netem sch_mqprio em_ipset cls_bpf cls_flower act_bpf act_vlan
|
||||
SCHED_MODULES_EXTRA = $(filter-out $(SCHED_MODULES_FILTER),$(SCHED_MODULES))
|
||||
SCHED_FILES = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(filter $(SCHED_MODULES_CORE),$(SCHED_MODULES)))
|
||||
@@ -711,7 +711,6 @@ define KernelPackage/sched-core
|
||||
CONFIG_NET_CLS_FLOW \
|
||||
CONFIG_NET_CLS_FW \
|
||||
CONFIG_NET_CLS_ROUTE4 \
|
||||
CONFIG_NET_CLS_TCINDEX \
|
||||
CONFIG_NET_CLS_U32 \
|
||||
CONFIG_NET_ACT_GACT \
|
||||
CONFIG_NET_ACT_MIRRED \
|
||||
|
||||
@@ -14,7 +14,7 @@ Signed-off-by: Sven Eckelmann <sven@open-mesh.com>
|
||||
|
||||
--- a/drivers/net/wireless/ath/ath10k/core.c
|
||||
+++ b/drivers/net/wireless/ath/ath10k/core.c
|
||||
@@ -3443,6 +3443,16 @@ int ath10k_core_register(struct ath10k *
|
||||
@@ -3383,6 +3383,16 @@ int ath10k_core_register(struct ath10k *
|
||||
|
||||
queue_work(ar->workqueue, &ar->register_work);
|
||||
|
||||
|
||||
@@ -124,7 +124,7 @@ v13:
|
||||
WCN36XX=
|
||||
--- a/drivers/net/wireless/ath/ath10k/core.c
|
||||
+++ b/drivers/net/wireless/ath/ath10k/core.c
|
||||
@@ -26,6 +26,7 @@
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "testmode.h"
|
||||
#include "wmi-ops.h"
|
||||
#include "coredump.h"
|
||||
@@ -132,7 +132,7 @@ v13:
|
||||
|
||||
unsigned int ath10k_debug_mask;
|
||||
EXPORT_SYMBOL(ath10k_debug_mask);
|
||||
@@ -65,6 +66,7 @@ static const struct ath10k_hw_params ath
|
||||
@@ -64,6 +65,7 @@ static const struct ath10k_hw_params ath
|
||||
.dev_id = QCA988X_2_0_DEVICE_ID,
|
||||
.bus = ATH10K_BUS_PCI,
|
||||
.name = "qca988x hw2.0",
|
||||
@@ -140,7 +140,7 @@ v13:
|
||||
.patch_load_addr = QCA988X_HW_2_0_PATCH_LOAD_ADDR,
|
||||
.uart_pin = 7,
|
||||
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_ALL,
|
||||
@@ -138,6 +140,7 @@ static const struct ath10k_hw_params ath
|
||||
@@ -137,6 +139,7 @@ static const struct ath10k_hw_params ath
|
||||
.dev_id = QCA9887_1_0_DEVICE_ID,
|
||||
.bus = ATH10K_BUS_PCI,
|
||||
.name = "qca9887 hw1.0",
|
||||
@@ -148,7 +148,7 @@ v13:
|
||||
.patch_load_addr = QCA9887_HW_1_0_PATCH_LOAD_ADDR,
|
||||
.uart_pin = 7,
|
||||
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_ALL,
|
||||
@@ -355,6 +358,7 @@ static const struct ath10k_hw_params ath
|
||||
@@ -354,6 +357,7 @@ static const struct ath10k_hw_params ath
|
||||
.dev_id = QCA99X0_2_0_DEVICE_ID,
|
||||
.bus = ATH10K_BUS_PCI,
|
||||
.name = "qca99x0 hw2.0",
|
||||
@@ -156,7 +156,7 @@ v13:
|
||||
.patch_load_addr = QCA99X0_HW_2_0_PATCH_LOAD_ADDR,
|
||||
.uart_pin = 7,
|
||||
.otp_exe_param = 0x00000700,
|
||||
@@ -397,6 +401,7 @@ static const struct ath10k_hw_params ath
|
||||
@@ -396,6 +400,7 @@ static const struct ath10k_hw_params ath
|
||||
.dev_id = QCA9984_1_0_DEVICE_ID,
|
||||
.bus = ATH10K_BUS_PCI,
|
||||
.name = "qca9984/qca9994 hw1.0",
|
||||
@@ -164,7 +164,7 @@ v13:
|
||||
.patch_load_addr = QCA9984_HW_1_0_PATCH_LOAD_ADDR,
|
||||
.uart_pin = 7,
|
||||
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
|
||||
@@ -446,6 +451,7 @@ static const struct ath10k_hw_params ath
|
||||
@@ -445,6 +450,7 @@ static const struct ath10k_hw_params ath
|
||||
.dev_id = QCA9888_2_0_DEVICE_ID,
|
||||
.bus = ATH10K_BUS_PCI,
|
||||
.name = "qca9888 hw2.0",
|
||||
@@ -172,7 +172,7 @@ v13:
|
||||
.patch_load_addr = QCA9888_HW_2_0_PATCH_LOAD_ADDR,
|
||||
.uart_pin = 7,
|
||||
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
|
||||
@@ -3158,6 +3164,10 @@ int ath10k_core_start(struct ath10k *ar,
|
||||
@@ -3098,6 +3104,10 @@ int ath10k_core_start(struct ath10k *ar,
|
||||
goto err_hif_stop;
|
||||
}
|
||||
|
||||
@@ -183,7 +183,7 @@ v13:
|
||||
return 0;
|
||||
|
||||
err_hif_stop:
|
||||
@@ -3416,9 +3426,18 @@ static void ath10k_core_register_work(st
|
||||
@@ -3356,9 +3366,18 @@ static void ath10k_core_register_work(st
|
||||
goto err_spectral_destroy;
|
||||
}
|
||||
|
||||
@@ -202,7 +202,7 @@ v13:
|
||||
err_spectral_destroy:
|
||||
ath10k_spectral_destroy(ar);
|
||||
err_debug_destroy:
|
||||
@@ -3464,6 +3483,8 @@ void ath10k_core_unregister(struct ath10
|
||||
@@ -3404,6 +3423,8 @@ void ath10k_core_unregister(struct ath10
|
||||
if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags))
|
||||
return;
|
||||
|
||||
@@ -221,7 +221,7 @@ v13:
|
||||
|
||||
#include "htt.h"
|
||||
#include "htc.h"
|
||||
@@ -1256,6 +1257,13 @@ struct ath10k {
|
||||
@@ -1250,6 +1251,13 @@ struct ath10k {
|
||||
} testmode;
|
||||
|
||||
struct {
|
||||
|
||||
@@ -16,7 +16,7 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
|
||||
|
||||
--- a/drivers/net/wireless/ath/ath10k/core.h
|
||||
+++ b/drivers/net/wireless/ath/ath10k/core.h
|
||||
@@ -1312,6 +1312,10 @@ struct ath10k {
|
||||
@@ -1306,6 +1306,10 @@ struct ath10k {
|
||||
s32 tx_power_2g_limit;
|
||||
s32 tx_power_5g_limit;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/drivers/net/wireless/ath/ath10k/mac.c
|
||||
+++ b/drivers/net/wireless/ath/ath10k/mac.c
|
||||
@@ -4718,6 +4718,7 @@ static void ath10k_mac_setup_ht_vht_cap(
|
||||
@@ -5032,6 +5032,7 @@ static void ath10k_mac_setup_ht_vht_cap(
|
||||
if (ar->phy_capability & WHAL_WLAN_11G_CAPABILITY) {
|
||||
band = &ar->mac.sbands[NL80211_BAND_2GHZ];
|
||||
band->ht_cap = ht_cap;
|
||||
|
||||
@@ -111,7 +111,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
#define TXCTL_CREDITS 2
|
||||
|
||||
static void pkt_align(struct sk_buff *p, int len, int align)
|
||||
@@ -4140,7 +4144,7 @@ int brcmf_sdio_get_fwname(struct device
|
||||
@@ -4141,7 +4145,7 @@ int brcmf_sdio_get_fwname(struct device
|
||||
|
||||
fwreq = brcmf_fw_alloc_request(bus_if->chip, bus_if->chiprev,
|
||||
brcmf_sdio_fwnames,
|
||||
@@ -120,7 +120,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
fwnames, ARRAY_SIZE(fwnames));
|
||||
if (!fwreq)
|
||||
return -ENOMEM;
|
||||
@@ -4196,6 +4200,9 @@ static const struct brcmf_bus_ops brcmf_
|
||||
@@ -4197,6 +4201,9 @@ static const struct brcmf_bus_ops brcmf_
|
||||
#define BRCMF_SDIO_FW_CODE 0
|
||||
#define BRCMF_SDIO_FW_NVRAM 1
|
||||
|
||||
@@ -130,7 +130,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
static void brcmf_sdio_firmware_callback(struct device *dev, int err,
|
||||
struct brcmf_fw_request *fwreq)
|
||||
{
|
||||
@@ -4211,6 +4218,22 @@ static void brcmf_sdio_firmware_callback
|
||||
@@ -4212,6 +4219,22 @@ static void brcmf_sdio_firmware_callback
|
||||
|
||||
brcmf_dbg(TRACE, "Enter: dev=%s, err=%d\n", dev_name(dev), err);
|
||||
|
||||
@@ -153,7 +153,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
if (err)
|
||||
goto fail;
|
||||
|
||||
@@ -4419,7 +4442,7 @@ brcmf_sdio_prepare_fw_request(struct brc
|
||||
@@ -4420,7 +4443,7 @@ brcmf_sdio_prepare_fw_request(struct brc
|
||||
|
||||
fwreq = brcmf_fw_alloc_request(bus->ci->chip, bus->ci->chiprev,
|
||||
brcmf_sdio_fwnames,
|
||||
@@ -162,7 +162,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
fwnames, ARRAY_SIZE(fwnames));
|
||||
if (!fwreq)
|
||||
return NULL;
|
||||
@@ -4437,6 +4460,9 @@ struct brcmf_sdio *brcmf_sdio_probe(stru
|
||||
@@ -4438,6 +4461,9 @@ struct brcmf_sdio *brcmf_sdio_probe(stru
|
||||
struct brcmf_sdio *bus;
|
||||
struct workqueue_struct *wq;
|
||||
struct brcmf_fw_request *fwreq;
|
||||
@@ -172,7 +172,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
brcmf_dbg(TRACE, "Enter\n");
|
||||
|
||||
@@ -4519,6 +4545,21 @@ struct brcmf_sdio *brcmf_sdio_probe(stru
|
||||
@@ -4520,6 +4546,21 @@ struct brcmf_sdio *brcmf_sdio_probe(stru
|
||||
|
||||
brcmf_dbg(INFO, "completed!!\n");
|
||||
|
||||
|
||||
@@ -5,31 +5,31 @@
|
||||
for (i = 0; i < sband->n_channels; i++) {
|
||||
if (sband->channels[i].flags & (IEEE80211_CHAN_DISABLED |
|
||||
- IEEE80211_CHAN_NO_80MHZ))
|
||||
+ IEEE80211_CHAN_NO_80MHZ) &&
|
||||
+ IEEE80211_CHAN_NO_80MHZ) &
|
||||
+ (sband->band != NL80211_BAND_2GHZ))
|
||||
continue;
|
||||
|
||||
have_80mhz = true;
|
||||
--- a/net/mac80211/util.c
|
||||
+++ b/net/mac80211/util.c
|
||||
@@ -1769,7 +1769,8 @@ static int ieee80211_build_preq_ies_band
|
||||
@@ -1925,7 +1925,8 @@ static int ieee80211_build_preq_ies_band
|
||||
/* Check if any channel in this sband supports at least 80 MHz */
|
||||
for (i = 0; i < sband->n_channels; i++) {
|
||||
if (sband->channels[i].flags & (IEEE80211_CHAN_DISABLED |
|
||||
- IEEE80211_CHAN_NO_80MHZ))
|
||||
+ IEEE80211_CHAN_NO_80MHZ) &&
|
||||
+ IEEE80211_CHAN_NO_80MHZ) &
|
||||
+ (sband->band != NL80211_BAND_2GHZ))
|
||||
continue;
|
||||
|
||||
have_80mhz = true;
|
||||
--- a/net/mac80211/mlme.c
|
||||
+++ b/net/mac80211/mlme.c
|
||||
@@ -4824,7 +4824,8 @@ static int ieee80211_prep_channel(struct
|
||||
@@ -5122,7 +5122,8 @@ static int ieee80211_prep_channel(struct
|
||||
have_80mhz = false;
|
||||
for (i = 0; i < sband->n_channels; i++) {
|
||||
if (sband->channels[i].flags & (IEEE80211_CHAN_DISABLED |
|
||||
- IEEE80211_CHAN_NO_80MHZ))
|
||||
+ IEEE80211_CHAN_NO_80MHZ) &&
|
||||
+ IEEE80211_CHAN_NO_80MHZ) &
|
||||
+ (sband->band != NL80211_BAND_2GHZ))
|
||||
continue;
|
||||
|
||||
|
||||
@@ -0,0 +1,314 @@
|
||||
--- a/include/net/mac80211.h
|
||||
+++ b/include/net/mac80211.h
|
||||
@@ -702,6 +702,8 @@ struct ieee80211_bss_conf {
|
||||
u32 unsol_bcast_probe_resp_interval;
|
||||
bool s1g;
|
||||
struct cfg80211_bitrate_mask beacon_tx_rate;
|
||||
+
|
||||
+ bool csa_active;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -1672,6 +1674,46 @@ enum ieee80211_offload_flags {
|
||||
};
|
||||
|
||||
/**
|
||||
+ * struct ieee80211_vif_cfg - interface configuration
|
||||
+ * @assoc: association status
|
||||
+ * @ibss_joined: indicates whether this station is part of an IBSS or not
|
||||
+ * @ibss_creator: indicates if a new IBSS network is being created
|
||||
+ * @ps: power-save mode (STA only). This flag is NOT affected by
|
||||
+ * offchannel/dynamic_ps operations.
|
||||
+ * @aid: association ID number, valid only when @assoc is true
|
||||
+ * @arp_addr_list: List of IPv4 addresses for hardware ARP filtering. The
|
||||
+ * may filter ARP queries targeted for other addresses than listed here.
|
||||
+ * The driver must allow ARP queries targeted for all address listed here
|
||||
+ * to pass through. An empty list implies no ARP queries need to pass.
|
||||
+ * @arp_addr_cnt: Number of addresses currently on the list. Note that this
|
||||
+ * may be larger than %IEEE80211_BSS_ARP_ADDR_LIST_LEN (the arp_addr_list
|
||||
+ * array size), it's up to the driver what to do in that case.
|
||||
+ * @ssid: The SSID of the current vif. Valid in AP and IBSS mode.
|
||||
+ * @ssid_len: Length of SSID given in @ssid.
|
||||
+ * @s1g: BSS is S1G BSS (affects Association Request format).
|
||||
+ * @idle: This interface is idle. There's also a global idle flag in the
|
||||
+ * hardware config which may be more appropriate depending on what
|
||||
+ * your driver/device needs to do.
|
||||
+ * @ap_addr: AP MLD address, or BSSID for non-MLO connections
|
||||
+ * (station mode only)
|
||||
+ */
|
||||
+struct ieee80211_vif_cfg {
|
||||
+ /* association related data */
|
||||
+ bool assoc, ibss_joined;
|
||||
+ bool ibss_creator;
|
||||
+ bool ps;
|
||||
+ u16 aid;
|
||||
+
|
||||
+ __be32 arp_addr_list[IEEE80211_BSS_ARP_ADDR_LIST_LEN];
|
||||
+ int arp_addr_cnt;
|
||||
+ u8 ssid[IEEE80211_MAX_SSID_LEN];
|
||||
+ size_t ssid_len;
|
||||
+ bool s1g;
|
||||
+ bool idle;
|
||||
+ u8 ap_addr[ETH_ALEN] __aligned(2);
|
||||
+};
|
||||
+
|
||||
+/**
|
||||
* struct ieee80211_vif - per-interface data
|
||||
*
|
||||
* Data in this structure is continually present for driver
|
||||
@@ -1725,6 +1767,7 @@ enum ieee80211_offload_flags {
|
||||
*/
|
||||
struct ieee80211_vif {
|
||||
enum nl80211_iftype type;
|
||||
+ struct ieee80211_vif_cfg cfg;
|
||||
struct ieee80211_bss_conf bss_conf;
|
||||
u8 addr[ETH_ALEN] __aligned(2);
|
||||
bool p2p;
|
||||
@@ -2045,6 +2088,80 @@ struct ieee80211_sta_txpwr {
|
||||
};
|
||||
|
||||
/**
|
||||
+ * struct ieee80211_sta_aggregates - info that is aggregated from active links
|
||||
+ *
|
||||
+ * Used for any per-link data that needs to be aggregated and updated in the
|
||||
+ * main &struct ieee80211_sta when updated or the active links change.
|
||||
+ *
|
||||
+ * @max_amsdu_len: indicates the maximal length of an A-MSDU in bytes.
|
||||
+ * This field is always valid for packets with a VHT preamble.
|
||||
+ * For packets with a HT preamble, additional limits apply:
|
||||
+ *
|
||||
+ * * If the skb is transmitted as part of a BA agreement, the
|
||||
+ * A-MSDU maximal size is min(max_amsdu_len, 4065) bytes.
|
||||
+ * * If the skb is not part of a BA agreement, the A-MSDU maximal
|
||||
+ * size is min(max_amsdu_len, 7935) bytes.
|
||||
+ *
|
||||
+ * Both additional HT limits must be enforced by the low level
|
||||
+ * driver. This is defined by the spec (IEEE 802.11-2012 section
|
||||
+ * 8.3.2.2 NOTE 2).
|
||||
+ * @max_rc_amsdu_len: Maximum A-MSDU size in bytes recommended by rate control.
|
||||
+ * @max_tid_amsdu_len: Maximum A-MSDU size in bytes for this TID
|
||||
+ */
|
||||
+struct ieee80211_sta_aggregates {
|
||||
+ u16 max_amsdu_len;
|
||||
+
|
||||
+ u16 max_rc_amsdu_len;
|
||||
+ u16 max_tid_amsdu_len[IEEE80211_NUM_TIDS];
|
||||
+};
|
||||
+
|
||||
+/**
|
||||
+ * struct ieee80211_link_sta - station Link specific info
|
||||
+ * All link specific info for a STA link for a non MLD STA(single)
|
||||
+ * or a MLD STA(multiple entries) are stored here.
|
||||
+ *
|
||||
+ * @sta: reference to owning STA
|
||||
+ * @addr: MAC address of the Link STA. For non-MLO STA this is same as the addr
|
||||
+ * in ieee80211_sta. For MLO Link STA this addr can be same or different
|
||||
+ * from addr in ieee80211_sta (representing MLD STA addr)
|
||||
+ * @link_id: the link ID for this link STA (0 for deflink)
|
||||
+ * @smps_mode: current SMPS mode (off, static or dynamic)
|
||||
+ * @supp_rates: Bitmap of supported rates
|
||||
+ * @ht_cap: HT capabilities of this STA; restricted to our own capabilities
|
||||
+ * @vht_cap: VHT capabilities of this STA; restricted to our own capabilities
|
||||
+ * @he_cap: HE capabilities of this STA
|
||||
+ * @he_6ghz_capa: on 6 GHz, holds the HE 6 GHz band capabilities
|
||||
+ * @eht_cap: EHT capabilities of this STA
|
||||
+ * @bandwidth: current bandwidth the station can receive with
|
||||
+ * @rx_nss: in HT/VHT, the maximum number of spatial streams the
|
||||
+ * station can receive at the moment, changed by operating mode
|
||||
+ * notifications and capabilities. The value is only valid after
|
||||
+ * the station moves to associated state.
|
||||
+ * @txpwr: the station tx power configuration
|
||||
+ *
|
||||
+ */
|
||||
+struct ieee80211_link_sta {
|
||||
+ struct ieee80211_sta *sta;
|
||||
+
|
||||
+ u8 addr[ETH_ALEN];
|
||||
+ u8 link_id;
|
||||
+ enum ieee80211_smps_mode smps_mode;
|
||||
+
|
||||
+ u32 supp_rates[NUM_NL80211_BANDS];
|
||||
+ struct ieee80211_sta_ht_cap ht_cap;
|
||||
+ struct ieee80211_sta_vht_cap vht_cap;
|
||||
+ struct ieee80211_sta_he_cap he_cap;
|
||||
+ struct ieee80211_he_6ghz_capa he_6ghz_capa;
|
||||
+ struct ieee80211_sta_eht_cap eht_cap;
|
||||
+
|
||||
+ struct ieee80211_sta_aggregates agg;
|
||||
+
|
||||
+ u8 rx_nss;
|
||||
+ enum ieee80211_sta_rx_bandwidth bandwidth;
|
||||
+ struct ieee80211_sta_txpwr txpwr;
|
||||
+};
|
||||
+
|
||||
+/**
|
||||
* struct ieee80211_sta - station table entry
|
||||
*
|
||||
* A station table entry represents a station we are possibly
|
||||
@@ -2136,6 +2253,10 @@ struct ieee80211_sta {
|
||||
struct ieee80211_sta_txpwr txpwr;
|
||||
|
||||
struct ieee80211_txq *txq[IEEE80211_NUM_TIDS + 1];
|
||||
+
|
||||
+ u16 valid_links;
|
||||
+ struct ieee80211_link_sta deflink;
|
||||
+ struct ieee80211_link_sta __rcu *link[IEEE80211_MLD_MAX_NUM_LINKS];
|
||||
|
||||
/* must be last */
|
||||
u8 drv_priv[] __aligned(sizeof(void *));
|
||||
--- a/include/linux/ieee80211.h
|
||||
+++ b/include/linux/ieee80211.h
|
||||
@@ -1916,6 +1916,73 @@ struct ieee80211_he_mu_edca_param_ac_rec
|
||||
} __packed;
|
||||
|
||||
/**
|
||||
+ * struct ieee80211_eht_mcs_nss_supp_20mhz_only - EHT 20MHz only station max
|
||||
+ * supported NSS for per MCS.
|
||||
+ *
|
||||
+ * For each field below, bits 0 - 3 indicate the maximal number of spatial
|
||||
+ * streams for Rx, and bits 4 - 7 indicate the maximal number of spatial streams
|
||||
+ * for Tx.
|
||||
+ *
|
||||
+ * @rx_tx_mcs7_max_nss: indicates the maximum number of spatial streams
|
||||
+ * supported for reception and the maximum number of spatial streams
|
||||
+ * supported for transmission for MCS 0 - 7.
|
||||
+ * @rx_tx_mcs9_max_nss: indicates the maximum number of spatial streams
|
||||
+ * supported for reception and the maximum number of spatial streams
|
||||
+ * supported for transmission for MCS 8 - 9.
|
||||
+ * @rx_tx_mcs11_max_nss: indicates the maximum number of spatial streams
|
||||
+ * supported for reception and the maximum number of spatial streams
|
||||
+ * supported for transmission for MCS 10 - 11.
|
||||
+ * @rx_tx_mcs13_max_nss: indicates the maximum number of spatial streams
|
||||
+ * supported for reception and the maximum number of spatial streams
|
||||
+ * supported for transmission for MCS 12 - 13.
|
||||
+ */
|
||||
+struct ieee80211_eht_mcs_nss_supp_20mhz_only {
|
||||
+ u8 rx_tx_mcs7_max_nss;
|
||||
+ u8 rx_tx_mcs9_max_nss;
|
||||
+ u8 rx_tx_mcs11_max_nss;
|
||||
+ u8 rx_tx_mcs13_max_nss;
|
||||
+};
|
||||
+
|
||||
+/**
|
||||
+ * struct ieee80211_eht_mcs_nss_supp_bw - EHT max supported NSS per MCS (except
|
||||
+ * 20MHz only stations).
|
||||
+ *
|
||||
+ * For each field below, bits 0 - 3 indicate the maximal number of spatial
|
||||
+ * streams for Rx, and bits 4 - 7 indicate the maximal number of spatial streams
|
||||
+ * for Tx.
|
||||
+ *
|
||||
+ * @rx_tx_mcs9_max_nss: indicates the maximum number of spatial streams
|
||||
+ * supported for reception and the maximum number of spatial streams
|
||||
+ * supported for transmission for MCS 0 - 9.
|
||||
+ * @rx_tx_mcs11_max_nss: indicates the maximum number of spatial streams
|
||||
+ * supported for reception and the maximum number of spatial streams
|
||||
+ * supported for transmission for MCS 10 - 11.
|
||||
+ * @rx_tx_mcs13_max_nss: indicates the maximum number of spatial streams
|
||||
+ * supported for reception and the maximum number of spatial streams
|
||||
+ * supported for transmission for MCS 12 - 13.
|
||||
+ */
|
||||
+struct ieee80211_eht_mcs_nss_supp_bw {
|
||||
+ u8 rx_tx_mcs9_max_nss;
|
||||
+ u8 rx_tx_mcs11_max_nss;
|
||||
+ u8 rx_tx_mcs13_max_nss;
|
||||
+};
|
||||
+
|
||||
+/**
|
||||
+ * struct ieee80211_eht_cap_elem_fixed - EHT capabilities fixed data
|
||||
+ *
|
||||
+ * This structure is the "EHT Capabilities element" fixed fields as
|
||||
+ * described in P802.11be_D2.0 section 9.4.2.313.
|
||||
+ *
|
||||
+ * @mac_cap_info: MAC capabilities, see IEEE80211_EHT_MAC_CAP*
|
||||
+ * @phy_cap_info: PHY capabilities, see IEEE80211_EHT_PHY_CAP*
|
||||
+ */
|
||||
+struct ieee80211_eht_cap_elem_fixed {
|
||||
+ u8 mac_cap_info[2];
|
||||
+ u8 phy_cap_info[9];
|
||||
+} __packed;
|
||||
+
|
||||
+
|
||||
+/**
|
||||
* struct ieee80211_mu_edca_param_set - MU EDCA Parameter Set element
|
||||
*
|
||||
* This structure is the "MU EDCA Parameter Set element" fields as
|
||||
@@ -2228,6 +2295,12 @@ int ieee80211_get_vht_max_nss(struct iee
|
||||
#define IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_16US 0x80
|
||||
#define IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_RESERVED 0xc0
|
||||
#define IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_MASK 0xc0
|
||||
+#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_0US 0x0
|
||||
+#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_8US 0x1
|
||||
+#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_16US 0x2
|
||||
+#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_RESERVED 0x3
|
||||
+#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_POS 6
|
||||
+#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_MASK 0xc0
|
||||
|
||||
#define IEEE80211_HE_PHY_CAP10_HE_MU_M1RU_MAX_LTF 0x01
|
||||
|
||||
@@ -3982,4 +4055,7 @@ enum ieee80211_range_params_max_total_lt
|
||||
IEEE80211_RANGE_PARAMS_MAX_TOTAL_LTF_UNSPECIFIED,
|
||||
};
|
||||
|
||||
+/* multi-link device */
|
||||
+#define IEEE80211_MLD_MAX_NUM_LINKS 15
|
||||
+
|
||||
#endif /* LINUX_IEEE80211_H */
|
||||
--- a/include/net/cfg80211.h
|
||||
+++ b/include/net/cfg80211.h
|
||||
@@ -348,6 +348,31 @@ struct ieee80211_sta_vht_cap {
|
||||
#define IEEE80211_HE_PPE_THRES_MAX_LEN 25
|
||||
|
||||
/**
|
||||
+ * struct ieee80211_eht_mcs_nss_supp - EHT max supported NSS per MCS
|
||||
+ *
|
||||
+ * See P802.11be_D1.3 Table 9-401k - "Subfields of the Supported EHT-MCS
|
||||
+ * and NSS Set field"
|
||||
+ *
|
||||
+ * @only_20mhz: MCS/NSS support for 20 MHz-only STA.
|
||||
+ * @bw: MCS/NSS support for 80, 160 and 320 MHz
|
||||
+ * @bw._80: MCS/NSS support for BW <= 80 MHz
|
||||
+ * @bw._160: MCS/NSS support for BW = 160 MHz
|
||||
+ * @bw._320: MCS/NSS support for BW = 320 MHz
|
||||
+ */
|
||||
+struct ieee80211_eht_mcs_nss_supp {
|
||||
+ union {
|
||||
+ struct ieee80211_eht_mcs_nss_supp_20mhz_only only_20mhz;
|
||||
+ struct {
|
||||
+ struct ieee80211_eht_mcs_nss_supp_bw _80;
|
||||
+ struct ieee80211_eht_mcs_nss_supp_bw _160;
|
||||
+ struct ieee80211_eht_mcs_nss_supp_bw _320;
|
||||
+ } __packed bw;
|
||||
+ } __packed;
|
||||
+} __packed;
|
||||
+
|
||||
+#define IEEE80211_EHT_PPE_THRES_MAX_LEN 32
|
||||
+
|
||||
+/**
|
||||
* struct ieee80211_sta_he_cap - STA's HE capabilities
|
||||
*
|
||||
* This structure describes most essential parameters needed
|
||||
@@ -366,6 +391,24 @@ struct ieee80211_sta_he_cap {
|
||||
};
|
||||
|
||||
/**
|
||||
+ * struct ieee80211_sta_eht_cap - STA's EHT capabilities
|
||||
+ *
|
||||
+ * This structure describes most essential parameters needed
|
||||
+ * to describe 802.11be EHT capabilities for a STA.
|
||||
+ *
|
||||
+ * @has_eht: true iff EHT data is valid.
|
||||
+ * @eht_cap_elem: Fixed portion of the eht capabilities element.
|
||||
+ * @eht_mcs_nss_supp: The supported NSS/MCS combinations.
|
||||
+ * @eht_ppe_thres: Holds the PPE Thresholds data.
|
||||
+ */
|
||||
+struct ieee80211_sta_eht_cap {
|
||||
+ bool has_eht;
|
||||
+ struct ieee80211_eht_cap_elem_fixed eht_cap_elem;
|
||||
+ struct ieee80211_eht_mcs_nss_supp eht_mcs_nss_supp;
|
||||
+ u8 eht_ppe_thres[IEEE80211_EHT_PPE_THRES_MAX_LEN];
|
||||
+};
|
||||
+
|
||||
+/**
|
||||
* struct ieee80211_sband_iftype_data - sband data per interface type
|
||||
*
|
||||
* This structure encapsulates sband data that is relevant for the
|
||||
@@ -1,16 +1,16 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=mt76
|
||||
PKG_RELEASE=4
|
||||
PKG_RELEASE=5
|
||||
|
||||
PKG_LICENSE:=GPLv2
|
||||
PKG_LICENSE_FILES:=
|
||||
|
||||
PKG_SOURCE_URL:=https://github.com/openwrt/mt76
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_DATE:=2022-11-12
|
||||
PKG_SOURCE_VERSION:=4bf2607362fc64fc4cb7d662feb736b7536c0811
|
||||
PKG_MIRROR_HASH:=fd4291ac89e14750073cc8c345772883d756bf32cf19fc7205fa344b5b3b91d0
|
||||
PKG_SOURCE_DATE:=2022-12-22
|
||||
PKG_SOURCE_VERSION:=5b509e80384ab019ac11aa90c81ec0dbb5b0d7f2
|
||||
PKG_MIRROR_HASH:=6fc25df4d28becd010ff4971b23731c08b53e69381a9e4c868091899712f78a9
|
||||
|
||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||
PKG_USE_NINJA:=0
|
||||
@@ -221,16 +221,21 @@ endef
|
||||
define KernelPackage/mt7915e
|
||||
$(KernelPackage/mt76-default)
|
||||
TITLE:=MediaTek MT7915e wireless driver
|
||||
DEPENDS+=@PCI_SUPPORT +kmod-mt7615-common +kmod-hwmon-core +kmod-thermal +@DRIVER_11AX_SUPPORT +@KERNEL_RELAY
|
||||
DEPENDS+=@PCI_SUPPORT +kmod-mt76-connac +kmod-hwmon-core +kmod-thermal +@DRIVER_11AX_SUPPORT +@KERNEL_RELAY
|
||||
FILES:= $(PKG_BUILD_DIR)/mt7915/mt7915e.ko
|
||||
AUTOLOAD:=$(call AutoProbe,mt7915e)
|
||||
endef
|
||||
|
||||
define KernelPackage/mt7921-firmware
|
||||
$(KernelPackage/mt76-default)
|
||||
TITLE:=MediaTek MT7921 firmware
|
||||
endef
|
||||
|
||||
define KernelPackage/mt7921-common
|
||||
$(KernelPackage/mt76-default)
|
||||
TITLE:=MediaTek MT7615 wireless driver common code
|
||||
HIDDEN:=1
|
||||
DEPENDS+=+kmod-mt76-connac +@DRIVER_11AX_SUPPORT
|
||||
DEPENDS+=+kmod-mt76-connac +kmod-mt7921-firmware +@DRIVER_11AX_SUPPORT
|
||||
FILES:= $(PKG_BUILD_DIR)/mt7921/mt7921-common.ko
|
||||
endef
|
||||
|
||||
@@ -450,7 +455,7 @@ define KernelPackage/mt7915e/install
|
||||
$(1)/lib/firmware/mediatek
|
||||
endef
|
||||
|
||||
define KernelPackage/mt7921e/install
|
||||
define KernelPackage/mt7921-firmware/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/mediatek
|
||||
cp \
|
||||
$(PKG_BUILD_DIR)/firmware/WIFI_MT7961_patch_mcu_1_2_hdr.bin \
|
||||
@@ -485,6 +490,7 @@ $(eval $(call KernelPackage,mt7663-usb-sdio))
|
||||
$(eval $(call KernelPackage,mt7663u))
|
||||
$(eval $(call KernelPackage,mt7663s))
|
||||
$(eval $(call KernelPackage,mt7915e))
|
||||
$(eval $(call KernelPackage,mt7921-firmware))
|
||||
$(eval $(call KernelPackage,mt7921-common))
|
||||
$(eval $(call KernelPackage,mt7921u))
|
||||
$(eval $(call KernelPackage,mt7921s))
|
||||
|
||||
1535
package/kernel/mt76/patches/001-Revert-sync-with-upstream.patch
Normal file
1535
package/kernel/mt76/patches/001-Revert-sync-with-upstream.patch
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,296 @@
|
||||
From dab03e40b8c614d18dfeec054767275de25ff8ab Mon Sep 17 00:00:00 2001
|
||||
From: coolsnowwolf <coolsnowwolf@gmail.com>
|
||||
Date: Tue, 20 Dec 2022 23:01:27 +0800
|
||||
Subject: [PATCH 2/2] Revert "wifi: mt76: mt7921: introduce chanctx support"
|
||||
|
||||
This reverts commit 2575de3aea332837a0784629b11146efa1c55e58.
|
||||
---
|
||||
mt7921/init.c | 33 +++-----------
|
||||
mt7921/mac.c | 8 ++++
|
||||
mt7921/main.c | 111 ++----------------------------------------------
|
||||
mt7921/mt7921.h | 1 -
|
||||
mt7921/pci.c | 7 ---
|
||||
mt7921/sdio.c | 7 ---
|
||||
mt7921/usb.c | 7 ---
|
||||
7 files changed, 17 insertions(+), 157 deletions(-)
|
||||
|
||||
--- a/mt7921/init.c
|
||||
+++ b/mt7921/init.c
|
||||
@@ -26,27 +26,6 @@ static const struct ieee80211_iface_comb
|
||||
.max_interfaces = MT7921_MAX_INTERFACES,
|
||||
.num_different_channels = 1,
|
||||
.beacon_int_infra_match = true,
|
||||
- },
|
||||
-};
|
||||
-
|
||||
-static const struct ieee80211_iface_limit if_limits_chanctx[] = {
|
||||
- {
|
||||
- .max = 2,
|
||||
- .types = BIT(NL80211_IFTYPE_STATION),
|
||||
- },
|
||||
- {
|
||||
- .max = 1,
|
||||
- .types = BIT(NL80211_IFTYPE_AP),
|
||||
- }
|
||||
-};
|
||||
-
|
||||
-static const struct ieee80211_iface_combination if_comb_chanctx[] = {
|
||||
- {
|
||||
- .limits = if_limits_chanctx,
|
||||
- .n_limits = ARRAY_SIZE(if_limits_chanctx),
|
||||
- .max_interfaces = 2,
|
||||
- .num_different_channels = 2,
|
||||
- .beacon_int_infra_match = false,
|
||||
}
|
||||
};
|
||||
|
||||
@@ -88,19 +67,17 @@ mt7921_init_wiphy(struct ieee80211_hw *h
|
||||
hw->sta_data_size = sizeof(struct mt7921_sta);
|
||||
hw->vif_data_size = sizeof(struct mt7921_vif);
|
||||
|
||||
- if (dev->fw_features & MT7921_FW_CAP_CNM) {
|
||||
+ if (dev->fw_features & MT7921_FW_CAP_CNM)
|
||||
wiphy->flags |= WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL;
|
||||
- wiphy->iface_combinations = if_comb_chanctx;
|
||||
- wiphy->n_iface_combinations = ARRAY_SIZE(if_comb_chanctx);
|
||||
- } else {
|
||||
+ else
|
||||
wiphy->flags &= ~WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL;
|
||||
- wiphy->iface_combinations = if_comb;
|
||||
- wiphy->n_iface_combinations = ARRAY_SIZE(if_comb);
|
||||
- }
|
||||
+
|
||||
+ wiphy->iface_combinations = if_comb;
|
||||
wiphy->flags &= ~(WIPHY_FLAG_IBSS_RSN | WIPHY_FLAG_4ADDR_AP |
|
||||
WIPHY_FLAG_4ADDR_STATION);
|
||||
wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) |
|
||||
BIT(NL80211_IFTYPE_AP);
|
||||
+ wiphy->n_iface_combinations = ARRAY_SIZE(if_comb);
|
||||
wiphy->max_remain_on_channel_duration = 5000;
|
||||
wiphy->max_scan_ie_len = MT76_CONNAC_SCAN_IE_LEN;
|
||||
wiphy->max_scan_ssids = 4;
|
||||
--- a/mt7921/mac.c
|
||||
+++ b/mt7921/mac.c
|
||||
@@ -168,6 +168,14 @@ static void
|
||||
mt7921_get_status_freq_info(struct mt7921_dev *dev, struct mt76_phy *mphy,
|
||||
struct mt76_rx_status *status, u8 chfreq)
|
||||
{
|
||||
+ if (!test_bit(MT76_HW_SCANNING, &mphy->state) &&
|
||||
+ !test_bit(MT76_HW_SCHED_SCANNING, &mphy->state) &&
|
||||
+ !test_bit(MT76_STATE_ROC, &mphy->state)) {
|
||||
+ status->freq = mphy->chandef.chan->center_freq;
|
||||
+ status->band = mphy->chandef.chan->band;
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
if (chfreq > 180) {
|
||||
status->band = NL80211_BAND_6GHZ;
|
||||
chfreq = (chfreq - 181) * 4 + 1;
|
||||
--- a/mt7921/main.c
|
||||
+++ b/mt7921/main.c
|
||||
@@ -851,7 +851,7 @@ void mt7921_mac_sta_assoc(struct mt76_de
|
||||
|
||||
if (vif->type == NL80211_IFTYPE_STATION && !sta->tdls)
|
||||
mt76_connac_mcu_uni_add_bss(&dev->mphy, vif, &mvif->sta.wcid,
|
||||
- true, mvif->ctx);
|
||||
+ true, NULL);
|
||||
|
||||
mt7921_mac_wtbl_update(dev, msta->wcid.idx,
|
||||
MT_WTBL_UPDATE_ADM_COUNT_CLEAR);
|
||||
@@ -884,7 +884,7 @@ void mt7921_mac_sta_remove(struct mt76_d
|
||||
if (!sta->tdls)
|
||||
mt76_connac_mcu_uni_add_bss(&dev->mphy, vif,
|
||||
&mvif->sta.wcid, false,
|
||||
- mvif->ctx);
|
||||
+ NULL);
|
||||
}
|
||||
|
||||
spin_lock_bh(&dev->sta_poll_lock);
|
||||
@@ -1644,7 +1644,7 @@ mt7921_start_ap(struct ieee80211_hw *hw,
|
||||
mt7921_mutex_acquire(dev);
|
||||
|
||||
err = mt76_connac_mcu_uni_add_bss(phy->mt76, vif, &mvif->sta.wcid,
|
||||
- true, mvif->ctx);
|
||||
+ true, NULL);
|
||||
if (err)
|
||||
goto out;
|
||||
|
||||
@@ -1676,105 +1676,12 @@ mt7921_stop_ap(struct ieee80211_hw *hw,
|
||||
goto out;
|
||||
|
||||
mt76_connac_mcu_uni_add_bss(phy->mt76, vif, &mvif->sta.wcid, false,
|
||||
- mvif->ctx);
|
||||
+ NULL);
|
||||
|
||||
out:
|
||||
mt7921_mutex_release(dev);
|
||||
}
|
||||
|
||||
-static int
|
||||
-mt7921_add_chanctx(struct ieee80211_hw *hw,
|
||||
- struct ieee80211_chanctx_conf *ctx)
|
||||
-{
|
||||
- return 0;
|
||||
-}
|
||||
-
|
||||
-static void
|
||||
-mt7921_remove_chanctx(struct ieee80211_hw *hw,
|
||||
- struct ieee80211_chanctx_conf *ctx)
|
||||
-{
|
||||
-}
|
||||
-
|
||||
-static void mt7921_ctx_iter(void *priv, u8 *mac,
|
||||
- struct ieee80211_vif *vif)
|
||||
-{
|
||||
- struct mt7921_vif *mvif = (struct mt7921_vif *)vif->drv_priv;
|
||||
- struct ieee80211_chanctx_conf *ctx = priv;
|
||||
-
|
||||
- if (ctx != mvif->ctx)
|
||||
- return;
|
||||
-
|
||||
- mt76_connac_mcu_uni_set_chctx(mvif->phy->mt76, &mvif->mt76, ctx);
|
||||
-}
|
||||
-
|
||||
-static void
|
||||
-mt7921_change_chanctx(struct ieee80211_hw *hw,
|
||||
- struct ieee80211_chanctx_conf *ctx,
|
||||
- u32 changed)
|
||||
-{
|
||||
- struct mt7921_phy *phy = mt7921_hw_phy(hw);
|
||||
-
|
||||
- mt7921_mutex_acquire(phy->dev);
|
||||
- ieee80211_iterate_active_interfaces(phy->mt76->hw,
|
||||
- IEEE80211_IFACE_ITER_ACTIVE,
|
||||
- mt7921_ctx_iter, ctx);
|
||||
- mt7921_mutex_release(phy->dev);
|
||||
-}
|
||||
-
|
||||
-static int
|
||||
-mt7921_assign_vif_chanctx(struct ieee80211_hw *hw,
|
||||
- struct ieee80211_vif *vif,
|
||||
- struct ieee80211_bss_conf *link_conf,
|
||||
- struct ieee80211_chanctx_conf *ctx)
|
||||
-{
|
||||
- struct mt7921_vif *mvif = (struct mt7921_vif *)vif->drv_priv;
|
||||
- struct mt7921_dev *dev = mt7921_hw_dev(hw);
|
||||
-
|
||||
- mutex_lock(&dev->mt76.mutex);
|
||||
- mvif->ctx = ctx;
|
||||
- mutex_unlock(&dev->mt76.mutex);
|
||||
-
|
||||
- return 0;
|
||||
-}
|
||||
-
|
||||
-static void
|
||||
-mt7921_unassign_vif_chanctx(struct ieee80211_hw *hw,
|
||||
- struct ieee80211_vif *vif,
|
||||
- struct ieee80211_bss_conf *link_conf,
|
||||
- struct ieee80211_chanctx_conf *ctx)
|
||||
-{
|
||||
- struct mt7921_vif *mvif = (struct mt7921_vif *)vif->drv_priv;
|
||||
- struct mt7921_dev *dev = mt7921_hw_dev(hw);
|
||||
-
|
||||
- mutex_lock(&dev->mt76.mutex);
|
||||
- mvif->ctx = NULL;
|
||||
- mutex_unlock(&dev->mt76.mutex);
|
||||
-}
|
||||
-
|
||||
-static void mt7921_mgd_prepare_tx(struct ieee80211_hw *hw,
|
||||
- struct ieee80211_vif *vif,
|
||||
- struct ieee80211_prep_tx_info *info)
|
||||
-{
|
||||
- struct mt7921_vif *mvif = (struct mt7921_vif *)vif->drv_priv;
|
||||
- struct mt7921_dev *dev = mt7921_hw_dev(hw);
|
||||
- u16 duration = info->duration ? info->duration :
|
||||
- jiffies_to_msecs(HZ);
|
||||
-
|
||||
- mt7921_mutex_acquire(dev);
|
||||
- mt7921_set_roc(mvif->phy, mvif, mvif->ctx->def.chan, duration,
|
||||
- MT7921_ROC_REQ_JOIN);
|
||||
- mt7921_mutex_release(dev);
|
||||
-}
|
||||
-
|
||||
-static void mt7921_mgd_complete_tx(struct ieee80211_hw *hw,
|
||||
- struct ieee80211_vif *vif,
|
||||
- struct ieee80211_prep_tx_info *info)
|
||||
-{
|
||||
- struct mt7921_vif *mvif = (struct mt7921_vif *)vif->drv_priv;
|
||||
-
|
||||
- mt7921_abort_roc(mvif->phy, mvif);
|
||||
-}
|
||||
-
|
||||
const struct ieee80211_ops mt7921_ops = {
|
||||
.tx = mt7921_tx,
|
||||
.start = mt7921_start,
|
||||
@@ -1827,13 +1734,6 @@ const struct ieee80211_ops mt7921_ops =
|
||||
.set_sar_specs = mt7921_set_sar_specs,
|
||||
.remain_on_channel = mt7921_remain_on_channel,
|
||||
.cancel_remain_on_channel = mt7921_cancel_remain_on_channel,
|
||||
- .add_chanctx = mt7921_add_chanctx,
|
||||
- .remove_chanctx = mt7921_remove_chanctx,
|
||||
- .change_chanctx = mt7921_change_chanctx,
|
||||
- .assign_vif_chanctx = mt7921_assign_vif_chanctx,
|
||||
- .unassign_vif_chanctx = mt7921_unassign_vif_chanctx,
|
||||
- .mgd_prepare_tx = mt7921_mgd_prepare_tx,
|
||||
- .mgd_complete_tx = mt7921_mgd_complete_tx,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(mt7921_ops);
|
||||
|
||||
--- a/mt7921/mt7921.h
|
||||
+++ b/mt7921/mt7921.h
|
||||
@@ -171,7 +171,6 @@ struct mt7921_vif {
|
||||
struct ewma_rssi rssi;
|
||||
|
||||
struct ieee80211_tx_queue_params queue_params[IEEE80211_NUM_ACS];
|
||||
- struct ieee80211_chanctx_conf *ctx;
|
||||
};
|
||||
|
||||
struct mib_stats {
|
||||
--- a/mt7921/pci.c
|
||||
+++ b/mt7921/pci.c
|
||||
@@ -297,13 +297,6 @@ static int mt7921_pci_probe(struct pci_d
|
||||
if (!(features & MT7921_FW_CAP_CNM)) {
|
||||
ops->remain_on_channel = NULL;
|
||||
ops->cancel_remain_on_channel = NULL;
|
||||
- ops->add_chanctx = NULL;
|
||||
- ops->remove_chanctx = NULL;
|
||||
- ops->change_chanctx = NULL;
|
||||
- ops->assign_vif_chanctx = NULL;
|
||||
- ops->unassign_vif_chanctx = NULL;
|
||||
- ops->mgd_prepare_tx = NULL;
|
||||
- ops->mgd_complete_tx = NULL;
|
||||
}
|
||||
|
||||
mdev = mt76_alloc_device(&pdev->dev, sizeof(*dev), ops, &drv_ops);
|
||||
--- a/mt7921/sdio.c
|
||||
+++ b/mt7921/sdio.c
|
||||
@@ -140,13 +140,6 @@ static int mt7921s_probe(struct sdio_fun
|
||||
if (!(features & MT7921_FW_CAP_CNM)) {
|
||||
ops->remain_on_channel = NULL;
|
||||
ops->cancel_remain_on_channel = NULL;
|
||||
- ops->add_chanctx = NULL;
|
||||
- ops->remove_chanctx = NULL;
|
||||
- ops->change_chanctx = NULL;
|
||||
- ops->assign_vif_chanctx = NULL;
|
||||
- ops->unassign_vif_chanctx = NULL;
|
||||
- ops->mgd_prepare_tx = NULL;
|
||||
- ops->mgd_complete_tx = NULL;
|
||||
}
|
||||
|
||||
mdev = mt76_alloc_device(&func->dev, sizeof(*dev), ops, &drv_ops);
|
||||
--- a/mt7921/usb.c
|
||||
+++ b/mt7921/usb.c
|
||||
@@ -218,13 +218,6 @@ static int mt7921u_probe(struct usb_inte
|
||||
if (!(features & MT7921_FW_CAP_CNM)) {
|
||||
ops->remain_on_channel = NULL;
|
||||
ops->cancel_remain_on_channel = NULL;
|
||||
- ops->add_chanctx = NULL;
|
||||
- ops->remove_chanctx = NULL;
|
||||
- ops->change_chanctx = NULL;
|
||||
- ops->assign_vif_chanctx = NULL;
|
||||
- ops->unassign_vif_chanctx = NULL;
|
||||
- ops->mgd_prepare_tx = NULL;
|
||||
- ops->mgd_complete_tx = NULL;
|
||||
}
|
||||
|
||||
ops->stop = mt7921u_stop;
|
||||
@@ -1,4 +1,4 @@
|
||||
From fcddb155b538beb0ca7614260a1323d64bfc656a Mon Sep 17 00:00:00 2001
|
||||
From 62468f0b5a72e506915cf50176b701626767e353 Mon Sep 17 00:00:00 2001
|
||||
From: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
|
||||
Date: Mon, 23 Nov 2020 10:46:37 +0800
|
||||
Subject: [PATCH] mt76: allow VHT rate on 2.4GHz
|
||||
@@ -7,13 +7,12 @@ Allow chips that support 11ac to use 256QAM on 2.4GHz
|
||||
|
||||
Signed-off-by: DENG Qingfang <dqfext@gmail.com>
|
||||
---
|
||||
mac80211.c | 10 +++++-----
|
||||
mt7615/init.c | 2 ++
|
||||
2 files changed, 7 insertions(+), 5 deletions(-)
|
||||
mac80211.c | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
--- a/mac80211.c
|
||||
+++ b/mac80211.c
|
||||
@@ -275,7 +275,7 @@ static void mt76_init_stream_cap(struct
|
||||
@@ -281,7 +281,7 @@ static void mt76_init_stream_cap(struct
|
||||
void mt76_set_stream_caps(struct mt76_phy *phy, bool vht)
|
||||
{
|
||||
if (phy->cap.has_2ghz)
|
||||
@@ -22,7 +21,7 @@ Signed-off-by: DENG Qingfang <dqfext@gmail.com>
|
||||
if (phy->cap.has_5ghz)
|
||||
mt76_init_stream_cap(phy, &phy->sband_5g.sband, vht);
|
||||
if (phy->cap.has_6ghz)
|
||||
@@ -342,13 +342,13 @@ mt76_init_sband(struct mt76_phy *phy, st
|
||||
@@ -348,13 +348,13 @@ mt76_init_sband(struct mt76_phy *phy, st
|
||||
|
||||
static int
|
||||
mt76_init_sband_2g(struct mt76_phy *phy, struct ieee80211_rate *rates,
|
||||
@@ -38,7 +37,7 @@ Signed-off-by: DENG Qingfang <dqfext@gmail.com>
|
||||
}
|
||||
|
||||
static int
|
||||
@@ -496,7 +496,7 @@ int mt76_register_phy(struct mt76_phy *p
|
||||
@@ -506,7 +506,7 @@ int mt76_register_phy(struct mt76_phy *p
|
||||
return ret;
|
||||
|
||||
if (phy->cap.has_2ghz) {
|
||||
@@ -47,7 +46,7 @@ Signed-off-by: DENG Qingfang <dqfext@gmail.com>
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
@@ -621,7 +621,7 @@ int mt76_register_device(struct mt76_dev
|
||||
@@ -644,7 +644,7 @@ int mt76_register_device(struct mt76_dev
|
||||
return ret;
|
||||
|
||||
if (phy->cap.has_2ghz) {
|
||||
@@ -56,14 +55,3 @@ Signed-off-by: DENG Qingfang <dqfext@gmail.com>
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
--- a/mt7615/init.c
|
||||
+++ b/mt7615/init.c
|
||||
@@ -409,6 +409,8 @@ mt7615_init_wiphy(struct ieee80211_hw *h
|
||||
hw->max_tx_fragments = MT_HW_TXP_MAX_BUF_NUM;
|
||||
|
||||
phy->mt76->sband_2g.sband.ht_cap.cap |= IEEE80211_HT_CAP_LDPC_CODING;
|
||||
+ phy->mt76->sband_2g.sband.vht_cap.cap |=
|
||||
+ IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK;
|
||||
phy->mt76->sband_5g.sband.ht_cap.cap |= IEEE80211_HT_CAP_LDPC_CODING;
|
||||
phy->mt76->sband_5g.sband.vht_cap.cap |=
|
||||
IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK;
|
||||
@@ -7,12 +7,12 @@ include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=r8125
|
||||
PKG_VERSION:=9.011.00-1
|
||||
PKG_VERSION:=9.010.01-2
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/awesometic/realtek-r8125-dkms/tar.gz/$(PKG_VERSION)?
|
||||
PKG_HASH:=750a05c05f318fc5e1e05e6b2d1f61a76fffa3133eae1bf9ce5ff6d03ae29cb7
|
||||
PKG_HASH:=b3e1b36578ba92a775049535e7434a9fc46710a721846c3706aca3d265db8cb9
|
||||
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/realtek-$(PKG_NAME)-dkms-$(PKG_VERSION)
|
||||
|
||||
PKG_LICENSE:=GPL-2.0-only
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=netifd
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/netifd.git
|
||||
|
||||
@@ -0,0 +1,148 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
Date: Fri, 24 Feb 2023 13:28:52 +0800
|
||||
Subject: [PATCH] Revert "device: add support for configuring device link
|
||||
speed/duplex"
|
||||
|
||||
Fixes auto-negotiate for out-of-tree ethernet drivers.
|
||||
|
||||
This reverts commit 1eb0fafaa9865b729509a7d47ecf1f05c2c0595c.
|
||||
---
|
||||
device.c | 14 --------------
|
||||
device.h | 6 ------
|
||||
system-linux.c | 52 --------------------------------------------------
|
||||
3 files changed, 72 deletions(-)
|
||||
|
||||
--- a/device.c
|
||||
+++ b/device.c
|
||||
@@ -61,8 +61,6 @@ static const struct blobmsg_policy dev_a
|
||||
[DEV_ATTR_DROP_UNSOLICITED_NA] = { .name = "drop_unsolicited_na", .type = BLOBMSG_TYPE_BOOL },
|
||||
[DEV_ATTR_ARP_ACCEPT] = { .name = "arp_accept", .type = BLOBMSG_TYPE_BOOL },
|
||||
[DEV_ATTR_AUTH] = { .name = "auth", .type = BLOBMSG_TYPE_BOOL },
|
||||
- [DEV_ATTR_SPEED] = { .name = "speed", .type = BLOBMSG_TYPE_INT32 },
|
||||
- [DEV_ATTR_DUPLEX] = { .name = "duplex", .type = BLOBMSG_TYPE_BOOL },
|
||||
};
|
||||
|
||||
const struct uci_blob_param_list device_attr_list = {
|
||||
@@ -278,8 +276,6 @@ device_merge_settings(struct device *dev
|
||||
n->arp_accept = s->flags & DEV_OPT_ARP_ACCEPT ?
|
||||
s->arp_accept : os->arp_accept;
|
||||
n->auth = s->flags & DEV_OPT_AUTH ? s->auth : os->auth;
|
||||
- n->speed = s->flags & DEV_OPT_SPEED ? s->speed : os->speed;
|
||||
- n->duplex = s->flags & DEV_OPT_DUPLEX ? s->duplex : os->duplex;
|
||||
n->flags = s->flags | os->flags | os->valid_flags;
|
||||
}
|
||||
|
||||
@@ -454,16 +450,6 @@ device_init_settings(struct device *dev,
|
||||
s->flags |= DEV_OPT_AUTH;
|
||||
}
|
||||
|
||||
- if ((cur = tb[DEV_ATTR_SPEED])) {
|
||||
- s->speed = blobmsg_get_u32(cur);
|
||||
- s->flags |= DEV_OPT_SPEED;
|
||||
- }
|
||||
-
|
||||
- if ((cur = tb[DEV_ATTR_DUPLEX])) {
|
||||
- s->duplex = blobmsg_get_bool(cur);
|
||||
- s->flags |= DEV_OPT_DUPLEX;
|
||||
- }
|
||||
-
|
||||
device_set_disabled(dev, disabled);
|
||||
}
|
||||
|
||||
--- a/device.h
|
||||
+++ b/device.h
|
||||
@@ -60,8 +60,6 @@ enum {
|
||||
DEV_ATTR_DROP_UNSOLICITED_NA,
|
||||
DEV_ATTR_ARP_ACCEPT,
|
||||
DEV_ATTR_AUTH,
|
||||
- DEV_ATTR_SPEED,
|
||||
- DEV_ATTR_DUPLEX,
|
||||
__DEV_ATTR_MAX,
|
||||
};
|
||||
|
||||
@@ -124,8 +122,6 @@ enum {
|
||||
DEV_OPT_DROP_GRATUITOUS_ARP = (1ULL << 27),
|
||||
DEV_OPT_DROP_UNSOLICITED_NA = (1ULL << 28),
|
||||
DEV_OPT_ARP_ACCEPT = (1ULL << 29),
|
||||
- DEV_OPT_SPEED = (1ULL << 30),
|
||||
- DEV_OPT_DUPLEX = (1ULL << 31),
|
||||
};
|
||||
|
||||
/* events broadcasted to all users of a device */
|
||||
@@ -201,8 +197,6 @@ struct device_settings {
|
||||
bool drop_unsolicited_na;
|
||||
bool arp_accept;
|
||||
bool auth;
|
||||
- unsigned int speed;
|
||||
- bool duplex;
|
||||
};
|
||||
|
||||
/*
|
||||
--- a/system-linux.c
|
||||
+++ b/system-linux.c
|
||||
@@ -1715,57 +1715,6 @@ int system_vlandev_del(struct device *vl
|
||||
return system_link_del(vlandev->ifname);
|
||||
}
|
||||
|
||||
-static void
|
||||
-system_set_ethtool_settings(struct device *dev, struct device_settings *s)
|
||||
-{
|
||||
- struct ethtool_cmd ecmd = {
|
||||
- .cmd = ETHTOOL_GSET,
|
||||
- };
|
||||
- struct ifreq ifr = {
|
||||
- .ifr_data = (caddr_t)&ecmd,
|
||||
- };
|
||||
- static const struct {
|
||||
- int speed;
|
||||
- uint8_t bit_half;
|
||||
- uint8_t bit_full;
|
||||
- } speed_mask[] = {
|
||||
- { 10, ETHTOOL_LINK_MODE_10baseT_Half_BIT, ETHTOOL_LINK_MODE_10baseT_Full_BIT },
|
||||
- { 100, ETHTOOL_LINK_MODE_100baseT_Half_BIT, ETHTOOL_LINK_MODE_100baseT_Full_BIT },
|
||||
- { 1000, ETHTOOL_LINK_MODE_1000baseT_Half_BIT, ETHTOOL_LINK_MODE_1000baseT_Full_BIT },
|
||||
- };
|
||||
- uint32_t adv;
|
||||
- int i;
|
||||
-
|
||||
- strncpy(ifr.ifr_name, dev->ifname, sizeof(ifr.ifr_name) - 1);
|
||||
-
|
||||
- if (ioctl(sock_ioctl, SIOCETHTOOL, &ifr) != 0)
|
||||
- return;
|
||||
-
|
||||
- adv = ecmd.supported;
|
||||
- for (i = 0; i < ARRAY_SIZE(speed_mask); i++) {
|
||||
- if (s->flags & DEV_OPT_DUPLEX) {
|
||||
- int bit = s->duplex ? speed_mask[i].bit_half : speed_mask[i].bit_full;
|
||||
- adv &= ~(1 << bit);
|
||||
- }
|
||||
-
|
||||
- if (!(s->flags & DEV_OPT_SPEED) ||
|
||||
- s->speed == speed_mask[i].speed)
|
||||
- continue;
|
||||
-
|
||||
- adv &= ~(1 << speed_mask[i].bit_full);
|
||||
- adv &= ~(1 << speed_mask[i].bit_half);
|
||||
- }
|
||||
-
|
||||
-
|
||||
- if (ecmd.autoneg && ecmd.advertising == adv)
|
||||
- return;
|
||||
-
|
||||
- ecmd.autoneg = 1;
|
||||
- ecmd.advertising = adv;
|
||||
- ecmd.cmd = ETHTOOL_SSET;
|
||||
- ioctl(sock_ioctl, SIOCETHTOOL, &ifr);
|
||||
-}
|
||||
-
|
||||
void
|
||||
system_if_get_settings(struct device *dev, struct device_settings *s)
|
||||
{
|
||||
@@ -1989,7 +1938,6 @@ system_if_apply_settings(struct device *
|
||||
system_set_drop_unsolicited_na(dev, s->drop_unsolicited_na ? "1" : "0");
|
||||
if (apply_mask & DEV_OPT_ARP_ACCEPT)
|
||||
system_set_arp_accept(dev, s->arp_accept ? "1" : "0");
|
||||
- system_set_ethtool_settings(dev, s);
|
||||
}
|
||||
|
||||
int system_if_up(struct device *dev)
|
||||
@@ -24,12 +24,12 @@ hostapd_append_wep_key() {
|
||||
[1234])
|
||||
for idx in 1 2 3 4; do
|
||||
local zidx
|
||||
zidx=$(($idx - 1))
|
||||
zidx="$(($idx - 1))"
|
||||
json_get_var ckey "key${idx}"
|
||||
[ -n "$ckey" ] && \
|
||||
append $var "wep_key${zidx}=$(prepare_key_wep "$ckey")" "$N$T"
|
||||
done
|
||||
wep_keyidx=$((key - 1))
|
||||
wep_keyidx="$((key - 1))"
|
||||
;;
|
||||
*)
|
||||
append $var "wep_key0=$(prepare_key_wep "$key")" "$N$T"
|
||||
@@ -790,7 +790,7 @@ hostapd_set_bss_options() {
|
||||
;;
|
||||
esac
|
||||
|
||||
local auth_algs=$((($auth_mode_shared << 1) | $auth_mode_open))
|
||||
local auth_algs="$((($auth_mode_shared << 1) | $auth_mode_open))"
|
||||
append bss_conf "auth_algs=${auth_algs:-1}" "$N"
|
||||
append bss_conf "wpa=$wpa" "$N"
|
||||
[ -n "$wpa_pairwise" ] && append bss_conf "wpa_pairwise=$wpa_pairwise" "$N"
|
||||
@@ -1159,7 +1159,7 @@ hostapd_set_bss_options() {
|
||||
append bss_conf "$val" "$N"
|
||||
done
|
||||
|
||||
bss_md5sum=$(echo $bss_conf | md5sum | cut -d" " -f1)
|
||||
bss_md5sum="$(echo $bss_conf | md5sum | cut -d" " -f1)"
|
||||
append bss_conf "config_id=$bss_md5sum" "$N"
|
||||
|
||||
append "$var" "$bss_conf" "$N"
|
||||
@@ -1181,7 +1181,7 @@ hostapd_set_log_options() {
|
||||
set_default log_iapp 1
|
||||
set_default log_mlme 1
|
||||
|
||||
local log_mask=$(( \
|
||||
local log_mask="$(( \
|
||||
($log_80211 << 0) | \
|
||||
($log_8021x << 1) | \
|
||||
($log_radius << 2) | \
|
||||
@@ -1189,7 +1189,7 @@ hostapd_set_log_options() {
|
||||
($log_driver << 4) | \
|
||||
($log_iapp << 5) | \
|
||||
($log_mlme << 6) \
|
||||
))
|
||||
))"
|
||||
|
||||
append "$var" "logger_syslog=$log_mask" "$N"
|
||||
append "$var" "logger_syslog_level=$log_level" "$N"
|
||||
@@ -1375,11 +1375,11 @@ wpa_supplicant_add_network() {
|
||||
|
||||
key_mgmt="$wpa_key_mgmt"
|
||||
|
||||
if [ ${#key} -eq 64 ]; then
|
||||
passphrase="psk=${key}"
|
||||
if [ "$_w_mode" = "mesh" ] || [ "$auth_type" = "sae" ]; then
|
||||
passphrase="sae_password=\"${key}\""
|
||||
else
|
||||
if [ "$_w_mode" = "mesh" ]; then
|
||||
passphrase="sae_password=\"${key}\""
|
||||
if [ ${#key} -eq 64 ]; then
|
||||
passphrase="psk=${key}"
|
||||
else
|
||||
passphrase="psk=\"${key}\""
|
||||
fi
|
||||
|
||||
@@ -1084,6 +1084,8 @@ hostapd_bss_mgmt_enable(struct ubus_context *ctx, struct ubus_object *obj,
|
||||
}
|
||||
|
||||
__hostapd_bss_mgmt_enable(hapd, flags);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -302,8 +302,8 @@ foreach my $mirror (@ARGV) {
|
||||
# push @mirrors, 'https://mirror01.download.immortalwrt.eu.org';
|
||||
push @mirrors, 'https://mirror2.immortalwrt.org/sources';
|
||||
push @mirrors, 'https://mirror.immortalwrt.org/sources';
|
||||
push @mirrors, 'https://sources-cdn.immortalwrt.org';
|
||||
push @mirrors, 'https://sources.immortalwrt.org';
|
||||
push @mirrors, 'https://sources.cdn.immortalwrt.org';
|
||||
push @mirrors, 'https://sources.cdn.openwrt.org';
|
||||
push @mirrors, 'https://sources.openwrt.org';
|
||||
push @mirrors, 'https://mirror2.openwrt.org/sources';
|
||||
|
||||
@@ -68,7 +68,7 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
||||
for (i = 0; i < PPC4XX_NUM_SD; i++) {
|
||||
dev->sdr[i].ptr = dev->scatter_buffer_pa +
|
||||
PPC4XX_SD_BUFFER_SIZE * i;
|
||||
@@ -1439,16 +1440,15 @@ static int crypto4xx_probe(struct platfo
|
||||
@@ -1437,16 +1438,15 @@ static int crypto4xx_probe(struct platfo
|
||||
spin_lock_init(&core_dev->lock);
|
||||
INIT_LIST_HEAD(&core_dev->dev->alg_list);
|
||||
ratelimit_default_init(&core_dev->dev->aead_ratelimit);
|
||||
@@ -89,7 +89,7 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
||||
goto err_build_sdr;
|
||||
|
||||
/* Init tasklet for bottom half processing */
|
||||
@@ -1493,7 +1493,6 @@ err_iomap:
|
||||
@@ -1491,7 +1491,6 @@ err_iomap:
|
||||
err_build_sdr:
|
||||
crypto4xx_destroy_sdr(core_dev->dev);
|
||||
crypto4xx_destroy_gdr(core_dev->dev);
|
||||
|
||||
@@ -214,7 +214,7 @@
|
||||
#include <linux/uaccess.h>
|
||||
#include <linux/ipv6.h>
|
||||
#include <linux/icmpv6.h>
|
||||
@@ -866,10 +867,10 @@ static void tcp_v6_send_response(const s
|
||||
@@ -867,10 +868,10 @@ static void tcp_v6_send_response(const s
|
||||
topt = (__be32 *)(t1 + 1);
|
||||
|
||||
if (tsecr) {
|
||||
|
||||
@@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/spi/spidev.c
|
||||
+++ b/drivers/spi/spidev.c
|
||||
@@ -745,7 +745,7 @@ static int spidev_probe(struct spi_devic
|
||||
@@ -743,7 +743,7 @@ static int spidev_probe(struct spi_devic
|
||||
* compatible string, it is a Linux implementation thing
|
||||
* rather than a description of the hardware.
|
||||
*/
|
||||
|
||||
@@ -1040,7 +1040,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
}
|
||||
--- a/drivers/usb/core/hub.c
|
||||
+++ b/drivers/usb/core/hub.c
|
||||
@@ -5385,7 +5385,7 @@ static void port_event(struct usb_hub *h
|
||||
@@ -5384,7 +5384,7 @@ static void port_event(struct usb_hub *h
|
||||
port_dev->over_current_count++;
|
||||
port_over_current_notify(port_dev);
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
|
||||
@@ -2157,7 +2157,7 @@ static void bcmgenet_init_tx_ring(struct
|
||||
@@ -2165,7 +2165,7 @@ static void bcmgenet_init_tx_ring(struct
|
||||
|
||||
bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_PROD_INDEX);
|
||||
bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_CONS_INDEX);
|
||||
@@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
/* Disable rate control for now */
|
||||
bcmgenet_tdma_ring_writel(priv, index, flow_period_val,
|
||||
TDMA_FLOW_PERIOD);
|
||||
@@ -3583,9 +3583,12 @@ static int bcmgenet_probe(struct platfor
|
||||
@@ -3591,9 +3591,12 @@ static int bcmgenet_probe(struct platfor
|
||||
netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1);
|
||||
|
||||
/* Set default coalescing parameters */
|
||||
|
||||
@@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -1486,6 +1486,103 @@ command_cleanup:
|
||||
@@ -1487,6 +1487,103 @@ command_cleanup:
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
* non-error returns are a promise to giveback() the urb later
|
||||
* we drop ownership so next owner (or urb unlink) can get it
|
||||
*/
|
||||
@@ -5401,6 +5498,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
@@ -5402,6 +5499,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
.endpoint_reset = xhci_endpoint_reset,
|
||||
.check_bandwidth = xhci_check_bandwidth,
|
||||
.reset_bandwidth = xhci_reset_bandwidth,
|
||||
|
||||
@@ -53,7 +53,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH), HID_QUIRK_MULTI_INPUT },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE2), HID_QUIRK_ALWAYS_POLL },
|
||||
@@ -197,6 +198,7 @@ static const struct hid_device_id hid_qu
|
||||
@@ -196,6 +197,7 @@ static const struct hid_device_id hid_qu
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP_LTD2, USB_DEVICE_ID_SMARTJOY_DUAL_PLUS), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE), HID_QUIRK_MULTI_INPUT },
|
||||
|
||||
@@ -38,7 +38,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
static inline void bcmgenet_writel(u32 value, void __iomem *offset)
|
||||
{
|
||||
/* MIPS chips strapped for BE will automagically configure the
|
||||
@@ -2003,6 +2007,11 @@ static void reset_umac(struct bcmgenet_p
|
||||
@@ -2011,6 +2015,11 @@ static void reset_umac(struct bcmgenet_p
|
||||
bcmgenet_rbuf_ctrl_set(priv, 0);
|
||||
udelay(10);
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1274,6 +1274,9 @@ ifneq ($(dtstree),)
|
||||
@@ -1281,6 +1281,9 @@ ifneq ($(dtstree),)
|
||||
%.dtb: include/config/kernel.release scripts_dtc
|
||||
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
|
||||
@@ -3482,7 +3482,7 @@ static int bcmgenet_probe(struct platfor
|
||||
@@ -3490,7 +3490,7 @@ static int bcmgenet_probe(struct platfor
|
||||
priv = netdev_priv(dev);
|
||||
priv->irq0 = platform_get_irq(pdev, 0);
|
||||
priv->irq1 = platform_get_irq(pdev, 1);
|
||||
|
||||
@@ -382,7 +382,7 @@ Cc: linux-rockchip@lists.infradead.org
|
||||
|
||||
--- a/drivers/pci/pci.h
|
||||
+++ b/drivers/pci/pci.h
|
||||
@@ -643,11 +643,15 @@ static inline void pci_release_bus_of_no
|
||||
@@ -626,11 +626,15 @@ static inline void pci_release_bus_of_no
|
||||
#if defined(CONFIG_OF_ADDRESS)
|
||||
int devm_of_pci_get_host_bridge_resources(struct device *dev,
|
||||
unsigned char busno, unsigned char bus_max,
|
||||
|
||||
@@ -271,7 +271,7 @@ Signed-off-by: Christoph Hellwig <hch@lst.de>
|
||||
u64 dma_direct_get_required_mask(struct device *dev);
|
||||
--- a/include/linux/dma-mapping.h
|
||||
+++ b/include/linux/dma-mapping.h
|
||||
@@ -697,7 +697,7 @@ static inline int dma_coerce_mask_and_co
|
||||
@@ -777,7 +777,7 @@ static inline int dma_coerce_mask_and_co
|
||||
*/
|
||||
static inline bool dma_addressing_limited(struct device *dev)
|
||||
{
|
||||
|
||||
@@ -139,7 +139,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
||||
+...
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -15144,6 +15144,14 @@ S: Maintained
|
||||
@@ -15145,6 +15145,14 @@ S: Maintained
|
||||
F: drivers/media/i2c/imx214.c
|
||||
F: Documentation/devicetree/bindings/media/i2c/sony,imx214.txt
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ Signed-off-by: Nataliya Korovkina <malus.brandywine@gmail.com>
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1274,7 +1274,7 @@ ifneq ($(dtstree),)
|
||||
@@ -1281,7 +1281,7 @@ ifneq ($(dtstree),)
|
||||
%.dtb: include/config/kernel.release scripts_dtc
|
||||
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
|
||||
--- a/drivers/gpu/drm/drm_fourcc.c
|
||||
+++ b/drivers/gpu/drm/drm_fourcc.c
|
||||
@@ -274,6 +274,9 @@ const struct drm_format_info *__drm_form
|
||||
@@ -278,6 +278,9 @@ const struct drm_format_info *__drm_form
|
||||
{ .format = DRM_FORMAT_YUV420_10BIT, .depth = 0,
|
||||
.num_planes = 1, .cpp = { 0, 0, 0 }, .hsub = 2, .vsub = 2,
|
||||
.is_yuv = true },
|
||||
|
||||
@@ -25,7 +25,7 @@ Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
|
||||
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -15197,6 +15197,14 @@ T: git git://linuxtv.org/media_tree.git
|
||||
@@ -15198,6 +15198,14 @@ T: git git://linuxtv.org/media_tree.git
|
||||
S: Maintained
|
||||
F: drivers/media/i2c/imx355.c
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
||||
+ };
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -15201,6 +15201,14 @@ S: Maintained
|
||||
@@ -15202,6 +15202,14 @@ S: Maintained
|
||||
F: drivers/media/i2c/imx274.c
|
||||
F: Documentation/devicetree/bindings/media/i2c/imx274.txt
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
|
||||
@@ -2798,7 +2798,7 @@ static void bcmgenet_set_hw_addr(struct
|
||||
@@ -2806,7 +2806,7 @@ static void bcmgenet_set_hw_addr(struct
|
||||
}
|
||||
|
||||
/* Returns a reusable dma control register value */
|
||||
@@ -33,7 +33,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
{
|
||||
unsigned int i;
|
||||
u32 reg;
|
||||
@@ -2823,6 +2823,14 @@ static u32 bcmgenet_dma_disable(struct b
|
||||
@@ -2831,6 +2831,14 @@ static u32 bcmgenet_dma_disable(struct b
|
||||
udelay(10);
|
||||
bcmgenet_umac_writel(priv, 0, UMAC_TX_FLUSH);
|
||||
|
||||
@@ -48,7 +48,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
return dma_ctrl;
|
||||
}
|
||||
|
||||
@@ -2918,8 +2926,8 @@ static int bcmgenet_open(struct net_devi
|
||||
@@ -2926,8 +2934,8 @@ static int bcmgenet_open(struct net_devi
|
||||
|
||||
bcmgenet_set_hw_addr(priv, dev->dev_addr);
|
||||
|
||||
@@ -59,7 +59,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
/* Reinitialize TDMA and RDMA and SW housekeeping */
|
||||
ret = bcmgenet_init_dma(priv);
|
||||
@@ -3674,7 +3682,7 @@ static int bcmgenet_resume(struct device
|
||||
@@ -3682,7 +3690,7 @@ static int bcmgenet_resume(struct device
|
||||
bcmgenet_power_up(priv, GENET_POWER_WOL_MAGIC);
|
||||
|
||||
/* Disable RX/TX DMA and flush TX queues */
|
||||
|
||||
@@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -493,7 +493,7 @@ KBUILD_LDFLAGS :=
|
||||
@@ -500,7 +500,7 @@ KBUILD_LDFLAGS :=
|
||||
GCC_PLUGINS_CFLAGS :=
|
||||
CLANG_FLAGS :=
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ Commit-Queue: Yu Zhao <yuzhao@chromium.org>
|
||||
#endif
|
||||
--- a/mm/memcontrol.c
|
||||
+++ b/mm/memcontrol.c
|
||||
@@ -3980,8 +3980,8 @@ static int memcg_stat_show(struct seq_fi
|
||||
@@ -3984,8 +3984,8 @@ static int memcg_stat_show(struct seq_fi
|
||||
pg_data_t *pgdat;
|
||||
struct mem_cgroup_per_node *mz;
|
||||
struct zone_reclaim_stat *rstat;
|
||||
|
||||
@@ -570,7 +570,7 @@ Commit-Queue: Yu Zhao <yuzhao@chromium.org>
|
||||
#if defined(CONFIG_NUMA_BALANCING) && !defined(LAST_CPUPID_NOT_IN_PAGE_FLAGS)
|
||||
--- a/mm/swapfile.c
|
||||
+++ b/mm/swapfile.c
|
||||
@@ -2697,6 +2697,8 @@ SYSCALL_DEFINE1(swapoff, const char __us
|
||||
@@ -2702,6 +2702,8 @@ SYSCALL_DEFINE1(swapoff, const char __us
|
||||
err = 0;
|
||||
atomic_inc(&proc_poll_event);
|
||||
wake_up_interruptible(&proc_poll_wait);
|
||||
@@ -579,7 +579,7 @@ Commit-Queue: Yu Zhao <yuzhao@chromium.org>
|
||||
|
||||
out_dput:
|
||||
filp_close(victim, NULL);
|
||||
@@ -3323,6 +3325,8 @@ SYSCALL_DEFINE2(swapon, const char __use
|
||||
@@ -3328,6 +3330,8 @@ SYSCALL_DEFINE2(swapon, const char __use
|
||||
mutex_unlock(&swapon_mutex);
|
||||
atomic_inc(&proc_poll_event);
|
||||
wake_up_interruptible(&proc_poll_wait);
|
||||
|
||||
@@ -210,7 +210,7 @@ Commit-Queue: Yu Zhao <yuzhao@chromium.org>
|
||||
unsigned long start, unsigned long end);
|
||||
--- a/kernel/exit.c
|
||||
+++ b/kernel/exit.c
|
||||
@@ -423,6 +423,7 @@ assign_new_owner:
|
||||
@@ -470,6 +470,7 @@ assign_new_owner:
|
||||
goto retry;
|
||||
}
|
||||
WRITE_ONCE(mm->owner, c);
|
||||
@@ -268,7 +268,7 @@ Commit-Queue: Yu Zhao <yuzhao@chromium.org>
|
||||
|
||||
if (!prev->mm) { // from kernel
|
||||
/* will mmdrop() in finish_task_switch(). */
|
||||
@@ -6284,6 +6285,7 @@ void idle_task_exit(void)
|
||||
@@ -6283,6 +6284,7 @@ void idle_task_exit(void)
|
||||
|
||||
if (mm != &init_mm) {
|
||||
switch_mm(mm, &init_mm, current);
|
||||
@@ -278,7 +278,7 @@ Commit-Queue: Yu Zhao <yuzhao@chromium.org>
|
||||
|
||||
--- a/mm/memcontrol.c
|
||||
+++ b/mm/memcontrol.c
|
||||
@@ -5098,6 +5098,7 @@ static void __mem_cgroup_free(struct mem
|
||||
@@ -5102,6 +5102,7 @@ static void __mem_cgroup_free(struct mem
|
||||
free_mem_cgroup_per_node_info(memcg, node);
|
||||
free_percpu(memcg->vmstats_percpu);
|
||||
free_percpu(memcg->vmstats_local);
|
||||
@@ -286,7 +286,7 @@ Commit-Queue: Yu Zhao <yuzhao@chromium.org>
|
||||
kfree(memcg);
|
||||
}
|
||||
|
||||
@@ -5148,6 +5149,9 @@ static struct mem_cgroup *mem_cgroup_all
|
||||
@@ -5152,6 +5153,9 @@ static struct mem_cgroup *mem_cgroup_all
|
||||
if (alloc_mem_cgroup_per_node_info(memcg, node))
|
||||
goto fail;
|
||||
|
||||
@@ -296,7 +296,7 @@ Commit-Queue: Yu Zhao <yuzhao@chromium.org>
|
||||
if (memcg_wb_domain_init(memcg, GFP_KERNEL))
|
||||
goto fail;
|
||||
|
||||
@@ -6066,6 +6070,29 @@ static void mem_cgroup_move_task(void)
|
||||
@@ -6070,6 +6074,29 @@ static void mem_cgroup_move_task(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -326,7 +326,7 @@ Commit-Queue: Yu Zhao <yuzhao@chromium.org>
|
||||
/*
|
||||
* Cgroup retains root cgroups across [un]mount cycles making it necessary
|
||||
* to verify whether we're attached to the default hierarchy on each mount
|
||||
@@ -6366,6 +6393,7 @@ struct cgroup_subsys memory_cgrp_subsys
|
||||
@@ -6370,6 +6397,7 @@ struct cgroup_subsys memory_cgrp_subsys
|
||||
.css_free = mem_cgroup_css_free,
|
||||
.css_reset = mem_cgroup_css_reset,
|
||||
.can_attach = mem_cgroup_can_attach,
|
||||
|
||||
@@ -192,7 +192,7 @@ Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
||||
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -17585,6 +17585,14 @@ L: linux-gpio@vger.kernel.org
|
||||
@@ -17586,6 +17586,14 @@ L: linux-gpio@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/gpio/gpio-ws16c48.c
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -6326,15 +6326,10 @@ void netif_napi_del(struct napi_struct *
|
||||
@@ -6328,15 +6328,10 @@ void netif_napi_del(struct napi_struct *
|
||||
}
|
||||
EXPORT_SYMBOL(netif_napi_del);
|
||||
|
||||
@@ -35,7 +35,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
weight = n->weight;
|
||||
|
||||
/* This NAPI_STATE_SCHED test is for avoiding a race
|
||||
@@ -6352,7 +6347,7 @@ static int napi_poll(struct napi_struct
|
||||
@@ -6354,7 +6349,7 @@ static int napi_poll(struct napi_struct
|
||||
WARN_ON_ONCE(work > weight);
|
||||
|
||||
if (likely(work < weight))
|
||||
@@ -44,7 +44,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
/* Drivers must not modify the NAPI state if they
|
||||
* consume the entire weight. In such cases this code
|
||||
@@ -6361,7 +6356,7 @@ static int napi_poll(struct napi_struct
|
||||
@@ -6363,7 +6358,7 @@ static int napi_poll(struct napi_struct
|
||||
*/
|
||||
if (unlikely(napi_disable_pending(n))) {
|
||||
napi_complete(n);
|
||||
@@ -53,7 +53,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
}
|
||||
|
||||
if (n->gro_bitmask) {
|
||||
@@ -6379,12 +6374,29 @@ static int napi_poll(struct napi_struct
|
||||
@@ -6381,12 +6376,29 @@ static int napi_poll(struct napi_struct
|
||||
if (unlikely(!list_empty(&n->poll_list))) {
|
||||
pr_warn_once("%s: Budget exhausted after napi rescheduled\n",
|
||||
n->dev ? n->dev->name : "backlog");
|
||||
|
||||
@@ -131,7 +131,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
static int __dev_open(struct net_device *dev, struct netlink_ext_ack *extack)
|
||||
{
|
||||
const struct net_device_ops *ops = dev->netdev_ops;
|
||||
@@ -3889,6 +3911,21 @@ int gro_normal_batch __read_mostly = 8;
|
||||
@@ -3891,6 +3913,21 @@ int gro_normal_batch __read_mostly = 8;
|
||||
static inline void ____napi_schedule(struct softnet_data *sd,
|
||||
struct napi_struct *napi)
|
||||
{
|
||||
@@ -153,7 +153,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
list_add_tail(&napi->poll_list, &sd->poll_list);
|
||||
__raise_softirq_irqoff(NET_RX_SOFTIRQ);
|
||||
}
|
||||
@@ -6280,6 +6317,12 @@ void netif_napi_add(struct net_device *d
|
||||
@@ -6282,6 +6319,12 @@ void netif_napi_add(struct net_device *d
|
||||
set_bit(NAPI_STATE_NPSVC, &napi->state);
|
||||
list_add_rcu(&napi->dev_list, &dev->napi_list);
|
||||
napi_hash_add(napi);
|
||||
@@ -166,7 +166,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
}
|
||||
EXPORT_SYMBOL(netif_napi_add);
|
||||
|
||||
@@ -6296,9 +6339,28 @@ void napi_disable(struct napi_struct *n)
|
||||
@@ -6298,9 +6341,28 @@ void napi_disable(struct napi_struct *n)
|
||||
hrtimer_cancel(&n->timer);
|
||||
|
||||
clear_bit(NAPI_STATE_DISABLE, &n->state);
|
||||
@@ -195,7 +195,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
static void flush_gro_hash(struct napi_struct *napi)
|
||||
{
|
||||
int i;
|
||||
@@ -6323,6 +6385,11 @@ void netif_napi_del(struct napi_struct *
|
||||
@@ -6325,6 +6387,11 @@ void netif_napi_del(struct napi_struct *
|
||||
|
||||
flush_gro_hash(napi);
|
||||
napi->gro_bitmask = 0;
|
||||
@@ -207,7 +207,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
}
|
||||
EXPORT_SYMBOL(netif_napi_del);
|
||||
|
||||
@@ -6402,6 +6469,51 @@ static int napi_poll(struct napi_struct
|
||||
@@ -6404,6 +6471,51 @@ static int napi_poll(struct napi_struct
|
||||
return work;
|
||||
}
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
* @n: NAPI context
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -3915,8 +3915,9 @@ static inline void ____napi_schedule(str
|
||||
@@ -3917,8 +3917,9 @@ static inline void ____napi_schedule(str
|
||||
|
||||
if (test_bit(NAPI_STATE_THREADED, &napi->state)) {
|
||||
/* Paired with smp_mb__before_atomic() in
|
||||
@@ -69,7 +69,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
* wake_up_process() when it's not NULL.
|
||||
*/
|
||||
thread = READ_ONCE(napi->thread);
|
||||
@@ -6294,6 +6295,49 @@ static void init_gro_hash(struct napi_st
|
||||
@@ -6296,6 +6297,49 @@ static void init_gro_hash(struct napi_st
|
||||
napi->gro_bitmask = 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
|
||||
enum gro_result {
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -3922,6 +3922,8 @@ static inline void ____napi_schedule(str
|
||||
@@ -3924,6 +3924,8 @@ static inline void ____napi_schedule(str
|
||||
*/
|
||||
thread = READ_ONCE(napi->thread);
|
||||
if (thread) {
|
||||
@@ -54,7 +54,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
|
||||
wake_up_process(thread);
|
||||
return;
|
||||
}
|
||||
@@ -6082,7 +6084,8 @@ bool napi_complete_done(struct napi_stru
|
||||
@@ -6084,7 +6086,8 @@ bool napi_complete_done(struct napi_stru
|
||||
|
||||
WARN_ON_ONCE(!(val & NAPIF_STATE_SCHED));
|
||||
|
||||
@@ -64,7 +64,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
|
||||
|
||||
/* If STATE_MISSED was set, leave STATE_SCHED set,
|
||||
* because we will call napi->poll() one more time.
|
||||
@@ -6515,16 +6518,25 @@ static int napi_poll(struct napi_struct
|
||||
@@ -6517,16 +6520,25 @@ static int napi_poll(struct napi_struct
|
||||
|
||||
static int napi_thread_wait(struct napi_struct *napi)
|
||||
{
|
||||
|
||||
@@ -34,7 +34,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -6522,7 +6522,7 @@ static int napi_thread_wait(struct napi_
|
||||
@@ -6524,7 +6524,7 @@ static int napi_thread_wait(struct napi_
|
||||
|
||||
set_current_state(TASK_INTERRUPTIBLE);
|
||||
|
||||
@@ -43,7 +43,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
/* Testing SCHED_THREADED bit here to make sure the current
|
||||
* kthread owns this napi and could poll on this napi.
|
||||
* Testing SCHED bit is not enough because SCHED bit might be
|
||||
@@ -6540,6 +6540,7 @@ static int napi_thread_wait(struct napi_
|
||||
@@ -6542,6 +6542,7 @@ static int napi_thread_wait(struct napi_
|
||||
set_current_state(TASK_INTERRUPTIBLE);
|
||||
}
|
||||
__set_current_state(TASK_RUNNING);
|
||||
|
||||
@@ -66,7 +66,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -5476,8 +5476,7 @@ static inline void skb_gro_reset_offset(
|
||||
@@ -5478,8 +5478,7 @@ static inline void skb_gro_reset_offset(
|
||||
NAPI_GRO_CB(skb)->frag0 = NULL;
|
||||
NAPI_GRO_CB(skb)->frag0_len = 0;
|
||||
|
||||
|
||||
@@ -3479,7 +3479,6 @@ CONFIG_NET_CLS_IND=y
|
||||
# CONFIG_NET_CLS_ROUTE4 is not set
|
||||
# CONFIG_NET_CLS_RSVP is not set
|
||||
# CONFIG_NET_CLS_RSVP6 is not set
|
||||
# CONFIG_NET_CLS_TCINDEX is not set
|
||||
# CONFIG_NET_CLS_U32 is not set
|
||||
CONFIG_NET_CORE=y
|
||||
# CONFIG_NET_DEVLINK is not set
|
||||
|
||||
@@ -52,6 +52,12 @@ mtk_wed_device_attach(struct mtk_wed_device *dev)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static inline bool
|
||||
mtk_wed_get_rx_capa(struct mtk_wed_device *dev)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline bool mtk_wed_device_active(struct mtk_wed_device *dev)
|
||||
{
|
||||
return false;
|
||||
|
||||
@@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
help
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -3221,10 +3221,20 @@ static int xmit_one(struct sk_buff *skb,
|
||||
@@ -3223,10 +3223,20 @@ static int xmit_one(struct sk_buff *skb,
|
||||
if (dev_nit_active(dev))
|
||||
dev_queue_xmit_nit(skb, dev);
|
||||
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Tue, 28 Feb 2023 23:38:30 +0100
|
||||
Subject: [PATCH] leds: leds-bcm63138: read default trigger from OF
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
It's needed in kernels older than 5.10 due to the missing commit
|
||||
c49d6cab0d7f ("leds: parse linux,default-trigger DT property in LED
|
||||
core").
|
||||
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
---
|
||||
drivers/leds/blink/leds-bcm63138.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
--- a/drivers/leds/blink/leds-bcm63138.c
|
||||
+++ b/drivers/leds/blink/leds-bcm63138.c
|
||||
@@ -228,6 +228,7 @@ static void bcm63138_leds_create_led(str
|
||||
led->cdev.max_brightness = BCM63138_MAX_BRIGHTNESS;
|
||||
led->cdev.brightness_set = bcm63138_leds_brightness_set;
|
||||
led->cdev.blink_set = bcm63138_leds_blink_set;
|
||||
+ led->cdev.default_trigger = of_get_property(np, "linux,default-trigger", NULL);
|
||||
|
||||
err = devm_led_classdev_register_ext(dev, &led->cdev, &init_data);
|
||||
if (err) {
|
||||
@@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/core/sock.c
|
||||
+++ b/net/core/sock.c
|
||||
@@ -3641,6 +3641,8 @@ static __net_initdata struct pernet_oper
|
||||
@@ -3657,6 +3657,8 @@ static __net_initdata struct pernet_oper
|
||||
|
||||
static int __init proto_init(void)
|
||||
{
|
||||
|
||||
@@ -295,7 +295,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
|
||||
struct nf_conn *ct = item->ct;
|
||||
struct sk_buff *skb;
|
||||
unsigned int type;
|
||||
@@ -3508,9 +3515,15 @@ static int ctnetlink_stat_exp_cpu(struct
|
||||
@@ -3511,9 +3518,15 @@ static int ctnetlink_stat_exp_cpu(struct
|
||||
}
|
||||
|
||||
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
struct net_bridge_port *p;
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -3218,9 +3218,17 @@ static int xmit_one(struct sk_buff *skb,
|
||||
@@ -3220,9 +3220,17 @@ static int xmit_one(struct sk_buff *skb,
|
||||
unsigned int len;
|
||||
int rc;
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
#ifdef CONFIG_ETHERNET_PACKET_MANGLE
|
||||
if (!dev->eth_mangle_tx ||
|
||||
(skb = dev->eth_mangle_tx(dev, skb)) != NULL)
|
||||
@@ -4754,6 +4762,11 @@ void netdev_rx_handler_unregister(struct
|
||||
@@ -4756,6 +4764,11 @@ void netdev_rx_handler_unregister(struct
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister);
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
/*
|
||||
* Limit the use of PFMEMALLOC reserves to those protocols that implement
|
||||
* the special handling of PFMEMALLOC skbs.
|
||||
@@ -4804,6 +4817,10 @@ static int __netif_receive_skb_core(stru
|
||||
@@ -4806,6 +4819,10 @@ static int __netif_receive_skb_core(stru
|
||||
int ret = NET_RX_DROP;
|
||||
__be16 type;
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
net_timestamp_check(!READ_ONCE(netdev_tstamp_prequeue), skb);
|
||||
|
||||
trace_netif_receive_skb(skb);
|
||||
@@ -4843,6 +4860,16 @@ another_round:
|
||||
@@ -4845,6 +4862,16 @@ another_round:
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
+#define LONGSUNG_U9300_PRODUCT_ID 0x9b3c
|
||||
|
||||
/* 4G Systems products */
|
||||
/* This is the 4G XS Stick W14 a.k.a. Mobilcom Debitel Surf-Stick *
|
||||
@@ -610,6 +611,16 @@ static void option_instat_callback(struc
|
||||
/* This one was sold as the VW and Skoda "Carstick LTE" */
|
||||
@@ -612,6 +613,16 @@ static void option_instat_callback(struc
|
||||
/* Device needs ZLP */
|
||||
#define ZLP BIT(17)
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
static const struct usb_device_id option_ids[] = {
|
||||
{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },
|
||||
@@ -644,6 +655,8 @@ static const struct usb_device_id option
|
||||
@@ -646,6 +657,8 @@ static const struct usb_device_id option
|
||||
{ USB_DEVICE(QUANTA_VENDOR_ID, QUANTA_PRODUCT_GLE) },
|
||||
{ USB_DEVICE(QUANTA_VENDOR_ID, 0xea42),
|
||||
.driver_info = RSVD(4) },
|
||||
|
||||
@@ -8,7 +8,7 @@ Signed-off-by: Giuseppe Lippolis <giu.lippolis@gmail.com>
|
||||
|
||||
--- a/drivers/spi/spidev.c
|
||||
+++ b/drivers/spi/spidev.c
|
||||
@@ -689,6 +689,7 @@ static const struct of_device_id spidev_
|
||||
@@ -687,6 +687,7 @@ static const struct of_device_id spidev_
|
||||
{ .compatible = "lwn,bk4" },
|
||||
{ .compatible = "dh,dhcom-board" },
|
||||
{ .compatible = "menlo,m53cpld" },
|
||||
|
||||
@@ -8,7 +8,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
--- a/drivers/mtd/ubi/build.c
|
||||
+++ b/drivers/mtd/ubi/build.c
|
||||
@@ -1161,6 +1161,73 @@ static struct mtd_info * __init open_mtd
|
||||
@@ -1168,6 +1168,73 @@ static struct mtd_info * __init open_mtd
|
||||
return mtd;
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
static int __init ubi_init(void)
|
||||
{
|
||||
int err, i, k;
|
||||
@@ -1244,6 +1311,12 @@ static int __init ubi_init(void)
|
||||
@@ -1251,6 +1318,12 @@ static int __init ubi_init(void)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static bool enable_hooks __read_mostly;
|
||||
MODULE_PARM_DESC(enable_hooks, "Always enable conntrack hooks");
|
||||
module_param(enable_hooks, bool, 0000);
|
||||
@@ -650,6 +653,7 @@ enum nf_ct_sysctl_index {
|
||||
@@ -649,6 +652,7 @@ enum nf_ct_sysctl_index {
|
||||
NF_SYSCTL_CT_PROTO_TIMEOUT_GRE_STREAM,
|
||||
#endif
|
||||
|
||||
@@ -57,7 +57,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
__NF_SYSCTL_CT_LAST_SYSCTL,
|
||||
};
|
||||
|
||||
@@ -976,6 +980,13 @@ static struct ctl_table nf_ct_sysctl_tab
|
||||
@@ -969,6 +973,13 @@ static struct ctl_table nf_ct_sysctl_tab
|
||||
.proc_handler = proc_dointvec_jiffies,
|
||||
},
|
||||
#endif
|
||||
|
||||
@@ -328,7 +328,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
||||
if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP6))
|
||||
return -1;
|
||||
|
||||
@@ -1504,6 +1658,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
|
||||
@@ -1506,6 +1660,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
|
||||
t->parms.link = p->link;
|
||||
t->parms.proto = p->proto;
|
||||
t->parms.fwmark = p->fwmark;
|
||||
@@ -343,7 +343,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
||||
dst_cache_reset(&t->dst_cache);
|
||||
ip6_tnl_link_config(t);
|
||||
return 0;
|
||||
@@ -1542,6 +1704,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
|
||||
@@ -1544,6 +1706,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
|
||||
p->flowinfo = u->flowinfo;
|
||||
p->link = u->link;
|
||||
p->proto = u->proto;
|
||||
@@ -351,7 +351,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
||||
memcpy(p->name, u->name, sizeof(u->name));
|
||||
}
|
||||
|
||||
@@ -1926,6 +2089,15 @@ static int ip6_tnl_validate(struct nlatt
|
||||
@@ -1928,6 +2091,15 @@ static int ip6_tnl_validate(struct nlatt
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -367,7 +367,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
||||
static void ip6_tnl_netlink_parms(struct nlattr *data[],
|
||||
struct __ip6_tnl_parm *parms)
|
||||
{
|
||||
@@ -1963,6 +2135,46 @@ static void ip6_tnl_netlink_parms(struct
|
||||
@@ -1965,6 +2137,46 @@ static void ip6_tnl_netlink_parms(struct
|
||||
|
||||
if (data[IFLA_IPTUN_FWMARK])
|
||||
parms->fwmark = nla_get_u32(data[IFLA_IPTUN_FWMARK]);
|
||||
@@ -414,7 +414,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
||||
}
|
||||
|
||||
static bool ip6_tnl_netlink_encap_parms(struct nlattr *data[],
|
||||
@@ -2078,6 +2290,12 @@ static void ip6_tnl_dellink(struct net_d
|
||||
@@ -2080,6 +2292,12 @@ static void ip6_tnl_dellink(struct net_d
|
||||
|
||||
static size_t ip6_tnl_get_size(const struct net_device *dev)
|
||||
{
|
||||
@@ -427,7 +427,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
||||
return
|
||||
/* IFLA_IPTUN_LINK */
|
||||
nla_total_size(4) +
|
||||
@@ -2107,6 +2325,24 @@ static size_t ip6_tnl_get_size(const str
|
||||
@@ -2109,6 +2327,24 @@ static size_t ip6_tnl_get_size(const str
|
||||
nla_total_size(0) +
|
||||
/* IFLA_IPTUN_FWMARK */
|
||||
nla_total_size(4) +
|
||||
@@ -452,7 +452,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
||||
0;
|
||||
}
|
||||
|
||||
@@ -2114,6 +2350,9 @@ static int ip6_tnl_fill_info(struct sk_b
|
||||
@@ -2116,6 +2352,9 @@ static int ip6_tnl_fill_info(struct sk_b
|
||||
{
|
||||
struct ip6_tnl *tunnel = netdev_priv(dev);
|
||||
struct __ip6_tnl_parm *parm = &tunnel->parms;
|
||||
@@ -462,7 +462,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
||||
|
||||
if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) ||
|
||||
nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) ||
|
||||
@@ -2123,9 +2362,27 @@ static int ip6_tnl_fill_info(struct sk_b
|
||||
@@ -2125,9 +2364,27 @@ static int ip6_tnl_fill_info(struct sk_b
|
||||
nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) ||
|
||||
nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) ||
|
||||
nla_put_u8(skb, IFLA_IPTUN_PROTO, parm->proto) ||
|
||||
@@ -491,7 +491,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
||||
if (nla_put_u16(skb, IFLA_IPTUN_ENCAP_TYPE, tunnel->encap.type) ||
|
||||
nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) ||
|
||||
nla_put_be16(skb, IFLA_IPTUN_ENCAP_DPORT, tunnel->encap.dport) ||
|
||||
@@ -2165,6 +2422,7 @@ static const struct nla_policy ip6_tnl_p
|
||||
@@ -2167,6 +2424,7 @@ static const struct nla_policy ip6_tnl_p
|
||||
[IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 },
|
||||
[IFLA_IPTUN_COLLECT_METADATA] = { .type = NLA_FLAG },
|
||||
[IFLA_IPTUN_FWMARK] = { .type = NLA_U32 },
|
||||
|
||||
@@ -53,7 +53,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
|
||||
--- a/net/ipv4/fib_semantics.c
|
||||
+++ b/net/ipv4/fib_semantics.c
|
||||
@@ -142,6 +142,10 @@ const struct fib_prop fib_props[RTN_MAX
|
||||
@@ -143,6 +143,10 @@ const struct fib_prop fib_props[RTN_MAX
|
||||
.error = -EINVAL,
|
||||
.scope = RT_SCOPE_NOWHERE,
|
||||
},
|
||||
@@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
cfg->fc_flags |= RTF_REJECT;
|
||||
|
||||
if (rtm->rtm_type == RTN_LOCAL)
|
||||
@@ -6091,6 +6122,8 @@ static int ip6_route_dev_notify(struct n
|
||||
@@ -6092,6 +6123,8 @@ static int ip6_route_dev_notify(struct n
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
net->ipv6.ip6_prohibit_entry->dst.dev = dev;
|
||||
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
|
||||
@@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
|
||||
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
|
||||
#endif
|
||||
@@ -6102,6 +6135,7 @@ static int ip6_route_dev_notify(struct n
|
||||
@@ -6103,6 +6136,7 @@ static int ip6_route_dev_notify(struct n
|
||||
in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
|
||||
@@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
|
||||
#endif
|
||||
}
|
||||
@@ -6294,6 +6328,8 @@ static int __net_init ip6_route_net_init
|
||||
@@ -6295,6 +6329,8 @@ static int __net_init ip6_route_net_init
|
||||
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
net->ipv6.fib6_has_custom_rules = false;
|
||||
@@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template,
|
||||
sizeof(*net->ipv6.ip6_prohibit_entry),
|
||||
GFP_KERNEL);
|
||||
@@ -6304,11 +6340,21 @@ static int __net_init ip6_route_net_init
|
||||
@@ -6305,11 +6341,21 @@ static int __net_init ip6_route_net_init
|
||||
ip6_template_metrics, true);
|
||||
INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached);
|
||||
|
||||
@@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
|
||||
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
|
||||
ip6_template_metrics, true);
|
||||
@@ -6332,6 +6378,8 @@ out:
|
||||
@@ -6333,6 +6379,8 @@ out:
|
||||
return ret;
|
||||
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
@@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
out_ip6_prohibit_entry:
|
||||
kfree(net->ipv6.ip6_prohibit_entry);
|
||||
out_ip6_null_entry:
|
||||
@@ -6351,6 +6399,7 @@ static void __net_exit ip6_route_net_exi
|
||||
@@ -6352,6 +6400,7 @@ static void __net_exit ip6_route_net_exi
|
||||
kfree(net->ipv6.ip6_null_entry);
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
kfree(net->ipv6.ip6_prohibit_entry);
|
||||
@@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
kfree(net->ipv6.ip6_blk_hole_entry);
|
||||
#endif
|
||||
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
|
||||
@@ -6434,6 +6483,9 @@ void __init ip6_route_init_special_entri
|
||||
@@ -6435,6 +6484,9 @@ void __init ip6_route_init_special_entri
|
||||
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
||||
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
|
||||
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
||||
|
||||
@@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
__u16 tc_index; /* traffic control index */
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -5542,6 +5542,9 @@ static enum gro_result dev_gro_receive(s
|
||||
@@ -5544,6 +5544,9 @@ static enum gro_result dev_gro_receive(s
|
||||
int same_flow;
|
||||
int grow;
|
||||
|
||||
@@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (netif_elide_gro(skb->dev))
|
||||
goto normal;
|
||||
|
||||
@@ -7485,6 +7488,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
@@ -7487,6 +7490,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
&upper_dev->adj_list.lower);
|
||||
}
|
||||
|
||||
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static int __netdev_upper_dev_link(struct net_device *dev,
|
||||
struct net_device *upper_dev, bool master,
|
||||
void *upper_priv, void *upper_info,
|
||||
@@ -7535,6 +7580,7 @@ static int __netdev_upper_dev_link(struc
|
||||
@@ -7537,6 +7582,7 @@ static int __netdev_upper_dev_link(struc
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
||||
&changeupper_info.info);
|
||||
ret = notifier_to_errno(ret);
|
||||
@@ -7628,6 +7674,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
@@ -7630,6 +7676,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
|
||||
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
|
||||
|
||||
@@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
||||
&changeupper_info.info);
|
||||
|
||||
@@ -8358,6 +8405,7 @@ int dev_set_mac_address(struct net_devic
|
||||
@@ -8360,6 +8407,7 @@ int dev_set_mac_address(struct net_devic
|
||||
if (err)
|
||||
return err;
|
||||
dev->addr_assign_type = NET_ADDR_SET;
|
||||
|
||||
@@ -15,7 +15,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
|
||||
|
||||
--- a/drivers/net/phy/mdio-i2c.c
|
||||
+++ b/drivers/net/phy/mdio-i2c.c
|
||||
@@ -33,17 +33,24 @@ static int i2c_mii_read(struct mii_bus *
|
||||
@@ -32,17 +32,24 @@ static int i2c_mii_read(struct mii_bus *
|
||||
{
|
||||
struct i2c_adapter *i2c = bus->priv;
|
||||
struct i2c_msg msgs[2];
|
||||
@@ -43,7 +43,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
|
||||
msgs[1].addr = bus_addr;
|
||||
msgs[1].flags = I2C_M_RD;
|
||||
msgs[1].len = sizeof(data);
|
||||
@@ -61,18 +68,23 @@ static int i2c_mii_write(struct mii_bus
|
||||
@@ -60,18 +67,23 @@ static int i2c_mii_write(struct mii_bus
|
||||
struct i2c_adapter *i2c = bus->priv;
|
||||
struct i2c_msg msg;
|
||||
int ret;
|
||||
|
||||
@@ -48,7 +48,7 @@ Signed-off-by: Shawn Guo <shawnguo@kernel.org>
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
@@ -609,6 +628,12 @@
|
||||
@@ -608,6 +627,12 @@
|
||||
>;
|
||||
};
|
||||
|
||||
@@ -61,7 +61,7 @@ Signed-off-by: Shawn Guo <shawnguo@kernel.org>
|
||||
pinctrl_keypad: keypadgrp {
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_DISP0_DAT17__GPIO5_IO11 0x0001b0b0 /* KEYPAD_IRQ# */
|
||||
@@ -616,6 +641,12 @@
|
||||
@@ -615,6 +640,12 @@
|
||||
>;
|
||||
};
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ board_config_update
|
||||
board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
askey,rt4230w-rev6 |\
|
||||
asrock,g10 |\
|
||||
nec,wg2600hp)
|
||||
ucidef_add_switch "switch0" \
|
||||
|
||||
@@ -9,6 +9,7 @@ board=$(board_name)
|
||||
case "$FIRMWARE" in
|
||||
"ath10k/pre-cal-pci-0000:01:00.0.bin")
|
||||
case $board in
|
||||
askey,rt4230w-rev6 |\
|
||||
asrock,g10)
|
||||
caldata_extract "0:ART" 0x1000 0x2f20
|
||||
;;
|
||||
@@ -55,6 +56,7 @@ case "$FIRMWARE" in
|
||||
;;
|
||||
"ath10k/pre-cal-pci-0001:01:00.0.bin")
|
||||
case $board in
|
||||
askey,rt4230w-rev6 |\
|
||||
asrock,g10)
|
||||
caldata_extract "0:ART" 0x5000 0x2f20
|
||||
;;
|
||||
|
||||
@@ -10,15 +10,7 @@ platform_check_image() {
|
||||
|
||||
platform_do_upgrade() {
|
||||
case "$(board_name)" in
|
||||
asrock,g10)
|
||||
asrock_upgrade_prepare
|
||||
nand_do_upgrade "$1"
|
||||
;;
|
||||
buffalo,wxr-2533dhp)
|
||||
buffalo_upgrade_prepare_ubi
|
||||
CI_ROOTPART="ubi_rootfs"
|
||||
nand_do_upgrade "$1"
|
||||
;;
|
||||
askey,rt4230w-rev6 |\
|
||||
compex,wpq864|\
|
||||
netgear,d7800 |\
|
||||
netgear,r7500 |\
|
||||
@@ -28,6 +20,15 @@ platform_do_upgrade() {
|
||||
qcom,ipq8064-ap161)
|
||||
nand_do_upgrade "$1"
|
||||
;;
|
||||
asrock,g10)
|
||||
asrock_upgrade_prepare
|
||||
nand_do_upgrade "$1"
|
||||
;;
|
||||
buffalo,wxr-2533dhp)
|
||||
buffalo_upgrade_prepare_ubi
|
||||
CI_ROOTPART="ubi_rootfs"
|
||||
nand_do_upgrade "$1"
|
||||
;;
|
||||
edgecore,ecw5410)
|
||||
part="$(awk -F 'ubi.mtd=' '{printf $2}' /proc/cmdline | sed -e 's/ .*$//')"
|
||||
if [ "$part" = "rootfs1" ]; then
|
||||
|
||||
@@ -0,0 +1,334 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "qcom-ipq8065.dtsi"
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
||||
/ {
|
||||
model = "Askey RT4230W REV6";
|
||||
compatible = "askey,rt4230w-rev6", "qcom,ipq8065", "qcom,ipq8064";
|
||||
|
||||
memory@0 {
|
||||
reg = <0x42000000 0x3e000000>;
|
||||
device_type = "memory";
|
||||
};
|
||||
|
||||
aliases {
|
||||
led-boot = &ledctrl3;
|
||||
led-failsafe = &ledctrl1;
|
||||
led-running = &ledctrl2;
|
||||
led-upgrade = &ledctrl3;
|
||||
};
|
||||
|
||||
chosen {
|
||||
bootargs = "rootfstype=squashfs noinitrd";
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
pinctrl-0 = <&button_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&qcom_pinmux 54 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
|
||||
wps {
|
||||
label = "wps";
|
||||
gpios = <&qcom_pinmux 68 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-0 = <&led_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
ledctrl1: ledctrl1 {
|
||||
label = "ledctrl1";
|
||||
gpios = <&qcom_pinmux 22 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
ledctrl2: ledctrl2 {
|
||||
label = "ledctrl2";
|
||||
gpios = <&qcom_pinmux 23 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
ledctrl3: ledctrl3 {
|
||||
label = "ledctrl3";
|
||||
gpios = <&qcom_pinmux 24 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&qcom_pinmux {
|
||||
button_pins: button_pins {
|
||||
mux {
|
||||
pins = "gpio54", "gpio68";
|
||||
function = "gpio";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
led_pins: led_pins {
|
||||
mux {
|
||||
pins = "gpio22", "gpio23", "gpio24";
|
||||
function = "gpio";
|
||||
drive-strength = <2>;
|
||||
bias-pull-down;
|
||||
};
|
||||
};
|
||||
|
||||
rgmii2_pins: rgmii2_pins {
|
||||
mux {
|
||||
pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31",
|
||||
"gpio51", "gpio52", "gpio59", "gpio60", "gpio61", "gpio62";
|
||||
function = "rgmii2";
|
||||
drive-strength = <8>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
tx {
|
||||
pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32";
|
||||
input-disable;
|
||||
};
|
||||
};
|
||||
|
||||
spi_pins: spi_pins {
|
||||
cs {
|
||||
pins = "gpio20";
|
||||
drive-strength = <12>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&gsbi5 {
|
||||
qcom,mode = <GSBI_PROT_SPI>;
|
||||
status = "okay";
|
||||
|
||||
spi@1a280000 {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&spi_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
flash@0 {
|
||||
compatible = "everspin,mr25h256";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
spi-max-frequency = <40000000>;
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&nand_controller {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&nand_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
nand@0 {
|
||||
reg = <0>;
|
||||
compatible = "qcom,nandcs";
|
||||
|
||||
nand-ecc-strength = <4>;
|
||||
nand-bus-width = <8>;
|
||||
nand-ecc-step-size = <512>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "0:SBL1";
|
||||
reg = <0x0000000 0x0040000>;
|
||||
read-only;
|
||||
};
|
||||
partition@40000 {
|
||||
label = "0:MIBIB";
|
||||
reg = <0x0040000 0x0140000>;
|
||||
read-only;
|
||||
};
|
||||
partition@180000 {
|
||||
label = "0:SBL2";
|
||||
reg = <0x0180000 0x0140000>;
|
||||
read-only;
|
||||
};
|
||||
partition@2c0000 {
|
||||
label = "0:SBL3";
|
||||
reg = <0x02c0000 0x0280000>;
|
||||
read-only;
|
||||
};
|
||||
partition@540000 {
|
||||
label = "0:DDRCONFIG";
|
||||
reg = <0x0540000 0x0120000>;
|
||||
read-only;
|
||||
};
|
||||
partition@660000 {
|
||||
label = "0:SSD";
|
||||
reg = <0x0660000 0x0120000>;
|
||||
read-only;
|
||||
};
|
||||
partition@780000 {
|
||||
label = "0:TZ";
|
||||
reg = <0x0780000 0x0280000>;
|
||||
read-only;
|
||||
};
|
||||
partition@a00000 {
|
||||
label = "0:RPM";
|
||||
reg = <0x0a00000 0x0280000>;
|
||||
read-only;
|
||||
};
|
||||
partition@c80000 {
|
||||
label = "0:APPSBL";
|
||||
reg = <0x0c80000 0x0500000>;
|
||||
read-only;
|
||||
};
|
||||
partition@1180000 {
|
||||
label = "0:APPSBLENV";
|
||||
reg = <0x1180000 0x0080000>;
|
||||
};
|
||||
ART: partition@1200000 {
|
||||
label = "0:ART";
|
||||
reg = <0x1200000 0x0140000>;
|
||||
read-only;
|
||||
};
|
||||
partition@1340000 {
|
||||
label = "0:BOOTCONFIG";
|
||||
reg = <0x1340000 0x0060000>;
|
||||
read-only;
|
||||
};
|
||||
partition@13a0000 {
|
||||
label = "0:SBL2_1";
|
||||
reg = <0x13a0000 0x0140000>;
|
||||
read-only;
|
||||
};
|
||||
partition@14e0000 {
|
||||
label = "0:SBL3_1";
|
||||
reg = <0x14e0000 0x0280000>;
|
||||
read-only;
|
||||
};
|
||||
partition@1760000 {
|
||||
label = "0:DDRCONFIG_1";
|
||||
reg = <0x1760000 0x0120000>;
|
||||
read-only;
|
||||
};
|
||||
partition@1880000 {
|
||||
label = "0:SSD_1";
|
||||
reg = <0x1880000 0x0120000>;
|
||||
read-only;
|
||||
};
|
||||
partition@19a0000 {
|
||||
label = "0:TZ_1";
|
||||
reg = <0x19a0000 0x0280000>;
|
||||
read-only;
|
||||
};
|
||||
partition@1c20000 {
|
||||
label = "0:RPM_1";
|
||||
reg = <0x1c20000 0x0280000>;
|
||||
read-only;
|
||||
};
|
||||
partition@1ea0000 {
|
||||
label = "0:BOOTCONFIG1";
|
||||
reg = <0x1ea0000 0x0060000>;
|
||||
read-only;
|
||||
};
|
||||
partition@1f00000 {
|
||||
label = "0:APPSBL_1";
|
||||
reg = <0x1f00000 0x0500000>;
|
||||
read-only;
|
||||
};
|
||||
partition@2400000 {
|
||||
label = "ubi";
|
||||
reg = <0x2400000 0x1a000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mdio0 {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&mdio0_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
reg = <0x0>;
|
||||
qca,ar8327-initvals = <
|
||||
0x00004 0x7600000 /* PAD0_MODE */
|
||||
0x00008 0x1000000 /* PAD5_MODE */
|
||||
0x0000c 0x80 /* PAD6_MODE */
|
||||
0x000e4 0xaa545 /* MAC_POWER_SEL */
|
||||
0x000e0 0xc74164de /* SGMII_CTRL */
|
||||
0x0007c 0x4e /* PORT0_STATUS */
|
||||
0x00094 0x4e /* PORT6_STATUS */
|
||||
0x00050 0xcf02cf02 /* LED_CTRL_0 */
|
||||
0x00054 0xc832c832 /* LED_CTRL_1 */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&gmac0 {
|
||||
status = "okay";
|
||||
phy-mode = "rgmii";
|
||||
qcom,id = <0>;
|
||||
|
||||
mtd-mac-address = <&ART 0x0>;
|
||||
|
||||
pinctrl-0 = <&rgmii2_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
fixed-link {
|
||||
speed = <1000>;
|
||||
full-duplex;
|
||||
};
|
||||
};
|
||||
|
||||
&gmac1 {
|
||||
status = "okay";
|
||||
phy-mode = "sgmii";
|
||||
qcom,id = <1>;
|
||||
|
||||
mtd-mac-address = <&ART 0x6>;
|
||||
|
||||
fixed-link {
|
||||
speed = <1000>;
|
||||
full-duplex;
|
||||
};
|
||||
};
|
||||
|
||||
&adm_dma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb3_0 {
|
||||
status = "okay";
|
||||
clocks = <&gcc USB30_1_MASTER_CLK>;
|
||||
};
|
||||
|
||||
&usb3_1 {
|
||||
status = "okay";
|
||||
clocks = <&gcc USB30_0_MASTER_CLK>;
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
status = "okay";
|
||||
reset-gpio = <&qcom_pinmux 3 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-0 = <&pcie0_pins>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
&pcie1 {
|
||||
status = "okay";
|
||||
reset-gpio = <&qcom_pinmux 48 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-0 = <&pcie1_pins>;
|
||||
pinctrl-names = "default";
|
||||
max-link-speed = <1>;
|
||||
};
|
||||
@@ -91,6 +91,19 @@ define Device/ZyXELImage
|
||||
IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-to $$$$(BLOCKSIZE) | sysupgrade-tar rootfs=$$$$@ | append-metadata
|
||||
endef
|
||||
|
||||
define Device/askey_rt4230w-rev6
|
||||
$(call Device/LegacyImage)
|
||||
DEVICE_VENDOR := Askey
|
||||
DEVICE_MODEL := RT4230W
|
||||
DEVICE_VARIANT := REV6
|
||||
SOC := qcom-ipq8065
|
||||
BLOCKSIZE := 128k
|
||||
PAGESIZE := 2048
|
||||
DEVICE_PACKAGES := ath10k-firmware-qca9984-ct
|
||||
KERNEL_IN_UBI := 1
|
||||
endef
|
||||
TARGET_DEVICES += askey_rt4230w-rev6
|
||||
|
||||
define Device/asrock_g10
|
||||
$(call Device/FitImage)
|
||||
$(call Device/UbiFit)
|
||||
|
||||
@@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -842,7 +842,25 @@ dtb-$(CONFIG_ARCH_QCOM) += \
|
||||
@@ -842,7 +842,26 @@ dtb-$(CONFIG_ARCH_QCOM) += \
|
||||
qcom-ipq4019-ap.dk04.1-c3.dtb \
|
||||
qcom-ipq4019-ap.dk07.1-c1.dtb \
|
||||
qcom-ipq4019-ap.dk07.1-c2.dtb \
|
||||
@@ -32,6 +32,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
+ qcom-ipq8064-wxr-2533dhp.dtb \
|
||||
+ qcom-ipq8065-nbg6817.dtb \
|
||||
+ qcom-ipq8065-r7800.dtb \
|
||||
+ qcom-ipq8065-rt4230w-rev6.dtb \
|
||||
+ qcom-ipq8068-ecw5410.dtb \
|
||||
qcom-msm8660-surf.dtb \
|
||||
qcom-msm8960-cdp.dtb \
|
||||
|
||||
@@ -46,7 +46,7 @@ Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
|
||||
select PM_OPP
|
||||
--- a/drivers/cpufreq/cpufreq-dt-platdev.c
|
||||
+++ b/drivers/cpufreq/cpufreq-dt-platdev.c
|
||||
@@ -140,6 +140,11 @@ static const struct of_device_id blackli
|
||||
@@ -141,6 +141,11 @@ static const struct of_device_id blackli
|
||||
{ .compatible = "ti,am43", },
|
||||
{ .compatible = "ti,dra7", },
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
default "y"
|
||||
--- a/arch/mips/include/asm/vpe.h
|
||||
+++ b/arch/mips/include/asm/vpe.h
|
||||
@@ -127,4 +127,13 @@ void cleanup_tc(struct tc *tc);
|
||||
@@ -126,4 +126,13 @@ void cleanup_tc(struct tc *tc);
|
||||
|
||||
int __init vpe_module_init(void);
|
||||
void __exit vpe_module_exit(void);
|
||||
@@ -31,15 +31,7 @@
|
||||
#endif /* _ASM_VPE_H */
|
||||
--- a/arch/mips/kernel/vpe-mt.c
|
||||
+++ b/arch/mips/kernel/vpe-mt.c
|
||||
@@ -29,6 +29,7 @@ int vpe_run(struct vpe *v)
|
||||
struct vpe_notifications *notifier;
|
||||
unsigned int vpeflags;
|
||||
struct tc *t;
|
||||
+ unsigned long physical_memsize = 0L;
|
||||
|
||||
/* check we are the Master VPE */
|
||||
local_irq_save(flags);
|
||||
@@ -416,6 +417,8 @@ int __init vpe_module_init(void)
|
||||
@@ -415,6 +415,8 @@ int __init vpe_module_init(void)
|
||||
}
|
||||
|
||||
v->ntcs = hw_tcs - aprp_cpu_index();
|
||||
@@ -48,7 +40,7 @@
|
||||
|
||||
/* add the tc to the list of this vpe's tc's. */
|
||||
list_add(&t->tc, &v->tc);
|
||||
@@ -519,3 +522,47 @@ void __exit vpe_module_exit(void)
|
||||
@@ -518,3 +520,47 @@ void __exit vpe_module_exit(void)
|
||||
release_vpe(v);
|
||||
}
|
||||
}
|
||||
@@ -142,7 +134,7 @@
|
||||
{
|
||||
--- a/arch/mips/lantiq/prom.c
|
||||
+++ b/arch/mips/lantiq/prom.c
|
||||
@@ -34,10 +34,14 @@ unsigned long physical_memsize = 0L;
|
||||
@@ -28,10 +28,14 @@ EXPORT_SYMBOL_GPL(ebu_lock);
|
||||
*/
|
||||
static struct ltq_soc_info soc_info;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/arch/mips/kernel/vpe-mt.c
|
||||
+++ b/arch/mips/kernel/vpe-mt.c
|
||||
@@ -132,7 +132,10 @@ int vpe_run(struct vpe *v)
|
||||
@@ -130,7 +130,10 @@ int vpe_run(struct vpe *v)
|
||||
* kernels need to turn it on, even if that wasn't the pre-dvpe() state.
|
||||
*/
|
||||
#ifdef CONFIG_SMP
|
||||
|
||||
@@ -39,7 +39,7 @@ Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
|
||||
|
||||
--- a/arch/mips/lantiq/prom.c
|
||||
+++ b/arch/mips/lantiq/prom.c
|
||||
@@ -37,6 +37,14 @@ static struct ltq_soc_info soc_info;
|
||||
@@ -31,6 +31,14 @@ static struct ltq_soc_info soc_info;
|
||||
/* for Multithreading (APRP), vpe.c will use it */
|
||||
unsigned long cp0_memsize;
|
||||
|
||||
@@ -54,7 +54,7 @@ Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
|
||||
const char *get_system_type(void)
|
||||
{
|
||||
return soc_info.sys_type;
|
||||
@@ -100,6 +108,17 @@ void __init device_tree_init(void)
|
||||
@@ -94,6 +102,17 @@ void __init device_tree_init(void)
|
||||
unflatten_and_copy_device_tree();
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
|
||||
void __init prom_init(void)
|
||||
{
|
||||
/* call the soc specific detetcion code and get it to fill soc_info */
|
||||
@@ -111,7 +130,10 @@ void __init prom_init(void)
|
||||
@@ -105,7 +124,10 @@ void __init prom_init(void)
|
||||
prom_init_cmdline();
|
||||
|
||||
#if defined(CONFIG_MIPS_MT_SMP)
|
||||
|
||||
@@ -35,7 +35,7 @@ Signed-off-by: Han Xu <han.xu@nxp.com>
|
||||
|
||||
--- a/drivers/mtd/ubi/build.c
|
||||
+++ b/drivers/mtd/ubi/build.c
|
||||
@@ -572,7 +572,7 @@ static int io_init(struct ubi_device *ub
|
||||
@@ -573,7 +573,7 @@ static int io_init(struct ubi_device *ub
|
||||
dbg_gen("sizeof(struct ubi_ainf_peb) %zu", sizeof(struct ubi_ainf_peb));
|
||||
dbg_gen("sizeof(struct ubi_wl_entry) %zu", sizeof(struct ubi_wl_entry));
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -17356,6 +17356,13 @@ S: Maintained
|
||||
@@ -17357,6 +17357,13 @@ S: Maintained
|
||||
F: drivers/input/serio/userio.c
|
||||
F: include/uapi/linux/userio.h
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -17361,6 +17361,7 @@ M: Vladimir Oltean <vladimir.oltean@nxp.
|
||||
@@ -17362,6 +17362,7 @@ M: Vladimir Oltean <vladimir.oltean@nxp.
|
||||
M: Claudiu Manoil <claudiu.manoil@nxp.com>
|
||||
L: netdev@vger.kernel.org
|
||||
S: Maintained
|
||||
|
||||
@@ -11,7 +11,7 @@ This reverts commit e75f4940e8ad0dd76527302a10c06b58bf7eb590.
|
||||
|
||||
--- a/sound/soc/fsl/fsl_sai.c
|
||||
+++ b/sound/soc/fsl/fsl_sai.c
|
||||
@@ -628,16 +628,6 @@ static int fsl_sai_startup(struct snd_pc
|
||||
@@ -629,16 +629,6 @@ static int fsl_sai_startup(struct snd_pc
|
||||
FSL_SAI_CR3_TRCE_MASK,
|
||||
FSL_SAI_CR3_TRCE);
|
||||
|
||||
@@ -28,7 +28,7 @@ This reverts commit e75f4940e8ad0dd76527302a10c06b58bf7eb590.
|
||||
ret = snd_pcm_hw_constraint_list(substream->runtime, 0,
|
||||
SNDRV_PCM_HW_PARAM_RATE, &fsl_sai_rate_constraints);
|
||||
|
||||
@@ -1052,35 +1042,30 @@ static int fsl_sai_remove(struct platfor
|
||||
@@ -1053,35 +1043,30 @@ static int fsl_sai_remove(struct platfor
|
||||
|
||||
static const struct fsl_sai_soc_data fsl_sai_vf610_data = {
|
||||
.use_imx_pcm = false,
|
||||
|
||||
@@ -28,7 +28,7 @@ This reverts commit 63d1a3488ff58e094a7f517cf93c0250f0a3f6be.
|
||||
static int fsl_sai_set_dai_sysclk_tr(struct snd_soc_dai *cpu_dai,
|
||||
int clk_id, unsigned int freq, int fsl_dir)
|
||||
{
|
||||
@@ -433,14 +423,8 @@ static int fsl_sai_hw_params(struct snd_
|
||||
@@ -434,14 +424,8 @@ static int fsl_sai_hw_params(struct snd_
|
||||
slot_width = sai->slot_width;
|
||||
|
||||
if (!sai->is_slave_mode) {
|
||||
@@ -45,7 +45,7 @@ This reverts commit 63d1a3488ff58e094a7f517cf93c0250f0a3f6be.
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@@ -646,7 +630,6 @@ static void fsl_sai_shutdown(struct snd_
|
||||
@@ -647,7 +631,6 @@ static void fsl_sai_shutdown(struct snd_
|
||||
}
|
||||
|
||||
static const struct snd_soc_dai_ops fsl_sai_pcm_dai_ops = {
|
||||
|
||||
@@ -10,7 +10,7 @@ This reverts commit 6eeb60be5ebb73b2e5911e26fb1aed02940b7d09.
|
||||
|
||||
--- a/sound/soc/fsl/fsl_sai.c
|
||||
+++ b/sound/soc/fsl/fsl_sai.c
|
||||
@@ -1047,19 +1047,12 @@ static const struct fsl_sai_soc_data fsl
|
||||
@@ -1048,19 +1048,12 @@ static const struct fsl_sai_soc_data fsl
|
||||
.reg_offset = 8,
|
||||
};
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ This reverts commit a860fac420971c5a90d4f78959b44ead793aee4f.
|
||||
|
||||
--- a/sound/soc/fsl/fsl_sai.c
|
||||
+++ b/sound/soc/fsl/fsl_sai.c
|
||||
@@ -1035,24 +1035,10 @@ static const struct fsl_sai_soc_data fsl
|
||||
@@ -1036,24 +1036,10 @@ static const struct fsl_sai_soc_data fsl
|
||||
.reg_offset = 0,
|
||||
};
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
bool tx = fsl_dir == FSL_FMT_TRANSMITTER;
|
||||
u32 val_cr2 = 0, val_cr4 = 0;
|
||||
|
||||
@@ -290,9 +287,9 @@ static int fsl_sai_set_dai_fmt_tr(struct
|
||||
@@ -291,9 +288,9 @@ static int fsl_sai_set_dai_fmt_tr(struct
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
@@ -88,7 +88,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
FSL_SAI_CR4_MF | FSL_SAI_CR4_FSE |
|
||||
FSL_SAI_CR4_FSP | FSL_SAI_CR4_FSD_MSTR, val_cr4);
|
||||
|
||||
@@ -319,7 +316,6 @@ static int fsl_sai_set_dai_fmt(struct sn
|
||||
@@ -320,7 +317,6 @@ static int fsl_sai_set_dai_fmt(struct sn
|
||||
static int fsl_sai_set_bclk(struct snd_soc_dai *dai, bool tx, u32 freq)
|
||||
{
|
||||
struct fsl_sai *sai = snd_soc_dai_get_drvdata(dai);
|
||||
@@ -96,7 +96,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
unsigned long clk_rate;
|
||||
u32 savediv = 0, ratio, savesub = freq;
|
||||
u32 id;
|
||||
@@ -382,17 +378,17 @@ static int fsl_sai_set_bclk(struct snd_s
|
||||
@@ -383,17 +379,17 @@ static int fsl_sai_set_bclk(struct snd_s
|
||||
*/
|
||||
if ((sai->synchronous[TX] && !sai->synchronous[RX]) ||
|
||||
(!tx && !sai->synchronous[RX])) {
|
||||
@@ -118,7 +118,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
FSL_SAI_CR2_DIV_MASK, savediv - 1);
|
||||
}
|
||||
|
||||
@@ -407,7 +403,6 @@ static int fsl_sai_hw_params(struct snd_
|
||||
@@ -408,7 +404,6 @@ static int fsl_sai_hw_params(struct snd_
|
||||
struct snd_soc_dai *cpu_dai)
|
||||
{
|
||||
struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai);
|
||||
@@ -126,7 +126,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK;
|
||||
unsigned int channels = params_channels(params);
|
||||
u32 word_width = params_width(params);
|
||||
@@ -460,19 +455,19 @@ static int fsl_sai_hw_params(struct snd_
|
||||
@@ -461,19 +456,19 @@ static int fsl_sai_hw_params(struct snd_
|
||||
|
||||
if (!sai->is_slave_mode) {
|
||||
if (!sai->synchronous[TX] && sai->synchronous[RX] && !tx) {
|
||||
@@ -150,7 +150,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
FSL_SAI_CR5_WNW_MASK | FSL_SAI_CR5_W0W_MASK |
|
||||
FSL_SAI_CR5_FBT_MASK, val_cr5);
|
||||
regmap_write(sai->regmap, FSL_SAI_RMR,
|
||||
@@ -480,10 +475,10 @@ static int fsl_sai_hw_params(struct snd_
|
||||
@@ -481,10 +476,10 @@ static int fsl_sai_hw_params(struct snd_
|
||||
}
|
||||
}
|
||||
|
||||
@@ -163,7 +163,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
FSL_SAI_CR5_WNW_MASK | FSL_SAI_CR5_W0W_MASK |
|
||||
FSL_SAI_CR5_FBT_MASK, val_cr5);
|
||||
regmap_write(sai->regmap, FSL_SAI_xMR(tx), ~0UL - ((1 << channels) - 1));
|
||||
@@ -511,8 +506,6 @@ static int fsl_sai_trigger(struct snd_pc
|
||||
@@ -512,8 +507,6 @@ static int fsl_sai_trigger(struct snd_pc
|
||||
struct snd_soc_dai *cpu_dai)
|
||||
{
|
||||
struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai);
|
||||
@@ -172,7 +172,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK;
|
||||
u32 xcsr, count = 100;
|
||||
|
||||
@@ -521,9 +514,9 @@ static int fsl_sai_trigger(struct snd_pc
|
||||
@@ -522,9 +515,9 @@ static int fsl_sai_trigger(struct snd_pc
|
||||
* Rx sync with Tx clocks: Clear SYNC for Tx, set it for Rx.
|
||||
* Tx sync with Rx clocks: Clear SYNC for Rx, set it for Tx.
|
||||
*/
|
||||
@@ -185,7 +185,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
sai->synchronous[RX] ? FSL_SAI_CR2_SYNC : 0);
|
||||
|
||||
/*
|
||||
@@ -534,44 +527,43 @@ static int fsl_sai_trigger(struct snd_pc
|
||||
@@ -535,44 +528,43 @@ static int fsl_sai_trigger(struct snd_pc
|
||||
case SNDRV_PCM_TRIGGER_START:
|
||||
case SNDRV_PCM_TRIGGER_RESUME:
|
||||
case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
|
||||
@@ -242,7 +242,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
FSL_SAI_CSR_FR, FSL_SAI_CSR_FR);
|
||||
|
||||
/*
|
||||
@@ -583,13 +575,13 @@ static int fsl_sai_trigger(struct snd_pc
|
||||
@@ -584,13 +576,13 @@ static int fsl_sai_trigger(struct snd_pc
|
||||
*/
|
||||
if (!sai->is_slave_mode) {
|
||||
/* Software Reset for both Tx and Rx */
|
||||
@@ -262,7 +262,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -604,11 +596,10 @@ static int fsl_sai_startup(struct snd_pc
|
||||
@@ -605,11 +597,10 @@ static int fsl_sai_startup(struct snd_pc
|
||||
struct snd_soc_dai *cpu_dai)
|
||||
{
|
||||
struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai);
|
||||
@@ -275,7 +275,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
FSL_SAI_CR3_TRCE_MASK,
|
||||
FSL_SAI_CR3_TRCE);
|
||||
|
||||
@@ -622,10 +613,9 @@ static void fsl_sai_shutdown(struct snd_
|
||||
@@ -623,10 +614,9 @@ static void fsl_sai_shutdown(struct snd_
|
||||
struct snd_soc_dai *cpu_dai)
|
||||
{
|
||||
struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai);
|
||||
@@ -287,7 +287,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
FSL_SAI_CR3_TRCE_MASK, 0);
|
||||
}
|
||||
|
||||
@@ -643,20 +633,17 @@ static const struct snd_soc_dai_ops fsl_
|
||||
@@ -644,20 +634,17 @@ static const struct snd_soc_dai_ops fsl_
|
||||
static int fsl_sai_dai_probe(struct snd_soc_dai *cpu_dai)
|
||||
{
|
||||
struct fsl_sai *sai = dev_get_drvdata(cpu_dai->dev);
|
||||
@@ -314,7 +314,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
FSL_SAI_MAXBURST_RX - 1);
|
||||
|
||||
snd_soc_dai_init_dma_data(cpu_dai, &sai->dma_params_tx,
|
||||
@@ -694,12 +681,12 @@ static const struct snd_soc_component_dr
|
||||
@@ -695,12 +682,12 @@ static const struct snd_soc_component_dr
|
||||
.name = "fsl-sai",
|
||||
};
|
||||
|
||||
@@ -333,7 +333,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
{FSL_SAI_TDR0, 0},
|
||||
{FSL_SAI_TDR1, 0},
|
||||
{FSL_SAI_TDR2, 0},
|
||||
@@ -708,50 +695,24 @@ static struct reg_default fsl_sai_reg_de
|
||||
@@ -709,50 +696,24 @@ static struct reg_default fsl_sai_reg_de
|
||||
{FSL_SAI_TDR5, 0},
|
||||
{FSL_SAI_TDR6, 0},
|
||||
{FSL_SAI_TDR7, 0},
|
||||
@@ -397,7 +397,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
case FSL_SAI_TFR0:
|
||||
case FSL_SAI_TFR1:
|
||||
case FSL_SAI_TFR2:
|
||||
@@ -761,6 +722,12 @@ static bool fsl_sai_readable_reg(struct
|
||||
@@ -762,6 +723,12 @@ static bool fsl_sai_readable_reg(struct
|
||||
case FSL_SAI_TFR6:
|
||||
case FSL_SAI_TFR7:
|
||||
case FSL_SAI_TMR:
|
||||
@@ -410,7 +410,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
case FSL_SAI_RDR0:
|
||||
case FSL_SAI_RDR1:
|
||||
case FSL_SAI_RDR2:
|
||||
@@ -786,13 +753,9 @@ static bool fsl_sai_readable_reg(struct
|
||||
@@ -787,13 +754,9 @@ static bool fsl_sai_readable_reg(struct
|
||||
|
||||
static bool fsl_sai_volatile_reg(struct device *dev, unsigned int reg)
|
||||
{
|
||||
@@ -426,7 +426,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
case FSL_SAI_TFR0:
|
||||
case FSL_SAI_TFR1:
|
||||
case FSL_SAI_TFR2:
|
||||
@@ -825,16 +788,13 @@ static bool fsl_sai_volatile_reg(struct
|
||||
@@ -826,16 +789,13 @@ static bool fsl_sai_volatile_reg(struct
|
||||
|
||||
static bool fsl_sai_writeable_reg(struct device *dev, unsigned int reg)
|
||||
{
|
||||
@@ -449,7 +449,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
case FSL_SAI_TDR0:
|
||||
case FSL_SAI_TDR1:
|
||||
case FSL_SAI_TDR2:
|
||||
@@ -844,6 +804,12 @@ static bool fsl_sai_writeable_reg(struct
|
||||
@@ -845,6 +805,12 @@ static bool fsl_sai_writeable_reg(struct
|
||||
case FSL_SAI_TDR6:
|
||||
case FSL_SAI_TDR7:
|
||||
case FSL_SAI_TMR:
|
||||
@@ -462,7 +462,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
case FSL_SAI_RMR:
|
||||
return true;
|
||||
default:
|
||||
@@ -851,15 +817,15 @@ static bool fsl_sai_writeable_reg(struct
|
||||
@@ -852,15 +818,15 @@ static bool fsl_sai_writeable_reg(struct
|
||||
}
|
||||
}
|
||||
|
||||
@@ -481,7 +481,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
.readable_reg = fsl_sai_readable_reg,
|
||||
.volatile_reg = fsl_sai_volatile_reg,
|
||||
.writeable_reg = fsl_sai_writeable_reg,
|
||||
@@ -891,12 +857,6 @@ static int fsl_sai_probe(struct platform
|
||||
@@ -892,12 +858,6 @@ static int fsl_sai_probe(struct platform
|
||||
if (IS_ERR(base))
|
||||
return PTR_ERR(base);
|
||||
|
||||
@@ -494,7 +494,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
sai->regmap = devm_regmap_init_mmio_clk(&pdev->dev,
|
||||
"bus", base, &fsl_sai_regmap_config);
|
||||
|
||||
@@ -1026,13 +986,11 @@ static int fsl_sai_remove(struct platfor
|
||||
@@ -1027,13 +987,11 @@ static int fsl_sai_remove(struct platfor
|
||||
static const struct fsl_sai_soc_data fsl_sai_vf610_data = {
|
||||
.use_imx_pcm = false,
|
||||
.fifo_depth = 32,
|
||||
@@ -508,7 +508,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
};
|
||||
|
||||
static const struct of_device_id fsl_sai_ids[] = {
|
||||
@@ -1065,7 +1023,6 @@ static int fsl_sai_runtime_suspend(struc
|
||||
@@ -1066,7 +1024,6 @@ static int fsl_sai_runtime_suspend(struc
|
||||
static int fsl_sai_runtime_resume(struct device *dev)
|
||||
{
|
||||
struct fsl_sai *sai = dev_get_drvdata(dev);
|
||||
@@ -516,7 +516,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
||||
int ret;
|
||||
|
||||
ret = clk_prepare_enable(sai->bus_clk);
|
||||
@@ -1087,11 +1044,11 @@ static int fsl_sai_runtime_resume(struct
|
||||
@@ -1088,11 +1045,11 @@ static int fsl_sai_runtime_resume(struct
|
||||
}
|
||||
|
||||
regcache_cache_only(sai->regmap, false);
|
||||
|
||||
@@ -11,7 +11,7 @@ This reverts commit b84f50b0fcb497a62068926fca793d2d213c7dbd.
|
||||
|
||||
--- a/sound/soc/fsl/fsl_sai.c
|
||||
+++ b/sound/soc/fsl/fsl_sai.c
|
||||
@@ -599,8 +599,7 @@ static int fsl_sai_startup(struct snd_pc
|
||||
@@ -600,8 +600,7 @@ static int fsl_sai_startup(struct snd_pc
|
||||
bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK;
|
||||
int ret;
|
||||
|
||||
@@ -21,7 +21,7 @@ This reverts commit b84f50b0fcb497a62068926fca793d2d213c7dbd.
|
||||
FSL_SAI_CR3_TRCE);
|
||||
|
||||
ret = snd_pcm_hw_constraint_list(substream->runtime, 0,
|
||||
@@ -615,8 +614,7 @@ static void fsl_sai_shutdown(struct snd_
|
||||
@@ -616,8 +615,7 @@ static void fsl_sai_shutdown(struct snd_
|
||||
struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai);
|
||||
bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK;
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ This reverts commit 5f0ac20ed6db1d6da2eea8b862cf3d54fdfb5830.
|
||||
|
||||
--- a/sound/soc/fsl/fsl_sai.c
|
||||
+++ b/sound/soc/fsl/fsl_sai.c
|
||||
@@ -685,14 +685,7 @@ static struct reg_default fsl_sai_reg_de
|
||||
@@ -686,14 +686,7 @@ static struct reg_default fsl_sai_reg_de
|
||||
{FSL_SAI_TCR3, 0},
|
||||
{FSL_SAI_TCR4, 0},
|
||||
{FSL_SAI_TCR5, 0},
|
||||
@@ -28,7 +28,7 @@ This reverts commit 5f0ac20ed6db1d6da2eea8b862cf3d54fdfb5830.
|
||||
{FSL_SAI_TMR, 0},
|
||||
{FSL_SAI_RCR1, 0},
|
||||
{FSL_SAI_RCR2, 0},
|
||||
@@ -711,14 +704,7 @@ static bool fsl_sai_readable_reg(struct
|
||||
@@ -712,14 +705,7 @@ static bool fsl_sai_readable_reg(struct
|
||||
case FSL_SAI_TCR3:
|
||||
case FSL_SAI_TCR4:
|
||||
case FSL_SAI_TCR5:
|
||||
@@ -44,7 +44,7 @@ This reverts commit 5f0ac20ed6db1d6da2eea8b862cf3d54fdfb5830.
|
||||
case FSL_SAI_TMR:
|
||||
case FSL_SAI_RCSR:
|
||||
case FSL_SAI_RCR1:
|
||||
@@ -726,22 +712,8 @@ static bool fsl_sai_readable_reg(struct
|
||||
@@ -727,22 +713,8 @@ static bool fsl_sai_readable_reg(struct
|
||||
case FSL_SAI_RCR3:
|
||||
case FSL_SAI_RCR4:
|
||||
case FSL_SAI_RCR5:
|
||||
@@ -69,7 +69,7 @@ This reverts commit 5f0ac20ed6db1d6da2eea8b862cf3d54fdfb5830.
|
||||
case FSL_SAI_RMR:
|
||||
return true;
|
||||
default:
|
||||
@@ -754,30 +726,9 @@ static bool fsl_sai_volatile_reg(struct
|
||||
@@ -755,30 +727,9 @@ static bool fsl_sai_volatile_reg(struct
|
||||
switch (reg) {
|
||||
case FSL_SAI_TCSR:
|
||||
case FSL_SAI_RCSR:
|
||||
@@ -103,7 +103,7 @@ This reverts commit 5f0ac20ed6db1d6da2eea8b862cf3d54fdfb5830.
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
@@ -793,14 +744,7 @@ static bool fsl_sai_writeable_reg(struct
|
||||
@@ -794,14 +745,7 @@ static bool fsl_sai_writeable_reg(struct
|
||||
case FSL_SAI_TCR3:
|
||||
case FSL_SAI_TCR4:
|
||||
case FSL_SAI_TCR5:
|
||||
@@ -119,7 +119,7 @@ This reverts commit 5f0ac20ed6db1d6da2eea8b862cf3d54fdfb5830.
|
||||
case FSL_SAI_TMR:
|
||||
case FSL_SAI_RCSR:
|
||||
case FSL_SAI_RCR1:
|
||||
@@ -942,8 +886,8 @@ static int fsl_sai_probe(struct platform
|
||||
@@ -943,8 +887,8 @@ static int fsl_sai_probe(struct platform
|
||||
MCLK_DIR(index));
|
||||
}
|
||||
|
||||
|
||||
@@ -154,7 +154,7 @@ This reverts commit cf9441adb1a35506d7606866c382b9d8614169b5.
|
||||
esai_priv->name, esai_priv);
|
||||
--- a/sound/soc/fsl/fsl_sai.c
|
||||
+++ b/sound/soc/fsl/fsl_sai.c
|
||||
@@ -831,8 +831,10 @@ static int fsl_sai_probe(struct platform
|
||||
@@ -832,8 +832,10 @@ static int fsl_sai_probe(struct platform
|
||||
}
|
||||
|
||||
irq = platform_get_irq(pdev, 0);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user