mirror of
https://github.com/openwrt/openwrt.git
synced 2025-04-23 10:24:11 +00:00
kernel: bump 6.1 to 6.1.80
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.80 Manually rebased: generic/hack-6.1/650-netfilter-add-xt_FLOWOFFLOAD-target.patch[1] All other patches automatically rebased. 1. Acknowledgement to @heheb and @DragonBluep. Upstream commit for ref: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.80&id=9c5662e95a8dcc232c3ef4deb21033badcd260f6 Build system: x86/64 Build-tested: x86/64/AMD Cezanne, ramips/tplink_archer-a6-v3 Run-tested: x86/64/AMD Cezanne, ramips/tplink_archer-a6-v3 Signed-off-by: John Audia <therealgraysky@proton.me>
This commit is contained in:
parent
bd6b37f463
commit
13cdc8955c
include
target/linux
ath79/patches-6.1
bcm27xx/patches-6.1
950-0101-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch950-0238-zswap-Defer-zswap-initialisation.patch950-0689-input-goodix-Add-option-to-poll-instead-of-relying-o.patch950-1165-input-goodix-Include-I2C-details-in-names-for-the-de.patch
d1/patches-6.1
0012-irqchip-sifive-plic-Enable-oneshot-safe-threaded-EOI.patch0013-irqchip-sifive-plic-Support-wake-IRQs.patch0068-ASoC-sun4i-spdif-Assert-reset-when-removing-the-devi.patch0069-ASoC-sun4i-spdif-Simplify-code-around-optional-reset.patch0070-ASoC-sun4i-spdif-Add-support-for-separate-RX-TX-cloc.patch
generic
backport-6.1
hack-6.1
pending-6.1
700-netfilter-nft_flow_offload-handle-netdevice-events-f.patch701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch704-netfilter-nf_tables-fix-bidirectional-offload-regres.patch721-net-phy-realtek-rtl8221-allow-to-configure-SERDES-mo.patch722-net-phy-realtek-support-switching-between-SGMII-and-.patch724-net-phy-realtek-use-genphy_soft_reset-for-2.5G-PHYs.patch725-net-phy-realtek-disable-SGMII-in-band-AN-for-2-5G-PHYs.patch726-net-phy-realtek-make-sure-paged-read-is-protected-by.patch727-net-phy-realtek-use-inline-functions-for-10GbE-adver.patch728-net-phy-realtek-check-validity-of-10GbE-link-partner.patch729-net-phy-realtek-introduce-rtl822x_probe.patch730-net-phy-realtek-detect-early-version-of-RTL8221B.patch741-net-phy-realtek-support-interrupt-of-RTL8221B.patch834-ledtrig-libata.patch
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-6.1 = .79
|
||||
LINUX_KERNEL_HASH-6.1.79 = faa49ca22fb55ed4d5ca2a55e07dd10e4e171cfc3b92568a631453cd2068b39b
|
||||
LINUX_VERSION-6.1 = .80
|
||||
LINUX_KERNEL_HASH-6.1.80 = 568ecaaebb8b87c7c8246bba67bc83402972bf34f5811651a2d3cd548ff7b671
|
||||
|
@ -312,7 +312,7 @@ SVN-Revision: 35130
|
||||
case IPV6_2292HOPOPTS:
|
||||
--- a/net/ipv6/exthdrs.c
|
||||
+++ b/net/ipv6/exthdrs.c
|
||||
@@ -1003,7 +1003,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
|
||||
@@ -1013,7 +1013,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
|
||||
goto drop;
|
||||
}
|
||||
|
||||
|
@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/tty/serial/amba-pl011.c
|
||||
+++ b/drivers/tty/serial/amba-pl011.c
|
||||
@@ -1426,6 +1426,7 @@ static bool pl011_tx_char(struct uart_am
|
||||
@@ -1456,6 +1456,7 @@ static bool pl011_tx_char(struct uart_am
|
||||
return false; /* unable to transmit character */
|
||||
|
||||
pl011_write(c, uap, REG_DR);
|
||||
|
@ -80,7 +80,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
}
|
||||
|
||||
/*********************************
|
||||
@@ -1496,7 +1512,6 @@ static int __init zswap_debugfs_init(voi
|
||||
@@ -1498,7 +1514,6 @@ static int __init zswap_debugfs_init(voi
|
||||
**********************************/
|
||||
static int __init init_zswap(void)
|
||||
{
|
||||
@ -88,7 +88,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
int ret;
|
||||
|
||||
zswap_init_started = true;
|
||||
@@ -1520,33 +1535,23 @@ static int __init init_zswap(void)
|
||||
@@ -1522,33 +1537,23 @@ static int __init init_zswap(void)
|
||||
if (ret)
|
||||
goto hp_fail;
|
||||
|
||||
|
6
target/linux/bcm27xx/patches-6.1/950-0689-input-goodix-Add-option-to-poll-instead-of-relying-o.patch
6
target/linux/bcm27xx/patches-6.1/950-0689-input-goodix-Add-option-to-poll-instead-of-relying-o.patch
@ -96,7 +96,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
}
|
||||
|
||||
static int goodix_check_cfg_8(struct goodix_ts_data *ts, const u8 *cfg, int len)
|
||||
@@ -1425,6 +1478,11 @@ static void goodix_ts_remove(struct i2c_
|
||||
@@ -1426,6 +1479,11 @@ static void goodix_ts_remove(struct i2c_
|
||||
{
|
||||
struct goodix_ts_data *ts = i2c_get_clientdata(client);
|
||||
|
||||
@ -108,7 +108,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
if (ts->load_cfg_from_disk)
|
||||
wait_for_completion(&ts->firmware_loading_complete);
|
||||
}
|
||||
@@ -1440,7 +1498,7 @@ static int __maybe_unused goodix_suspend
|
||||
@@ -1441,7 +1499,7 @@ static int __maybe_unused goodix_suspend
|
||||
|
||||
/* We need gpio pins to suspend/resume */
|
||||
if (ts->irq_pin_access_method == IRQ_PIN_ACCESS_NONE) {
|
||||
@ -117,7 +117,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1484,7 +1542,7 @@ static int __maybe_unused goodix_resume(
|
||||
@@ -1485,7 +1543,7 @@ static int __maybe_unused goodix_resume(
|
||||
int error;
|
||||
|
||||
if (ts->irq_pin_access_method == IRQ_PIN_ACCESS_NONE) {
|
||||
|
2
target/linux/bcm27xx/patches-6.1/950-1165-input-goodix-Include-I2C-details-in-names-for-the-de.patch
2
target/linux/bcm27xx/patches-6.1/950-1165-input-goodix-Include-I2C-details-in-names-for-the-de.patch
@ -19,7 +19,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
|
||||
--- a/drivers/input/touchscreen/goodix.c
|
||||
+++ b/drivers/input/touchscreen/goodix.c
|
||||
@@ -1211,7 +1211,10 @@ static int goodix_configure_dev(struct g
|
||||
@@ -1212,7 +1212,10 @@ static int goodix_configure_dev(struct g
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@ Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
|
||||
--- a/drivers/irqchip/irq-sifive-plic.c
|
||||
+++ b/drivers/irqchip/irq-sifive-plic.c
|
||||
@@ -201,7 +201,9 @@ static struct irq_chip plic_chip = {
|
||||
@@ -207,7 +207,9 @@ static struct irq_chip plic_chip = {
|
||||
.irq_set_affinity = plic_set_affinity,
|
||||
#endif
|
||||
.irq_set_type = plic_irq_set_type,
|
||||
|
@ -10,7 +10,7 @@ Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
|
||||
--- a/drivers/irqchip/irq-sifive-plic.c
|
||||
+++ b/drivers/irqchip/irq-sifive-plic.c
|
||||
@@ -187,7 +187,8 @@ static struct irq_chip plic_edge_chip =
|
||||
@@ -193,7 +193,8 @@ static struct irq_chip plic_edge_chip =
|
||||
.irq_set_affinity = plic_set_affinity,
|
||||
#endif
|
||||
.irq_set_type = plic_irq_set_type,
|
||||
@ -20,7 +20,7 @@ Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
};
|
||||
|
||||
static struct irq_chip plic_chip = {
|
||||
@@ -201,7 +202,8 @@ static struct irq_chip plic_chip = {
|
||||
@@ -207,7 +208,8 @@ static struct irq_chip plic_chip = {
|
||||
.irq_set_affinity = plic_set_affinity,
|
||||
#endif
|
||||
.irq_set_type = plic_irq_set_type,
|
||||
|
@ -13,7 +13,7 @@ Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
|
||||
--- a/sound/soc/sunxi/sun4i-spdif.c
|
||||
+++ b/sound/soc/sunxi/sun4i-spdif.c
|
||||
@@ -705,10 +705,14 @@ err_unregister:
|
||||
@@ -710,10 +710,14 @@ err_unregister:
|
||||
|
||||
static int sun4i_spdif_remove(struct platform_device *pdev)
|
||||
{
|
||||
|
@ -52,7 +52,7 @@ Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
};
|
||||
|
||||
static const struct of_device_id sun4i_spdif_of_match[] = {
|
||||
@@ -667,17 +662,12 @@ static int sun4i_spdif_probe(struct plat
|
||||
@@ -672,17 +667,12 @@ static int sun4i_spdif_probe(struct plat
|
||||
|
||||
platform_set_drvdata(pdev, host);
|
||||
|
||||
|
@ -75,7 +75,7 @@ Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
.reg_dac_txdata = SUN8I_SPDIF_TXFIFO,
|
||||
.val_fctl_ftx = SUN50I_H6_SPDIF_FCTL_FTX,
|
||||
};
|
||||
@@ -586,7 +592,7 @@ static int sun4i_spdif_runtime_suspend(s
|
||||
@@ -591,7 +597,7 @@ static int sun4i_spdif_runtime_suspend(s
|
||||
{
|
||||
struct sun4i_spdif_dev *host = dev_get_drvdata(dev);
|
||||
|
||||
@ -84,7 +84,7 @@ Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
clk_disable_unprepare(host->apb_clk);
|
||||
|
||||
return 0;
|
||||
@@ -597,12 +603,12 @@ static int sun4i_spdif_runtime_resume(st
|
||||
@@ -602,12 +608,12 @@ static int sun4i_spdif_runtime_resume(st
|
||||
struct sun4i_spdif_dev *host = dev_get_drvdata(dev);
|
||||
int ret;
|
||||
|
||||
@ -99,7 +99,7 @@ Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -650,10 +656,10 @@ static int sun4i_spdif_probe(struct plat
|
||||
@@ -655,10 +661,10 @@ static int sun4i_spdif_probe(struct plat
|
||||
return PTR_ERR(host->apb_clk);
|
||||
}
|
||||
|
||||
|
@ -87,7 +87,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
||||
mark_page_accessed(page);
|
||||
}
|
||||
rss[mm_counter(page)]--;
|
||||
@@ -5199,8 +5198,8 @@ static inline void mm_account_fault(stru
|
||||
@@ -5219,8 +5218,8 @@ static inline void mm_account_fault(stru
|
||||
#ifdef CONFIG_LRU_GEN
|
||||
static void lru_gen_enter_fault(struct vm_area_struct *vma)
|
||||
{
|
||||
|
@ -36,7 +36,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
obj-$(CONFIG_NETFILTER_XT_TARGET_LED) += xt_LED.o
|
||||
--- /dev/null
|
||||
+++ b/net/netfilter/xt_FLOWOFFLOAD.c
|
||||
@@ -0,0 +1,699 @@
|
||||
@@ -0,0 +1,702 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2018-2021 Felix Fietkau <nbd@nbd.name>
|
||||
+ *
|
||||
@ -482,10 +482,15 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ nf_route(xt_net(par), &other_dst, &fl, false, xt_family(par));
|
||||
+ if (!other_dst)
|
||||
+ if (!dst_hold_safe(this_dst))
|
||||
+ return -ENOENT;
|
||||
+
|
||||
+ nf_route(xt_net(par), &other_dst, &fl, false, xt_family(par));
|
||||
+ if (!other_dst) {
|
||||
+ dst_release(this_dst);
|
||||
+ return -ENOENT;
|
||||
+ }
|
||||
+
|
||||
+ nf_default_forward_path(route, this_dst, dir, devs);
|
||||
+ nf_default_forward_path(route, other_dst, !dir, devs);
|
||||
+
|
||||
@ -560,8 +565,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
+ if (!flow)
|
||||
+ goto err_flow_alloc;
|
||||
+
|
||||
+ if (flow_offload_route_init(flow, &route) < 0)
|
||||
+ goto err_flow_add;
|
||||
+ flow_offload_route_init(flow, &route);
|
||||
+
|
||||
+ if (tcph) {
|
||||
+ ct->proto.tcp.seen[0].flags |= IP_CT_TCP_FLAG_BE_LIBERAL;
|
||||
@ -581,13 +585,12 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
+ xt_flowoffload_check_device(table, devs[0]);
|
||||
+ xt_flowoffload_check_device(table, devs[1]);
|
||||
+
|
||||
+ dst_release(route.tuple[!dir].dst);
|
||||
+
|
||||
+ return XT_CONTINUE;
|
||||
+
|
||||
+err_flow_add:
|
||||
+ flow_offload_free(flow);
|
||||
+err_flow_alloc:
|
||||
+ dst_release(route.tuple[dir].dst);
|
||||
+ dst_release(route.tuple[!dir].dst);
|
||||
+err_flow_route:
|
||||
+ clear_bit(IPS_OFFLOAD_BIT, &ct->status);
|
||||
@ -746,7 +749,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#include <net/netfilter/nf_flow_table.h>
|
||||
#include <net/netfilter/nf_conntrack.h>
|
||||
#include <net/netfilter/nf_conntrack_core.h>
|
||||
@@ -381,8 +380,7 @@ flow_offload_lookup(struct nf_flowtable
|
||||
@@ -374,8 +373,7 @@ flow_offload_lookup(struct nf_flowtable
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(flow_offload_lookup);
|
||||
|
||||
@ -756,7 +759,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
void (*iter)(struct nf_flowtable *flowtable,
|
||||
struct flow_offload *flow, void *data),
|
||||
void *data)
|
||||
@@ -443,6 +441,7 @@ static void nf_flow_offload_gc_step(stru
|
||||
@@ -436,6 +434,7 @@ static void nf_flow_offload_gc_step(stru
|
||||
nf_flow_offload_stats(flow_table, flow);
|
||||
}
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
|
||||
--- a/net/netfilter/nf_flow_table_core.c
|
||||
+++ b/net/netfilter/nf_flow_table_core.c
|
||||
@@ -666,6 +666,23 @@ static struct pernet_operations nf_flow_
|
||||
@@ -659,6 +659,23 @@ static struct pernet_operations nf_flow_
|
||||
.exit_batch = nf_flow_table_pernet_exit,
|
||||
};
|
||||
|
||||
@ -34,7 +34,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
static int __init nf_flow_table_module_init(void)
|
||||
{
|
||||
int ret;
|
||||
@@ -678,8 +695,14 @@ static int __init nf_flow_table_module_i
|
||||
@@ -671,8 +688,14 @@ static int __init nf_flow_table_module_i
|
||||
if (ret)
|
||||
goto out_offload;
|
||||
|
||||
@ -49,7 +49,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
out_offload:
|
||||
unregister_pernet_subsys(&nf_flow_table_net_ops);
|
||||
return ret;
|
||||
@@ -687,6 +710,7 @@ out_offload:
|
||||
@@ -680,6 +703,7 @@ out_offload:
|
||||
|
||||
static void __exit nf_flow_table_module_exit(void)
|
||||
{
|
||||
@ -59,7 +59,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
}
|
||||
--- a/net/netfilter/nft_flow_offload.c
|
||||
+++ b/net/netfilter/nft_flow_offload.c
|
||||
@@ -475,47 +475,14 @@ static struct nft_expr_type nft_flow_off
|
||||
@@ -479,47 +479,14 @@ static struct nft_expr_type nft_flow_off
|
||||
.owner = THIS_MODULE,
|
||||
};
|
||||
|
||||
|
@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/netfilter/nf_tables_api.c
|
||||
+++ b/net/netfilter/nf_tables_api.c
|
||||
@@ -7908,7 +7908,7 @@ static int nft_register_flowtable_net_ho
|
||||
@@ -7911,7 +7911,7 @@ static int nft_register_flowtable_net_ho
|
||||
err = flowtable->data.type->setup(&flowtable->data,
|
||||
hook->ops.dev,
|
||||
FLOW_BLOCK_BIND);
|
||||
|
@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/netfilter/nft_flow_offload.c
|
||||
+++ b/net/netfilter/nft_flow_offload.c
|
||||
@@ -357,6 +357,7 @@ static void nft_flow_offload_eval(const
|
||||
@@ -361,6 +361,7 @@ static void nft_flow_offload_eval(const
|
||||
ct->proto.tcp.seen[1].flags |= IP_CT_TCP_FLAG_BE_LIBERAL;
|
||||
}
|
||||
|
||||
|
@ -39,7 +39,7 @@ Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
|
||||
#define RTL8366RB_POWER_SAVE 0x15
|
||||
#define RTL8366RB_POWER_SAVE_ON BIT(12)
|
||||
|
||||
@@ -849,6 +858,48 @@ static irqreturn_t rtl9000a_handle_inter
|
||||
@@ -851,6 +860,48 @@ static irqreturn_t rtl9000a_handle_inter
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
@ -88,7 +88,7 @@ Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
|
||||
static struct phy_driver realtek_drvs[] = {
|
||||
{
|
||||
PHY_ID_MATCH_EXACT(0x00008201),
|
||||
@@ -1001,6 +1052,7 @@ static struct phy_driver realtek_drvs[]
|
||||
@@ -1003,6 +1054,7 @@ static struct phy_driver realtek_drvs[]
|
||||
PHY_ID_MATCH_EXACT(0x001cc849),
|
||||
.name = "RTL8221B-VB-CG 2.5Gbps PHY",
|
||||
.get_features = rtl822x_get_features,
|
||||
@ -96,7 +96,7 @@ Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
|
||||
.config_aneg = rtl822x_config_aneg,
|
||||
.read_status = rtl822x_read_status,
|
||||
.suspend = genphy_suspend,
|
||||
@@ -1012,6 +1064,7 @@ static struct phy_driver realtek_drvs[]
|
||||
@@ -1014,6 +1066,7 @@ static struct phy_driver realtek_drvs[]
|
||||
.name = "RTL8221B-VM-CG 2.5Gbps PHY",
|
||||
.get_features = rtl822x_get_features,
|
||||
.config_aneg = rtl822x_config_aneg,
|
||||
|
@ -16,7 +16,7 @@ Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
|
||||
|
||||
--- a/drivers/net/phy/realtek.c
|
||||
+++ b/drivers/net/phy/realtek.c
|
||||
@@ -684,6 +684,25 @@ static int rtl822x_config_aneg(struct ph
|
||||
@@ -686,6 +686,25 @@ static int rtl822x_config_aneg(struct ph
|
||||
return __genphy_config_aneg(phydev, ret);
|
||||
}
|
||||
|
||||
@ -42,7 +42,7 @@ Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
|
||||
static int rtl822x_read_status(struct phy_device *phydev)
|
||||
{
|
||||
int ret;
|
||||
@@ -702,11 +721,14 @@ static int rtl822x_read_status(struct ph
|
||||
@@ -704,11 +723,14 @@ static int rtl822x_read_status(struct ph
|
||||
phydev->lp_advertising, lpadv & RTL_LPADV_2500FULL);
|
||||
}
|
||||
|
||||
|
@ -15,7 +15,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
--- a/drivers/net/phy/realtek.c
|
||||
+++ b/drivers/net/phy/realtek.c
|
||||
@@ -1038,6 +1038,7 @@ static struct phy_driver realtek_drvs[]
|
||||
@@ -1040,6 +1040,7 @@ static struct phy_driver realtek_drvs[]
|
||||
.write_page = rtl821x_write_page,
|
||||
.read_mmd = rtl822x_read_mmd,
|
||||
.write_mmd = rtl822x_write_mmd,
|
||||
@ -23,7 +23,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
}, {
|
||||
PHY_ID_MATCH_EXACT(0x001cc840),
|
||||
.name = "RTL8226B_RTL8221B 2.5Gbps PHY",
|
||||
@@ -1050,6 +1051,7 @@ static struct phy_driver realtek_drvs[]
|
||||
@@ -1052,6 +1053,7 @@ static struct phy_driver realtek_drvs[]
|
||||
.write_page = rtl821x_write_page,
|
||||
.read_mmd = rtl822x_read_mmd,
|
||||
.write_mmd = rtl822x_write_mmd,
|
||||
@ -31,7 +31,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
}, {
|
||||
PHY_ID_MATCH_EXACT(0x001cc838),
|
||||
.name = "RTL8226-CG 2.5Gbps PHY",
|
||||
@@ -1060,6 +1062,7 @@ static struct phy_driver realtek_drvs[]
|
||||
@@ -1062,6 +1064,7 @@ static struct phy_driver realtek_drvs[]
|
||||
.resume = rtlgen_resume,
|
||||
.read_page = rtl821x_read_page,
|
||||
.write_page = rtl821x_write_page,
|
||||
@ -39,7 +39,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
}, {
|
||||
PHY_ID_MATCH_EXACT(0x001cc848),
|
||||
.name = "RTL8226B-CG_RTL8221B-CG 2.5Gbps PHY",
|
||||
@@ -1070,6 +1073,7 @@ static struct phy_driver realtek_drvs[]
|
||||
@@ -1072,6 +1075,7 @@ static struct phy_driver realtek_drvs[]
|
||||
.resume = rtlgen_resume,
|
||||
.read_page = rtl821x_read_page,
|
||||
.write_page = rtl821x_write_page,
|
||||
@ -47,7 +47,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
}, {
|
||||
PHY_ID_MATCH_EXACT(0x001cc849),
|
||||
.name = "RTL8221B-VB-CG 2.5Gbps PHY",
|
||||
@@ -1081,6 +1085,7 @@ static struct phy_driver realtek_drvs[]
|
||||
@@ -1083,6 +1087,7 @@ static struct phy_driver realtek_drvs[]
|
||||
.resume = rtlgen_resume,
|
||||
.read_page = rtl821x_read_page,
|
||||
.write_page = rtl821x_write_page,
|
||||
@ -55,7 +55,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
}, {
|
||||
PHY_ID_MATCH_EXACT(0x001cc84a),
|
||||
.name = "RTL8221B-VM-CG 2.5Gbps PHY",
|
||||
@@ -1092,6 +1097,7 @@ static struct phy_driver realtek_drvs[]
|
||||
@@ -1094,6 +1099,7 @@ static struct phy_driver realtek_drvs[]
|
||||
.resume = rtlgen_resume,
|
||||
.read_page = rtl821x_read_page,
|
||||
.write_page = rtl821x_write_page,
|
||||
|
@ -19,7 +19,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
--- a/drivers/net/phy/realtek.c
|
||||
+++ b/drivers/net/phy/realtek.c
|
||||
@@ -883,6 +883,7 @@ static irqreturn_t rtl9000a_handle_inter
|
||||
@@ -885,6 +885,7 @@ static irqreturn_t rtl9000a_handle_inter
|
||||
static int rtl8221b_config_init(struct phy_device *phydev)
|
||||
{
|
||||
u16 option_mode;
|
||||
@ -27,7 +27,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
switch (phydev->interface) {
|
||||
case PHY_INTERFACE_MODE_2500BASEX:
|
||||
@@ -919,6 +920,13 @@ static int rtl8221b_config_init(struct p
|
||||
@@ -921,6 +922,13 @@ static int rtl8221b_config_init(struct p
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -18,7 +18,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
--- a/drivers/net/phy/realtek.c
|
||||
+++ b/drivers/net/phy/realtek.c
|
||||
@@ -735,9 +735,11 @@ static bool rtlgen_supports_2_5gbps(stru
|
||||
@@ -737,9 +737,11 @@ static bool rtlgen_supports_2_5gbps(stru
|
||||
{
|
||||
int val;
|
||||
|
||||
|
@ -25,7 +25,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
#define RTL9000A_GINMR 0x14
|
||||
#define RTL9000A_GINMR_LINK_STATUS BIT(4)
|
||||
@@ -669,14 +665,11 @@ static int rtl822x_config_aneg(struct ph
|
||||
@@ -671,14 +667,11 @@ static int rtl822x_config_aneg(struct ph
|
||||
int ret = 0;
|
||||
|
||||
if (phydev->autoneg == AUTONEG_ENABLE) {
|
||||
@ -44,7 +44,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
}
|
||||
@@ -713,12 +706,7 @@ static int rtl822x_read_status(struct ph
|
||||
@@ -715,12 +708,7 @@ static int rtl822x_read_status(struct ph
|
||||
if (lpadv < 0)
|
||||
return lpadv;
|
||||
|
||||
|
@ -15,7 +15,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
--- a/drivers/net/phy/realtek.c
|
||||
+++ b/drivers/net/phy/realtek.c
|
||||
@@ -706,6 +706,10 @@ static int rtl822x_read_status(struct ph
|
||||
@@ -708,6 +708,10 @@ static int rtl822x_read_status(struct ph
|
||||
if (lpadv < 0)
|
||||
return lpadv;
|
||||
|
||||
|
@ -24,7 +24,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
#define RTL8366RB_POWER_SAVE 0x15
|
||||
#define RTL8366RB_POWER_SAVE_ON BIT(12)
|
||||
|
||||
@@ -748,6 +752,25 @@ static int rtl8226_match_phy_device(stru
|
||||
@@ -750,6 +754,25 @@ static int rtl8226_match_phy_device(stru
|
||||
rtlgen_supports_2_5gbps(phydev);
|
||||
}
|
||||
|
||||
@ -50,7 +50,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
static int rtlgen_resume(struct phy_device *phydev)
|
||||
{
|
||||
int ret = genphy_resume(phydev);
|
||||
@@ -1059,6 +1082,7 @@ static struct phy_driver realtek_drvs[]
|
||||
@@ -1061,6 +1084,7 @@ static struct phy_driver realtek_drvs[]
|
||||
.name = "RTL8226-CG 2.5Gbps PHY",
|
||||
.get_features = rtl822x_get_features,
|
||||
.config_aneg = rtl822x_config_aneg,
|
||||
@ -58,7 +58,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
.read_status = rtl822x_read_status,
|
||||
.suspend = genphy_suspend,
|
||||
.resume = rtlgen_resume,
|
||||
@@ -1070,6 +1094,7 @@ static struct phy_driver realtek_drvs[]
|
||||
@@ -1072,6 +1096,7 @@ static struct phy_driver realtek_drvs[]
|
||||
.name = "RTL8226B-CG_RTL8221B-CG 2.5Gbps PHY",
|
||||
.get_features = rtl822x_get_features,
|
||||
.config_aneg = rtl822x_config_aneg,
|
||||
@ -66,7 +66,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
.read_status = rtl822x_read_status,
|
||||
.suspend = genphy_suspend,
|
||||
.resume = rtlgen_resume,
|
||||
@@ -1082,6 +1107,7 @@ static struct phy_driver realtek_drvs[]
|
||||
@@ -1084,6 +1109,7 @@ static struct phy_driver realtek_drvs[]
|
||||
.get_features = rtl822x_get_features,
|
||||
.config_init = rtl8221b_config_init,
|
||||
.config_aneg = rtl822x_config_aneg,
|
||||
@ -74,7 +74,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
.read_status = rtl822x_read_status,
|
||||
.suspend = genphy_suspend,
|
||||
.resume = rtlgen_resume,
|
||||
@@ -1094,6 +1120,7 @@ static struct phy_driver realtek_drvs[]
|
||||
@@ -1096,6 +1122,7 @@ static struct phy_driver realtek_drvs[]
|
||||
.get_features = rtl822x_get_features,
|
||||
.config_aneg = rtl822x_config_aneg,
|
||||
.config_init = rtl8221b_config_init,
|
||||
|
@ -13,7 +13,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
--- a/drivers/net/phy/realtek.c
|
||||
+++ b/drivers/net/phy/realtek.c
|
||||
@@ -752,6 +752,38 @@ static int rtl8226_match_phy_device(stru
|
||||
@@ -754,6 +754,38 @@ static int rtl8226_match_phy_device(stru
|
||||
rtlgen_supports_2_5gbps(phydev);
|
||||
}
|
||||
|
||||
@ -52,7 +52,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
static int rtl822x_probe(struct phy_device *phydev)
|
||||
{
|
||||
struct device *dev = &phydev->mdio.dev;
|
||||
@@ -1102,7 +1134,7 @@ static struct phy_driver realtek_drvs[]
|
||||
@@ -1104,7 +1136,7 @@ static struct phy_driver realtek_drvs[]
|
||||
.write_page = rtl821x_write_page,
|
||||
.soft_reset = genphy_soft_reset,
|
||||
}, {
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/drivers/net/phy/realtek.c
|
||||
+++ b/drivers/net/phy/realtek.c
|
||||
@@ -979,6 +979,51 @@ static int rtl8221b_config_init(struct p
|
||||
@@ -981,6 +981,51 @@ static int rtl8221b_config_init(struct p
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -52,7 +52,7 @@
|
||||
static struct phy_driver realtek_drvs[] = {
|
||||
{
|
||||
PHY_ID_MATCH_EXACT(0x00008201),
|
||||
@@ -1139,6 +1184,8 @@ static struct phy_driver realtek_drvs[]
|
||||
@@ -1141,6 +1186,8 @@ static struct phy_driver realtek_drvs[]
|
||||
.get_features = rtl822x_get_features,
|
||||
.config_init = rtl8221b_config_init,
|
||||
.config_aneg = rtl822x_config_aneg,
|
||||
|
@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
/**
|
||||
* ata_build_rw_tf - Build ATA taskfile for given read/write request
|
||||
* @qc: Metadata associated with the taskfile to build
|
||||
@@ -4712,6 +4725,9 @@ void __ata_qc_complete(struct ata_queued
|
||||
@@ -4716,6 +4729,9 @@ void __ata_qc_complete(struct ata_queued
|
||||
link->active_tag = ATA_TAG_POISON;
|
||||
ap->nr_active_links--;
|
||||
}
|
||||
@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
/* clear exclusive status */
|
||||
if (unlikely(qc->flags & ATA_QCFLAG_CLEAR_EXCL &&
|
||||
@@ -5434,6 +5450,9 @@ struct ata_port *ata_port_alloc(struct a
|
||||
@@ -5438,6 +5454,9 @@ struct ata_port *ata_port_alloc(struct a
|
||||
ap->stats.unhandled_irq = 1;
|
||||
ap->stats.idle_irq = 1;
|
||||
#endif
|
||||
@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
ata_sff_port_init(ap);
|
||||
|
||||
return ap;
|
||||
@@ -5469,6 +5488,12 @@ static void ata_host_release(struct kref
|
||||
@@ -5473,6 +5492,12 @@ static void ata_host_release(struct kref
|
||||
|
||||
kfree(ap->pmp_link);
|
||||
kfree(ap->slave_link);
|
||||
@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
kfree(ap);
|
||||
host->ports[i] = NULL;
|
||||
}
|
||||
@@ -5871,7 +5896,23 @@ int ata_host_register(struct ata_host *h
|
||||
@@ -5875,7 +5900,23 @@ int ata_host_register(struct ata_host *h
|
||||
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
|
||||
host->ports[i]->local_port_no = i + 1;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user