mirror of
https://github.com/openwrt/openwrt.git
synced 2025-02-21 17:47:00 +00:00
kernel: bump 5.10 to 5.10.188
Manually rebased: bcm27xx/patches-5.10/950-0355-xhci-quirks-add-link-TRB-quirk-for-VL805.patch bcm53xx/patches-5.10/180-usb-xhci-add-support-for-performing-fake-doorbell.patch Removed because already in upstream: bcm53xx/patches-5.10/039-v6.5-0003-ARM-dts-BCM5301X-Drop-clock-names-from-the-SPI-node.patch bcm53xx/patches-5.10/039-v6.5-0015-ARM-dts-BCM5301X-fix-duplex-full-full-duplex.patch generic/backport-5.10/765-v6.5-net-bgmac-postpone-turning-IRQs-off-to-avoid-SoC-han.patch All other patches automatically rebased. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
parent
77f7f69739
commit
f6b6d4b2f0
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-5.10 = .187
|
||||
LINUX_KERNEL_HASH-5.10.187 = f69454210b3e9e00e8b8368aaa897d4ca59f8be3b85399a2fcaecbf17af98bbb
|
||||
LINUX_VERSION-5.10 = .188
|
||||
LINUX_KERNEL_HASH-5.10.188 = c9558bab35e23ae67661bfb3192c609c857f78582a035449ae63e33d04ab6112
|
||||
|
@ -43,7 +43,7 @@ produce a noisy warning.
|
||||
hcd->msi_enabled = 1;
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1902,6 +1902,7 @@ struct xhci_hcd {
|
||||
@@ -1904,6 +1904,7 @@ struct xhci_hcd {
|
||||
struct xhci_hub usb2_rhub;
|
||||
struct xhci_hub usb3_rhub;
|
||||
/* support xHCI 1.0 spec USB2 hardware LPM */
|
||||
|
@ -20,7 +20,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
|
||||
|
||||
--- a/drivers/regulator/core.c
|
||||
+++ b/drivers/regulator/core.c
|
||||
@@ -3076,7 +3076,8 @@ static int _regulator_list_voltage(struc
|
||||
@@ -3074,7 +3074,8 @@ static int _regulator_list_voltage(struc
|
||||
return rdev->desc->fixed_uV;
|
||||
|
||||
if (ops->list_voltage) {
|
||||
@ -30,7 +30,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
|
||||
return -EINVAL;
|
||||
if (lock)
|
||||
regulator_lock(rdev);
|
||||
@@ -3227,7 +3228,8 @@ int regulator_list_hardware_vsel(struct
|
||||
@@ -3225,7 +3226,8 @@ int regulator_list_hardware_vsel(struct
|
||||
struct regulator_dev *rdev = regulator->rdev;
|
||||
const struct regulator_ops *ops = rdev->desc->ops;
|
||||
|
||||
@ -40,7 +40,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
|
||||
return -EINVAL;
|
||||
if (ops->set_voltage_sel != regulator_set_voltage_sel_regmap)
|
||||
return -EOPNOTSUPP;
|
||||
@@ -4150,6 +4152,9 @@ int regulator_set_voltage_time(struct re
|
||||
@@ -4148,6 +4150,9 @@ int regulator_set_voltage_time(struct re
|
||||
|
||||
for (i = 0; i < rdev->desc->n_voltages; i++) {
|
||||
/* We only look for exact voltage matches here */
|
||||
|
@ -14,7 +14,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
|
||||
|
||||
--- a/drivers/regulator/core.c
|
||||
+++ b/drivers/regulator/core.c
|
||||
@@ -4155,6 +4155,9 @@ int regulator_set_voltage_time(struct re
|
||||
@@ -4153,6 +4153,9 @@ int regulator_set_voltage_time(struct re
|
||||
if (i < rdev->desc->linear_min_sel)
|
||||
continue;
|
||||
|
||||
|
@ -21,7 +21,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
|
||||
|
||||
--- a/drivers/regulator/core.c
|
||||
+++ b/drivers/regulator/core.c
|
||||
@@ -3076,9 +3076,10 @@ static int _regulator_list_voltage(struc
|
||||
@@ -3074,9 +3074,10 @@ static int _regulator_list_voltage(struc
|
||||
return rdev->desc->fixed_uV;
|
||||
|
||||
if (ops->list_voltage) {
|
||||
@ -34,7 +34,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
|
||||
if (lock)
|
||||
regulator_lock(rdev);
|
||||
ret = ops->list_voltage(rdev, selector);
|
||||
@@ -3228,9 +3229,10 @@ int regulator_list_hardware_vsel(struct
|
||||
@@ -3226,9 +3227,10 @@ int regulator_list_hardware_vsel(struct
|
||||
struct regulator_dev *rdev = regulator->rdev;
|
||||
const struct regulator_ops *ops = rdev->desc->ops;
|
||||
|
||||
|
@ -706,7 +706,7 @@
|
||||
EXPORT_SYMBOL(xfrm_parse_spi);
|
||||
--- a/net/ipv4/tcp_input.c
|
||||
+++ b/net/ipv4/tcp_input.c
|
||||
@@ -4128,14 +4128,16 @@ static bool tcp_parse_aligned_timestamp(
|
||||
@@ -4134,14 +4134,16 @@ static bool tcp_parse_aligned_timestamp(
|
||||
{
|
||||
const __be32 *ptr = (const __be32 *)(th + 1);
|
||||
|
||||
@ -799,7 +799,7 @@
|
||||
*sum = csum_fold(csum_partial(diff, sizeof(diff),
|
||||
--- a/include/linux/etherdevice.h
|
||||
+++ b/include/linux/etherdevice.h
|
||||
@@ -499,7 +499,7 @@ static inline bool is_etherdev_addr(cons
|
||||
@@ -511,7 +511,7 @@ static inline bool is_etherdev_addr(cons
|
||||
* @b: Pointer to Ethernet header
|
||||
*
|
||||
* Compare two Ethernet headers, returns 0 if equal.
|
||||
@ -808,7 +808,7 @@
|
||||
* aligned OR the platform can handle unaligned access. This is the
|
||||
* case for all packets coming into netif_receive_skb or similar
|
||||
* entry points.
|
||||
@@ -522,11 +522,12 @@ static inline unsigned long compare_ethe
|
||||
@@ -534,11 +534,12 @@ static inline unsigned long compare_ethe
|
||||
fold |= *(unsigned long *)(a + 6) ^ *(unsigned long *)(b + 6);
|
||||
return fold;
|
||||
#else
|
||||
|
@ -11,7 +11,7 @@ Signed-off-by: Noralf Tronnes <notro@tronnes.org>
|
||||
|
||||
--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
@@ -376,7 +376,7 @@ static const struct gpio_chip bcm2835_gp
|
||||
@@ -374,7 +374,7 @@ static const struct gpio_chip bcm2835_gp
|
||||
.get = bcm2835_gpio_get,
|
||||
.set = bcm2835_gpio_set,
|
||||
.set_config = gpiochip_generic_config,
|
||||
|
@ -278,7 +278,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
|
||||
}
|
||||
--- a/drivers/mmc/core/quirks.h
|
||||
+++ b/drivers/mmc/core/quirks.h
|
||||
@@ -105,6 +105,14 @@ static const struct mmc_fixup __maybe_un
|
||||
@@ -119,6 +119,14 @@ static const struct mmc_fixup __maybe_un
|
||||
MMC_FIXUP(CID_NAME_ANY, CID_MANFID_SANDISK_SD, 0x5344, add_quirk_sd,
|
||||
MMC_QUIRK_BROKEN_SD_DISCARD),
|
||||
|
||||
|
@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
|
||||
--- a/drivers/usb/host/xhci-mem.c
|
||||
+++ b/drivers/usb/host/xhci-mem.c
|
||||
@@ -2538,9 +2538,11 @@ int xhci_mem_init(struct xhci_hcd *xhci,
|
||||
@@ -2559,9 +2559,11 @@ int xhci_mem_init(struct xhci_hcd *xhci,
|
||||
* Event ring setup: Allocate a normal ring, but also setup
|
||||
* the event ring segment table (ERST). Section 4.9.3.
|
||||
*/
|
||||
@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
if (!xhci->event_ring)
|
||||
goto fail;
|
||||
if (xhci_check_trb_in_td_math(xhci) < 0)
|
||||
@@ -2553,7 +2555,7 @@ int xhci_mem_init(struct xhci_hcd *xhci,
|
||||
@@ -2574,7 +2576,7 @@ int xhci_mem_init(struct xhci_hcd *xhci,
|
||||
/* set ERST count with the number of entries in the segment table */
|
||||
val = readl(&xhci->ir_set->erst_size);
|
||||
val &= ERST_SIZE_MASK;
|
||||
|
@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
@@ -1334,7 +1334,7 @@ static int bcm2835_pinctrl_probe(struct
|
||||
@@ -1332,7 +1332,7 @@ static int bcm2835_pinctrl_probe(struct
|
||||
girq->default_type = IRQ_TYPE_NONE;
|
||||
girq->handler = handle_level_irq;
|
||||
|
||||
|
@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
@@ -1306,9 +1306,13 @@ static int bcm2835_pinctrl_probe(struct
|
||||
@@ -1304,9 +1304,13 @@ static int bcm2835_pinctrl_probe(struct
|
||||
char *name;
|
||||
|
||||
girq->parents[i] = irq_of_parse_and_map(np, i);
|
||||
|
@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
@@ -393,7 +393,7 @@ static const struct gpio_chip bcm2711_gp
|
||||
@@ -391,7 +391,7 @@ static const struct gpio_chip bcm2711_gp
|
||||
.get = bcm2835_gpio_get,
|
||||
.set = bcm2835_gpio_set,
|
||||
.set_config = gpiochip_generic_config,
|
||||
|
@ -51,11 +51,11 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1895,6 +1895,7 @@ struct xhci_hcd {
|
||||
#define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(42)
|
||||
#define XHCI_SUSPEND_RESUME_CLKS BIT_ULL(43)
|
||||
@@ -1897,6 +1897,7 @@ struct xhci_hcd {
|
||||
#define XHCI_RESET_TO_DEFAULT BIT_ULL(44)
|
||||
+#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(45)
|
||||
#define XHCI_ZHAOXIN_TRB_FETCH BIT_ULL(45)
|
||||
#define XHCI_ZHAOXIN_HOST BIT_ULL(46)
|
||||
+#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(47)
|
||||
|
||||
unsigned int num_active_eps;
|
||||
unsigned int limit_active_eps;
|
||||
|
@ -376,7 +376,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/845aa10ef171fc0ea060495efef1
|
||||
else if (funcs->disable)
|
||||
funcs->disable(crtc);
|
||||
else if (funcs->dpms)
|
||||
@@ -1368,7 +1368,7 @@ void drm_atomic_helper_commit_modeset_en
|
||||
@@ -1377,7 +1377,7 @@ void drm_atomic_helper_commit_modeset_en
|
||||
DRM_DEBUG_ATOMIC("enabling [CRTC:%d:%s]\n",
|
||||
crtc->base.id, crtc->name);
|
||||
if (funcs->atomic_enable)
|
||||
|
@ -385,7 +385,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-2-max
|
||||
}
|
||||
--- a/drivers/gpu/drm/drm_atomic_helper.c
|
||||
+++ b/drivers/gpu/drm/drm_atomic_helper.c
|
||||
@@ -2517,7 +2517,7 @@ void drm_atomic_helper_commit_planes(str
|
||||
@@ -2526,7 +2526,7 @@ void drm_atomic_helper_commit_planes(str
|
||||
if (active_only && !new_crtc_state->active)
|
||||
continue;
|
||||
|
||||
@ -394,7 +394,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-2-max
|
||||
}
|
||||
|
||||
for_each_oldnew_plane_in_state(old_state, plane, old_plane_state, new_plane_state, i) {
|
||||
@@ -2575,7 +2575,7 @@ void drm_atomic_helper_commit_planes(str
|
||||
@@ -2584,7 +2584,7 @@ void drm_atomic_helper_commit_planes(str
|
||||
if (active_only && !new_crtc_state->active)
|
||||
continue;
|
||||
|
||||
@ -403,7 +403,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-2-max
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(drm_atomic_helper_commit_planes);
|
||||
@@ -2613,7 +2613,7 @@ drm_atomic_helper_commit_planes_on_crtc(
|
||||
@@ -2622,7 +2622,7 @@ drm_atomic_helper_commit_planes_on_crtc(
|
||||
|
||||
crtc_funcs = crtc->helper_private;
|
||||
if (crtc_funcs && crtc_funcs->atomic_begin)
|
||||
@ -412,7 +412,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-2-max
|
||||
|
||||
drm_for_each_plane_mask(plane, crtc->dev, plane_mask) {
|
||||
struct drm_plane_state *old_plane_state =
|
||||
@@ -2639,7 +2639,7 @@ drm_atomic_helper_commit_planes_on_crtc(
|
||||
@@ -2648,7 +2648,7 @@ drm_atomic_helper_commit_planes_on_crtc(
|
||||
}
|
||||
|
||||
if (crtc_funcs && crtc_funcs->atomic_flush)
|
||||
|
@ -118,7 +118,7 @@ Signed-off-by: Joerg Quinten <aBUGSworstnightmare@gmail.com>
|
||||
- MEDIA_BUS_FMT_RGB666_1X24_CPADHI
|
||||
--- a/drivers/gpu/drm/panel/panel-simple.c
|
||||
+++ b/drivers/gpu/drm/panel/panel-simple.c
|
||||
@@ -2094,6 +2094,38 @@ static const struct panel_desc innolux_a
|
||||
@@ -2095,6 +2095,38 @@ static const struct panel_desc innolux_a
|
||||
.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
|
||||
};
|
||||
|
||||
@ -157,7 +157,7 @@ Signed-off-by: Joerg Quinten <aBUGSworstnightmare@gmail.com>
|
||||
static const struct drm_display_mode innolux_at070tn92_mode = {
|
||||
.clock = 33333,
|
||||
.hdisplay = 800,
|
||||
@@ -4080,6 +4112,9 @@ static const struct of_device_id platfor
|
||||
@@ -4082,6 +4114,9 @@ static const struct of_device_id platfor
|
||||
.compatible = "innolux,at043tn24",
|
||||
.data = &innolux_at043tn24,
|
||||
}, {
|
||||
|
@ -31,7 +31,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
|
||||
--- a/drivers/gpu/drm/drm_atomic_helper.c
|
||||
+++ b/drivers/gpu/drm/drm_atomic_helper.c
|
||||
@@ -2049,6 +2049,9 @@ crtc_or_fake_commit(struct drm_atomic_st
|
||||
@@ -2058,6 +2058,9 @@ crtc_or_fake_commit(struct drm_atomic_st
|
||||
* should always call this function from their
|
||||
* &drm_mode_config_funcs.atomic_commit hook.
|
||||
*
|
||||
@ -41,7 +41,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
* To be able to use this support drivers need to use a few more helper
|
||||
* functions. drm_atomic_helper_wait_for_dependencies() must be called before
|
||||
* actually committing the hardware state, and for nonblocking commits this call
|
||||
@@ -2092,8 +2095,11 @@ int drm_atomic_helper_setup_commit(struc
|
||||
@@ -2101,8 +2104,11 @@ int drm_atomic_helper_setup_commit(struc
|
||||
struct drm_plane *plane;
|
||||
struct drm_plane_state *old_plane_state, *new_plane_state;
|
||||
struct drm_crtc_commit *commit;
|
||||
@ -53,7 +53,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
for_each_oldnew_crtc_in_state(state, crtc, old_crtc_state, new_crtc_state, i) {
|
||||
commit = kzalloc(sizeof(*commit), GFP_KERNEL);
|
||||
if (!commit)
|
||||
@@ -2170,6 +2176,9 @@ int drm_atomic_helper_setup_commit(struc
|
||||
@@ -2179,6 +2185,9 @@ int drm_atomic_helper_setup_commit(struc
|
||||
new_plane_state->commit = drm_crtc_commit_get(commit);
|
||||
}
|
||||
|
||||
|
@ -102,7 +102,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201211114237.213288-2-tomi
|
||||
int atmel_hlcdc_crtc_create(struct drm_device *dev)
|
||||
--- a/drivers/gpu/drm/drm_atomic_helper.c
|
||||
+++ b/drivers/gpu/drm/drm_atomic_helper.c
|
||||
@@ -3510,76 +3510,6 @@ fail:
|
||||
@@ -3519,76 +3519,6 @@ fail:
|
||||
EXPORT_SYMBOL(drm_atomic_helper_page_flip_target);
|
||||
|
||||
/**
|
||||
|
@ -224,7 +224,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201118094758.506730-1-maxi
|
||||
else if (funcs->best_encoder)
|
||||
new_encoder = funcs->best_encoder(connector);
|
||||
else
|
||||
@@ -1328,7 +1328,7 @@ static void drm_atomic_helper_commit_wri
|
||||
@@ -1337,7 +1337,7 @@ static void drm_atomic_helper_commit_wri
|
||||
|
||||
if (new_conn_state->writeback_job && new_conn_state->writeback_job->fb) {
|
||||
WARN_ON(connector->connector_type != DRM_MODE_CONNECTOR_WRITEBACK);
|
||||
|
@ -5,7 +5,7 @@ when a switch driver is in use.
|
||||
|
||||
--- a/drivers/net/ethernet/broadcom/tg3.c
|
||||
+++ b/drivers/net/ethernet/broadcom/tg3.c
|
||||
@@ -4273,7 +4273,8 @@ static int tg3_power_down_prepare(struct
|
||||
@@ -4274,7 +4274,8 @@ static int tg3_power_down_prepare(struct
|
||||
static void tg3_power_down(struct tg3 *tp)
|
||||
{
|
||||
pci_wake_from_d3(tp->pdev, tg3_flag(tp, WOL_ENABLE));
|
||||
|
@ -460,7 +460,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
};
|
||||
};
|
||||
|
||||
@@ -558,24 +390,4 @@
|
||||
@@ -557,24 +389,4 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -1,32 +0,0 @@
|
||||
From d3c8e2c5757153bbfad70019ec1decbca86f3def Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Wed, 3 May 2023 14:28:30 +0200
|
||||
Subject: [PATCH] ARM: dts: BCM5301X: Drop "clock-names" from the SPI node
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
There is no such property in the SPI controller binding documentation.
|
||||
Also Linux driver doesn't look for it.
|
||||
|
||||
This fixes:
|
||||
arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dtb: spi@18029200: Unevaluated properties are not allowed ('clock-names' was unexpected)
|
||||
From schema: Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.yaml
|
||||
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
Link: https://lore.kernel.org/r/20230503122830.3200-1-zajec5@gmail.com
|
||||
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
---
|
||||
arch/arm/boot/dts/bcm5301x.dtsi | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
--- a/arch/arm/boot/dts/bcm5301x.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm5301x.dtsi
|
||||
@@ -335,7 +335,6 @@
|
||||
"spi_lr_session_done",
|
||||
"spi_lr_overread";
|
||||
clocks = <&iprocmed>;
|
||||
- clock-names = "iprocmed";
|
||||
num-cs = <2>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
@ -1,44 +0,0 @@
|
||||
From fd274b733bfdde3ca72f0fa2a37f032f3a8c402c Mon Sep 17 00:00:00 2001
|
||||
From: Christian Lamparter <chunkeey@gmail.com>
|
||||
Date: Thu, 8 Jun 2023 17:36:29 +0200
|
||||
Subject: [PATCH] ARM: dts: BCM5301X: fix duplex-full => full-duplex
|
||||
|
||||
this typo was found by the dtbs_check
|
||||
| ports:port@5:fixed-link: 'oneOf' conditional failed,
|
||||
| {'speed': [[1000]], 'duplex-full': True} is not of type 'array'
|
||||
| 'duplex-full' does not match any of the regexes: 'pinctrl-[0-]..."
|
||||
|
||||
this should have been full-duplex;
|
||||
|
||||
Fixes: 935327a73553 ("ARM: dts: BCM5301X: Add DT for Meraki MR26")
|
||||
Fixes: ec88a9c344d9 ("ARM: BCM5301X: Add DT for Meraki MR32")
|
||||
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
||||
Link: https://lore.kernel.org/r/50522f45566951a9eabd22820647924cc6b4a264.1686238550.git.chunkeey@gmail.com
|
||||
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
|
||||
---
|
||||
arch/arm/boot/dts/bcm53015-meraki-mr26.dts | 2 +-
|
||||
arch/arm/boot/dts/bcm53016-meraki-mr32.dts | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/arch/arm/boot/dts/bcm53015-meraki-mr26.dts
|
||||
+++ b/arch/arm/boot/dts/bcm53015-meraki-mr26.dts
|
||||
@@ -121,7 +121,7 @@
|
||||
|
||||
fixed-link {
|
||||
speed = <1000>;
|
||||
- duplex-full;
|
||||
+ full-duplex;
|
||||
};
|
||||
};
|
||||
};
|
||||
--- a/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
|
||||
+++ b/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
|
||||
@@ -182,7 +182,7 @@
|
||||
|
||||
fixed-link {
|
||||
speed = <1000>;
|
||||
- duplex-full;
|
||||
+ full-duplex;
|
||||
};
|
||||
};
|
||||
};
|
@ -127,11 +127,11 @@ it on BCM4708 family.
|
||||
/*
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1895,6 +1895,7 @@ struct xhci_hcd {
|
||||
#define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(42)
|
||||
#define XHCI_SUSPEND_RESUME_CLKS BIT_ULL(43)
|
||||
@@ -1897,6 +1897,7 @@ struct xhci_hcd {
|
||||
#define XHCI_RESET_TO_DEFAULT BIT_ULL(44)
|
||||
+#define XHCI_FAKE_DOORBELL BIT_ULL(45)
|
||||
#define XHCI_ZHAOXIN_TRB_FETCH BIT_ULL(45)
|
||||
#define XHCI_ZHAOXIN_HOST BIT_ULL(46)
|
||||
+#define XHCI_FAKE_DOORBELL BIT_ULL(47)
|
||||
|
||||
unsigned int num_active_eps;
|
||||
unsigned int limit_active_eps;
|
||||
|
@ -12,7 +12,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
|
||||
--- a/include/net/netfilter/nf_tables.h
|
||||
+++ b/include/net/netfilter/nf_tables.h
|
||||
@@ -1474,13 +1474,16 @@ struct nft_trans_chain {
|
||||
@@ -1500,13 +1500,16 @@ struct nft_trans_chain {
|
||||
|
||||
struct nft_trans_table {
|
||||
bool update;
|
||||
@ -34,7 +34,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
struct nft_set *set;
|
||||
--- a/net/netfilter/nf_tables_api.c
|
||||
+++ b/net/netfilter/nf_tables_api.c
|
||||
@@ -917,6 +917,12 @@ static void nf_tables_table_disable(stru
|
||||
@@ -1056,6 +1056,12 @@ static void nf_tables_table_disable(stru
|
||||
nft_table_disable(net, table, 0);
|
||||
}
|
||||
|
||||
@ -47,7 +47,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
static int nf_tables_updtable(struct nft_ctx *ctx)
|
||||
{
|
||||
struct nft_trans *trans;
|
||||
@@ -940,19 +946,17 @@ static int nf_tables_updtable(struct nft
|
||||
@@ -1079,19 +1085,17 @@ static int nf_tables_updtable(struct nft
|
||||
|
||||
if ((flags & NFT_TABLE_F_DORMANT) &&
|
||||
!(ctx->table->flags & NFT_TABLE_F_DORMANT)) {
|
||||
@ -68,9 +68,9 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
|
||||
+ nft_trans_table_flags(trans) = flags;
|
||||
nft_trans_table_update(trans) = true;
|
||||
list_add_tail(&trans->list, &ctx->net->nft.commit_list);
|
||||
nft_trans_commit_list_add_tail(ctx->net, trans);
|
||||
return 0;
|
||||
@@ -7935,11 +7939,10 @@ static int nf_tables_commit(struct net *
|
||||
@@ -8183,11 +8187,10 @@ static int nf_tables_commit(struct net *
|
||||
switch (trans->msg_type) {
|
||||
case NFT_MSG_NEWTABLE:
|
||||
if (nft_trans_table_update(trans)) {
|
||||
@ -86,7 +86,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
} else {
|
||||
nft_clear(net, trans->ctx.table);
|
||||
}
|
||||
@@ -8156,11 +8159,9 @@ static int __nf_tables_abort(struct net
|
||||
@@ -8406,11 +8409,9 @@ static int __nf_tables_abort(struct net
|
||||
switch (trans->msg_type) {
|
||||
case NFT_MSG_NEWTABLE:
|
||||
if (nft_trans_table_update(trans)) {
|
||||
|
@ -933,7 +933,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
}
|
||||
--- a/drivers/net/ethernet/microchip/lan743x_main.c
|
||||
+++ b/drivers/net/ethernet/microchip/lan743x_main.c
|
||||
@@ -2831,7 +2831,6 @@ static int lan743x_pcidev_probe(struct p
|
||||
@@ -2844,7 +2844,6 @@ static int lan743x_pcidev_probe(struct p
|
||||
{
|
||||
struct lan743x_adapter *adapter = NULL;
|
||||
struct net_device *netdev = NULL;
|
||||
@ -941,7 +941,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
int ret = -ENODEV;
|
||||
|
||||
netdev = devm_alloc_etherdev(&pdev->dev,
|
||||
@@ -2848,9 +2847,7 @@ static int lan743x_pcidev_probe(struct p
|
||||
@@ -2861,9 +2860,7 @@ static int lan743x_pcidev_probe(struct p
|
||||
NETIF_MSG_IFDOWN | NETIF_MSG_TX_QUEUED;
|
||||
netdev->max_mtu = LAN743X_MAX_FRAME_SIZE;
|
||||
|
||||
@ -1618,7 +1618,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
int addr_width = 32;
|
||||
u32 value;
|
||||
|
||||
@@ -2044,13 +2044,14 @@ static int axienet_probe(struct platform
|
||||
@@ -2049,13 +2049,14 @@ static int axienet_probe(struct platform
|
||||
dev_info(&pdev->dev, "Ethernet core IRQ not defined\n");
|
||||
|
||||
/* Retrieve the MAC address */
|
||||
|
@ -1,45 +0,0 @@
|
||||
From e7731194fdf085f46d58b1adccfddbd0dfee4873 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Fri, 7 Jul 2023 08:53:25 +0200
|
||||
Subject: [PATCH] net: bgmac: postpone turning IRQs off to avoid SoC hangs
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Turning IRQs off is done by accessing Ethernet controller registers.
|
||||
That can't be done until device's clock is enabled. It results in a SoC
|
||||
hang otherwise.
|
||||
|
||||
This bug remained unnoticed for years as most bootloaders keep all
|
||||
Ethernet interfaces turned on. It seems to only affect a niche SoC
|
||||
family BCM47189. It has two Ethernet controllers but CFE bootloader uses
|
||||
only the first one.
|
||||
|
||||
Fixes: 34322615cbaa ("net: bgmac: Mask interrupts during probe")
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
Reviewed-by: Michal Kubiak <michal.kubiak@intel.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/ethernet/broadcom/bgmac.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/drivers/net/ethernet/broadcom/bgmac.c
|
||||
+++ b/drivers/net/ethernet/broadcom/bgmac.c
|
||||
@@ -1492,8 +1492,6 @@ int bgmac_enet_probe(struct bgmac *bgmac
|
||||
|
||||
bgmac->in_init = true;
|
||||
|
||||
- bgmac_chip_intrs_off(bgmac);
|
||||
-
|
||||
net_dev->irq = bgmac->irq;
|
||||
SET_NETDEV_DEV(net_dev, bgmac->dev);
|
||||
dev_set_drvdata(bgmac->dev, bgmac);
|
||||
@@ -1511,6 +1509,8 @@ int bgmac_enet_probe(struct bgmac *bgmac
|
||||
*/
|
||||
bgmac_clk_enable(bgmac, 0);
|
||||
|
||||
+ bgmac_chip_intrs_off(bgmac);
|
||||
+
|
||||
/* This seems to be fixing IRQ by assigning OOB #6 to the core */
|
||||
if (!(bgmac->feature_flags & BGMAC_FEAT_IDM_MASK)) {
|
||||
if (bgmac->feature_flags & BGMAC_FEAT_IRQ_ID_OOB_6)
|
@ -143,7 +143,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/scripts/mod/modpost.c
|
||||
+++ b/scripts/mod/modpost.c
|
||||
@@ -2038,7 +2038,9 @@ static void read_symbols(const char *mod
|
||||
@@ -2056,7 +2056,9 @@ static void read_symbols(const char *mod
|
||||
symname = remove_dot(info.strtab + sym->st_name);
|
||||
|
||||
handle_symbol(mod, &info, sym, symname);
|
||||
@ -153,7 +153,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
|
||||
for (sym = info.symtab_start; sym < info.symtab_stop; sym++) {
|
||||
@@ -2251,8 +2253,10 @@ static void add_header(struct buffer *b,
|
||||
@@ -2269,8 +2271,10 @@ static void add_header(struct buffer *b,
|
||||
buf_printf(b, "\n");
|
||||
buf_printf(b, "BUILD_SALT;\n");
|
||||
buf_printf(b, "\n");
|
||||
@ -164,7 +164,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
buf_printf(b, "\n");
|
||||
buf_printf(b, "__visible struct module __this_module\n");
|
||||
buf_printf(b, "__section(\".gnu.linkonce.this_module\") = {\n");
|
||||
@@ -2269,8 +2273,10 @@ static void add_header(struct buffer *b,
|
||||
@@ -2287,8 +2291,10 @@ static void add_header(struct buffer *b,
|
||||
|
||||
static void add_intree_flag(struct buffer *b, int is_intree)
|
||||
{
|
||||
@ -175,7 +175,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
|
||||
/* Cannot check for assembler */
|
||||
@@ -2283,8 +2289,10 @@ static void add_retpoline(struct buffer
|
||||
@@ -2301,8 +2307,10 @@ static void add_retpoline(struct buffer
|
||||
|
||||
static void add_staging_flag(struct buffer *b, const char *name)
|
||||
{
|
||||
@ -186,7 +186,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2368,11 +2376,13 @@ static void add_depends(struct buffer *b
|
||||
@@ -2386,11 +2394,13 @@ static void add_depends(struct buffer *b
|
||||
|
||||
static void add_srcversion(struct buffer *b, struct module *mod)
|
||||
{
|
||||
@ -200,7 +200,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
|
||||
static void write_buf(struct buffer *b, const char *fname)
|
||||
@@ -2631,7 +2641,9 @@ int main(int argc, char **argv)
|
||||
@@ -2649,7 +2659,9 @@ int main(int argc, char **argv)
|
||||
add_staging_flag(&buf, mod->name);
|
||||
err |= add_versions(&buf, mod);
|
||||
add_depends(&buf, mod);
|
||||
|
@ -116,7 +116,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/property.h>
|
||||
@@ -3300,3 +3301,5 @@ static int __init regmap_initcall(void)
|
||||
@@ -3298,3 +3299,5 @@ static int __init regmap_initcall(void)
|
||||
return 0;
|
||||
}
|
||||
postcore_initcall(regmap_initcall);
|
||||
|
@ -125,7 +125,7 @@
|
||||
|
||||
/*
|
||||
* Determine initial path cost based on speed.
|
||||
@@ -427,7 +428,7 @@ static struct net_bridge_port *new_nbp(s
|
||||
@@ -428,7 +429,7 @@ static struct net_bridge_port *new_nbp(s
|
||||
p->path_cost = port_cost(dev);
|
||||
p->priority = 0x8000 >> BR_PORT_BITS;
|
||||
p->port_no = index;
|
||||
@ -134,7 +134,7 @@
|
||||
br_init_port(p);
|
||||
br_set_state(p, BR_STATE_DISABLED);
|
||||
br_stp_port_timer_init(p);
|
||||
@@ -777,6 +778,9 @@ void br_port_flags_change(struct net_bri
|
||||
@@ -778,6 +779,9 @@ void br_port_flags_change(struct net_bri
|
||||
|
||||
if (mask & BR_NEIGH_SUPPRESS)
|
||||
br_recalculate_neigh_suppress_enabled(br);
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
#define QUECTEL_VENDOR_ID 0x2c7c
|
||||
/* These Quectel products use Quectel's vendor ID */
|
||||
@@ -1173,6 +1175,11 @@ static const struct usb_device_id option
|
||||
@@ -1177,6 +1179,11 @@ static const struct usb_device_id option
|
||||
.driver_info = ZLP },
|
||||
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
|
||||
.driver_info = RSVD(4) },
|
||||
|
@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/core/sock.c
|
||||
+++ b/net/core/sock.c
|
||||
@@ -3710,6 +3710,8 @@ static __net_initdata struct pernet_oper
|
||||
@@ -3721,6 +3721,8 @@ static __net_initdata struct pernet_oper
|
||||
|
||||
static int __init proto_init(void)
|
||||
{
|
||||
|
@ -164,7 +164,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
struct rtnl_link {
|
||||
rtnl_doit_func doit;
|
||||
@@ -4684,7 +4684,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu
|
||||
@@ -4690,7 +4690,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu
|
||||
brport_nla_put_flag(skb, flags, mask,
|
||||
IFLA_BRPORT_MCAST_FLOOD, BR_MCAST_FLOOD) ||
|
||||
brport_nla_put_flag(skb, flags, mask,
|
||||
|
@ -40,7 +40,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
/* Init MAC and get the capabilities */
|
||||
ret = stmmac_hw_init(priv);
|
||||
if (ret)
|
||||
@@ -5266,6 +5270,7 @@ int stmmac_dvr_remove(struct device *dev
|
||||
@@ -5260,6 +5264,7 @@ int stmmac_dvr_remove(struct device *dev
|
||||
phylink_destroy(priv->phylink);
|
||||
if (priv->plat->stmmac_rst)
|
||||
reset_control_assert(priv->plat->stmmac_rst);
|
||||
|
@ -19,7 +19,7 @@
|
||||
},
|
||||
[PORT_NPCM] = {
|
||||
.name = "Nuvoton 16550",
|
||||
@@ -2723,6 +2723,11 @@ serial8250_do_set_termios(struct uart_po
|
||||
@@ -2720,6 +2720,11 @@ serial8250_do_set_termios(struct uart_po
|
||||
unsigned long flags;
|
||||
unsigned int baud, quot, frac = 0;
|
||||
|
||||
|
@ -22,7 +22,7 @@ Signed-off-by: Tim Harvey <tharvey@gateworks.com>
|
||||
#include <linux/platform_data/x86/apple.h>
|
||||
#include <linux/pm_runtime.h>
|
||||
#include <linux/suspend.h>
|
||||
@@ -5810,3 +5811,34 @@ static void nvidia_ion_ahci_fixup(struct
|
||||
@@ -5812,3 +5813,34 @@ static void nvidia_ion_ahci_fixup(struct
|
||||
pdev->dev_flags |= PCI_DEV_FLAGS_HAS_MSI_MASKING;
|
||||
}
|
||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab8, nvidia_ion_ahci_fixup);
|
||||
|
Loading…
x
Reference in New Issue
Block a user