kernel: bump 6.12 to 6.12.34
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.34 Remove upstreamed patches: generic/backport-6.12/421-01-v6.16-spi-bcm63xx-spi-fix-shared-reset.patch [1] generic/backport-6.12/421-02-v6.16-spi-bcm63xx-hsspi-fix-shared-reset.patch [2] generic/backport-6.12/610-06-v6.16-net-dsa-b53-do-not-enable-RGMII-delay-on-bcm63xx.patch [3] generic/backport-6.12/610-08-v6.16-net-dsa-b53-allow-RGMII-for-bcm63xx-RGMII-ports.patch [4] generic/backport-6.12/610-09-v6.16-net-dsa-b53-do-not-touch-DLL_IQQD-on-bcm53115.patch [5] generic/backport-6.12/611-v6.16-net-dsa-tag_brcm-legacy-fix-pskb_may_pull-length.patch [6] Manually rebased patches: bcm27xx/patches-6.12/950-0665-drm-vc4-tests-Drop-drm-parameter-for-vc4_find_crtc_f.patch [7] [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=408ca1d1803b223d615f9021055f9ccb4f4863ea [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=2a98786e258718ff93ef6d6bd26a9a39076e0cb7 [3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=6d1c93a5c6b0ae87bb7001d8d6fdef3b3be9c6c6 [4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=1aa31695bf0dc1ee3e6c559c14db7fd05b6bb102 [5] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=b2fc08d276797e529cacad6fa9d704a7367090b5 [6] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=2c32fc56c05aa69439fdfd5e0b25f57e2a158627 [7] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=aba86d49e5ac3700295ab8c417436abacc19cc32 Signed-off-by: Shiji Yang <yangshiji66@outlook.com> Link: https://github.com/openwrt/openwrt/pull/19184 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
parent
bbd95c0523
commit
cb1b656027
34 changed files with 71 additions and 310 deletions
|
@ -25,7 +25,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
|||
module_param_named(mousepoll, hid_mousepoll_interval, uint, 0644);
|
||||
MODULE_PARM_DESC(mousepoll, "Polling interval of mice");
|
||||
|
||||
@@ -1114,7 +1114,9 @@ static int usbhid_start(struct hid_devic
|
||||
@@ -1117,7 +1117,9 @@ static int usbhid_start(struct hid_devic
|
||||
*/
|
||||
switch (hid->collection->usage) {
|
||||
case HID_GD_MOUSE:
|
||||
|
@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
|||
interval = hid_mousepoll_interval;
|
||||
break;
|
||||
case HID_GD_JOYSTICK:
|
||||
@@ -1126,6 +1128,7 @@ static int usbhid_start(struct hid_devic
|
||||
@@ -1129,6 +1131,7 @@ static int usbhid_start(struct hid_devic
|
||||
interval = hid_kbpoll_interval;
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -315,7 +315,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|||
ddc = of_parse_phandle(dev->of_node, "ddc-i2c-bus", 0);
|
||||
if (ddc) {
|
||||
panel->ddc = of_find_i2c_adapter_by_node(ddc);
|
||||
@@ -2262,6 +2243,32 @@ static const struct panel_desc friendlya
|
||||
@@ -2263,6 +2244,32 @@ static const struct panel_desc friendlya
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -348,7 +348,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|||
static const struct drm_display_mode giantplus_gpg482739qs5_mode = {
|
||||
.clock = 9000,
|
||||
.hdisplay = 480,
|
||||
@@ -2442,6 +2449,38 @@ static const struct panel_desc innolux_a
|
||||
@@ -2443,6 +2450,38 @@ static const struct panel_desc innolux_a
|
||||
.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
|
||||
};
|
||||
|
||||
|
@ -387,7 +387,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|||
static const struct drm_display_mode innolux_at070tn92_mode = {
|
||||
.clock = 33333,
|
||||
.hdisplay = 800,
|
||||
@@ -3855,6 +3894,31 @@ static const struct panel_desc rocktech_
|
||||
@@ -3856,6 +3895,31 @@ static const struct panel_desc rocktech_
|
||||
.connector_type = DRM_MODE_CONNECTOR_DPI,
|
||||
};
|
||||
|
||||
|
@ -419,7 +419,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|||
static const struct display_timing rocktech_rk070er9427_timing = {
|
||||
.pixelclock = { 26400000, 33300000, 46800000 },
|
||||
.hactive = { 800, 800, 800 },
|
||||
@@ -4799,6 +4863,9 @@ static const struct of_device_id platfor
|
||||
@@ -4800,6 +4864,9 @@ static const struct of_device_id platfor
|
||||
.compatible = "friendlyarm,hd702e",
|
||||
.data = &friendlyarm_hd702e,
|
||||
}, {
|
||||
|
@ -429,7 +429,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|||
.compatible = "giantplus,gpg482739qs5",
|
||||
.data = &giantplus_gpg482739qs5
|
||||
}, {
|
||||
@@ -4820,6 +4887,9 @@ static const struct of_device_id platfor
|
||||
@@ -4821,6 +4888,9 @@ static const struct of_device_id platfor
|
||||
.compatible = "innolux,at043tn24",
|
||||
.data = &innolux_at043tn24,
|
||||
}, {
|
||||
|
@ -439,7 +439,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|||
.compatible = "innolux,at070tn92",
|
||||
.data = &innolux_at070tn92,
|
||||
}, {
|
||||
@@ -4979,6 +5049,9 @@ static const struct of_device_id platfor
|
||||
@@ -4980,6 +5050,9 @@ static const struct of_device_id platfor
|
||||
.compatible = "rocktech,rk043fn48h",
|
||||
.data = &rocktech_rk043fn48h,
|
||||
}, {
|
||||
|
@ -449,7 +449,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|||
.compatible = "rocktech,rk070er9427",
|
||||
.data = &rocktech_rk070er9427,
|
||||
}, {
|
||||
@@ -5335,6 +5408,9 @@ static const struct panel_desc_dsi osd10
|
||||
@@ -5336,6 +5409,9 @@ static const struct panel_desc_dsi osd10
|
||||
.lanes = 4,
|
||||
};
|
||||
|
||||
|
@ -459,7 +459,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|||
static const struct of_device_id dsi_of_match[] = {
|
||||
{
|
||||
.compatible = "auo,b080uan01",
|
||||
@@ -5358,20 +5434,137 @@ static const struct of_device_id dsi_of_
|
||||
@@ -5359,20 +5435,137 @@ static const struct of_device_id dsi_of_
|
||||
.compatible = "osddisplays,osd101t2045-53ts",
|
||||
.data = &osd101t2045_53ts
|
||||
}, {
|
||||
|
|
|
@ -48,7 +48,7 @@ Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
|
|||
#ifdef CONFIG_HUGETLB_PAGE_SIZE_VARIABLE
|
||||
unsigned int pageblock_order __read_mostly;
|
||||
#endif
|
||||
@@ -2269,12 +2290,13 @@ __rmqueue(struct zone *zone, unsigned in
|
||||
@@ -2265,12 +2286,13 @@ __rmqueue(struct zone *zone, unsigned in
|
||||
if (IS_ENABLED(CONFIG_CMA)) {
|
||||
/*
|
||||
* Balance movable allocations between regular and CMA areas by
|
||||
|
|
|
@ -20,7 +20,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||
|
||||
--- a/net/bluetooth/hci_sync.c
|
||||
+++ b/net/bluetooth/hci_sync.c
|
||||
@@ -4866,6 +4866,7 @@ static const struct {
|
||||
@@ -4877,6 +4877,7 @@ static const struct {
|
||||
*/
|
||||
static int hci_dev_setup_sync(struct hci_dev *hdev)
|
||||
{
|
||||
|
@ -28,7 +28,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||
int ret = 0;
|
||||
bool invalid_bdaddr;
|
||||
size_t i;
|
||||
@@ -4894,7 +4895,8 @@ static int hci_dev_setup_sync(struct hci
|
||||
@@ -4905,7 +4906,8 @@ static int hci_dev_setup_sync(struct hci
|
||||
test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks);
|
||||
if (!ret) {
|
||||
if (test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks) &&
|
||||
|
|
|
@ -12,7 +12,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
|
|||
|
||||
--- a/drivers/mmc/host/sdhci-of-dwcmshc.c
|
||||
+++ b/drivers/mmc/host/sdhci-of-dwcmshc.c
|
||||
@@ -1212,7 +1212,11 @@ static const struct dwcmshc_pltfm_data s
|
||||
@@ -1236,7 +1236,11 @@ static const struct dwcmshc_pltfm_data s
|
||||
.quirks = SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN |
|
||||
SDHCI_QUIRK_BROKEN_TIMEOUT_VAL,
|
||||
.quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
|
||||
|
|
|
@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
|
||||
--- a/drivers/mmc/host/sdhci-of-dwcmshc.c
|
||||
+++ b/drivers/mmc/host/sdhci-of-dwcmshc.c
|
||||
@@ -220,6 +220,7 @@ struct rk35xx_priv {
|
||||
@@ -221,6 +221,7 @@ struct rk35xx_priv {
|
||||
|
||||
struct dwcmshc_priv {
|
||||
struct clk *bus_clk;
|
||||
|
@ -30,7 +30,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
int vendor_specific_area1; /* P_VENDOR_SPECIFIC_AREA1 reg */
|
||||
int vendor_specific_area2; /* P_VENDOR_SPECIFIC_AREA2 reg */
|
||||
|
||||
@@ -288,6 +289,17 @@ static void dwcmshc_adma_write_desc(stru
|
||||
@@ -289,6 +290,17 @@ static void dwcmshc_adma_write_desc(stru
|
||||
sdhci_adma_write_desc(host, desc, addr, len, cmd);
|
||||
}
|
||||
|
||||
|
@ -48,7 +48,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
static unsigned int dwcmshc_get_max_clock(struct sdhci_host *host)
|
||||
{
|
||||
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
|
||||
@@ -1114,10 +1126,11 @@ static int sg2042_init(struct device *de
|
||||
@@ -1138,10 +1150,11 @@ static int sg2042_init(struct device *de
|
||||
}
|
||||
|
||||
static const struct sdhci_ops sdhci_dwcmshc_ops = {
|
||||
|
@ -61,7 +61,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
.reset = sdhci_reset,
|
||||
.adma_write_desc = dwcmshc_adma_write_desc,
|
||||
.irq = dwcmshc_cqe_irq_handler,
|
||||
@@ -1190,8 +1203,10 @@ static const struct sdhci_ops sdhci_dwcm
|
||||
@@ -1214,8 +1227,10 @@ static const struct sdhci_ops sdhci_dwcm
|
||||
static const struct dwcmshc_pltfm_data sdhci_dwcmshc_pdata = {
|
||||
.pdata = {
|
||||
.ops = &sdhci_dwcmshc_ops,
|
||||
|
@ -74,7 +74,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
},
|
||||
};
|
||||
|
||||
@@ -1206,6 +1221,15 @@ static const struct dwcmshc_pltfm_data s
|
||||
@@ -1230,6 +1245,15 @@ static const struct dwcmshc_pltfm_data s
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -90,7 +90,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
static const struct dwcmshc_pltfm_data sdhci_dwcmshc_rk35xx_pdata = {
|
||||
.pdata = {
|
||||
.ops = &sdhci_dwcmshc_rk35xx_ops,
|
||||
@@ -1317,6 +1341,10 @@ dsbl_cqe_caps:
|
||||
@@ -1353,6 +1377,10 @@ dsbl_cqe_caps:
|
||||
|
||||
static const struct of_device_id sdhci_dwcmshc_dt_ids[] = {
|
||||
{
|
||||
|
@ -101,7 +101,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
.compatible = "rockchip,rk3588-dwcmshc",
|
||||
.data = &sdhci_dwcmshc_rk35xx_pdata,
|
||||
},
|
||||
@@ -1405,13 +1433,32 @@ static int dwcmshc_probe(struct platform
|
||||
@@ -1445,13 +1473,32 @@ static int dwcmshc_probe(struct platform
|
||||
priv->bus_clk = devm_clk_get(dev, "bus");
|
||||
if (!IS_ERR(priv->bus_clk))
|
||||
clk_prepare_enable(priv->bus_clk);
|
||||
|
@ -134,7 +134,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
|
||||
priv->vendor_specific_area1 =
|
||||
sdhci_readl(host, DWCMSHC_P_VENDOR_AREA1) & DWCMSHC_AREA1_MASK;
|
||||
@@ -1471,6 +1518,7 @@ err_rpm:
|
||||
@@ -1511,6 +1558,7 @@ err_rpm:
|
||||
pm_runtime_put_noidle(dev);
|
||||
err_clk:
|
||||
clk_disable_unprepare(pltfm_host->clk);
|
||||
|
|
|
@ -55,7 +55,7 @@ Signed-off-by: Ratchanan Srirattanamet <peathot@hotmail.com>
|
|||
|
||||
--- a/drivers/iommu/Kconfig
|
||||
+++ b/drivers/iommu/Kconfig
|
||||
@@ -519,4 +519,11 @@ config SPRD_IOMMU
|
||||
@@ -518,4 +518,11 @@ config SPRD_IOMMU
|
||||
|
||||
Say Y here if you want to use the multimedia devices listed above.
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||
|
||||
--- a/net/bluetooth/hci_sync.c
|
||||
+++ b/net/bluetooth/hci_sync.c
|
||||
@@ -4866,7 +4866,8 @@ static const struct {
|
||||
@@ -4877,7 +4877,8 @@ static const struct {
|
||||
*/
|
||||
static int hci_dev_setup_sync(struct hci_dev *hdev)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||
|
||||
--- a/drivers/firmware/Kconfig
|
||||
+++ b/drivers/firmware/Kconfig
|
||||
@@ -120,6 +120,15 @@ config RASPBERRYPI_FIRMWARE
|
||||
@@ -119,6 +119,15 @@ config RASPBERRYPI_FIRMWARE
|
||||
This option enables support for communicating with the firmware on the
|
||||
Raspberry Pi.
|
||||
|
||||
|
|
|
@ -32,24 +32,24 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||
KUNIT_ASSERT_EQ(test, hweight32(encoder->possible_crtcs), 1);
|
||||
--- a/drivers/gpu/drm/vc4/tests/vc4_mock_output.c
|
||||
+++ b/drivers/gpu/drm/vc4/tests/vc4_mock_output.c
|
||||
@@ -77,7 +77,7 @@ int vc4_mock_atomic_add_output(struct ku
|
||||
encoder = vc4_find_encoder_by_type(drm, type);
|
||||
KUNIT_ASSERT_NOT_ERR_OR_NULL(test, encoder);
|
||||
@@ -78,7 +78,7 @@ int vc4_mock_atomic_add_output(struct ku
|
||||
if (!encoder)
|
||||
return -ENODEV;
|
||||
|
||||
- crtc = vc4_find_crtc_for_encoder(test, drm, encoder);
|
||||
+ crtc = vc4_find_crtc_for_encoder(test, encoder);
|
||||
KUNIT_ASSERT_NOT_ERR_OR_NULL(test, crtc);
|
||||
if (!crtc)
|
||||
return -ENODEV;
|
||||
|
||||
output = encoder_to_vc4_dummy_output(encoder);
|
||||
@@ -115,7 +115,7 @@ int vc4_mock_atomic_del_output(struct ku
|
||||
encoder = vc4_find_encoder_by_type(drm, type);
|
||||
KUNIT_ASSERT_NOT_ERR_OR_NULL(test, encoder);
|
||||
@@ -122,7 +122,7 @@ int vc4_mock_atomic_del_output(struct ku
|
||||
if (!encoder)
|
||||
return -ENODEV;
|
||||
|
||||
- crtc = vc4_find_crtc_for_encoder(test, drm, encoder);
|
||||
+ crtc = vc4_find_crtc_for_encoder(test, encoder);
|
||||
KUNIT_ASSERT_NOT_ERR_OR_NULL(test, crtc);
|
||||
if (!crtc)
|
||||
return -ENODEV;
|
||||
|
||||
crtc_state = drm_atomic_get_crtc_state(state, crtc);
|
||||
--- a/drivers/gpu/drm/vc4/tests/vc4_test_pv_muxing.c
|
||||
+++ b/drivers/gpu/drm/vc4/tests/vc4_test_pv_muxing.c
|
||||
@@ -131,7 +131,7 @@ get_vc4_crtc_state_for_encoder(struct ku
|
||||
|
|
|
@ -49,7 +49,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||
{
|
||||
struct drm_device *drm = state->dev;
|
||||
struct drm_connector_state *conn_state;
|
||||
@@ -96,7 +97,7 @@ int vc4_mock_atomic_add_output(struct ku
|
||||
@@ -102,7 +103,7 @@ int vc4_mock_atomic_add_output(struct ku
|
||||
|
||||
crtc_state->active = true;
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||
|
||||
--- a/drivers/mmc/host/sdhci-of-dwcmshc.c
|
||||
+++ b/drivers/mmc/host/sdhci-of-dwcmshc.c
|
||||
@@ -1221,13 +1221,15 @@ static const struct dwcmshc_pltfm_data s
|
||||
@@ -1245,13 +1245,15 @@ static const struct dwcmshc_pltfm_data s
|
||||
};
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1,32 +0,0 @@
|
|||
From 5ad20e3d8cfe3b2e42bbddc7e0ebaa74479bb589 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
|
||||
Date: Thu, 29 May 2025 15:09:14 +0200
|
||||
Subject: [PATCH] spi: bcm63xx-spi: fix shared reset
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Some bmips SoCs (bcm6362, bcm63268) share the same SPI reset for both SPI
|
||||
and HSSPI controllers, so reset shouldn't be exclusive.
|
||||
|
||||
Fixes: 38807adeaf1e ("spi: bcm63xx-spi: add reset support")
|
||||
Reported-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
|
||||
Link: https://patch.msgid.link/20250529130915.2519590-2-noltari@gmail.com
|
||||
Signed-off-by: Mark Brown <broonie@kernel.org>
|
||||
---
|
||||
drivers/spi/spi-bcm63xx.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/spi/spi-bcm63xx.c
|
||||
+++ b/drivers/spi/spi-bcm63xx.c
|
||||
@@ -523,7 +523,7 @@ static int bcm63xx_spi_probe(struct plat
|
||||
return PTR_ERR(clk);
|
||||
}
|
||||
|
||||
- reset = devm_reset_control_get_optional_exclusive(dev, NULL);
|
||||
+ reset = devm_reset_control_get_optional_shared(dev, NULL);
|
||||
if (IS_ERR(reset))
|
||||
return PTR_ERR(reset);
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
From 3d6d84c8f2f66d3fd6a43a1e2ce8e6b54c573960 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
|
||||
Date: Thu, 29 May 2025 15:09:15 +0200
|
||||
Subject: [PATCH] spi: bcm63xx-hsspi: fix shared reset
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Some bmips SoCs (bcm6362, bcm63268) share the same SPI reset for both SPI
|
||||
and HSSPI controllers, so reset shouldn't be exclusive.
|
||||
|
||||
Fixes: 0eeadddbf09a ("spi: bcm63xx-hsspi: add reset support")
|
||||
Reported-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
|
||||
Link: https://patch.msgid.link/20250529130915.2519590-3-noltari@gmail.com
|
||||
Signed-off-by: Mark Brown <broonie@kernel.org>
|
||||
---
|
||||
drivers/spi/spi-bcm63xx-hsspi.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/spi/spi-bcm63xx-hsspi.c
|
||||
+++ b/drivers/spi/spi-bcm63xx-hsspi.c
|
||||
@@ -745,7 +745,7 @@ static int bcm63xx_hsspi_probe(struct pl
|
||||
if (IS_ERR(clk))
|
||||
return PTR_ERR(clk);
|
||||
|
||||
- reset = devm_reset_control_get_optional_exclusive(dev, NULL);
|
||||
+ reset = devm_reset_control_get_optional_shared(dev, NULL);
|
||||
if (IS_ERR(reset))
|
||||
return PTR_ERR(reset);
|
||||
|
|
@ -19,7 +19,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||
|
||||
--- a/drivers/net/dsa/b53/b53_common.c
|
||||
+++ b/drivers/net/dsa/b53/b53_common.c
|
||||
@@ -2358,13 +2358,16 @@ int b53_eee_init(struct dsa_switch *ds,
|
||||
@@ -2343,13 +2343,16 @@ int b53_eee_init(struct dsa_switch *ds,
|
||||
}
|
||||
EXPORT_SYMBOL(b53_eee_init);
|
||||
|
||||
|
@ -39,7 +39,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(b53_get_mac_eee);
|
||||
@@ -2374,9 +2377,6 @@ int b53_set_mac_eee(struct dsa_switch *d
|
||||
@@ -2359,9 +2362,6 @@ int b53_set_mac_eee(struct dsa_switch *d
|
||||
struct b53_device *dev = ds->priv;
|
||||
struct ethtool_keee *p = &dev->ports[port].eee;
|
||||
|
||||
|
@ -49,7 +49,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||
p->eee_enabled = e->eee_enabled;
|
||||
b53_eee_enable_set(ds, port, e->eee_enabled);
|
||||
|
||||
@@ -2433,6 +2433,7 @@ static const struct dsa_switch_ops b53_s
|
||||
@@ -2418,6 +2418,7 @@ static const struct dsa_switch_ops b53_s
|
||||
.port_setup = b53_setup_port,
|
||||
.port_enable = b53_enable_port,
|
||||
.port_disable = b53_disable_port,
|
||||
|
|
|
@ -18,7 +18,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||
|
||||
--- a/drivers/net/dsa/b53/b53_common.c
|
||||
+++ b/drivers/net/dsa/b53/b53_common.c
|
||||
@@ -2552,6 +2552,19 @@ static const struct b53_chip_data b53_sw
|
||||
@@ -2537,6 +2537,19 @@ static const struct b53_chip_data b53_sw
|
||||
.jumbo_size_reg = B53_JUMBO_MAX_SIZE,
|
||||
},
|
||||
{
|
||||
|
@ -38,7 +38,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||
.chip_id = BCM53115_DEVICE_ID,
|
||||
.dev_name = "BCM53115",
|
||||
.vlans = 4096,
|
||||
@@ -2932,6 +2945,7 @@ int b53_switch_detect(struct b53_device
|
||||
@@ -2917,6 +2930,7 @@ int b53_switch_detect(struct b53_device
|
||||
return ret;
|
||||
|
||||
switch (id32) {
|
||||
|
|
|
@ -40,7 +40,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||
ret = b53_reset_switch(dev);
|
||||
if (ret) {
|
||||
dev_err(ds->dev, "failed to reset switch\n");
|
||||
@@ -2412,6 +2417,28 @@ static int b53_get_max_mtu(struct dsa_sw
|
||||
@@ -2397,6 +2402,28 @@ static int b53_get_max_mtu(struct dsa_sw
|
||||
return B53_MAX_MTU;
|
||||
}
|
||||
|
||||
|
@ -69,7 +69,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||
static const struct phylink_mac_ops b53_phylink_mac_ops = {
|
||||
.mac_select_pcs = b53_phylink_mac_select_pcs,
|
||||
.mac_config = b53_phylink_mac_config,
|
||||
@@ -2436,6 +2463,7 @@ static const struct dsa_switch_ops b53_s
|
||||
@@ -2421,6 +2448,7 @@ static const struct dsa_switch_ops b53_s
|
||||
.support_eee = b53_support_eee,
|
||||
.get_mac_eee = b53_get_mac_eee,
|
||||
.set_mac_eee = b53_set_mac_eee,
|
||||
|
|
|
@ -26,7 +26,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||
|
||||
--- a/drivers/net/dsa/b53/b53_common.c
|
||||
+++ b/drivers/net/dsa/b53/b53_common.c
|
||||
@@ -2353,6 +2353,9 @@ int b53_eee_init(struct dsa_switch *ds,
|
||||
@@ -2338,6 +2338,9 @@ int b53_eee_init(struct dsa_switch *ds,
|
||||
{
|
||||
int ret;
|
||||
|
||||
|
@ -36,7 +36,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||
ret = phy_init_eee(phy, false);
|
||||
if (ret)
|
||||
return 0;
|
||||
@@ -2367,7 +2370,7 @@ bool b53_support_eee(struct dsa_switch *
|
||||
@@ -2352,7 +2355,7 @@ bool b53_support_eee(struct dsa_switch *
|
||||
{
|
||||
struct b53_device *dev = ds->priv;
|
||||
|
||||
|
|
|
@ -1,49 +0,0 @@
|
|||
From 4af523551d876ab8b8057d1e5303a860fd736fcb Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
Date: Mon, 2 Jun 2025 21:39:50 +0200
|
||||
Subject: [PATCH] net: dsa: b53: do not enable RGMII delay on bcm63xx
|
||||
|
||||
bcm63xx's RGMII ports are always in MAC mode, never in PHY mode, so we
|
||||
shouldn't enable any delays and let the PHY handle any delays as
|
||||
necessary.
|
||||
|
||||
This fixes using RGMII ports with normal PHYs like BCM54612E, which will
|
||||
handle the delay in the PHY.
|
||||
|
||||
Fixes: ce3bf94871f7 ("net: dsa: b53: add support for BCM63xx RGMIIs")
|
||||
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
|
||||
Link: https://patch.msgid.link/20250602193953.1010487-3-jonas.gorski@gmail.com
|
||||
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
---
|
||||
drivers/net/dsa/b53/b53_common.c | 19 +------------------
|
||||
1 file changed, 1 insertion(+), 18 deletions(-)
|
||||
|
||||
--- a/drivers/net/dsa/b53/b53_common.c
|
||||
+++ b/drivers/net/dsa/b53/b53_common.c
|
||||
@@ -1330,24 +1330,7 @@ static void b53_adjust_63xx_rgmii(struct
|
||||
off = B53_RGMII_CTRL_P(port);
|
||||
|
||||
b53_read8(dev, B53_CTRL_PAGE, off, &rgmii_ctrl);
|
||||
-
|
||||
- switch (interface) {
|
||||
- case PHY_INTERFACE_MODE_RGMII_ID:
|
||||
- rgmii_ctrl |= (RGMII_CTRL_DLL_RXC | RGMII_CTRL_DLL_TXC);
|
||||
- break;
|
||||
- case PHY_INTERFACE_MODE_RGMII_RXID:
|
||||
- rgmii_ctrl &= ~(RGMII_CTRL_DLL_TXC);
|
||||
- rgmii_ctrl |= RGMII_CTRL_DLL_RXC;
|
||||
- break;
|
||||
- case PHY_INTERFACE_MODE_RGMII_TXID:
|
||||
- rgmii_ctrl &= ~(RGMII_CTRL_DLL_RXC);
|
||||
- rgmii_ctrl |= RGMII_CTRL_DLL_TXC;
|
||||
- break;
|
||||
- case PHY_INTERFACE_MODE_RGMII:
|
||||
- default:
|
||||
- rgmii_ctrl &= ~(RGMII_CTRL_DLL_RXC | RGMII_CTRL_DLL_TXC);
|
||||
- break;
|
||||
- }
|
||||
+ rgmii_ctrl &= ~(RGMII_CTRL_DLL_RXC | RGMII_CTRL_DLL_TXC);
|
||||
|
||||
if (port != dev->imp_port) {
|
||||
if (is63268(dev))
|
|
@ -33,13 +33,13 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||
{
|
||||
struct b53_device *dev = ds->priv;
|
||||
- u8 rgmii_ctrl = 0, off;
|
||||
+ u8 rgmii_ctrl = 0;
|
||||
|
||||
-
|
||||
- if (port == dev->imp_port)
|
||||
- off = B53_RGMII_CTRL_IMP;
|
||||
- else
|
||||
- off = B53_RGMII_CTRL_P(port);
|
||||
-
|
||||
+ u8 rgmii_ctrl = 0;
|
||||
|
||||
- b53_read8(dev, B53_CTRL_PAGE, off, &rgmii_ctrl);
|
||||
+ b53_read8(dev, B53_CTRL_PAGE, B53_RGMII_CTRL_P(port), &rgmii_ctrl);
|
||||
rgmii_ctrl &= ~(RGMII_CTRL_DLL_RXC | RGMII_CTRL_DLL_TXC);
|
||||
|
@ -59,7 +59,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||
|
||||
dev_dbg(ds->dev, "Configured port %d for %s\n", port,
|
||||
phy_modes(interface));
|
||||
@@ -1484,7 +1478,7 @@ static void b53_phylink_mac_config(struc
|
||||
@@ -1490,7 +1484,7 @@ static void b53_phylink_mac_config(struc
|
||||
struct b53_device *dev = ds->priv;
|
||||
int port = dp->index;
|
||||
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
From 5ea0d42c1980e6d10e5cb56a78021db5bfcebaaf Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
Date: Mon, 2 Jun 2025 21:39:52 +0200
|
||||
Subject: [PATCH] net: dsa: b53: allow RGMII for bcm63xx RGMII ports
|
||||
|
||||
Add RGMII to supported interfaces for BCM63xx RGMII ports so they can be
|
||||
actually used in RGMII mode.
|
||||
|
||||
Without this, phylink will fail to configure them:
|
||||
|
||||
[ 3.580000] b53-switch 10700000.switch GbE3 (uninitialized): validation of rgmii with support 0000000,00000000,00000000,000062ff and advertisement 0000000,00000000,00000000,000062ff failed: -EINVAL
|
||||
[ 3.600000] b53-switch 10700000.switch GbE3 (uninitialized): failed to connect to PHY: -EINVAL
|
||||
[ 3.610000] b53-switch 10700000.switch GbE3 (uninitialized): error -22 setting up PHY for tree 0, switch 0, port 4
|
||||
|
||||
Fixes: ce3bf94871f7 ("net: dsa: b53: add support for BCM63xx RGMIIs")
|
||||
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
|
||||
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
Link: https://patch.msgid.link/20250602193953.1010487-5-jonas.gorski@gmail.com
|
||||
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
---
|
||||
drivers/net/dsa/b53/b53_common.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
--- a/drivers/net/dsa/b53/b53_common.c
|
||||
+++ b/drivers/net/dsa/b53/b53_common.c
|
||||
@@ -1439,6 +1439,10 @@ static void b53_phylink_get_caps(struct
|
||||
__set_bit(PHY_INTERFACE_MODE_MII, config->supported_interfaces);
|
||||
__set_bit(PHY_INTERFACE_MODE_REVMII, config->supported_interfaces);
|
||||
|
||||
+ /* BCM63xx RGMII ports support RGMII */
|
||||
+ if (is63xx(dev) && in_range(port, B53_63XX_RGMII0, 4))
|
||||
+ phy_interface_set_rgmii(config->supported_interfaces);
|
||||
+
|
||||
config->mac_capabilities = MAC_ASYM_PAUSE | MAC_SYM_PAUSE |
|
||||
MAC_10 | MAC_100;
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
From bc1a65eb81a21e2aa3c3dca058ee8adf687b6ef5 Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
Date: Mon, 2 Jun 2025 21:39:53 +0200
|
||||
Subject: [PATCH] net: dsa: b53: do not touch DLL_IQQD on bcm53115
|
||||
|
||||
According to OpenMDK, bit 2 of the RGMII register has a different
|
||||
meaning for BCM53115 [1]:
|
||||
|
||||
"DLL_IQQD 1: In the IDDQ mode, power is down0: Normal function
|
||||
mode"
|
||||
|
||||
Configuring RGMII delay works without setting this bit, so let's keep it
|
||||
at the default. For other chips, we always set it, so not clearing it
|
||||
is not an issue.
|
||||
|
||||
One would assume BCM53118 works the same, but OpenMDK is not quite sure
|
||||
what this bit actually means [2]:
|
||||
|
||||
"BYPASS_IMP_2NS_DEL #1: In the IDDQ mode, power is down#0: Normal
|
||||
function mode1: Bypass dll65_2ns_del IP0: Use
|
||||
dll65_2ns_del IP"
|
||||
|
||||
So lets keep setting it for now.
|
||||
|
||||
[1] https://github.com/Broadcom-Network-Switching-Software/OpenMDK/blob/master/cdk/PKG/chip/bcm53115/bcm53115_a0_defs.h#L19871
|
||||
[2] https://github.com/Broadcom-Network-Switching-Software/OpenMDK/blob/master/cdk/PKG/chip/bcm53118/bcm53118_a0_defs.h#L14392
|
||||
|
||||
Fixes: 967dd82ffc52 ("net: dsa: b53: Add support for Broadcom RoboSwitch")
|
||||
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
Link: https://patch.msgid.link/20250602193953.1010487-6-jonas.gorski@gmail.com
|
||||
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
---
|
||||
drivers/net/dsa/b53/b53_common.c | 8 +++++---
|
||||
1 file changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
--- a/drivers/net/dsa/b53/b53_common.c
|
||||
+++ b/drivers/net/dsa/b53/b53_common.c
|
||||
@@ -1354,8 +1354,7 @@ static void b53_adjust_531x5_rgmii(struc
|
||||
* tx_clk aligned timing (restoring to reset defaults)
|
||||
*/
|
||||
b53_read8(dev, B53_CTRL_PAGE, off, &rgmii_ctrl);
|
||||
- rgmii_ctrl &= ~(RGMII_CTRL_DLL_RXC | RGMII_CTRL_DLL_TXC |
|
||||
- RGMII_CTRL_TIMING_SEL);
|
||||
+ rgmii_ctrl &= ~(RGMII_CTRL_DLL_RXC | RGMII_CTRL_DLL_TXC);
|
||||
|
||||
/* PHY_INTERFACE_MODE_RGMII_TXID means TX internal delay, make
|
||||
* sure that we enable the port TX clock internal delay to
|
||||
@@ -1375,7 +1374,10 @@ static void b53_adjust_531x5_rgmii(struc
|
||||
rgmii_ctrl |= RGMII_CTRL_DLL_TXC;
|
||||
if (interface == PHY_INTERFACE_MODE_RGMII)
|
||||
rgmii_ctrl |= RGMII_CTRL_DLL_TXC | RGMII_CTRL_DLL_RXC;
|
||||
- rgmii_ctrl |= RGMII_CTRL_TIMING_SEL;
|
||||
+
|
||||
+ if (dev->chip_id != BCM53115_DEVICE_ID)
|
||||
+ rgmii_ctrl |= RGMII_CTRL_TIMING_SEL;
|
||||
+
|
||||
b53_write8(dev, B53_CTRL_PAGE, off, rgmii_ctrl);
|
||||
|
||||
dev_info(ds->dev, "Configured port %d for %s\n", port,
|
|
@ -1,31 +0,0 @@
|
|||
From efdddc4484859082da6c7877ed144c8121c8ea55 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
|
||||
Date: Thu, 29 May 2025 14:44:06 +0200
|
||||
Subject: [PATCH] net: dsa: tag_brcm: legacy: fix pskb_may_pull length
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
BRCM_LEG_PORT_ID was incorrectly used for pskb_may_pull length.
|
||||
The correct check is BRCM_LEG_TAG_LEN + VLAN_HLEN, or 10 bytes.
|
||||
|
||||
Fixes: 964dbf186eaa ("net: dsa: tag_brcm: add support for legacy tags")
|
||||
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
|
||||
Link: https://patch.msgid.link/20250529124406.2513779-1-noltari@gmail.com
|
||||
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
---
|
||||
net/dsa/tag_brcm.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/net/dsa/tag_brcm.c
|
||||
+++ b/net/dsa/tag_brcm.c
|
||||
@@ -257,7 +257,7 @@ static struct sk_buff *brcm_leg_tag_rcv(
|
||||
int source_port;
|
||||
u8 *brcm_tag;
|
||||
|
||||
- if (unlikely(!pskb_may_pull(skb, BRCM_LEG_PORT_ID)))
|
||||
+ if (unlikely(!pskb_may_pull(skb, BRCM_LEG_TAG_LEN + VLAN_HLEN)))
|
||||
return NULL;
|
||||
|
||||
brcm_tag = dsa_etype_header_pos_rx(skb);
|
|
@ -32,7 +32,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||
This driver adds support for Broadcom managed switch chips. It supports
|
||||
--- a/drivers/net/dsa/b53/b53_common.c
|
||||
+++ b/drivers/net/dsa/b53/b53_common.c
|
||||
@@ -2245,8 +2245,11 @@ enum dsa_tag_protocol b53_get_tag_protoc
|
||||
@@ -2241,8 +2241,11 @@ enum dsa_tag_protocol b53_get_tag_protoc
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||
|
||||
/* Issue a read operation for this MAC */
|
||||
ret = b53_arl_rw_op(dev, 1);
|
||||
@@ -2844,6 +2845,9 @@ static int b53_switch_init(struct b53_de
|
||||
@@ -2840,6 +2841,9 @@ static int b53_switch_init(struct b53_de
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -41,7 +41,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||
dev->num_ports = fls(dev->enabled_ports);
|
||||
|
||||
dev->ds->num_ports = min_t(unsigned int, dev->num_ports, DSA_MAX_PORTS);
|
||||
@@ -2945,10 +2949,24 @@ int b53_switch_detect(struct b53_device
|
||||
@@ -2941,10 +2945,24 @@ int b53_switch_detect(struct b53_device
|
||||
b53_write16(dev, B53_VLAN_PAGE, B53_VLAN_TABLE_ACCESS_25, 0xf);
|
||||
b53_read16(dev, B53_VLAN_PAGE, B53_VLAN_TABLE_ACCESS_25, &tmp);
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||
b53_read16(dev, B53_CTRL_PAGE, B53_DIS_LEARNING, ®);
|
||||
if (learning)
|
||||
reg &= ~BIT(port);
|
||||
@@ -2247,7 +2250,13 @@ int b53_br_flags_pre(struct dsa_switch *
|
||||
@@ -2243,7 +2246,13 @@ int b53_br_flags_pre(struct dsa_switch *
|
||||
struct switchdev_brport_flags flags,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
|
|
|
@ -19,7 +19,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||
|
||||
--- a/drivers/net/phy/phy_device.c
|
||||
+++ b/drivers/net/phy/phy_device.c
|
||||
@@ -3385,11 +3385,17 @@ static int of_phy_led(struct phy_device
|
||||
@@ -3387,11 +3387,17 @@ static int of_phy_led(struct phy_device
|
||||
if (index > U8_MAX)
|
||||
return -EINVAL;
|
||||
|
||||
|
@ -39,7 +39,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||
if (!phydev->drv->led_polarity_set)
|
||||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
@@ -877,8 +877,9 @@ struct phy_plca_status {
|
||||
@@ -874,8 +874,9 @@ struct phy_plca_status {
|
||||
|
||||
/* Modes for PHY LED configuration */
|
||||
enum phy_led_modes {
|
||||
|
|
|
@ -16,7 +16,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||
|
||||
--- a/net/core/page_pool.c
|
||||
+++ b/net/core/page_pool.c
|
||||
@@ -1064,7 +1064,7 @@ static void page_pool_release_retry(stru
|
||||
@@ -1120,7 +1120,7 @@ static void page_pool_release_retry(stru
|
||||
struct delayed_work *dwq = to_delayed_work(wq);
|
||||
struct page_pool *pool = container_of(dwq, typeof(*pool), release_dw);
|
||||
void *netdev;
|
||||
|
@ -25,7 +25,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||
|
||||
inflight = page_pool_release(pool);
|
||||
/* In rare cases, a driver bug may cause inflight to go negative.
|
||||
@@ -1076,6 +1076,17 @@ static void page_pool_release_retry(stru
|
||||
@@ -1132,6 +1132,17 @@ static void page_pool_release_retry(stru
|
||||
if (inflight <= 0)
|
||||
return;
|
||||
|
||||
|
|
|
@ -74,7 +74,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||
+MODULE_LICENSE("GPL");
|
||||
--- a/kernel/sched/core.c
|
||||
+++ b/kernel/sched/core.c
|
||||
@@ -4422,6 +4422,7 @@ int wake_up_state(struct task_struct *p,
|
||||
@@ -4428,6 +4428,7 @@ int wake_up_state(struct task_struct *p,
|
||||
{
|
||||
return try_to_wake_up(p, state, 0);
|
||||
}
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
LINUX_VERSION-6.12 = .33
|
||||
LINUX_KERNEL_HASH-6.12.33 = c0a575630f2603a20bb0641f8df8f955e46c9d7ac1fae8b54b21316e6b52a254
|
||||
LINUX_VERSION-6.12 = .34
|
||||
LINUX_KERNEL_HASH-6.12.34 = a7f3fe381f67eca4172e9b63efb61a14bd7f9e1278e03603d0ff5a93f270c24d
|
||||
|
|
|
@ -11,9 +11,9 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
|||
|
||||
--- a/drivers/net/phy/phy_device.c
|
||||
+++ b/drivers/net/phy/phy_device.c
|
||||
@@ -2013,6 +2013,9 @@ void phy_detach(struct phy_device *phyde
|
||||
if (phydev->devlink)
|
||||
device_link_del(phydev->devlink);
|
||||
@@ -2015,6 +2015,9 @@ void phy_detach(struct phy_device *phyde
|
||||
phydev->devlink = NULL;
|
||||
}
|
||||
|
||||
+ if (phydev->drv && phydev->drv->detach)
|
||||
+ phydev->drv->detach(phydev);
|
||||
|
@ -23,7 +23,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
|||
sysfs_remove_link(&dev->dev.kobj, "phydev");
|
||||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
@@ -999,6 +999,12 @@ struct phy_driver {
|
||||
@@ -996,6 +996,12 @@ struct phy_driver {
|
||||
/** @handle_interrupt: Override default interrupt handling */
|
||||
irqreturn_t (*handle_interrupt)(struct phy_device *phydev);
|
||||
|
||||
|
|
|
@ -835,7 +835,7 @@ publishing the in-band capabilities from the BCM84881 PHY driver.
|
|||
*
|
||||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
@@ -819,6 +819,24 @@ struct phy_tdr_config {
|
||||
@@ -816,6 +816,24 @@ struct phy_tdr_config {
|
||||
#define PHY_PAIR_ALL -1
|
||||
|
||||
/**
|
||||
|
@ -860,7 +860,7 @@ publishing the in-band capabilities from the BCM84881 PHY driver.
|
|||
* struct phy_plca_cfg - Configuration of the PLCA (Physical Layer Collision
|
||||
* Avoidance) Reconciliation Sublayer.
|
||||
*
|
||||
@@ -958,6 +976,19 @@ struct phy_driver {
|
||||
@@ -955,6 +973,19 @@ struct phy_driver {
|
||||
int (*get_features)(struct phy_device *phydev);
|
||||
|
||||
/**
|
||||
|
@ -880,7 +880,7 @@ publishing the in-band capabilities from the BCM84881 PHY driver.
|
|||
* @get_rate_matching: Get the supported type of rate matching for a
|
||||
* particular phy interface. This is used by phy consumers to determine
|
||||
* whether to advertise lower-speed modes for that interface. It is
|
||||
@@ -1842,6 +1873,9 @@ int phy_config_aneg(struct phy_device *p
|
||||
@@ -1839,6 +1870,9 @@ int phy_config_aneg(struct phy_device *p
|
||||
int _phy_start_aneg(struct phy_device *phydev);
|
||||
int phy_start_aneg(struct phy_device *phydev);
|
||||
int phy_aneg_done(struct phy_device *phydev);
|
||||
|
|
|
@ -21,7 +21,7 @@ Submitted-by: John Crispin <john@phrozen.org>
|
|||
|
||||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
@@ -1229,6 +1229,8 @@ struct phy_driver {
|
||||
@@ -1226,6 +1226,8 @@ struct phy_driver {
|
||||
*/
|
||||
int (*led_polarity_set)(struct phy_device *dev, int index,
|
||||
unsigned long modes);
|
||||
|
|
|
@ -10,7 +10,7 @@ Signed-off-by: Matteo Croce <mcroce@microsoft.com>
|
|||
|
||||
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
|
||||
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
|
||||
@@ -1454,7 +1454,7 @@ static int stmmac_init_rx_buffers(struct
|
||||
@@ -1459,7 +1459,7 @@ static int stmmac_init_rx_buffers(struct
|
||||
{
|
||||
struct stmmac_rx_queue *rx_q = &dma_conf->rx_queue[queue];
|
||||
struct stmmac_rx_buffer *buf = &rx_q->buf_pool[i];
|
||||
|
@ -19,7 +19,7 @@ Signed-off-by: Matteo Croce <mcroce@microsoft.com>
|
|||
|
||||
if (priv->dma_cap.host_dma_width <= 32)
|
||||
gfp |= GFP_DMA32;
|
||||
@@ -4790,7 +4790,7 @@ static inline void stmmac_rx_refill(stru
|
||||
@@ -4795,7 +4795,7 @@ static inline void stmmac_rx_refill(stru
|
||||
struct stmmac_rx_queue *rx_q = &priv->dma_conf.rx_queue[queue];
|
||||
int dirty = stmmac_rx_dirty(priv, queue);
|
||||
unsigned int entry = rx_q->dirty_rx;
|
||||
|
|
Loading…
Reference in a new issue