-LINUX_VERSION-5.10 = .116
-LINUX_KERNEL_HASH-5.10.116 = 806692ba7436f9cfbc32709fe20097dbde4ae5e2f4ae582f39b1d91ce5d20b49
+LINUX_VERSION-5.10 = .117
+LINUX_KERNEL_HASH-5.10.117 = 703ef7112cdf889950dd864ba482d04bd87d83d3df3a98ab8d4ba8a7ab1ddcc7
offset = CORE_STS_OVERRIDE_IMP;
else
offset = CORE_STS_OVERRIDE_IMP2;
-@@ -711,7 +712,8 @@ static void bcm_sf2_sw_mac_link_down(str
- u32 reg, offset;
+@@ -714,7 +715,8 @@ static void bcm_sf2_sw_mac_link_down(str
+ return;
if (port != core_readl(priv, CORE_IMP0_PRT_ID)) {
- if (priv->type == BCM7445_DEVICE_ID)
offset = CORE_STS_OVERRIDE_GMIIP_PORT(port);
else
offset = CORE_STS_OVERRIDE_GMIIP2_PORT(port);
-@@ -738,7 +740,8 @@ static void bcm_sf2_sw_mac_link_up(struc
+@@ -741,7 +743,8 @@ static void bcm_sf2_sw_mac_link_up(struc
bcm_sf2_sw_mac_link_set(ds, port, interface, true);
if (port != core_readl(priv, CORE_IMP0_PRT_ID)) {
offset = CORE_STS_OVERRIDE_GMIIP_PORT(port);
else
offset = CORE_STS_OVERRIDE_GMIIP2_PORT(port);
-@@ -1131,6 +1134,30 @@ struct bcm_sf2_of_data {
+@@ -1134,6 +1137,30 @@ struct bcm_sf2_of_data {
unsigned int num_cfp_rules;
};
/* Register offsets for the SWITCH_REG_* block */
static const u16 bcm_sf2_7445_reg_offsets[] = {
[REG_SWITCH_CNTRL] = 0x00,
-@@ -1179,6 +1206,9 @@ static const struct bcm_sf2_of_data bcm_
+@@ -1182,6 +1209,9 @@ static const struct bcm_sf2_of_data bcm_
};
static const struct of_device_id bcm_sf2_of_match[] = {
static void bcm_sf2_intr_disable(struct bcm_sf2_priv *priv)
{
intrl2_0_mask_set(priv, 0xffffffff);
-@@ -872,6 +910,8 @@ static int bcm_sf2_sw_resume(struct dsa_
+@@ -875,6 +913,8 @@ static int bcm_sf2_sw_resume(struct dsa_
return ret;
}
ret = bcm_sf2_cfp_resume(ds);
if (ret)
return ret;
-@@ -1143,6 +1183,7 @@ struct bcm_sf2_of_data {
+@@ -1146,6 +1186,7 @@ struct bcm_sf2_of_data {
const u16 *reg_offsets;
unsigned int core_reg_align;
unsigned int num_cfp_rules;
};
static const u16 bcm_sf2_4908_reg_offsets[] = {
-@@ -1167,6 +1208,7 @@ static const struct bcm_sf2_of_data bcm_
+@@ -1170,6 +1211,7 @@ static const struct bcm_sf2_of_data bcm_
.core_reg_align = 0,
.reg_offsets = bcm_sf2_4908_reg_offsets,
.num_cfp_rules = 0, /* FIXME */
};
/* Register offsets for the SWITCH_REG_* block */
-@@ -1277,6 +1319,7 @@ static int bcm_sf2_sw_probe(struct platf
+@@ -1280,6 +1322,7 @@ static int bcm_sf2_sw_probe(struct platf
priv->reg_offsets = data->reg_offsets;
priv->core_reg_align = data->core_reg_align;
priv->num_cfp_rules = data->num_cfp_rules;
priv->rcdev = devm_reset_control_get_optional_exclusive(&pdev->dev,
"switch");
-@@ -1350,6 +1393,8 @@ static int bcm_sf2_sw_probe(struct platf
+@@ -1353,6 +1396,8 @@ static int bcm_sf2_sw_probe(struct platf
goto out_clk_mdiv;
}
--- a/drivers/net/dsa/bcm_sf2.c
+++ b/drivers/net/dsa/bcm_sf2.c
-@@ -1207,7 +1207,7 @@ static const struct bcm_sf2_of_data bcm_
+@@ -1210,7 +1210,7 @@ static const struct bcm_sf2_of_data bcm_
.type = BCM4908_DEVICE_ID,
.core_reg_align = 0,
.reg_offsets = bcm_sf2_4908_reg_offsets,
}
static void bcm_sf2_sw_mac_link_down(struct dsa_switch *ds, int port,
-@@ -784,11 +815,15 @@ static void bcm_sf2_sw_mac_link_up(struc
+@@ -787,11 +818,15 @@ static void bcm_sf2_sw_mac_link_up(struc
{
struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds);
struct ethtool_eee *p = &priv->dev->ports[port].eee;
if (priv->type == BCM4908_DEVICE_ID ||
priv->type == BCM7445_DEVICE_ID)
offset = CORE_STS_OVERRIDE_GMIIP_PORT(port);
-@@ -799,7 +834,7 @@ static void bcm_sf2_sw_mac_link_up(struc
+@@ -802,7 +837,7 @@ static void bcm_sf2_sw_mac_link_up(struc
interface == PHY_INTERFACE_MODE_RGMII_TXID ||
interface == PHY_INTERFACE_MODE_MII ||
interface == PHY_INTERFACE_MODE_REVMII) {
reg &= ~(RX_PAUSE_EN | TX_PAUSE_EN);
if (tx_pause)
-@@ -807,7 +842,7 @@ static void bcm_sf2_sw_mac_link_up(struc
+@@ -810,7 +845,7 @@ static void bcm_sf2_sw_mac_link_up(struc
if (rx_pause)
reg |= RX_PAUSE_EN;
break;
default:
switch (port) {
-@@ -1230,9 +1235,7 @@ static const u16 bcm_sf2_4908_reg_offset
+@@ -1233,9 +1238,7 @@ static const u16 bcm_sf2_4908_reg_offset
[REG_PHY_REVISION] = 0x14,
[REG_SPHY_CNTRL] = 0x24,
[REG_CROSSBAR] = 0xc8,
--- a/drivers/net/dsa/bcm_sf2.c
+++ b/drivers/net/dsa/bcm_sf2.c
-@@ -824,11 +824,9 @@ static void bcm_sf2_sw_mac_link_up(struc
+@@ -827,11 +827,9 @@ static void bcm_sf2_sw_mac_link_up(struc
bcm_sf2_sw_mac_link_set(ds, port, interface, true);
if (port != core_readl(priv, CORE_IMP0_PRT_ID)) {
if (priv->type == BCM4908_DEVICE_ID ||
priv->type == BCM7445_DEVICE_ID)
offset = CORE_STS_OVERRIDE_GMIIP_PORT(port);
-@@ -839,6 +837,7 @@ static void bcm_sf2_sw_mac_link_up(struc
+@@ -842,6 +840,7 @@ static void bcm_sf2_sw_mac_link_up(struc
interface == PHY_INTERFACE_MODE_RGMII_TXID ||
interface == PHY_INTERFACE_MODE_MII ||
interface == PHY_INTERFACE_MODE_REVMII) {
}
}
-@@ -1235,9 +1272,14 @@ static const u16 bcm_sf2_4908_reg_offset
+@@ -1238,9 +1275,14 @@ static const u16 bcm_sf2_4908_reg_offset
[REG_SPHY_CNTRL] = 0x24,
[REG_CROSSBAR] = 0xc8,
[REG_RGMII_11_CNTRL] = 0x014c,
--- a/drivers/net/dsa/bcm_sf2.c
+++ b/drivers/net/dsa/bcm_sf2.c
-@@ -1532,10 +1532,14 @@ static int bcm_sf2_sw_probe(struct platf
+@@ -1535,10 +1535,14 @@ static int bcm_sf2_sw_probe(struct platf
rev = reg_readl(priv, REG_PHY_REVISION);
priv->hw_params.gphy_rev = rev & PHY_REVISION_MASK;
--- a/drivers/net/dsa/bcm_sf2.c
+++ b/drivers/net/dsa/bcm_sf2.c
-@@ -1546,6 +1546,12 @@ static int bcm_sf2_sw_probe(struct platf
+@@ -1549,6 +1549,12 @@ static int bcm_sf2_sw_probe(struct platf
priv->hw_params.core_rev >> 8, priv->hw_params.core_rev & 0xff,
priv->irq0, priv->irq1);
lp->coalesce_count_tx = XAXIDMA_DFT_TX_THRESHOLD;
--- a/drivers/net/ethernet/xilinx/xilinx_emaclite.c
+++ b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
-@@ -1122,7 +1122,6 @@ static int xemaclite_of_probe(struct pla
+@@ -1107,7 +1107,6 @@ static int xemaclite_of_probe(struct pla
struct net_device *ndev = NULL;
struct net_local *lp = NULL;
struct device *dev = &ofdev->dev;
int rc = 0;
-@@ -1164,12 +1163,9 @@ static int xemaclite_of_probe(struct pla
+@@ -1149,12 +1148,9 @@ static int xemaclite_of_probe(struct pla
lp->next_rx_buf_to_use = 0x0;
lp->tx_ping_pong = get_bool(ofdev, "xlnx,tx-ping-pong");
lp->rx_ping_pong = get_bool(ofdev, "xlnx,rx-ping-pong");
phy_led_trigger_change_speed(phydev);
}
-@@ -567,7 +567,7 @@ int phy_start_cable_test(struct phy_devi
+@@ -572,7 +572,7 @@ int phy_start_cable_test(struct phy_devi
goto out;
/* Mark the carrier down until the test is complete */
netif_testing_on(dev);
err = phydev->drv->cable_test_start(phydev);
-@@ -638,7 +638,7 @@ int phy_start_cable_test_tdr(struct phy_
+@@ -643,7 +643,7 @@ int phy_start_cable_test_tdr(struct phy_
goto out;
/* Mark the carrier down until the test is complete */
netif_testing_on(dev);
err = phydev->drv->cable_test_tdr_start(phydev, config);
-@@ -709,7 +709,7 @@ static int phy_check_link_status(struct
+@@ -714,7 +714,7 @@ static int phy_check_link_status(struct
phy_link_up(phydev);
} else if (!phydev->link && phydev->state != PHY_NOLINK) {
phydev->state = PHY_NOLINK;
}
return 0;
-@@ -1191,7 +1191,7 @@ void phy_state_machine(struct work_struc
+@@ -1226,7 +1226,7 @@ void phy_state_machine(struct work_struc
case PHY_HALTED:
if (phydev->link) {
phydev->link = 0;
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
-@@ -709,7 +709,10 @@ static int phy_check_link_status(struct
+@@ -714,7 +714,10 @@ static int phy_check_link_status(struct
phy_link_up(phydev);
} else if (!phydev->link && phydev->state != PHY_NOLINK) {
phydev->state = PHY_NOLINK;
}
return 0;
-@@ -1191,7 +1194,10 @@ void phy_state_machine(struct work_struc
+@@ -1226,7 +1229,10 @@ void phy_state_machine(struct work_struc
case PHY_HALTED:
if (phydev->link) {
phydev->link = 0;