diff --git a/include/kernel-5.4 b/include/kernel-5.4 index 82c8c74189bcc7..838d6376dadb6c 100644 --- a/include/kernel-5.4 +++ b/include/kernel-5.4 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.4 = .278 -LINUX_KERNEL_HASH-5.4.278 = e5a00606115545f444ef2766af5652f5539e3c96f46a9778bede89b98ffb8588 +LINUX_VERSION-5.4 = .284 +LINUX_KERNEL_HASH-5.4.284 = 77221ab9aebeac746915c755ec3b7d320f85cd219c63d9c501820fbca1e3b32b diff --git a/include/kernel-6.6 b/include/kernel-6.6 index 1f0bd75a086158..485ec8eef59e3e 100644 --- a/include/kernel-6.6 +++ b/include/kernel-6.6 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.6 = .50 -LINUX_KERNEL_HASH-6.6.50 = c065e36daf28210060c91a37ef3e92ac5814784e634577e04e406297ead2e86e +LINUX_VERSION-6.6 = .51 +LINUX_KERNEL_HASH-6.6.51 = 1c0c9a14650879c4913efdbac428ba31a540c3d987155ddf34d33e11eca008b3 diff --git a/package/boot/uboot-rockchip/Makefile b/package/boot/uboot-rockchip/Makefile index 21749d0e6ae772..0f392147ab3e82 100644 --- a/package/boot/uboot-rockchip/Makefile +++ b/package/boot/uboot-rockchip/Makefile @@ -145,6 +145,16 @@ define U-Boot/xiaobao-nas-v1-rk3399 codinge_xiaobao-nas-v1 endef +define U-Boot/fine-3399-rk3399 + $(U-Boot/rk3399/Default) + NAME:=Fine 3399 + BUILD_DEVICES:= \ + rumu3f_fine-3399 + DEPENDS:=+PACKAGE_u-boot-$(1):rkbin-rk3399 + ATF:=rk3399_bl31_v1.36.elf + USE_RKBIN:=1 +endef + define U-Boot/guangmiao-g4c-rk3399 $(U-Boot/rk3399/Default) NAME:=GuangMiao G4C @@ -314,6 +324,7 @@ UBOOT_TARGETS := \ sige3-rk3568 \ station-p2-rk3568 \ dlfr100-rk3399 \ + fine-3399-rk3399 \ h3399pc-rk3399 \ king3399-rk3399 \ mpc1903-rk3399 \ diff --git a/package/lean/default-settings/files/zzz-default-settings b/package/lean/default-settings/files/zzz-default-settings index c36f5bba5f62fb..98c29871d48fb0 100755 --- a/package/lean/default-settings/files/zzz-default-settings +++ b/package/lean/default-settings/files/zzz-default-settings @@ -51,7 +51,7 @@ sed -i '/option disabled/d' /etc/config/wireless sed -i '/set wireless.radio${devidx}.disabled/d' /lib/wifi/mac80211.sh sed -i '/DISTRIB_REVISION/d' /etc/openwrt_release -echo "DISTRIB_REVISION='R24.9.9'" >> /etc/openwrt_release +echo "DISTRIB_REVISION='R24.9.18'" >> /etc/openwrt_release sed -i '/DISTRIB_DESCRIPTION/d' /etc/openwrt_release echo "DISTRIB_DESCRIPTION='OpenWrt '" >> /etc/openwrt_release diff --git a/target/linux/generic/backport-5.4/770-v5.12-net-bridge-notify-switchdev-of-disappearance-of-old-.patch b/target/linux/generic/backport-5.4/770-v5.12-net-bridge-notify-switchdev-of-disappearance-of-old-.patch index df4e74cd9605a9..490229e8c9e198 100644 --- a/target/linux/generic/backport-5.4/770-v5.12-net-bridge-notify-switchdev-of-disappearance-of-old-.patch +++ b/target/linux/generic/backport-5.4/770-v5.12-net-bridge-notify-switchdev-of-disappearance-of-old-.patch @@ -116,10 +116,10 @@ Signed-off-by: Jakub Kicinski --- a/net/bridge/br_fdb.c +++ b/net/bridge/br_fdb.c -@@ -581,6 +581,7 @@ void br_fdb_update(struct net_bridge *br - +@@ -589,6 +589,7 @@ /* fastpath: update of existing entry */ - if (unlikely(source != fdb->dst && !fdb->is_sticky)) { + if (unlikely(source != fdb->dst && + !test_bit(BR_FDB_STICKY, &fdb->flags))) { + br_switchdev_fdb_notify(fdb, RTM_DELNEIGH); fdb->dst = source; fdb_modified = true; diff --git a/target/linux/generic/files-5.4/fs/ntfs3/bitmap.c b/target/linux/generic/files-5.4/fs/ntfs3/bitmap.c index aa184407520f02..3f7168fd860961 100644 --- a/target/linux/generic/files-5.4/fs/ntfs3/bitmap.c +++ b/target/linux/generic/files-5.4/fs/ntfs3/bitmap.c @@ -661,7 +661,7 @@ int wnd_init(struct wnd_bitmap *wnd, struct super_block *sb, size_t nbits) wnd->total_zeroes = nbits; wnd->extent_max = MINUS_ONE_T; wnd->zone_bit = wnd->zone_end = 0; - wnd->nwnd = bytes_to_block(sb, bitmap_size(nbits)); + wnd->nwnd = bytes_to_block(sb, ntfs3_bitmap_size(nbits)); wnd->bits_last = nbits & (wbits - 1); if (!wnd->bits_last) wnd->bits_last = wbits; @@ -1323,7 +1323,7 @@ int wnd_extend(struct wnd_bitmap *wnd, size_t new_bits) return -EINVAL; /* Align to 8 byte boundary. */ - new_wnd = bytes_to_block(sb, bitmap_size(new_bits)); + new_wnd = bytes_to_block(sb, ntfs3_bitmap_size(new_bits)); new_last = new_bits & (wbits - 1); if (!new_last) new_last = wbits; diff --git a/target/linux/generic/files-5.4/fs/ntfs3/fsntfs.c b/target/linux/generic/files-5.4/fs/ntfs3/fsntfs.c index 6d02b2ce89f4c9..0089f448f4f812 100644 --- a/target/linux/generic/files-5.4/fs/ntfs3/fsntfs.c +++ b/target/linux/generic/files-5.4/fs/ntfs3/fsntfs.c @@ -493,7 +493,7 @@ static int ntfs_extend_mft(struct ntfs_sb_info *sbi) ni->mi.dirty = true; /* Step 2: Resize $MFT::BITMAP. */ - new_bitmap_bytes = bitmap_size(new_mft_total); + new_bitmap_bytes = ntfs3_bitmap_size(new_mft_total); err = attr_set_size(ni, ATTR_BITMAP, NULL, 0, &sbi->mft.bitmap.run, new_bitmap_bytes, &new_bitmap_bytes, true, NULL); diff --git a/target/linux/generic/files-5.4/fs/ntfs3/index.c b/target/linux/generic/files-5.4/fs/ntfs3/index.c index 6f81e3a49abfb3..3e736664c478f7 100644 --- a/target/linux/generic/files-5.4/fs/ntfs3/index.c +++ b/target/linux/generic/files-5.4/fs/ntfs3/index.c @@ -1360,8 +1360,8 @@ static int indx_create_allocate(struct ntfs_index *indx, struct ntfs_inode *ni, alloc->nres.valid_size = alloc->nres.data_size = cpu_to_le64(data_size); - err = ni_insert_resident(ni, bitmap_size(1), ATTR_BITMAP, in->name, - in->name_len, &bitmap, NULL, NULL); + err = ni_insert_resident(ni, ntfs3_bitmap_size(1), ATTR_BITMAP, + in->name, in->name_len, &bitmap, NULL, NULL); if (err) goto out2; @@ -1422,8 +1422,9 @@ static int indx_add_allocate(struct ntfs_index *indx, struct ntfs_inode *ni, if (bmp) { /* Increase bitmap. */ err = attr_set_size(ni, ATTR_BITMAP, in->name, in->name_len, - &indx->bitmap_run, bitmap_size(bit + 1), - NULL, true, NULL); + &indx->bitmap_run, + ntfs3_bitmap_size(bit + 1), NULL, true, + NULL); if (err) goto out1; } @@ -1980,7 +1981,7 @@ static int indx_shrink(struct ntfs_index *indx, struct ntfs_inode *ni, if (err) return err; - bpb = bitmap_size(bit); + bpb = ntfs3_bitmap_size(bit); if (bpb * 8 == nbits) return 0; diff --git a/target/linux/generic/files-5.4/fs/ntfs3/ntfs_fs.h b/target/linux/generic/files-5.4/fs/ntfs3/ntfs_fs.h index d9d01ce03e5170..0b11fcfa172588 100644 --- a/target/linux/generic/files-5.4/fs/ntfs3/ntfs_fs.h +++ b/target/linux/generic/files-5.4/fs/ntfs3/ntfs_fs.h @@ -38,6 +38,7 @@ struct page; struct writeback_control; enum utf16_endian; +#define BITS_TO_U64(nr) DIV_ROUND_UP(nr, BITS_PER_TYPE(u64)) #define MINUS_ONE_T ((size_t)(-1)) /* Biggest MFT / smallest cluster */ @@ -943,9 +944,9 @@ static inline bool run_is_empty(struct runs_tree *run) } /* NTFS uses quad aligned bitmaps. */ -static inline size_t bitmap_size(size_t bits) +static inline size_t ntfs3_bitmap_size(size_t bits) { - return ALIGN((bits + 7) >> 3, 8); + return BITS_TO_U64(bits) * sizeof(u64); } #define _100ns2seconds 10000000 diff --git a/target/linux/generic/files-5.4/fs/ntfs3/super.c b/target/linux/generic/files-5.4/fs/ntfs3/super.c index df22e1d2855218..a337326618db6e 100644 --- a/target/linux/generic/files-5.4/fs/ntfs3/super.c +++ b/target/linux/generic/files-5.4/fs/ntfs3/super.c @@ -1100,7 +1100,7 @@ static int ntfs_fill_super(struct super_block *sb, struct fs_context *fc) /* Check bitmap boundary. */ tt = sbi->used.bitmap.nbits; - if (inode->i_size < bitmap_size(tt)) { + if (inode->i_size < ntfs3_bitmap_size(tt)) { err = -EINVAL; goto put_inode_out; } diff --git a/target/linux/generic/hack-6.6/760-net-usb-r8152-add-LED-configuration-from-OF.patch b/target/linux/generic/hack-6.6/760-net-usb-r8152-add-LED-configuration-from-OF.patch index 190dd3507cf1ef..069c6823033594 100644 --- a/target/linux/generic/hack-6.6/760-net-usb-r8152-add-LED-configuration-from-OF.patch +++ b/target/linux/generic/hack-6.6/760-net-usb-r8152-add-LED-configuration-from-OF.patch @@ -22,7 +22,7 @@ Signed-off-by: David Bauer #include #include #include -@@ -7035,6 +7036,22 @@ static void rtl_tally_reset(struct r8152 +@@ -7044,6 +7045,22 @@ static void rtl_tally_reset(struct r8152 ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data); } @@ -45,7 +45,7 @@ Signed-off-by: David Bauer static void r8152b_init(struct r8152 *tp) { u32 ocp_data; -@@ -7076,6 +7093,8 @@ static void r8152b_init(struct r8152 *tp +@@ -7085,6 +7102,8 @@ static void r8152b_init(struct r8152 *tp ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL); ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN); ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data); @@ -54,7 +54,7 @@ Signed-off-by: David Bauer } static void r8153_init(struct r8152 *tp) -@@ -7216,6 +7235,8 @@ static void r8153_init(struct r8152 *tp) +@@ -7225,6 +7244,8 @@ static void r8153_init(struct r8152 *tp) tp->coalesce = COALESCE_SLOW; break; } @@ -63,7 +63,7 @@ Signed-off-by: David Bauer } static void r8153b_init(struct r8152 *tp) -@@ -7298,6 +7319,8 @@ static void r8153b_init(struct r8152 *tp +@@ -7307,6 +7328,8 @@ static void r8153b_init(struct r8152 *tp rtl_tally_reset(tp); tp->coalesce = 15000; /* 15 us */ diff --git a/target/linux/generic/hack-6.6/901-debloat_sock_diag.patch b/target/linux/generic/hack-6.6/901-debloat_sock_diag.patch index af000f76fccca0..acf72f4422579e 100644 --- a/target/linux/generic/hack-6.6/901-debloat_sock_diag.patch +++ b/target/linux/generic/hack-6.6/901-debloat_sock_diag.patch @@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau INDIRECT_CALLABLE_DECLARE(struct dst_entry *ip6_dst_check(struct dst_entry *, u32)); INDIRECT_CALLABLE_DECLARE(struct dst_entry *ipv4_dst_check(struct dst_entry *, -@@ -2247,9 +2264,11 @@ static void __sk_free(struct sock *sk) +@@ -2239,9 +2256,11 @@ static void __sk_free(struct sock *sk) if (likely(sk->sk_net_refcnt)) sock_inuse_add(sock_net(sk), -1); diff --git a/target/linux/generic/hack-6.6/902-debloat_proc.patch b/target/linux/generic/hack-6.6/902-debloat_proc.patch index 442daf6a0a2f96..691a60bcc03888 100644 --- a/target/linux/generic/hack-6.6/902-debloat_proc.patch +++ b/target/linux/generic/hack-6.6/902-debloat_proc.patch @@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau --- a/net/core/sock.c +++ b/net/core/sock.c -@@ -4148,6 +4148,8 @@ static __net_initdata struct pernet_oper +@@ -4140,6 +4140,8 @@ static __net_initdata struct pernet_oper static int __init proto_init(void) { diff --git a/target/linux/generic/pending-5.4/762-net-bridge-switchdev-Refactor-br_switchdev_fdb_notif.patch b/target/linux/generic/pending-5.4/762-net-bridge-switchdev-Refactor-br_switchdev_fdb_notif.patch index bfa2d375e1a2bd..65511b27db4b07 100644 --- a/target/linux/generic/pending-5.4/762-net-bridge-switchdev-Refactor-br_switchdev_fdb_notif.patch +++ b/target/linux/generic/pending-5.4/762-net-bridge-switchdev-Refactor-br_switchdev_fdb_notif.patch @@ -15,7 +15,7 @@ Reviewed-by: Vladimir Oltean --- a/net/bridge/br_switchdev.c +++ b/net/bridge/br_switchdev.c -@@ -102,42 +102,27 @@ int br_switchdev_set_port_flag(struct ne +@@ -102,44 +102,27 @@ return 0; } @@ -53,7 +53,8 @@ Reviewed-by: Vladimir Oltean - br_switchdev_fdb_call_notifiers(false, fdb->key.addr.addr, - fdb->key.vlan_id, - fdb->dst->dev, -- fdb->added_by_user, +- test_bit(BR_FDB_ADDED_BY_USER, +- &fdb->flags), - fdb->offloaded); + call_switchdev_notifiers(SWITCHDEV_FDB_DEL_TO_DEVICE, + fdb->dst->dev, &info.info, NULL); @@ -62,7 +63,8 @@ Reviewed-by: Vladimir Oltean - br_switchdev_fdb_call_notifiers(true, fdb->key.addr.addr, - fdb->key.vlan_id, - fdb->dst->dev, -- fdb->added_by_user, +- test_bit(BR_FDB_ADDED_BY_USER, +- &fdb->flags), - fdb->offloaded); + call_switchdev_notifiers(SWITCHDEV_FDB_ADD_TO_DEVICE, + fdb->dst->dev, &info.info, NULL); diff --git a/target/linux/generic/pending-5.4/764-net-bridge-switchdev-Send-FDB-notifications-for-host.patch b/target/linux/generic/pending-5.4/764-net-bridge-switchdev-Send-FDB-notifications-for-host.patch index 8b869dd8f396e8..70c77a6be5f595 100644 --- a/target/linux/generic/pending-5.4/764-net-bridge-switchdev-Send-FDB-notifications-for-host.patch +++ b/target/linux/generic/pending-5.4/764-net-bridge-switchdev-Send-FDB-notifications-for-host.patch @@ -17,16 +17,16 @@ Signed-off-by: Tobias Waldekranz --- a/net/bridge/br_fdb.c +++ b/net/bridge/br_fdb.c -@@ -581,7 +581,7 @@ void br_fdb_update(struct net_bridge *br - +@@ -589,7 +589,7 @@ /* fastpath: update of existing entry */ - if (unlikely(source != fdb->dst && !fdb->is_sticky)) { + if (unlikely(source != fdb->dst && + !test_bit(BR_FDB_STICKY, &fdb->flags))) { - br_switchdev_fdb_notify(fdb, RTM_DELNEIGH); + br_switchdev_fdb_notify(br, fdb, RTM_DELNEIGH); fdb->dst = source; fdb_modified = true; /* Take over HW learned entry */ -@@ -697,7 +697,7 @@ static void fdb_notify(struct net_bridge +@@ -705,7 +705,7 @@ int err = -ENOBUFS; if (swdev_notify) diff --git a/target/linux/rockchip/armv8/base-files/lib/preinit/04_reorder_eth b/target/linux/rockchip/armv8/base-files/lib/preinit/04_reorder_eth index aa725b8f246fb0..f94c4d47104481 100644 --- a/target/linux/rockchip/armv8/base-files/lib/preinit/04_reorder_eth +++ b/target/linux/rockchip/armv8/base-files/lib/preinit/04_reorder_eth @@ -3,6 +3,7 @@ preinit_reorder_eth() { case $(board_name) in lyt,t68m) + modprobe r8125 || true ip link set eth0 name lan1 ip link set eth1 name lan2 ip link set eth2 name lan4 diff --git a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-armsom-sige3.dts b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-armsom-sige3.dts index 00138cbc4170fc..b30fb3e000f44e 100644 --- a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-armsom-sige3.dts +++ b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-armsom-sige3.dts @@ -165,8 +165,6 @@ pinctrl-names = "default"; pinctrl-0 = <&vcc5v0_usb_host_en>; regulator-name = "vcc5v0_usb_host"; - regulator-always-on; - regulator-boot-on; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; vin-supply = <&vcc5v0_usb>; @@ -179,8 +177,6 @@ pinctrl-names = "default"; pinctrl-0 = <&vcc5v0_usb_host2_en>; regulator-name = "vcc5v0_usb_host2"; - regulator-always-on; - regulator-boot-on; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; vin-supply = <&vcc5v0_usb>; @@ -302,10 +298,6 @@ vcc9-supply = <&vcc3v3_sys>; wakeup-source; - codec { - rockchip,mic-in-differential; - }; - regulators { vdd_logic: DCDC_REG1 { regulator-name = "vdd_logic"; @@ -502,7 +494,6 @@ pinctrl-names = "default"; pinctrl-0 = <&usbc1_int>; vbus-supply = <&vcc3v3_sys>; - status = "okay"; }; vdd_cpu: regulator@40 { @@ -561,20 +552,9 @@ }; &pcie2x1 { + reset-gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>; + vpcie3v3-supply = <&vcc3v3_pcie30>; status = "okay"; - - pcie@0,0 { - reg = <0x00000000 0 0 0 0>; - #address-cells = <3>; - #size-cells = <2>; - - rtl8125: pcie@1,0 { - compatible = "pci10ec,8125"; - reg = <0x000000 0 0 0 0>; - - realtek,led-data = <0x200 0x2b 0x0 0x0>; - }; - }; }; &pcie30phy { diff --git a/target/linux/rockchip/image/armv8.mk b/target/linux/rockchip/image/armv8.mk index 5085e83c950aa9..4ee5db24695f09 100644 --- a/target/linux/rockchip/image/armv8.mk +++ b/target/linux/rockchip/image/armv8.mk @@ -38,8 +38,8 @@ define Device/armsom_sige3 SOC := rk3568 DEVICE_DTS := rockchip/rk3568-armsom-sige3 UBOOT_DEVICE_NAME := sige3-rk3568 - IMAGE/sysupgrade.img.gz := boot-common | boot-script vop | pine64-img | gzip | append-metadata - DEVICE_PACKAGES := kmod-brcmfmac kmod-r8125 wpad-openssl brcmfmac-firmware-43752-sdio brcmfmac-nvram-43752-sdio -urngd + IMAGE/sysupgrade.img.gz := boot-common | boot-script | pine64-img | gzip | append-metadata + DEVICE_PACKAGES := brcmfmac-firmware-43752-sdio kmod-brcmfmac kmod-r8125-rss wpad endef TARGET_DEVICES += armsom_sige3 @@ -342,7 +342,6 @@ define Device/rumu3f_fine-3399 endef TARGET_DEVICES += rumu3f_fine-3399 - define Device/scensmart_sv901-eaio DEVICE_VENDOR := ScenSmart DEVICE_MODEL := SV901 EAIO