From a630b9c181c5d365ab7dc8c5642276611a5e0c0c Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Thu, 17 Dec 2020 17:46:40 -0800 Subject: [PATCH 1/6] tools/libressl: update to 3.3.1 Signed-off-by: Rosen Penev --- tools/libressl/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/libressl/Makefile b/tools/libressl/Makefile index 0cc26a930c..dbd8ca4d1a 100644 --- a/tools/libressl/Makefile +++ b/tools/libressl/Makefile @@ -8,8 +8,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libressl -PKG_VERSION:=3.2.1 -PKG_HASH:=d28db224cfb6d18009b2a7e8cb213cd5c943bbec87550062fef6a38479250315 +PKG_VERSION:=3.3.1 +PKG_HASH:=a6d331865e0164a13ac85a228e52517f7cf8f8488f2f95f34e7857302f97cfdb PKG_RELEASE:=1 PKG_CPE_ID:=cpe:/a:openbsd:libressl From 0be03639d97a3c639f9572a95a4d423422a3e936 Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Sun, 13 Dec 2020 14:36:17 -1000 Subject: [PATCH 2/6] build/json: add filesystem information Some images are created using different filesystems, most popular squashfs and ext4. To allow downstream projects to distinguesh between those, add the `filesystem` information to created json files. Signed-off-by: Paul Spooren --- include/image.mk | 1 + scripts/json_add_image_info.py | 1 + 2 files changed, 2 insertions(+) diff --git a/include/image.mk b/include/image.mk index 8ee4b68c5b..c791ffdc6d 100644 --- a/include/image.mk +++ b/include/image.mk @@ -597,6 +597,7 @@ define Device/Build/image SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH) \ IMAGE_NAME="$(IMAGE_NAME)" \ IMAGE_TYPE=$(word 1,$(subst ., ,$(2))) \ + IMAGE_FILESYSTEM="$(1)" \ IMAGE_PREFIX="$(IMAGE_PREFIX)" \ DEVICE_VENDOR="$(DEVICE_VENDOR)" \ DEVICE_MODEL="$(DEVICE_MODEL)" \ diff --git a/scripts/json_add_image_info.py b/scripts/json_add_image_info.py index ac907c777c..d394cf4d1f 100755 --- a/scripts/json_add_image_info.py +++ b/scripts/json_add_image_info.py @@ -51,6 +51,7 @@ image_info = { "images": [ { "type": getenv("IMAGE_TYPE"), + "filesystem": getenv("IMAGE_FILESYSTEM"), "name": getenv("IMAGE_NAME"), "sha256": image_hash, } From e67db96778e84eca4803935df7f2f23f32a8c9c6 Mon Sep 17 00:00:00 2001 From: CN_SZTL Date: Sat, 19 Dec 2020 18:15:26 +0800 Subject: [PATCH 3/6] luci-app-docker: Updated `docker-ce` -> `docker` --- package/ctcgfw/luci-app-dockerman/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/ctcgfw/luci-app-dockerman/Makefile b/package/ctcgfw/luci-app-dockerman/Makefile index 5839a7388b..9aa6c629c2 100644 --- a/package/ctcgfw/luci-app-dockerman/Makefile +++ b/package/ctcgfw/luci-app-dockerman/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=Docker Manager interface for LuCI -LUCI_DEPENDS:=+luci-lib-docker +docker-ce +e2fsprogs +fdisk +ttyd +LUCI_DEPENDS:=+luci-lib-docker +docker +e2fsprogs +fdisk +ttyd PKG_NAME:=luci-app-dockerman PKG_VERSION:=v0.4.7 PKG_RELEASE:=leanmod From ad24260456c6a5e11457650bdd3da50d0691a83d Mon Sep 17 00:00:00 2001 From: CN_SZTL Date: Sun, 13 Dec 2020 00:23:07 +0800 Subject: [PATCH 4/6] luci-app-cpufreq: add support for multiple policies --- .../luasrc/model/cbi/cpufreq.lua | 101 ++++++++++-------- .../luci-app-cpufreq/root/etc/config/cpufreq | 5 - .../luci-app-cpufreq/root/etc/init.d/cpufreq | 31 +++--- 3 files changed, 72 insertions(+), 65 deletions(-) diff --git a/package/lean/luci-app-cpufreq/luasrc/model/cbi/cpufreq.lua b/package/lean/luci-app-cpufreq/luasrc/model/cbi/cpufreq.lua index c31a54288c..bee3b6006c 100644 --- a/package/lean/luci-app-cpufreq/luasrc/model/cbi/cpufreq.lua +++ b/package/lean/luci-app-cpufreq/luasrc/model/cbi/cpufreq.lua @@ -1,60 +1,69 @@ local fs = require "nixio.fs" -cpu_freqs = fs.readfile("/sys/devices/system/cpu/cpufreq/policy0/scaling_available_frequencies") or "100000" -cpu_freqs = string.sub(cpu_freqs, 1, -3) - -cpu_governors = fs.readfile("/sys/devices/system/cpu/cpufreq/policy0/scaling_available_governors") or "performance" -cpu_governors = string.sub(cpu_governors, 1, -3) - function string.split(input, delimiter) - input = tostring(input) - delimiter = tostring(delimiter) - if (delimiter=='') then return false end - local pos,arr = 0, {} - for st,sp in function() return string.find(input, delimiter, pos, true) end do - table.insert(arr, string.sub(input, pos, st - 1)) - pos = sp + 1 - end - table.insert(arr, string.sub(input, pos)) - return arr + input = tostring(input) + delimiter = tostring(delimiter) + if (delimiter=='') then return false end + local pos,arr = 0, {} + for st,sp in function() return string.find(input, delimiter, pos, true) end do + table.insert(arr, string.sub(input, pos, st - 1)) + pos = sp + 1 + end + table.insert(arr, string.sub(input, pos)) + return arr end -freq_array = string.split(cpu_freqs, " ") -governor_array = string.split(cpu_governors, " ") - mp = Map("cpufreq", translate("CPU Freq Settings")) mp.description = translate("Set CPU Scaling Governor to Max Performance or Balance Mode") s = mp:section(NamedSection, "cpufreq", "settings") s.anonymouse = true -governor = s:option(ListValue, "governor", translate("CPU Scaling Governor")) -for _, e in ipairs(governor_array) do - if e ~= "" then governor:value(translate(e,string.upper(e))) end +local policy_nums = luci.sys.exec("echo -n $(find /sys/devices/system/cpu/cpufreq/policy* -maxdepth 0 | grep -Eo '[0-9]+')") +for _, policy_num in ipairs(string.split(policy_nums, " ")) do + if not fs.access("/sys/devices/system/cpu/cpufreq/policy" .. policy_num .. "/scaling_available_frequencies") then return end + + cpu_freqs = fs.readfile("/sys/devices/system/cpu/cpufreq/policy" .. policy_num .. "/scaling_available_frequencies") + cpu_freqs = string.sub(cpu_freqs, 1, -3) + + cpu_governors = fs.readfile("/sys/devices/system/cpu/cpufreq/policy" .. policy_num .. "/scaling_available_governors") + cpu_governors = string.sub(cpu_governors, 1, -3) + + + freq_array = string.split(cpu_freqs, " ") + governor_array = string.split(cpu_governors, " ") + + s:tab(policy_num, translate("Policy " .. policy_num)) + + governor = s:taboption(policy_num, ListValue, "governor" .. policy_num, translate("CPU Scaling Governor")) + for _, e in ipairs(governor_array) do + if e ~= "" then governor:value(translate(e,string.upper(e))) end + end + + minfreq = s:taboption(policy_num, ListValue, "minfreq" .. policy_num, translate("Min Idle CPU Freq")) + for _, e in ipairs(freq_array) do + if e ~= "" then minfreq:value(e) end + end + + maxfreq = s:taboption(policy_num, ListValue, "maxfreq" .. policy_num, translate("Max Turbo Boost CPU Freq")) + for _, e in ipairs(freq_array) do + if e ~= "" then maxfreq:value(e) end + end + + upthreshold = s:taboption(policy_num, Value, "upthreshold" .. policy_num, translate("CPU Switching Threshold")) + upthreshold.datatype="range(1,99)" + upthreshold.description = translate("Kernel make a decision on whether it should increase the frequency (%)") + upthreshold.placeholder = 50 + upthreshold.default = 50 + upthreshold:depends("governor", "ondemand") + + factor = s:taboption(policy_num, Value, "factor" .. policy_num, translate("CPU Switching Sampling rate")) + factor.datatype="range(1,100000)" + factor.description = translate("The sampling rate determines how frequently the governor checks to tune the CPU (ms)") + factor.placeholder = 10 + factor.default = 10 + factor:depends("governor", "ondemand") + end -minfreq = s:option(ListValue, "minfreq", translate("Min Idle CPU Freq")) -for _, e in ipairs(freq_array) do - if e ~= "" then minfreq:value(e) end -end - -maxfreq = s:option(ListValue, "maxfreq", translate("Max Turbo Boost CPU Freq")) -for _, e in ipairs(freq_array) do - if e ~= "" then maxfreq:value(e) end -end - -upthreshold = s:option(Value, "upthreshold", translate("CPU Switching Threshold")) -upthreshold.datatype="range(1,99)" -upthreshold.description = translate("Kernel make a decision on whether it should increase the frequency (%)") -upthreshold.placeholder = 50 -upthreshold.default = 50 -upthreshold:depends("governor", "ondemand") - -factor = s:option(Value, "factor", translate("CPU Switching Sampling rate")) -factor.datatype="range(1,100000)" -factor.description = translate("The sampling rate determines how frequently the governor checks to tune the CPU (ms)") -factor.placeholder = 10 -factor.default = 10 -factor:depends("governor", "ondemand") - return mp diff --git a/package/lean/luci-app-cpufreq/root/etc/config/cpufreq b/package/lean/luci-app-cpufreq/root/etc/config/cpufreq index 0e7eaede33..5c2c070e9d 100644 --- a/package/lean/luci-app-cpufreq/root/etc/config/cpufreq +++ b/package/lean/luci-app-cpufreq/root/etc/config/cpufreq @@ -1,8 +1,3 @@ config settings 'cpufreq' - option governor '' - option minfreq '' - option maxfreq '' - option upthreshold '50' - option factor '10' diff --git a/package/lean/luci-app-cpufreq/root/etc/init.d/cpufreq b/package/lean/luci-app-cpufreq/root/etc/init.d/cpufreq index 00379ca22b..2df64d10a2 100755 --- a/package/lean/luci-app-cpufreq/root/etc/init.d/cpufreq +++ b/package/lean/luci-app-cpufreq/root/etc/init.d/cpufreq @@ -3,22 +3,25 @@ START=50 NAME="cpufreq" +config_get_cpufreq() +{ + config_get "$NAME" "$1" +} + start() { - config_load cpufreq - config_get "governor" "${NAME}" "governor" - config_get "minfreq" "${NAME}" "minfreq" - config_get "maxfreq" "${NAME}" "maxfreq" - config_get "upthreshold" "${NAME}" "upthreshold" "50" - config_get "factor" "${NAME}" "factor" "10" + config_load "$NAME" - [ -z "${governor}" ] && exit 0 + for i in $(find /sys/devices/system/cpu/cpufreq/policy* -maxdepth 0 | grep -Eo '[0-9]+') + do + [ -z "$(config_get_cpufreq "governor$i")" ] && return - echo "${governor}" > "/sys/devices/system/cpu/cpufreq/policy0/scaling_governor" - echo "${minfreq}" > "/sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq" - echo "${maxfreq}" > "/sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq" - if [ "${governor}" = "ondemand" ]; then - echo "${upthreshold}" > "/sys/devices/system/cpu/cpufreq/ondemand/up_threshold" - echo "${factor}" > "/sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor" - fi + config_get_cpufreq "governor$i" > "/sys/devices/system/cpu/cpufreq/policy$i/scaling_governor" + config_get_cpufreq "minfreq$i" > "/sys/devices/system/cpu/cpufreq/policy$i/scaling_min_freq" + config_get_cpufreq "maxfreq$i" > "/sys/devices/system/cpu/cpufreq/policy$i/scaling_max_freq" + if [ "$(config_get_cpufreq "governor$i")" = "ondemand" ]; then + config_get_cpufreq "upthreshold$i" > "/sys/devices/system/cpu/cpufreq/ondemand/up_threshold" + config_get_cpufreq "factor$i" > "/sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor" + fi + done } From 36f27036e312c71226d7a407d890486dfd776dd8 Mon Sep 17 00:00:00 2001 From: gw826943555 Date: Fri, 18 Dec 2020 22:59:41 +0800 Subject: [PATCH 5/6] ipq40xx: improve cpu operating points and overclock to 896Mz This patch will match the clock-latency-ns values in the device tree for those found inside the OEM device tree and kernel source code and unlock 896Mhz CPU operating points. --- .../995-ipq40xx-unlock-cpu-frequency.patch | 58 +++++++++++++++++++ .../995-ipq40xx-unlock-cpu-frequency.patch | 53 +++++++++++++++++ 2 files changed, 111 insertions(+) create mode 100644 target/linux/ipq40xx/patches-4.14/995-ipq40xx-unlock-cpu-frequency.patch create mode 100644 target/linux/ipq40xx/patches-4.19/995-ipq40xx-unlock-cpu-frequency.patch diff --git a/target/linux/ipq40xx/patches-4.14/995-ipq40xx-unlock-cpu-frequency.patch b/target/linux/ipq40xx/patches-4.14/995-ipq40xx-unlock-cpu-frequency.patch new file mode 100644 index 0000000000..6ef34d45b0 --- /dev/null +++ b/target/linux/ipq40xx/patches-4.14/995-ipq40xx-unlock-cpu-frequency.patch @@ -0,0 +1,58 @@ +From: William +Subject: [PATCH] ipq40xx: improve CPU clock +Date: Tue, 15 Dec 2020 15:26:35 +0800 + +This patch will match the clock-latency-ns values in the device tree +for those found inside the OEM device tree and kernel source code and +unlock 896Mhz CPU operating points. + +Signed-off-by: William +--- +--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi ++++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi +@@ -116,24 +116,29 @@ + + opp-48000000 { + opp-hz = /bits/ 64 <48000000>; +- clock-latency-ns = <256000>; ++ clock-latency-ns = <100000>; + opp-microvolt = <1100000>; + }; + opp-200000000 { + opp-hz = /bits/ 64 <200000000>; +- clock-latency-ns = <256000>; ++ clock-latency-ns = <100000>; + opp-microvolt = <1100000>; + }; + opp-500000000 { + opp-hz = /bits/ 64 <500000000>; +- clock-latency-ns = <256000>; ++ clock-latency-ns = <100000>; + opp-microvolt = <1100000>; + }; + opp-716000000 { + opp-hz = /bits/ 64 <716000000>; +- clock-latency-ns = <256000>; ++ clock-latency-ns = <100000>; + opp-microvolt = <1100000>; + }; ++ opp-896000000 { ++ opp-hz = /bits/ 64 <896000000>; ++ clock-latency-ns = <100000>; ++ opp-microvolt = <1100000>; ++ }; + }; + + pmu { +--- a/drivers/clk/qcom/gcc-ipq4019.c ++++ b/drivers/clk/qcom/gcc-ipq4019.c +@@ -589,6 +589,9 @@ static const struct freq_tbl ftbl_gcc_ap + F(632000000, P_DDRPLLAPSS, 1, 0, 0), + F(672000000, P_DDRPLLAPSS, 1, 0, 0), + F(716000000, P_DDRPLLAPSS, 1, 0, 0), ++ F(768000000, P_DDRPLLAPSS, 1, 0, 0), ++ F(823000000, P_DDRPLLAPSS, 1, 0, 0), ++ F(896000000, P_DDRPLLAPSS, 1, 0, 0), + { } + }; + diff --git a/target/linux/ipq40xx/patches-4.19/995-ipq40xx-unlock-cpu-frequency.patch b/target/linux/ipq40xx/patches-4.19/995-ipq40xx-unlock-cpu-frequency.patch new file mode 100644 index 0000000000..cd1fa50a4a --- /dev/null +++ b/target/linux/ipq40xx/patches-4.19/995-ipq40xx-unlock-cpu-frequency.patch @@ -0,0 +1,53 @@ +From: William +Subject: [PATCH] ipq40xx: improve CPU clock +Date: Tue, 15 Dec 2020 15:26:35 +0800 + +This patch will match the clock-latency-ns values in the device tree +for those found inside the OEM device tree and kernel source code and +unlock 896Mhz CPU operating points. + +Signed-off-by: William +--- +--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi ++++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi +@@ -114,20 +114,24 @@ + + opp-48000000 { + opp-hz = /bits/ 64 <48000000>; +- clock-latency-ns = <256000>; ++ clock-latency-ns = <100000>; + }; + opp-200000000 { + opp-hz = /bits/ 64 <200000000>; +- clock-latency-ns = <256000>; ++ clock-latency-ns = <100000>; + }; + opp-500000000 { + opp-hz = /bits/ 64 <500000000>; +- clock-latency-ns = <256000>; ++ clock-latency-ns = <100000>; + }; + opp-716000000 { + opp-hz = /bits/ 64 <716000000>; +- clock-latency-ns = <256000>; ++ clock-latency-ns = <100000>; + }; ++ opp-896000000 { ++ opp-hz = /bits/ 64 <896000000>; ++ clock-latency-ns = <100000>; ++ }; + }; + + memory { +--- a/drivers/clk/qcom/gcc-ipq4019.c ++++ b/drivers/clk/qcom/gcc-ipq4019.c +@@ -579,6 +579,9 @@ static const struct freq_tbl ftbl_gcc_ap + F(632000000, P_DDRPLLAPSS, 1, 0, 0), + F(672000000, P_DDRPLLAPSS, 1, 0, 0), + F(716000000, P_DDRPLLAPSS, 1, 0, 0), ++ F(768000000, P_DDRPLLAPSS, 1, 0, 0), ++ F(823000000, P_DDRPLLAPSS, 1, 0, 0), ++ F(896000000, P_DDRPLLAPSS, 1, 0, 0), + { } + }; + From 07c5ef44a49798bd928ef7a9fc006e8427bae48e Mon Sep 17 00:00:00 2001 From: CN_SZTL Date: Sat, 19 Dec 2020 21:11:50 +0800 Subject: [PATCH 6/6] kernel: bump to 4.9.248, 4.14.212, 4.19.163 Remove upstreamed: - target/linux/generic/backport-4.14/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch - target/linux/generic/backport-4.19/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch - target/linux/generic/backport-4.9/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch Refreshed all patches. Signed-off-by: CN_SZTL --- include/kernel-version.mk | 12 ++--- .../910-unaligned_access_hacks.patch | 4 +- .../910-unaligned_access_hacks.patch | 6 +-- .../910-unaligned_access_hacks.patch | 4 +- ...2835-enable-shared-interrupt-support.patch | 2 +- .../patches-4.14/075-spi_support.patch | 2 +- .../patches-4.19/075-spi_support.patch | 2 +- ...ption-fix-dwm-158-3g-modem-interface.patch | 2 +- ...e-size-of-hook-entry-point-locations.patch | 2 +- ...t-ipeth-fix-connectivity-with-ios-14.patch | 44 ------------------- ...t-ipeth-fix-connectivity-with-ios-14.patch | 44 ------------------- ...90-net-generalize-napi_complete_done.patch | 4 +- ...t-ipeth-fix-connectivity-with-ios-14.patch | 44 ------------------- .../998-usb-serial-option-add-u9300.patch | 4 +- .../998-usb-serial-option-add-u9300.patch | 4 +- ...w_table-add-hardware-offload-support.patch | 6 +-- ...inor-code-reorganization-for-use_dma.patch | 6 +-- ...redundant-variables-for-BAM-SG-count.patch | 4 +- ...rror-handling-for-i2c-error-in-BAM-m.patch | 2 +- ...complete-transfer-length-to-choose-D.patch | 4 +- ...ompletion-timeout-according-to-trans.patch | 2 +- ...er-overflow-for-multiple-msg-of-maxi.patch | 8 ++-- ...zation-of-driver-code-to-remove-poll.patch | 10 ++--- ...zation-of-driver-code-to-remove-poll.patch | 18 ++++---- .../804-i2c-support-layerscape.patch | 10 ++--- 25 files changed, 59 insertions(+), 191 deletions(-) delete mode 100644 target/linux/generic/backport-4.14/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch delete mode 100644 target/linux/generic/backport-4.19/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch delete mode 100644 target/linux/generic/backport-4.9/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 29d4afbbab..180f66f759 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -6,13 +6,13 @@ ifdef CONFIG_TESTING_KERNEL KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER) endif -LINUX_VERSION-4.9 = .247 -LINUX_VERSION-4.14 = .210 -LINUX_VERSION-4.19 = .161 +LINUX_VERSION-4.9 = .248 +LINUX_VERSION-4.14 = .212 +LINUX_VERSION-4.19 = .163 -LINUX_KERNEL_HASH-4.9.247 = f73aeb0046a94c6cedcc3edc07d5609f1fc64a38c445983a68bf5d84f56acfd6 -LINUX_KERNEL_HASH-4.14.210 = f91851d0b43c39732f9ee3afa1850145aee21e3bc71b3bf4b9a0b8a74dc4fd18 -LINUX_KERNEL_HASH-4.19.161 = 07412995966899dda7842b808937b55884106465545a162d6f31f3f4ebd43c41 +LINUX_KERNEL_HASH-4.9.248 = 4687268061c9933c298b30d28e4bf1a30dfbab7c0da4bee194968e4f81ffeccf +LINUX_KERNEL_HASH-4.14.212 = 0e1bc32c4842c3bbee3a15454408f528acd4d3c5e83312b93008d5ee2e9a0c79 +LINUX_KERNEL_HASH-4.19.163 = 3eeec4e5eb8a129be3536357ecb028fae7d82fac933dcfac0b6089ee398fc5fc remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch index 2c49e9ac64..afc34acd74 100644 --- a/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch +++ b/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch @@ -598,7 +598,7 @@ #include --- a/include/net/inet_ecn.h +++ b/include/net/inet_ecn.h -@@ -125,9 +125,9 @@ static inline int IP6_ECN_set_ce(struct +@@ -126,9 +126,9 @@ static inline int IP6_ECN_set_ce(struct if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph))) return 0; @@ -610,7 +610,7 @@ if (skb->ip_summed == CHECKSUM_COMPLETE) skb->csum = csum_add(csum_sub(skb->csum, (__force __wsum)from), (__force __wsum)to); -@@ -136,7 +136,7 @@ static inline int IP6_ECN_set_ce(struct +@@ -137,7 +137,7 @@ static inline int IP6_ECN_set_ce(struct static inline void IP6_ECN_clear(struct ipv6hdr *iph) { diff --git a/target/linux/ar71xx/patches-4.9/910-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-4.9/910-unaligned_access_hacks.patch index 43c3e58c98..bce80441fc 100644 --- a/target/linux/ar71xx/patches-4.9/910-unaligned_access_hacks.patch +++ b/target/linux/ar71xx/patches-4.9/910-unaligned_access_hacks.patch @@ -589,7 +589,7 @@ #include --- a/include/net/inet_ecn.h +++ b/include/net/inet_ecn.h -@@ -124,9 +124,9 @@ static inline int IP6_ECN_set_ce(struct +@@ -125,9 +125,9 @@ static inline int IP6_ECN_set_ce(struct if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph))) return 0; @@ -601,7 +601,7 @@ if (skb->ip_summed == CHECKSUM_COMPLETE) skb->csum = csum_add(csum_sub(skb->csum, (__force __wsum)from), (__force __wsum)to); -@@ -135,7 +135,7 @@ static inline int IP6_ECN_set_ce(struct +@@ -136,7 +136,7 @@ static inline int IP6_ECN_set_ce(struct static inline void IP6_ECN_clear(struct ipv6hdr *iph) { @@ -771,7 +771,7 @@ static struct fib6_node *node_alloc(void) --- a/net/netfilter/nf_conntrack_proto_tcp.c +++ b/net/netfilter/nf_conntrack_proto_tcp.c -@@ -462,7 +462,7 @@ static void tcp_sack(const struct sk_buf +@@ -460,7 +460,7 @@ static void tcp_sack(const struct sk_buf /* Fast path for timestamp-only option */ if (length == TCPOLEN_TSTAMP_ALIGNED diff --git a/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch index 8a37898399..da6d97a896 100644 --- a/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch @@ -578,7 +578,7 @@ #include --- a/include/net/inet_ecn.h +++ b/include/net/inet_ecn.h -@@ -125,9 +125,9 @@ static inline int IP6_ECN_set_ce(struct +@@ -126,9 +126,9 @@ static inline int IP6_ECN_set_ce(struct if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph))) return 0; @@ -590,7 +590,7 @@ if (skb->ip_summed == CHECKSUM_COMPLETE) skb->csum = csum_add(csum_sub(skb->csum, (__force __wsum)from), (__force __wsum)to); -@@ -136,7 +136,7 @@ static inline int IP6_ECN_set_ce(struct +@@ -137,7 +137,7 @@ static inline int IP6_ECN_set_ce(struct static inline void IP6_ECN_clear(struct ipv6hdr *iph) { diff --git a/target/linux/bcm27xx/patches-4.19/950-0477-spi-bcm2835-enable-shared-interrupt-support.patch b/target/linux/bcm27xx/patches-4.19/950-0477-spi-bcm2835-enable-shared-interrupt-support.patch index f929b3a969..65fd1085c1 100644 --- a/target/linux/bcm27xx/patches-4.19/950-0477-spi-bcm2835-enable-shared-interrupt-support.patch +++ b/target/linux/bcm27xx/patches-4.19/950-0477-spi-bcm2835-enable-shared-interrupt-support.patch @@ -23,7 +23,7 @@ Signed-off-by: Martin Sperl /* Read as many bytes as possible from FIFO */ bcm2835_rd_fifo(bs); /* Write as many bytes as possible to FIFO */ -@@ -756,7 +760,8 @@ static int bcm2835_spi_probe(struct plat +@@ -753,7 +757,8 @@ static int bcm2835_spi_probe(struct plat bcm2835_wr(bs, BCM2835_SPI_CS, BCM2835_SPI_CS_CLEAR_RX | BCM2835_SPI_CS_CLEAR_TX); diff --git a/target/linux/cns3xxx/patches-4.14/075-spi_support.patch b/target/linux/cns3xxx/patches-4.14/075-spi_support.patch index 6921799928..61d9707491 100644 --- a/target/linux/cns3xxx/patches-4.14/075-spi_support.patch +++ b/target/linux/cns3xxx/patches-4.14/075-spi_support.patch @@ -26,7 +26,7 @@ obj-$(CONFIG_SPI_DLN2) += spi-dln2.o --- a/include/linux/spi/spi.h +++ b/include/linux/spi/spi.h -@@ -799,6 +799,10 @@ struct spi_transfer { +@@ -818,6 +818,10 @@ struct spi_transfer { u32 speed_hz; struct list_head transfer_list; diff --git a/target/linux/cns3xxx/patches-4.19/075-spi_support.patch b/target/linux/cns3xxx/patches-4.19/075-spi_support.patch index 4c13c521f5..b66bea0290 100644 --- a/target/linux/cns3xxx/patches-4.19/075-spi_support.patch +++ b/target/linux/cns3xxx/patches-4.19/075-spi_support.patch @@ -26,7 +26,7 @@ obj-$(CONFIG_SPI_DLN2) += spi-dln2.o --- a/include/linux/spi/spi.h +++ b/include/linux/spi/spi.h -@@ -795,6 +795,10 @@ struct spi_transfer { +@@ -814,6 +814,10 @@ struct spi_transfer { u32 speed_hz; struct list_head transfer_list; diff --git a/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch b/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch index 4ad22b3de1..4315b8d6bb 100644 --- a/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch +++ b/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch @@ -30,7 +30,7 @@ Signed-off-by: Johan Hovold --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c -@@ -2011,7 +2011,8 @@ static const struct usb_device_id option +@@ -2012,7 +2012,8 @@ static const struct usb_device_id option { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d01, 0xff) }, /* D-Link DWM-156 (variant) */ { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d02, 0xff) }, { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d03, 0xff) }, diff --git a/target/linux/generic/backport-4.14/293-v4.16-netfilter-reduce-size-of-hook-entry-point-locations.patch b/target/linux/generic/backport-4.14/293-v4.16-netfilter-reduce-size-of-hook-entry-point-locations.patch index 4b889120bf..ed532a0ee0 100644 --- a/target/linux/generic/backport-4.14/293-v4.16-netfilter-reduce-size-of-hook-entry-point-locations.patch +++ b/target/linux/generic/backport-4.14/293-v4.16-netfilter-reduce-size-of-hook-entry-point-locations.patch @@ -92,7 +92,7 @@ Signed-off-by: Pablo Neira Ayuso #endif --- a/net/bridge/br_netfilter_hooks.c +++ b/net/bridge/br_netfilter_hooks.c -@@ -991,7 +991,7 @@ int br_nf_hook_thresh(unsigned int hook, +@@ -994,7 +994,7 @@ int br_nf_hook_thresh(unsigned int hook, unsigned int i; int ret; diff --git a/target/linux/generic/backport-4.14/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch b/target/linux/generic/backport-4.14/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch deleted file mode 100644 index aebc8752b4..0000000000 --- a/target/linux/generic/backport-4.14/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch +++ /dev/null @@ -1,44 +0,0 @@ -From: Yves-Alexis Perez -Subject: [PATCH] usbnet: ipheth: fix connectivity with iOS 14 -Date: Thu, 19 Nov 2020 18:24:39 +0100 -Archived-At: -List-Post: - -Starting with iOS 14 released in September 2020, connectivity using the -personal hotspot USB tethering function of iOS devices is broken. - -Communication between the host and the device (for example ICMP traffic -or DNS resolution using the DNS service running in the device itself) -works fine, but communication to endpoints further away doesn't work. - -Investigation on the matter shows that UDP and ICMP traffic from the -tethered host is reaching the Internet at all. For TCP traffic there are -exchanges between tethered host and server but packets are modified in -transit leading to impossible communication. - -After some trials Matti Vuorela discovered that reducing the URB buffer -size by two bytes restored the previous behavior. While a better -solution might exist to fix the issue, since the protocol is not -publicly documented and considering the small size of the fix, let's do -that. - -Tested-by: Matti Vuorela -Signed-off-by: Yves-Alexis Perez -Link: https://lore.kernel.org/linux-usb/CAAn0qaXmysJ9vx3ZEMkViv_B19ju-_ExN8Yn_uSefxpjS6g4Lw@mail.gmail.com/ -Link: https://github.com/libimobiledevice/libimobiledevice/issues/1038 -Cc: stable@vger.kernel.org ---- - drivers/net/usb/ipheth.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/net/usb/ipheth.c -+++ b/drivers/net/usb/ipheth.c -@@ -70,7 +70,7 @@ - #define IPHETH_USBINTF_SUBCLASS 253 - #define IPHETH_USBINTF_PROTO 1 - --#define IPHETH_BUF_SIZE 1516 -+#define IPHETH_BUF_SIZE 1514 - #define IPHETH_IP_ALIGN 2 /* padding at front of URB */ - #define IPHETH_TX_TIMEOUT (5 * HZ) - diff --git a/target/linux/generic/backport-4.19/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch b/target/linux/generic/backport-4.19/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch deleted file mode 100644 index aebc8752b4..0000000000 --- a/target/linux/generic/backport-4.19/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch +++ /dev/null @@ -1,44 +0,0 @@ -From: Yves-Alexis Perez -Subject: [PATCH] usbnet: ipheth: fix connectivity with iOS 14 -Date: Thu, 19 Nov 2020 18:24:39 +0100 -Archived-At: -List-Post: - -Starting with iOS 14 released in September 2020, connectivity using the -personal hotspot USB tethering function of iOS devices is broken. - -Communication between the host and the device (for example ICMP traffic -or DNS resolution using the DNS service running in the device itself) -works fine, but communication to endpoints further away doesn't work. - -Investigation on the matter shows that UDP and ICMP traffic from the -tethered host is reaching the Internet at all. For TCP traffic there are -exchanges between tethered host and server but packets are modified in -transit leading to impossible communication. - -After some trials Matti Vuorela discovered that reducing the URB buffer -size by two bytes restored the previous behavior. While a better -solution might exist to fix the issue, since the protocol is not -publicly documented and considering the small size of the fix, let's do -that. - -Tested-by: Matti Vuorela -Signed-off-by: Yves-Alexis Perez -Link: https://lore.kernel.org/linux-usb/CAAn0qaXmysJ9vx3ZEMkViv_B19ju-_ExN8Yn_uSefxpjS6g4Lw@mail.gmail.com/ -Link: https://github.com/libimobiledevice/libimobiledevice/issues/1038 -Cc: stable@vger.kernel.org ---- - drivers/net/usb/ipheth.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/net/usb/ipheth.c -+++ b/drivers/net/usb/ipheth.c -@@ -70,7 +70,7 @@ - #define IPHETH_USBINTF_SUBCLASS 253 - #define IPHETH_USBINTF_PROTO 1 - --#define IPHETH_BUF_SIZE 1516 -+#define IPHETH_BUF_SIZE 1514 - #define IPHETH_IP_ALIGN 2 /* padding at front of URB */ - #define IPHETH_TX_TIMEOUT (5 * HZ) - diff --git a/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch b/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch index 6a52187163..027bf673d1 100644 --- a/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch +++ b/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch @@ -712,7 +712,7 @@ Signed-off-by: David S. Miller * then check once more to make sure we are done. --- a/drivers/net/ethernet/ibm/ibmvnic.c +++ b/drivers/net/ethernet/ibm/ibmvnic.c -@@ -1028,7 +1028,7 @@ restart_poll: +@@ -1034,7 +1034,7 @@ restart_poll: if (frames_processed < budget) { enable_scrq_irq(adapter, adapter->rx_scrq[scrq_num]); @@ -949,7 +949,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/pasemi/pasemi_mac.c +++ b/drivers/net/ethernet/pasemi/pasemi_mac.c -@@ -1575,7 +1575,7 @@ static int pasemi_mac_poll(struct napi_s +@@ -1579,7 +1579,7 @@ static int pasemi_mac_poll(struct napi_s pkts = pasemi_mac_clean_rx(rx_ring(mac), budget); if (pkts < budget) { /* all done, no more packets present */ diff --git a/target/linux/generic/backport-4.9/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch b/target/linux/generic/backport-4.9/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch deleted file mode 100644 index aebc8752b4..0000000000 --- a/target/linux/generic/backport-4.9/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch +++ /dev/null @@ -1,44 +0,0 @@ -From: Yves-Alexis Perez -Subject: [PATCH] usbnet: ipheth: fix connectivity with iOS 14 -Date: Thu, 19 Nov 2020 18:24:39 +0100 -Archived-At: -List-Post: - -Starting with iOS 14 released in September 2020, connectivity using the -personal hotspot USB tethering function of iOS devices is broken. - -Communication between the host and the device (for example ICMP traffic -or DNS resolution using the DNS service running in the device itself) -works fine, but communication to endpoints further away doesn't work. - -Investigation on the matter shows that UDP and ICMP traffic from the -tethered host is reaching the Internet at all. For TCP traffic there are -exchanges between tethered host and server but packets are modified in -transit leading to impossible communication. - -After some trials Matti Vuorela discovered that reducing the URB buffer -size by two bytes restored the previous behavior. While a better -solution might exist to fix the issue, since the protocol is not -publicly documented and considering the small size of the fix, let's do -that. - -Tested-by: Matti Vuorela -Signed-off-by: Yves-Alexis Perez -Link: https://lore.kernel.org/linux-usb/CAAn0qaXmysJ9vx3ZEMkViv_B19ju-_ExN8Yn_uSefxpjS6g4Lw@mail.gmail.com/ -Link: https://github.com/libimobiledevice/libimobiledevice/issues/1038 -Cc: stable@vger.kernel.org ---- - drivers/net/usb/ipheth.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/net/usb/ipheth.c -+++ b/drivers/net/usb/ipheth.c -@@ -70,7 +70,7 @@ - #define IPHETH_USBINTF_SUBCLASS 253 - #define IPHETH_USBINTF_PROTO 1 - --#define IPHETH_BUF_SIZE 1516 -+#define IPHETH_BUF_SIZE 1514 - #define IPHETH_IP_ALIGN 2 /* padding at front of URB */ - #define IPHETH_TX_TIMEOUT (5 * HZ) - diff --git a/target/linux/generic/hack-4.14/998-usb-serial-option-add-u9300.patch b/target/linux/generic/hack-4.14/998-usb-serial-option-add-u9300.patch index 95be1a2283..ed7a8b5272 100644 --- a/target/linux/generic/hack-4.14/998-usb-serial-option-add-u9300.patch +++ b/target/linux/generic/hack-4.14/998-usb-serial-option-add-u9300.patch @@ -18,7 +18,7 @@ /* 4G Systems products */ /* This is the 4G XS Stick W14 a.k.a. Mobilcom Debitel Surf-Stick * -@@ -577,6 +578,16 @@ static void option_instat_callback(struc +@@ -578,6 +579,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) }, -@@ -611,6 +622,8 @@ static const struct usb_device_id option +@@ -612,6 +623,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) }, diff --git a/target/linux/generic/hack-4.19/998-usb-serial-option-add-u9300.patch b/target/linux/generic/hack-4.19/998-usb-serial-option-add-u9300.patch index 7a33edc75a..ad594257fd 100644 --- a/target/linux/generic/hack-4.19/998-usb-serial-option-add-u9300.patch +++ b/target/linux/generic/hack-4.19/998-usb-serial-option-add-u9300.patch @@ -18,7 +18,7 @@ /* 4G Systems products */ /* This is the 4G XS Stick W14 a.k.a. Mobilcom Debitel Surf-Stick * -@@ -574,6 +575,16 @@ static void option_instat_callback(struc +@@ -575,6 +576,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) }, -@@ -608,6 +619,8 @@ static const struct usb_device_id option +@@ -609,6 +620,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) }, diff --git a/target/linux/generic/pending-4.19/640-netfilter-nf_flow_table-add-hardware-offload-support.patch b/target/linux/generic/pending-4.19/640-netfilter-nf_flow_table-add-hardware-offload-support.patch index d46f8e95f4..585d41514b 100644 --- a/target/linux/generic/pending-4.19/640-netfilter-nf_flow_table-add-hardware-offload-support.patch +++ b/target/linux/generic/pending-4.19/640-netfilter-nf_flow_table-add-hardware-offload-support.patch @@ -506,7 +506,7 @@ Signed-off-by: Pablo Neira Ayuso +MODULE_ALIAS("nf-flow-table-hw"); --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c -@@ -5499,6 +5499,13 @@ static int nf_tables_flowtable_parse_hoo +@@ -5500,6 +5500,13 @@ static int nf_tables_flowtable_parse_hoo if (err < 0) return err; @@ -520,7 +520,7 @@ Signed-off-by: Pablo Neira Ayuso ops = kcalloc(n, sizeof(struct nf_hook_ops), GFP_KERNEL); if (!ops) return -ENOMEM; -@@ -5630,10 +5637,19 @@ static int nf_tables_newflowtable(struct +@@ -5631,10 +5638,19 @@ static int nf_tables_newflowtable(struct } flowtable->data.type = type; @@ -540,7 +540,7 @@ Signed-off-by: Pablo Neira Ayuso err = nf_tables_flowtable_parse_hook(&ctx, nla[NFTA_FLOWTABLE_HOOK], flowtable); if (err < 0) -@@ -5759,7 +5775,8 @@ static int nf_tables_fill_flowtable_info +@@ -5760,7 +5776,8 @@ static int nf_tables_fill_flowtable_info nla_put_string(skb, NFTA_FLOWTABLE_NAME, flowtable->name) || nla_put_be32(skb, NFTA_FLOWTABLE_USE, htonl(flowtable->use)) || nla_put_be64(skb, NFTA_FLOWTABLE_HANDLE, cpu_to_be64(flowtable->handle), diff --git a/target/linux/ipq40xx/patches-4.14/088-0003-i2c-qup-minor-code-reorganization-for-use_dma.patch b/target/linux/ipq40xx/patches-4.14/088-0003-i2c-qup-minor-code-reorganization-for-use_dma.patch index a6cbfcf2b0..037233f171 100644 --- a/target/linux/ipq40xx/patches-4.14/088-0003-i2c-qup-minor-code-reorganization-for-use_dma.patch +++ b/target/linux/ipq40xx/patches-4.14/088-0003-i2c-qup-minor-code-reorganization-for-use_dma.patch @@ -27,7 +27,7 @@ Signed-off-by: Wolfram Sang struct dma_pool *dpool; struct qup_i2c_tag start_tag; struct qup_i2c_bam brx; -@@ -1288,7 +1290,7 @@ static int qup_i2c_xfer_v2(struct i2c_ad +@@ -1289,7 +1291,7 @@ static int qup_i2c_xfer_v2(struct i2c_ad int num) { struct qup_i2c_dev *qup = i2c_get_adapdata(adap); @@ -36,7 +36,7 @@ Signed-off-by: Wolfram Sang qup->bus_err = 0; qup->qup_err = 0; -@@ -1317,13 +1319,12 @@ static int qup_i2c_xfer_v2(struct i2c_ad +@@ -1318,13 +1320,12 @@ static int qup_i2c_xfer_v2(struct i2c_ad len = (msgs[idx].len > qup->out_fifo_sz) || (msgs[idx].len > qup->in_fifo_sz); @@ -54,7 +54,7 @@ Signed-off-by: Wolfram Sang } idx = 0; -@@ -1347,15 +1348,17 @@ static int qup_i2c_xfer_v2(struct i2c_ad +@@ -1348,15 +1349,17 @@ static int qup_i2c_xfer_v2(struct i2c_ad reinit_completion(&qup->xfer); diff --git a/target/linux/ipq40xx/patches-4.14/088-0004-i2c-qup-remove-redundant-variables-for-BAM-SG-count.patch b/target/linux/ipq40xx/patches-4.14/088-0004-i2c-qup-remove-redundant-variables-for-BAM-SG-count.patch index e18af41789..bd050ddfca 100644 --- a/target/linux/ipq40xx/patches-4.14/088-0004-i2c-qup-remove-redundant-variables-for-BAM-SG-count.patch +++ b/target/linux/ipq40xx/patches-4.14/088-0004-i2c-qup-remove-redundant-variables-for-BAM-SG-count.patch @@ -149,7 +149,7 @@ Signed-off-by: Wolfram Sang DMA_PREP_INTERRUPT); if (!rxd) { dev_err(qup->dev, "failed to get rx desc\n"); -@@ -844,7 +838,7 @@ static int qup_i2c_bam_do_xfer(struct qu +@@ -845,7 +839,7 @@ static int qup_i2c_bam_do_xfer(struct qu goto desc_err; } @@ -158,7 +158,7 @@ Signed-off-by: Wolfram Sang writel(QUP_BAM_INPUT_EOT, qup->base + QUP_OUT_FIFO_BASE); -@@ -862,10 +856,10 @@ static int qup_i2c_bam_do_xfer(struct qu +@@ -863,10 +857,10 @@ static int qup_i2c_bam_do_xfer(struct qu } desc_err: diff --git a/target/linux/ipq40xx/patches-4.14/088-0007-i2c-qup-proper-error-handling-for-i2c-error-in-BAM-m.patch b/target/linux/ipq40xx/patches-4.14/088-0007-i2c-qup-proper-error-handling-for-i2c-error-in-BAM-m.patch index a86f144caf..48f40847de 100644 --- a/target/linux/ipq40xx/patches-4.14/088-0007-i2c-qup-proper-error-handling-for-i2c-error-in-BAM-m.patch +++ b/target/linux/ipq40xx/patches-4.14/088-0007-i2c-qup-proper-error-handling-for-i2c-error-in-BAM-m.patch @@ -67,7 +67,7 @@ Signed-off-by: Wolfram Sang goto done; } -@@ -847,20 +862,12 @@ static int qup_i2c_bam_do_xfer(struct qu +@@ -848,20 +863,12 @@ static int qup_i2c_bam_do_xfer(struct qu goto desc_err; } diff --git a/target/linux/ipq40xx/patches-4.14/088-0008-i2c-qup-use-the-complete-transfer-length-to-choose-D.patch b/target/linux/ipq40xx/patches-4.14/088-0008-i2c-qup-use-the-complete-transfer-length-to-choose-D.patch index 3d68695588..e29b95d508 100644 --- a/target/linux/ipq40xx/patches-4.14/088-0008-i2c-qup-use-the-complete-transfer-length-to-choose-D.patch +++ b/target/linux/ipq40xx/patches-4.14/088-0008-i2c-qup-use-the-complete-transfer-length-to-choose-D.patch @@ -22,7 +22,7 @@ Signed-off-by: Wolfram Sang --- a/drivers/i2c/busses/i2c-qup.c +++ b/drivers/i2c/busses/i2c-qup.c -@@ -1300,7 +1300,8 @@ static int qup_i2c_xfer_v2(struct i2c_ad +@@ -1301,7 +1301,8 @@ static int qup_i2c_xfer_v2(struct i2c_ad int num) { struct qup_i2c_dev *qup = i2c_get_adapdata(adap); @@ -32,7 +32,7 @@ Signed-off-by: Wolfram Sang qup->bus_err = 0; qup->qup_err = 0; -@@ -1326,14 +1327,14 @@ static int qup_i2c_xfer_v2(struct i2c_ad +@@ -1327,14 +1328,14 @@ static int qup_i2c_xfer_v2(struct i2c_ad goto out; } diff --git a/target/linux/ipq40xx/patches-4.14/088-0009-i2c-qup-change-completion-timeout-according-to-trans.patch b/target/linux/ipq40xx/patches-4.14/088-0009-i2c-qup-change-completion-timeout-according-to-trans.patch index c95d20ec97..07becb9d8a 100644 --- a/target/linux/ipq40xx/patches-4.14/088-0009-i2c-qup-change-completion-timeout-according-to-trans.patch +++ b/target/linux/ipq40xx/patches-4.14/088-0009-i2c-qup-change-completion-timeout-according-to-trans.patch @@ -50,7 +50,7 @@ Signed-off-by: Wolfram Sang dev_err(qup->dev, "normal trans timed out\n"); ret = -ETIMEDOUT; } -@@ -1605,6 +1610,8 @@ nodma: +@@ -1606,6 +1611,8 @@ nodma: */ one_bit_t = (USEC_PER_SEC / clk_freq) + 1; qup->one_byte_t = one_bit_t * 9; diff --git a/target/linux/ipq40xx/patches-4.14/088-0010-i2c-qup-fix-buffer-overflow-for-multiple-msg-of-maxi.patch b/target/linux/ipq40xx/patches-4.14/088-0010-i2c-qup-fix-buffer-overflow-for-multiple-msg-of-maxi.patch index e5d1edfb72..39d8de8bd1 100644 --- a/target/linux/ipq40xx/patches-4.14/088-0010-i2c-qup-fix-buffer-overflow-for-multiple-msg-of-maxi.patch +++ b/target/linux/ipq40xx/patches-4.14/088-0010-i2c-qup-fix-buffer-overflow-for-multiple-msg-of-maxi.patch @@ -233,7 +233,7 @@ Signed-off-by: Wolfram Sang /* schedule the EOT and FLUSH I2C tags */ len = 1; if (rx_cnt) { -@@ -886,11 +878,19 @@ desc_err: +@@ -887,11 +879,19 @@ desc_err: return ret; } @@ -253,7 +253,7 @@ Signed-off-by: Wolfram Sang enable_irq(qup->irq); ret = qup_i2c_req_dma(qup); -@@ -913,9 +913,34 @@ static int qup_i2c_bam_xfer(struct i2c_a +@@ -914,9 +914,34 @@ static int qup_i2c_bam_xfer(struct i2c_a goto out; writel(qup->clk_ctl, qup->base + QUP_I2C_CLK_CTL); @@ -290,7 +290,7 @@ Signed-off-by: Wolfram Sang out: disable_irq(qup->irq); -@@ -1468,7 +1493,8 @@ static int qup_i2c_probe(struct platform +@@ -1469,7 +1494,8 @@ static int qup_i2c_probe(struct platform else if (ret != 0) goto nodma; @@ -300,7 +300,7 @@ Signed-off-by: Wolfram Sang qup->btx.sg = devm_kzalloc(&pdev->dev, sizeof(*qup->btx.sg) * blocks, GFP_KERNEL); -@@ -1611,7 +1637,7 @@ nodma: +@@ -1612,7 +1638,7 @@ nodma: one_bit_t = (USEC_PER_SEC / clk_freq) + 1; qup->one_byte_t = one_bit_t * 9; qup->xfer_timeout = TOUT_MIN * HZ + diff --git a/target/linux/ipq40xx/patches-4.14/088-0012-i2c-qup-reorganization-of-driver-code-to-remove-poll.patch b/target/linux/ipq40xx/patches-4.14/088-0012-i2c-qup-reorganization-of-driver-code-to-remove-poll.patch index 1690415265..caa36c013f 100644 --- a/target/linux/ipq40xx/patches-4.14/088-0012-i2c-qup-reorganization-of-driver-code-to-remove-poll.patch +++ b/target/linux/ipq40xx/patches-4.14/088-0012-i2c-qup-reorganization-of-driver-code-to-remove-poll.patch @@ -283,7 +283,7 @@ Signed-off-by: Wolfram Sang } static void qup_i2c_set_blk_data(struct qup_i2c_dev *qup, -@@ -1006,64 +1075,6 @@ err: +@@ -1007,64 +1076,6 @@ err: return ret; } @@ -348,7 +348,7 @@ Signed-off-by: Wolfram Sang static void qup_i2c_set_read_mode_v2(struct qup_i2c_dev *qup, int len) { int tx_len = qup->blk.tx_tag_len; -@@ -1086,44 +1097,27 @@ static void qup_i2c_set_read_mode_v2(str +@@ -1087,44 +1098,27 @@ static void qup_i2c_set_read_mode_v2(str } } @@ -402,7 +402,7 @@ Signed-off-by: Wolfram Sang } static int qup_i2c_read_fifo_v2(struct qup_i2c_dev *qup, -@@ -1224,49 +1218,130 @@ err: +@@ -1225,49 +1219,130 @@ err: return ret; } @@ -552,7 +552,7 @@ Signed-off-by: Wolfram Sang static int qup_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num) -@@ -1305,10 +1380,11 @@ static int qup_i2c_xfer(struct i2c_adapt +@@ -1306,10 +1381,11 @@ static int qup_i2c_xfer(struct i2c_adapt goto out; } @@ -566,7 +566,7 @@ Signed-off-by: Wolfram Sang if (ret) break; -@@ -1487,6 +1563,10 @@ static int qup_i2c_probe(struct platform +@@ -1488,6 +1564,10 @@ static int qup_i2c_probe(struct platform if (of_device_is_compatible(pdev->dev.of_node, "qcom,i2c-qup-v1.1.1")) { qup->adap.algo = &qup_i2c_algo; qup->adap.quirks = &qup_i2c_quirks; diff --git a/target/linux/ipq40xx/patches-4.14/088-0013-i2c-qup-reorganization-of-driver-code-to-remove-poll.patch b/target/linux/ipq40xx/patches-4.14/088-0013-i2c-qup-reorganization-of-driver-code-to-remove-poll.patch index 6d32882117..8fe43938ae 100644 --- a/target/linux/ipq40xx/patches-4.14/088-0013-i2c-qup-reorganization-of-driver-code-to-remove-poll.patch +++ b/target/linux/ipq40xx/patches-4.14/088-0013-i2c-qup-reorganization-of-driver-code-to-remove-poll.patch @@ -386,7 +386,7 @@ Signed-off-by: Wolfram Sang qup_i2c_set_blk_data(qup, msg); blocks = qup->blk.count; -@@ -1026,7 +897,7 @@ static int qup_i2c_wait_for_complete(str +@@ -1027,7 +898,7 @@ static int qup_i2c_wait_for_complete(str unsigned long left; int ret = 0; @@ -395,7 +395,7 @@ Signed-off-by: Wolfram Sang if (!left) { writel(1, qup->base + QUP_SW_RESET); ret = -ETIMEDOUT; -@@ -1038,65 +909,6 @@ static int qup_i2c_wait_for_complete(str +@@ -1039,65 +910,6 @@ static int qup_i2c_wait_for_complete(str return ret; } @@ -461,7 +461,7 @@ Signed-off-by: Wolfram Sang static void qup_i2c_read_rx_fifo_v1(struct qup_i2c_dev *qup) { struct qup_i2c_block *blk = &qup->blk; -@@ -1120,104 +932,6 @@ static void qup_i2c_read_rx_fifo_v1(stru +@@ -1121,104 +933,6 @@ static void qup_i2c_read_rx_fifo_v1(stru blk->rx_bytes_read = true; } @@ -566,7 +566,7 @@ Signed-off-by: Wolfram Sang static void qup_i2c_write_rx_tags_v1(struct qup_i2c_dev *qup) { struct i2c_msg *msg = qup->msg; -@@ -1404,13 +1118,434 @@ out: +@@ -1405,13 +1119,434 @@ out: return ret; } @@ -1002,7 +1002,7 @@ Signed-off-by: Wolfram Sang qup->bus_err = 0; qup->qup_err = 0; -@@ -1419,6 +1554,10 @@ static int qup_i2c_xfer_v2(struct i2c_ad +@@ -1420,6 +1555,10 @@ static int qup_i2c_xfer_v2(struct i2c_ad if (ret < 0) goto out; @@ -1013,7 +1013,7 @@ Signed-off-by: Wolfram Sang writel(1, qup->base + QUP_SW_RESET); ret = qup_i2c_poll_state(qup, QUP_RESET_STATE); if (ret) -@@ -1428,60 +1567,35 @@ static int qup_i2c_xfer_v2(struct i2c_ad +@@ -1429,60 +1568,35 @@ static int qup_i2c_xfer_v2(struct i2c_ad writel(I2C_MINI_CORE | I2C_N_VAL_V2, qup->base + QUP_CONFIG); writel(QUP_V2_TAGS_EN, qup->base + QUP_I2C_MASTER_GEN); @@ -1095,7 +1095,7 @@ Signed-off-by: Wolfram Sang if (ret == 0) ret = num; -@@ -1545,6 +1659,7 @@ static int qup_i2c_probe(struct platform +@@ -1546,6 +1660,7 @@ static int qup_i2c_probe(struct platform u32 src_clk_freq = DEFAULT_SRC_CLK; u32 clk_freq = DEFAULT_CLK_FREQ; int blocks; @@ -1103,7 +1103,7 @@ Signed-off-by: Wolfram Sang qup = devm_kzalloc(&pdev->dev, sizeof(*qup), GFP_KERNEL); if (!qup) -@@ -1563,12 +1678,10 @@ static int qup_i2c_probe(struct platform +@@ -1564,12 +1679,10 @@ static int qup_i2c_probe(struct platform if (of_device_is_compatible(pdev->dev.of_node, "qcom,i2c-qup-v1.1.1")) { qup->adap.algo = &qup_i2c_algo; qup->adap.quirks = &qup_i2c_quirks; @@ -1118,7 +1118,7 @@ Signed-off-by: Wolfram Sang ret = qup_i2c_req_dma(qup); if (ret == -EPROBE_DEFER) -@@ -1694,14 +1807,31 @@ nodma: +@@ -1695,14 +1808,31 @@ nodma: ret = -EIO; goto fail; } diff --git a/target/linux/layerscape/patches-4.14/804-i2c-support-layerscape.patch b/target/linux/layerscape/patches-4.14/804-i2c-support-layerscape.patch index d85f9d1c5f..5028fbee0e 100644 --- a/target/linux/layerscape/patches-4.14/804-i2c-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.14/804-i2c-support-layerscape.patch @@ -174,7 +174,7 @@ Signed-off-by: Zhang Ying-22455 } static void i2c_imx_dma_callback(void *arg) -@@ -890,6 +954,78 @@ static int i2c_imx_read(struct imx_i2c_s +@@ -910,6 +974,78 @@ static int i2c_imx_read(struct imx_i2c_s return 0; } @@ -253,7 +253,7 @@ Signed-off-by: Zhang Ying-22455 static int i2c_imx_xfer(struct i2c_adapter *adapter, struct i2c_msg *msgs, int num) { -@@ -900,6 +1036,19 @@ static int i2c_imx_xfer(struct i2c_adapt +@@ -920,6 +1056,19 @@ static int i2c_imx_xfer(struct i2c_adapt dev_dbg(&i2c_imx->adapter.dev, "<%s>\n", __func__); @@ -273,7 +273,7 @@ Signed-off-by: Zhang Ying-22455 result = pm_runtime_get_sync(i2c_imx->adapter.dev.parent); if (result < 0) goto out; -@@ -1042,6 +1191,50 @@ static int i2c_imx_init_recovery_info(st +@@ -1062,6 +1211,50 @@ static int i2c_imx_init_recovery_info(st return 0; } @@ -324,7 +324,7 @@ Signed-off-by: Zhang Ying-22455 static u32 i2c_imx_func(struct i2c_adapter *adapter) { return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL -@@ -1097,6 +1290,11 @@ static int i2c_imx_probe(struct platform +@@ -1117,6 +1310,11 @@ static int i2c_imx_probe(struct platform i2c_imx->adapter.dev.of_node = pdev->dev.of_node; i2c_imx->base = base; @@ -336,7 +336,7 @@ Signed-off-by: Zhang Ying-22455 /* Get I2C clock */ i2c_imx->clk = devm_clk_get(&pdev->dev, NULL); if (IS_ERR(i2c_imx->clk)) { -@@ -1166,17 +1364,25 @@ static int i2c_imx_probe(struct platform +@@ -1186,17 +1384,25 @@ static int i2c_imx_probe(struct platform pm_runtime_mark_last_busy(&pdev->dev); pm_runtime_put_autosuspend(&pdev->dev);