Skip to content
Snippets Groups Projects
Unverified Commit c77fad4e authored by Matthias Schiffer's avatar Matthias Schiffer
Browse files

modules: update LEDE

c3cdc53164 ag71xx: Fix rx ring buffer stall on small packets flood on qca956x and qca953x.
e07ee06aad ar71xx: QCA956X: add missing register
7bc25dfa63 mvebu: fix mvneta build with Linux 4.4.110
541a1a7ff5 lantiq: activate noise margin delta for VDSL too
dea8979a81 Lantiq: make possible to tweak DSL SRN from UCI
9934231670 libubox: update to latest lede-17.01 git HEAD
7f5a040359 kernel: update kernel 4.4 to version 4.4.110
ddedcb19e5 brcm47xx: relocate the stack in loader
da43069f5b brcm47xx: relocate loader to higher address
f19416ae9d fstools: backport fix from master branch
55c23e44f4 procd: update to latest git HEAD
ffbbcc9b34 brcm47xx: image: build firmware for Asus WL-500g Deluxe
0426596453 Revert "iptables: fix nftables compile issue (FS#711)"
da126d557c iptables: fix nftables compile issue (FS#711)
473e994571 rpcd: backport version 2017-12-07 from master
b833944eb2 uci: update to HEAD of lede-17.01 branch
dca4dfacf2 iproute2: cake: fix patch format error
ee55629a30 kernel: bump 4.4 to 4.4.108 for 17.01
c4e9487cf5 iproute2: cake: support new operating modes for 17.01
4f1dca9eca kmod-sched-cake: bump to latest bake of cake for 17.01
959a49dc15 ramips: fix widora neo diag led
a1908023cc base-files: fix logic when to show failsafe banner
1c9299877b base-files: set FAILSAFE in /etc/profile when /tmp/.failsafe exists
2603c85060 wireguard: bump to 20171221
f8a441e020 kernel: bump 4.4 to 4.4.107
ceea0ac25d wireguard: bump to 20171211
ebb54740c7 brcm47xx: remove target specific network preinit config
b41d154f50 rules.mk: export TMPDIR
e719a08cc1 usbutils: Update usb.ids file to latest
4cfcfecf76 hostapd: remove unused local var declaration
796bc21023 hostapd: don't set htmode for wpa_supplicant
50147d41b9 libnl-tiny: use fixed message size instead of using the page size
0625814426 packages: nvram: fix memory leak in _nvram_free
0f175041ad mac80211: don't pass the hostapd ctrl iface in adhoc
05f0fac189 hostapd: explicitly set beacon interval for wpa_supplicant
7f78a86254 hostapd: set mcast_rate in mesh mode
c315843f88 igmpproxy: remove firewall rules when service is stopped
91e48304a9 openvpn: add support to start/stop single instances
e5c284bb81 package/elfutils: add CFLAG -Wno-format-nonliteral
dde29b2b01 tools/coreutils: install readlink
2f75641b1f uhttpd: fix query string handling
79024cd3be openssl: fix cryptodev config dependency
bead60c2d3 uqmi: replace legacy command invoke with newer type
5872c19c63 procd: Always tell cmake whether to include seccomp support or not
cd901ef1a6 libunwind: disable building with ssp
1aedf2f149 tools/squashfs: use host cflags
7fa70027d4 ppp: make the patches apply correctly again
d63eb474b3 ppp: fix compile warning
9bd667fc24 dropbear: fix PKG_CONFIG_DEPENDS
9d1bfb8f4d dropbear: make ssh compression support configurable
ed4f4f1a8e procd: Install seccomp-trace symlink
77e79b2dd0 openvpn: update to 2.4.4
5beb0abc83 build: remove @ as it's causing an error
eff1f7e7ef usbutils: avoid duplicating the git revision
9cf371c1f4 dnsmasq: Pass TARGET_CPPFLAGS to Makefile
2f80d84638 wwan: json format in some modem definitions
c61cf4a447 base-files: add /etc/profile.d to conffiles
bdc998c696 base-files: order conffiles alphabetically
c58e824acc procd: mdns: Support txt values with spaces
aaa73fea36 ar71xx: fix switch port numbering on RB750r2 and RB750UPr2
b69ea02a00 scripts/dowload.pl: use glob to expand target dir
80a22eee4b samba36: Remove syslog and load printers lines.
71797b6eca samba36: Don't resolve interfaces.
1458bc2d9c samba36: Remove guest ok since LuCI configures it.
f0065554b2 config: make CONFIG_ALL_* select other CONIFG_ALL_* options
2b88309335 nvram: add help message for nvram magic not found
118a2ea0bc nvram: improve argument check when program start
c446ee4ad4 nvram: add usage() function
9e84d333b1 nvram: fix memory leak
3b6b892d67 ca-certificates: Update to 20170717
23b9dc2eca base-files: drop unused preinit_echo function
ca7c9db47f tools/pkg-config: Update to 0.29.2
75d8127338 base-files: suppress uci not found output in login.sh
b616aa6db7 scripts/package-metadata.pl: inhibit compile deps on missing build types
2e1a87a3e1 build: bundle-libraries.sh: do not override argv[0] in inner exec calls
a37f8b0c6e samba36: Remove legacy options
89c4f47caa scripts/download.pl: Adjust URLs
338968a170 build: fix invocation of bundled ld.so in SDK and Imagebuilder
0a976262a5 kmod-sched-cake: drop maintainer
610e2afdcc zlib: use default Build/Configure rule
cf11a41af6 lzo: use default Build/Configure rule
c86490605c netfilter: add iptables-mod-rpfilter package
ea23ba9a25 bzip2: add symlink to binary
d413c75d24 dropbear: add option to set max auth tries
8693ab5152 dropbear: server support option '-T' max auth tries
0e6a6c8487 hostapd: configure NAS ID regardless of encryption
ef3649d90e hostapd: add acct_interval option
3027a68093 valgrind: bump to 3.13.0
3129db331c busybox: backport 'ip rule suppress_{prefixlength, ifgroup}'
86158ad37d libunwind: update to version 1.2.1
59004433e9 imagebuilder: don't rewrite package list output
74eeb07817 imagebuilder: clean package_list
7f3f2bc03b build: remove old kernel-headers build directories
c7234e3036 imagebuilder: add package_list function
9c3e4b5434 base-files: board.json's switch reset means existence, not argument
7d1f4073ce gdb: remove Build/Compile rule ; default one works
9a99039989 rb532: enable high-res timers, refresh kernel config
e802cbfc25 xburst: enable high-res timers, refresh kernel config
e01367e3af kernel: add CONFIG_SCHED_HRTICK=y to the generic config
6e1e2e7b96 package/grub2: update to 2.02
13a5568d6e ip17xx: correct aneg_done return value
816fb3433b mvswitch: fix autonegotiation issue
41ee45428b ppp: propagate master firewall zone to dynamic slave interface
a44c44077e usbmode: remove devices with unsupported modes
e8bd0a606a tar: override symlink permissions
59a1c1675d tools/sparse: Update to snapshot 2017-03-31
a6e5943a2a elfutils: Pass -Wno-unused-result to silence warnings as errors
08070221ed gcc: fix documentation entries added by 910-mbsd_multi.patch
ef43c04c34 scripts/download.pl: print the command used to download files
6e09b20563 tools/libressl: update to 2.5.4
08be74f699 tools/isl: update to 0.18
26ea59cd01 lldpd: bump to 0.9.7
444b64f533 libunwind: update to 1.2
e5612d6640 lantiq: spi: double time out tolerance
28c350f2f0 base-files: fix default procd reload
108a42bcba ramips: support jumbo frame on mt7621 up to 2k
8d4c047dd1 lldpd: drop specific respawn params [use system-wide]
8ee15ed61a elfutils: bump to 0.169
9754a9c606 devel/trace-cmd: Update to 2.6.1
79def69047 comgt-3g: enable modem before to setpin
070463fb61 devel/strace: Update to 4.16
67caf6bbce network/utils/ipset: Update to 6.32
f0a493160c mac80211: gracefully handle preexisting VIF
827f108b42 scripts: Probe external toolchains for libthread-db
bb9eb2c96e build: new fixes for symlinked .config handling
4607007a86 build: allow val.% targets to bypass the prepare steps
90575776b7 x86: keep /boot mounted for kexec
6b9eb0c73a hostapd: fix reload frequency change patch
040ff6fdbd build: remove absolute path to perl and replace with /usr/bin/env perl
98588273b1 kernel: allow selecting RTC drivers on targets without explicit RTC support
f30114c7c4 dropbear: fix procd interface trigger install
3e7f191008 include/packages-defaults.mk: Remove LARGEFILE option
a1392e08c5 netifd: return error status in reload_service
10182cb2c6 grub2: update to 2.02~rc2
38ea91ea9a base-files: use restart if no reload hook for service
9b24d99b91 iproute2: add libgenl.h and ll_map.h to InstallDev section
94597229c3 busybox: fix installation of cron and ntpd scripts in the default config
9ce30f7175 kernel: move initramfs's init script out of base-files
c8a0f3aa29 target.mk: check that CPU_TYPE has known CPU_CFLAGS mapping
977db9f08a scripts/download.pl: fix error message on hash mismatch
7fb03d9610 netifd: fix fw3 warnings in dhcp script
f69d73f1b2 build: allow specifying flow-control to grub on serial console
91821c8c0b kexec-tools: get kexec running on MUSL and x86 hardware
affff02798 busybox: don't install NTP scripts if NTP isn't configured
7ccfa826ee ar8327: Add workarounds for AR8337 switch.
0aafbf6c00 build: fix STAMP_PREPARED with quilt
80304ace58 lantiq: remove lantiq_board_model, it is unused
8be5b12ea1 lantiq: remove lantiq_board_name, use the generic function instead
0f0d742ae3 lantiq: move lantiq_board_detect() to 03_preinit_board.sh
f173464f13 base-files: add generic board_name function to functions.sh
62a8252a0f mac80211: Fix race condition leading to wifi interfaces not coming up at boot sometimes.
5f03ce1213 scripts: only generate config from feature flag if fully match
f7f69130e5 lzo: Update to 2.10
6ba0cc14e9 tools/coreutils: Update to 8.27
100553d605 tools/libressl: Update to 2.5.1
25fe034861 tools/dosfstools: Update to 4.1
ed4976d884 tools/sed: Update to 4.4
7263e3cdca lldpd: bump to 0.9.6
3225fbfcbf x86: image: drop duplicated copy of bzImage into vmlinuz
37aae44a47 libnl: Fix building with uClibc
950439234e toolchain: add musl libc.so to external toolchain
cfb5a550e4 iwcap: fix handling kill signal during dump
1411493569 x86: image: drop unneeded grub call
58e0c0feec x86: image: drop unused ROOTDELAY variable
05f0b8d18b ccache: update to 3.3.4
15efa09507 base-files: add submission service port
56b9f0ffc0 procd.sh: use parameterized respawn values
28c9731984 toolchain: Allow external toolchains to specify libthread-db
2dd9b62f82 rssileds: Fix build with external toolchains
2d31ec4c1b adb: Also pass TARGET_CPPFLAGS
ec395eeb17 swconfig: Link with libubox
c6dd059a9a px5g: Fix TARGET_LDFLAGS and add TARGET_CPPFLAGS
12b811a609 omcproxy: Update to latest HEAD
1e3ff02ea5 bsdiff: Also pass down TARGET_CPPFLAGS
051a33e7c9 thc-ipv6: Allow overriding CFLAGS
a91d8dd162 tools/m4: update 1.4.18
acd481470c build: get rid of FIND_L from host.mk
11cd6077ba build: unsilence move command
903a404663 build: skip headers install and config on make target/linux/prepare
a7fc27edce build: make Host/Install/Default use Host/Compile/Default with an extra argument
94f079e338 build: Pass -iremap gcc option as a single argument
3056122bf7 toolchain/gcc: parallelize make install
a33b0ced78 toolchain/musl: parallelize make install
1d0f7e3136 imagebuilder: make submake invocations less verbose
bdb05f5ef5 gcc: remove obsolete uclibc patch
90a43e508e toolchain/gcc: reduce source directory size by about 420 MB
82615922b0 bcm53xx: suppress osafeloader info error messages during flashing
c566a9e563 toolchain: Broaden the executable loader pattern
3387158e45 build: Suffix build directory with _$(LIBC) for external toolchains
2428b6d6b6 tools/sstrip: Fix compile under standard linux.
50b478956a openssl: update to 1.0.2n
135aa3ba7e base-files: upgrade: make get_partitions() endian agnostic
207bcea1de cyassl: update to wolfssl 3.12.2 (1 CVE)
3bb881862b mdadm: fix parameter quoting
6c1b6e8221 mdadm: Fix config generation
4fc0fb3ca3 mdadm: Do not check RUN_DIR
157b892994 kernel: remove out of tree direct-io disable hack
adc9f935c3 utils/mdadm: Update to 4.0
8bf67f63b9 mdadm: extend uci config support
4af145ea67 rules.mk: make PKG_CONFIG_DEPENDS properly track string values
2b664499cd kernel: bump 4.4 to 4.4.103 for 17.01
ed82c52a4a uqmi: also try newer pin verification
b41a2e646e opkg: bump to version 2017-12-08
f5f5f583f9 hostapd: backport fix for wnm_sleep_mode=0
19ebc19f54 hostapd: Expose the tdls_prohibit option to UCI
3590316121 dnsmasq: backport infinite dns retries fix
060b7f1fbb curl: apply CVE 2017-8816 and 2017-8817 security patches
4b5861c47d mt76: update to the latest version
f19d47f848 tools: patch various gnu tools for macOS 10.13
e5a10bc0fc samba36: backport an upstream fix for an information leak (CVE-2017-15275)
d77fe9219a ramips: backport MT7628 pinmux fixes
9601e6a0e2 ramips: add missing reset button for Nexx WT1520
0946ec0f46 wireguard: bump to snapshot 20171127
parent 389a1084
No related branches found
No related tags found
No related merge requests found
Showing
with 96 additions and 241 deletions
......@@ -8,7 +8,7 @@ code, preventing the weird ash segfaults we've been seeing. Also, if the
issue returns, we'll have debug information matching the coredumps.
diff --git a/package/utils/busybox/Makefile b/package/utils/busybox/Makefile
index 40bddd6b58195828951d1e48c12848f4fbfc1430..bba1a40568d4bd0543e4768439a249c89779f29a 100644
index 0d370863653e280165c8083061799af97d031169..5d73e817b3c67225bd3fb4e5b7d86e290db7397b 100644
--- a/package/utils/busybox/Makefile
+++ b/package/utils/busybox/Makefile
@@ -91,6 +91,8 @@ ifdef CONFIG_BUSYBOX_DEFAULT_NSLOOKUP_LEDE
......
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Tue, 9 Jan 2018 16:31:07 +0100
Subject: Revert "scripts/package-metadata.pl: inhibit compile deps on missing build types"
This reverts commit b616aa6db7a9952c182ab49d7942fb67c09803d5. The change
conflicts with our PROVIDES fix and is not strictly necessary for Gluon.
diff --git a/scripts/package-metadata.pl b/scripts/package-metadata.pl
index c49d132912828531c7125787f4f53d7130323123..2da32c770ef3333bfcc18922ede556f9734510c7 100755
--- a/scripts/package-metadata.pl
+++ b/scripts/package-metadata.pl
@@ -460,27 +460,20 @@ sub gen_package_mk() {
next unless $pkg->{"builddepends/$type"};
foreach my $dep (@{$pkg->{"builddepends/$type"}}) {
my $suffix = "";
- my $deptype = "";
my $condition;
if ($dep =~ /^(.+):(.+)/) {
$condition = $1;
$dep = $2;
}
- if ($dep =~ /^(.+)\/(.+)/) {
+ if ($dep =~ /^(.+)(\/.+)/) {
$dep = $1;
- $deptype = $2;
- $suffix = "/$2";
+ $suffix = $2;
}
my $idx = "";
my $pkg_dep = $package{$dep};
if (defined($pkg_dep) && defined($pkg_dep->{src})) {
- unless (!$deptype || grep { $_ eq $deptype } @{$pkg_dep->{buildtypes}}) {
- warn sprintf "WARNING: Makefile '%s' has a %s build dependency on '%s/%s' but '%s' does not implement a '%s' build type\n",
- $pkg->{makefile}, $type, $pkg_dep->{src}, $deptype, $pkg_dep->{makefile}, $deptype;
- next;
- }
$idx = $pkg_dep->{subdir}.$pkg_dep->{src};
} elsif (defined($srcpackage{$dep})) {
$idx = $subdir{$dep}.$dep;
@@ -506,16 +499,14 @@ sub gen_package_mk() {
my $condition;
my $prefix = "";
my $suffix = "";
- my $deptype = "";
if ($deps =~ /^(.+):(.+)/) {
$condition = $1;
$deps = $2;
}
- if ($deps =~ /^(.+)\/(.+)/) {
+ if ($deps =~ /^(.+)(\/.+)/) {
$deps = $1;
- $deptype = $2;
- $suffix = "/$2";
+ $suffix = $2;
}
my $pkg_dep = $package{$deps};
@@ -530,17 +521,7 @@ sub gen_package_mk() {
foreach my $dep (@deps) {
$pkg_dep = $package{$deps};
if (defined $pkg_dep->{src}) {
- unless (!$deptype || grep { $_ eq $deptype } @{$pkg_dep->{buildtypes}}) {
- warn sprintf "WARNING: Makefile '%s' has a build dependency on '%s/%s' but '%s' does not implement a '%s' build type\n",
- $pkg->{makefile}, $pkg_dep->{src}, $deptype, $pkg_dep->{makefile}, $deptype;
- next;
- }
- unless ($pkg->{src} ne $pkg_dep->{sec}.$suffix) {
- warn sprintf "WARNING: Makefile '%s' has a build dependency on itself\n",
- $pkg->{makefile};
- next;
- }
- $idx = $pkg_dep->{subdir}.$pkg_dep->{src};
+ ($pkg->{src} ne $pkg_dep->{src}.$suffix) and $idx = $pkg_dep->{subdir}.$pkg_dep->{src};
} elsif (defined($srcpackage{$dep})) {
$idx = $subdir{$dep}.$dep;
}
@@ -592,7 +573,7 @@ ifndef DUMP_TARGET_DB
( \\
$cmds \\
) > \$@
-
+
ifneq (\$(IMAGEOPT)\$(CONFIG_IMAGEOPT),)
package/preconfig: \$(TARGET_DIR)/etc/uci-defaults/$preconfig
endif
......@@ -6,10 +6,10 @@ Fixes: 30f61a34b4cf "base-files: always use staged sysupgrade"
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
diff --git a/package/base-files/files/lib/upgrade/common.sh b/package/base-files/files/lib/upgrade/common.sh
index fc59bf2323498d332159b00eb7ab443bfe6b147e..c8b71015c2e44210696a4e28a5b7babbd0233184 100644
index b18463f6b8e81d871b27146c00d061941ac6a2ec..f0443f8c495dc0c14a52e8b88b20a22c7620291b 100644
--- a/package/base-files/files/lib/upgrade/common.sh
+++ b/package/base-files/files/lib/upgrade/common.sh
@@ -211,7 +211,7 @@ default_do_upgrade() {
@@ -219,7 +219,7 @@ default_do_upgrade() {
do_upgrade_stage2() {
v "Performing system upgrade..."
if [ -n "$do_upgrade" ]; then
......
......@@ -19,7 +19,7 @@ index 097ad63adfecdd70019acaa5b652d2056e774c3f..8cc8c8b34e9f349f1d1283ac00f9782b
install_bin /sbin/mtd
install_bin /sbin/mount_root
diff --git a/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh b/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh
index eb6dc823e3890497389716c32ec7e4caf8d30c45..a90a58299dc293afbe15a0b491ef6898402deca4 100644
index f2e007db22fa8fde93bf0dd58b359f6515e0445c..6a9e4950450cb896db7ebb3eb901b5cf51030295 100644
--- a/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh
@@ -1,3 +1,5 @@
......
......@@ -40,7 +40,7 @@ index 833522f27b61ac2208c2862bc0f29f34dea5e701..e1efb561b33da4dcfcb82ee953cd8881
ucidef_set_led_wlan "wlan" "WLAN" "arduino:blue:wlan" "phy0tpt"
ucidef_set_led_usbdev "usb" "USB" "arduino:white:usb" "1-1.1"
diff --git a/target/linux/ar71xx/base-files/etc/board.d/02_network b/target/linux/ar71xx/base-files/etc/board.d/02_network
index cb707f6169f48a9390b622cb26e8fab8de94e4bb..24ead87850f13346ea4be4f9bfb5582e64a2c4ad 100755
index 6d8a5c3d0a86a627663dee6e2905e03d5dec99fb..cefb7413eac6ffc50e67f1eaf63def749314428b 100755
--- a/target/linux/ar71xx/base-files/etc/board.d/02_network
+++ b/target/linux/ar71xx/base-files/etc/board.d/02_network
@@ -122,6 +122,7 @@ ar71xx_setup_interfaces()
......
......@@ -48,10 +48,10 @@ index e1efb561b33da4dcfcb82ee953cd888170476dfb..e67b5e38561e841b88e486341950c52e
tl-wr2543n)
ucidef_set_led_usbdev "usb" "USB" "tp-link:green:usb" "1-1"
diff --git a/target/linux/ar71xx/base-files/etc/board.d/02_network b/target/linux/ar71xx/base-files/etc/board.d/02_network
index 24ead87850f13346ea4be4f9bfb5582e64a2c4ad..27a0266923743d4856919b9c8772a40e59febe83 100755
index cefb7413eac6ffc50e67f1eaf63def749314428b..454abe6a5005621967dd96e0282e7bce2a0b127e 100755
--- a/target/linux/ar71xx/base-files/etc/board.d/02_network
+++ b/target/linux/ar71xx/base-files/etc/board.d/02_network
@@ -237,7 +237,8 @@ ar71xx_setup_interfaces()
@@ -243,7 +243,8 @@ ar71xx_setup_interfaces()
mynet-n750|\
sr3200|\
wndr3700v4|\
......@@ -61,7 +61,7 @@ index 24ead87850f13346ea4be4f9bfb5582e64a2c4ad..27a0266923743d4856919b9c8772a40e
ucidef_add_switch "switch0" \
"0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan"
;;
@@ -481,6 +482,7 @@ ar71xx_setup_macs()
@@ -487,6 +488,7 @@ ar71xx_setup_macs()
lan_mac=$(mtd_get_mac_binary caldata 0)
wan_mac=$(mtd_get_mac_binary caldata 6)
;;
......
From: Henryk Heisig <hyniu@o2.pl>
Date: Fri, 6 Jan 2017 21:21:11 +0100
Subject: ar71xx: QCA956X: add missing register
Signed-off-by: Henryk Heisig <hyniu@o2.pl>
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c b/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c
index 790c2d3396ffd0a0d00d13403b7f22e32863eef4..a8b19b68b2a46545fdd3ed6bdf14006f8a741185 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c
+++ b/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c
@@ -686,7 +686,6 @@ static int __init ath79_setup_phy_if_mode(unsigned int id,
case ATH79_SOC_AR7241:
case ATH79_SOC_AR9330:
case ATH79_SOC_AR9331:
- case ATH79_SOC_QCA956X:
case ATH79_SOC_TP9343:
pdata->phy_if_mode = PHY_INTERFACE_MODE_GMII;
break;
@@ -698,6 +697,7 @@ static int __init ath79_setup_phy_if_mode(unsigned int id,
case ATH79_SOC_AR9342:
case ATH79_SOC_AR9344:
case ATH79_SOC_QCA9533:
+ case ATH79_SOC_QCA956X:
switch (pdata->phy_if_mode) {
case PHY_INTERFACE_MODE_MII:
case PHY_INTERFACE_MODE_GMII:
@@ -814,6 +814,27 @@ void __init ath79_setup_qca955x_eth_cfg(u32 mask)
iounmap(base);
}
+void __init ath79_setup_qca956x_eth_cfg(u32 mask)
+{
+ void __iomem *base;
+ u32 t;
+
+ base = ioremap(QCA956X_GMAC_BASE, QCA956X_GMAC_SIZE);
+
+ t = __raw_readl(base + QCA956X_GMAC_REG_ETH_CFG);
+
+ t &= ~(QCA956X_ETH_CFG_SW_ONLY_MODE |
+ QCA956X_ETH_CFG_SW_PHY_SWAP);
+
+ t |= mask;
+
+ __raw_writel(t, base + QCA956X_GMAC_REG_ETH_CFG);
+ /* flush write */
+ __raw_readl(base + QCA956X_GMAC_REG_ETH_CFG);
+
+ iounmap(base);
+}
+
static int ath79_eth_instance __initdata;
void __init ath79_register_eth(unsigned int id)
{
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.h b/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.h
index 5a226e40284b6853b59812ffc791e0612c91fa9b..fb9e4f63c66ef9008e423007ecff02c93c321fb8 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.h
+++ b/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.h
@@ -49,5 +49,6 @@ void ath79_setup_ar933x_phy4_switch(bool mac, bool mdio);
void ath79_setup_ar934x_eth_cfg(u32 mask);
void ath79_setup_ar934x_eth_rx_delay(unsigned int rxd, unsigned int rxdv);
void ath79_setup_qca955x_eth_cfg(u32 mask);
+void ath79_setup_qca956x_eth_cfg(u32 mask);
#endif /* _ATH79_DEV_ETH_H */
diff --git a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h
index 5fd352c638a75063945adadb64b1043cd81b506c..078fa157f242ce4350185d97a61ef5d1f3f16fc5 100644
--- a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h
+++ b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h
@@ -37,11 +37,13 @@ struct ag71xx_platform_data {
u8 is_ar724x:1;
u8 has_ar8216:1;
u8 use_flow_control:1;
+ u8 is_qca956x:1;
struct ag71xx_switch_platform_data *switch_data;
void (*ddr_flush)(void);
void (*set_speed)(int speed);
+ void (*update_pll)(u32 pll_10, u32 pll_100, u32 pll_1000);
u32 fifo_cfg1;
u32 fifo_cfg2;
diff --git a/target/linux/ar71xx/patches-4.4/622-MIPS-ath79-add-more-register-defines-for-QCA956x-SoC.patch b/target/linux/ar71xx/patches-4.4/622-MIPS-ath79-add-more-register-defines-for-QCA956x-SoC.patch
new file mode 100644
index 0000000000000000000000000000000000000000..dff354398cd2ab6556b13be9f7ce45f4d7f311e8
--- /dev/null
+++ b/target/linux/ar71xx/patches-4.4/622-MIPS-ath79-add-more-register-defines-for-QCA956x-SoC.patch
@@ -0,0 +1,38 @@
+--- a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
++++ b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
+@@ -157,6 +157,10 @@
+ #define QCA956X_EHCI0_BASE 0x1b000000
+ #define QCA956X_EHCI1_BASE 0x1b400000
+ #define QCA956X_EHCI_SIZE 0x200
++#define QCA956X_GMAC_SGMII_BASE (AR71XX_APB_BASE + 0x00070000)
++#define QCA956X_GMAC_SGMII_SIZE 0x64
++#define QCA956X_PLL_BASE (AR71XX_APB_BASE + 0x00050000)
++#define QCA956X_PLL_SIZE 0x50
+ #define QCA956X_GMAC_BASE (AR71XX_APB_BASE + 0x00070000)
+ #define QCA956X_GMAC_SIZE 0x64
+
+@@ -404,6 +408,7 @@
+ #define QCA956X_PLL_DDR_CONFIG_REG 0x08
+ #define QCA956X_PLL_DDR_CONFIG1_REG 0x0c
+ #define QCA956X_PLL_CLK_CTRL_REG 0x10
++#define QCA956X_PLL_ETH_XMII_CONTROL_REG 0x30
+
+ #define QCA956X_PLL_CPU_CONFIG_REFDIV_SHIFT 12
+ #define QCA956X_PLL_CPU_CONFIG_REFDIV_MASK 0x1f
+@@ -1186,4 +1191,16 @@
+ #define QCA955X_ETH_CFG_TXE_DELAY_MASK 0x3
+ #define QCA955X_ETH_CFG_TXE_DELAY_SHIFT 20
+
++/*
++ * QCA956X GMAC Interface
++ */
++
++#define QCA956X_GMAC_REG_ETH_CFG 0x00
++
++#define QCA956X_ETH_CFG_SW_ONLY_MODE BIT(7)
++#define QCA956X_ETH_CFG_SW_PHY_SWAP BIT(8)
++#define QCA956X_ETH_CFG_SW_PHY_ADDR_SWAP BIT(9)
++#define QCA956X_ETH_CFG_SW_APB_ACCESS BIT(10)
++#define QCA956X_ETH_CFG_SW_ACC_MSB_FIRST BIT(13)
++
+ #endif /* __ASM_MACH_AR71XX_REGS_H */
diff --git a/target/linux/ar71xx/patches-4.4/640-MIPS-ath79-add-QCA955x-wmac-reset.patch b/target/linux/ar71xx/patches-4.4/640-MIPS-ath79-add-QCA955x-wmac-reset.patch
index add2992186ad1d82ce924d2f1ccdf3c36c390a3d..8aa5957a7152af27854f6f7c197120b8029cf9e8 100644
--- a/target/linux/ar71xx/patches-4.4/640-MIPS-ath79-add-QCA955x-wmac-reset.patch
+++ b/target/linux/ar71xx/patches-4.4/640-MIPS-ath79-add-QCA955x-wmac-reset.patch
@@ -20,7 +20,7 @@
#define AR71XX_UART_BASE (AR71XX_APB_BASE + 0x00020000)
#define AR71XX_UART_SIZE 0x100
#define AR71XX_USB_CTRL_BASE (AR71XX_APB_BASE + 0x00030000)
-@@ -218,6 +218,9 @@
+@@ -222,6 +222,9 @@
#define QCA953X_DDR_REG_FLUSH_PCIE 0xa8
#define QCA953X_DDR_REG_FLUSH_WMAC 0xac
diff --git a/target/linux/ar71xx/patches-4.4/820-MIPS-ath79-add_gpio_function2_setup.patch b/target/linux/ar71xx/patches-4.4/820-MIPS-ath79-add_gpio_function2_setup.patch
index 7db6ad361fa21252118e589195b0bc73222cf4f5..6b331587d157511a40fc1e46630c416a60565a0b 100644
--- a/target/linux/ar71xx/patches-4.4/820-MIPS-ath79-add_gpio_function2_setup.patch
+++ b/target/linux/ar71xx/patches-4.4/820-MIPS-ath79-add_gpio_function2_setup.patch
@@ -48,7 +48,7 @@ functions on the Arduino Yun.
void __iomem *reg = ath79_gpio_get_function_reg();
--- a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
+++ b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
-@@ -850,6 +850,7 @@
+@@ -855,6 +855,7 @@
#define AR71XX_GPIO_REG_INT_PENDING 0x20
#define AR71XX_GPIO_REG_INT_ENABLE 0x24
#define AR71XX_GPIO_REG_FUNC 0x28
@@ -56,7 +56,7 @@ functions on the Arduino Yun.
#define AR934X_GPIO_REG_OUT_FUNC0 0x2c
#define AR934X_GPIO_REG_OUT_FUNC1 0x30
-@@ -974,6 +975,8 @@
+@@ -979,6 +980,8 @@
#define AR724X_GPIO_FUNC_UART_EN BIT(1)
#define AR724X_GPIO_FUNC_JTAG_DISABLE BIT(0)
From: Vittorio Gambaletta <openwrt@vittgam.net>
Date: Sat, 25 Mar 2017 18:08:02 +0100
Subject: ag71xx: Fix rx ring buffer stall on small packets flood on qca956x and qca953x.
Backported from Code Aurora QSDK
Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c b/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c
index a8b19b68b2a46545fdd3ed6bdf14006f8a741185..427de6a50d0fcbc9dae11f8e6921194c0a5b09ed 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c
+++ b/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c
@@ -996,6 +996,9 @@ void __init ath79_register_eth(unsigned int id)
pdata->reset_bit = AR934X_RESET_GE0_MAC |
AR934X_RESET_GE0_MDIO;
pdata->set_speed = ar934x_set_speed_ge0;
+
+ if (ath79_soc == ATH79_SOC_QCA9533)
+ pdata->disable_inline_checksum_engine = 1;
} else {
pdata->reset_bit = AR934X_RESET_GE1_MAC |
AR934X_RESET_GE1_MDIO;
@@ -1097,6 +1100,8 @@ void __init ath79_register_eth(unsigned int id)
pdata->set_speed = qca956x_set_speed_sgmii;
else
pdata->set_speed = ar934x_set_speed_ge0;
+
+ pdata->disable_inline_checksum_engine = 1;
} else {
pdata->reset_bit = QCA955X_RESET_GE1_MAC |
QCA955X_RESET_GE1_MDIO;
diff --git a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h
index 078fa157f242ce4350185d97a61ef5d1f3f16fc5..5fdc59c7b78b84670daefa9fd831b154ded84ddc 100644
--- a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h
+++ b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h
@@ -37,7 +37,7 @@ struct ag71xx_platform_data {
u8 is_ar724x:1;
u8 has_ar8216:1;
u8 use_flow_control:1;
- u8 is_qca956x:1;
+ u8 disable_inline_checksum_engine:1;
struct ag71xx_switch_platform_data *switch_data;
diff --git a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
index 566e9513d8b7c6ef101902ae7d281dcc1c233893..72dd654a691355c881b15d796fad0d640e05fc15 100644
--- a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
+++ b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
@@ -629,6 +629,22 @@ __ag71xx_link_adjust(struct ag71xx *ag, bool update)
ag71xx_wr(ag, AG71XX_REG_MAC_CFG2, cfg2);
ag71xx_wr(ag, AG71XX_REG_FIFO_CFG5, fifo5);
ag71xx_wr(ag, AG71XX_REG_MAC_IFCTL, ifctl);
+
+ if (pdata->disable_inline_checksum_engine) {
+ /*
+ * The rx ring buffer can stall on small packets on QCA953x and
+ * QCA956x. Disabling the inline checksum engine fixes the stall.
+ * The wr, rr functions cannot be used since this hidden register
+ * is outside of the normal ag71xx register block.
+ */
+ void __iomem *dam = ioremap_nocache(0xb90001bc, 0x4);
+ if (dam) {
+ __raw_writel(__raw_readl(dam) & ~BIT(27), dam);
+ (void)__raw_readl(dam);
+ iounmap(dam);
+ }
+ }
+
ag71xx_hw_start(ag);
netif_carrier_on(ag->dev);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment