kernel: bump 5.4 to 5.4.100 (#6420)

This commit is contained in:
AmadeusGhost 2021-02-24 19:27:20 +08:00 committed by GitHub
parent bdb5fa60ef
commit a8f9582ec9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
48 changed files with 113 additions and 122 deletions

View File

@ -8,11 +8,11 @@ endif
LINUX_VERSION-4.14 = .195
LINUX_VERSION-4.19 = .138
LINUX_VERSION-5.4 = .95
LINUX_VERSION-5.4 = .100
LINUX_KERNEL_HASH-4.14.195 = 394f28798670240baacd9e2cce521fbd79f8da5e1fc191695b0e11381445a021
LINUX_KERNEL_HASH-4.19.138 = d15c27d05f6c527269b75b30cc72972748e55720e7e00ad8abbaa4fe3b1d5e02
LINUX_KERNEL_HASH-5.4.95 = 030ae544f346bfa2ce619dd9e17e93d10ec393632d3b6d6cf5d1fc84b914d449
LINUX_KERNEL_HASH-5.4.100 = 795d681aa60822bcf4f2f6c28b4411e1b09d5ca37b85a647967649d1ab3b240a
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))

View File

@ -43,7 +43,7 @@ produce a noisy warning.
hcd->msi_enabled = 1;
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1881,6 +1881,7 @@ struct xhci_hcd {
@@ -1882,6 +1882,7 @@ struct xhci_hcd {
struct xhci_hub usb2_rhub;
struct xhci_hub usb3_rhub;
/* support xHCI 1.0 spec USB2 hardware LPM */

View File

@ -706,7 +706,7 @@
EXPORT_SYMBOL(xfrm_parse_spi);
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -3975,14 +3975,16 @@ static bool tcp_parse_aligned_timestamp(
@@ -3976,14 +3976,16 @@ static bool tcp_parse_aligned_timestamp(
{
const __be32 *ptr = (const __be32 *)(th + 1);

View File

@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -5720,6 +5720,8 @@ int __init cgroup_init_early(void)
@@ -5722,6 +5722,8 @@ int __init cgroup_init_early(void)
}
static u16 cgroup_disable_mask __initdata;
@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
/**
* cgroup_init - cgroup initialization
@@ -5759,6 +5761,12 @@ int __init cgroup_init(void)
@@ -5761,6 +5763,12 @@ int __init cgroup_init(void)
mutex_unlock(&cgroup_mutex);
@ -39,7 +39,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
for_each_subsys(ss, ssid) {
if (ss->early_init) {
struct cgroup_subsys_state *css =
@@ -6178,6 +6186,28 @@ static int __init cgroup_disable(char *s
@@ -6180,6 +6188,28 @@ static int __init cgroup_disable(char *s
}
__setup("cgroup_disable=", cgroup_disable);

View File

@ -85,6 +85,6 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
#define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
#define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35)
+#define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(36)
#define XHCI_SKIP_PHY_INIT BIT_ULL(37)
#define XHCI_DISABLE_SPARSE BIT_ULL(38)
unsigned int num_active_eps;

View File

@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/Makefile
+++ b/Makefile
@@ -1267,6 +1267,9 @@ ifneq ($(dtstree),)
@@ -1261,6 +1261,9 @@ ifneq ($(dtstree),)
%.dtb: include/config/kernel.release scripts_dtc
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@

View File

@ -18,7 +18,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
@@ -577,6 +577,53 @@ static int vc4_plane_allocate_lbm(struct
@@ -585,6 +585,53 @@ static int vc4_plane_allocate_lbm(struct
return 0;
}
@ -72,7 +72,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
/* Writes out a full display list for an active plane to the plane's
* private dlist state.
*/
@@ -856,9 +903,20 @@ static int vc4_plane_mode_set(struct drm
@@ -864,9 +911,20 @@ static int vc4_plane_mode_set(struct drm
/* Colorspace conversion words */
if (vc4_state->is_yuv) {
@ -96,7 +96,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
}
vc4_state->lbm_offset = 0;
@@ -1265,5 +1323,13 @@ struct drm_plane *vc4_plane_init(struct
@@ -1275,5 +1333,13 @@ struct drm_plane *vc4_plane_init(struct
DRM_MODE_REFLECT_X |
DRM_MODE_REFLECT_Y);

View File

@ -15,7 +15,7 @@ Signed-off-by: Nataliya Korovkina <malus.brandywine@gmail.com>
--- a/Makefile
+++ b/Makefile
@@ -1267,7 +1267,7 @@ ifneq ($(dtstree),)
@@ -1261,7 +1261,7 @@ ifneq ($(dtstree),)
%.dtb: include/config/kernel.release scripts_dtc
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@

View File

@ -95,7 +95,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
@@ -492,6 +492,11 @@ static void vc4_plane_calc_load(struct d
@@ -500,6 +500,11 @@ static void vc4_plane_calc_load(struct d
struct vc4_plane_state *vc4_state;
struct drm_crtc_state *crtc_state;
unsigned int vscale_factor;

View File

@ -186,7 +186,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
.pixel_order = HVS_PIXEL_ORDER_XBGR,
},
{
@@ -828,35 +843,6 @@ static int vc4_plane_mode_set(struct drm
@@ -836,35 +851,6 @@ static int vc4_plane_mode_set(struct drm
return -EINVAL;
}
@ -222,7 +222,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
/* Don't waste cycles mixing with plane alpha if the set alpha
* is opaque or there is no per-pixel alpha information.
* In any case we use the alpha property value as the fixed alpha.
@@ -864,20 +850,120 @@ static int vc4_plane_mode_set(struct drm
@@ -872,20 +858,120 @@ static int vc4_plane_mode_set(struct drm
mix_plane_alpha = state->alpha != DRM_BLEND_ALPHA_OPAQUE &&
fb->format->has_alpha;
@ -356,7 +356,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
/* Pointer Word 0/1/2: RGB / Y / Cb / Cr Pointers
@@ -1266,6 +1352,10 @@ static bool vc4_format_mod_supported(str
@@ -1276,6 +1362,10 @@ static bool vc4_format_mod_supported(str
default:
return false;
}

View File

@ -32,7 +32,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
return VC4_SCALING_NONE;
if (3 * dst >= 2 * src)
return VC4_SCALING_PPF;
@@ -369,9 +370,11 @@ static int vc4_plane_setup_clipping_and_
@@ -377,9 +378,11 @@ static int vc4_plane_setup_clipping_and_
return ret;
vc4_state->x_scaling[0] = vc4_get_scaling_mode(vc4_state->src_w[0],
@ -46,7 +46,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
vc4_state->is_unity = (vc4_state->x_scaling[0] == VC4_SCALING_NONE &&
vc4_state->y_scaling[0] == VC4_SCALING_NONE);
@@ -384,10 +387,12 @@ static int vc4_plane_setup_clipping_and_
@@ -392,10 +395,12 @@ static int vc4_plane_setup_clipping_and_
vc4_state->x_scaling[1] =
vc4_get_scaling_mode(vc4_state->src_w[1],
@ -61,7 +61,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
/* YUV conversion requires that horizontal scaling be enabled
* on the UV plane even if vc4_get_scaling_mode() returned
@@ -437,10 +442,7 @@ static void vc4_write_ppf(struct vc4_pla
@@ -445,10 +450,7 @@ static void vc4_write_ppf(struct vc4_pla
static u32 vc4_lbm_size(struct drm_plane_state *state)
{
struct vc4_plane_state *vc4_state = to_vc4_plane_state(state);
@ -73,7 +73,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
u32 lbm;
/* LBM is not needed when there's no vertical scaling. */
@@ -448,6 +450,11 @@ static u32 vc4_lbm_size(struct drm_plane
@@ -456,6 +458,11 @@ static u32 vc4_lbm_size(struct drm_plane
vc4_state->y_scaling[1] == VC4_SCALING_NONE)
return 0;
@ -85,7 +85,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
if (!vc4_state->is_yuv) {
if (vc4_state->y_scaling[0] == VC4_SCALING_TPZ)
lbm = pix_per_line * 8;
@@ -583,7 +590,9 @@ static int vc4_plane_allocate_lbm(struct
@@ -591,7 +598,9 @@ static int vc4_plane_allocate_lbm(struct
spin_lock_irqsave(&vc4->hvs->mm_lock, irqflags);
ret = drm_mm_insert_node_generic(&vc4->hvs->lbm_mm,
&vc4_state->lbm,

View File

@ -81,7 +81,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
void vc4_plane_async_set_fb(struct drm_plane *plane,
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
@@ -1437,3 +1437,41 @@ struct drm_plane *vc4_plane_init(struct
@@ -1447,3 +1447,41 @@ struct drm_plane *vc4_plane_init(struct
return plane;
}

View File

@ -55,7 +55,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
void vc4_plane_async_set_fb(struct drm_plane *plane,
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
@@ -1438,39 +1438,41 @@ struct drm_plane *vc4_plane_init(struct
@@ -1448,39 +1448,41 @@ struct drm_plane *vc4_plane_init(struct
return plane;
}

View File

@ -23,7 +23,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
@@ -1444,26 +1444,27 @@ int vc4_plane_create_additional_planes(s
@@ -1454,26 +1454,27 @@ int vc4_plane_create_additional_planes(s
struct drm_crtc *crtc;
unsigned int i;

View File

@ -21,7 +21,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
@@ -1453,7 +1453,7 @@ int vc4_plane_create_additional_planes(s
@@ -1463,7 +1463,7 @@ int vc4_plane_create_additional_planes(s
* modest number of planes to expose, that should hopefully
* still cover any sane usecase.
*/

View File

@ -38,7 +38,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
};
static const struct hvs_format *vc4_get_hvs_format(u32 drm_format)
@@ -801,27 +808,33 @@ static int vc4_plane_mode_set(struct drm
@@ -809,27 +816,33 @@ static int vc4_plane_mode_set(struct drm
uint32_t param = fourcc_mod_broadcom_param(fb->modifier);
u32 tile_w, tile, x_off, pix_per_tile;
@ -90,7 +90,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
return -EINVAL;
}
@@ -831,6 +844,13 @@ static int vc4_plane_mode_set(struct drm
@@ -839,6 +852,13 @@ static int vc4_plane_mode_set(struct drm
/* Adjust the base pointer to the first pixel to be scanned
* out.
@ -104,7 +104,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
*/
for (i = 0; i < num_planes; i++) {
vc4_state->offsets[i] += param * tile_w * tile;
@@ -943,8 +963,8 @@ static int vc4_plane_mode_set(struct drm
@@ -951,8 +971,8 @@ static int vc4_plane_mode_set(struct drm
vc4_dlist_write(vc4_state,
VC4_SET_FIELD(state->alpha >> 4,
SCALER5_CTL2_ALPHA) |
@ -115,7 +115,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
(mix_plane_alpha ?
SCALER5_CTL2_ALPHA_MIX : 0) |
VC4_SET_FIELD(fb->format->has_alpha ?
@@ -992,7 +1012,8 @@ static int vc4_plane_mode_set(struct drm
@@ -1000,7 +1020,8 @@ static int vc4_plane_mode_set(struct drm
/* Pitch word 1/2 */
for (i = 1; i < num_planes; i++) {
@ -125,7 +125,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
vc4_dlist_write(vc4_state,
VC4_SET_FIELD(fb->pitches[i],
SCALER_SRC_PITCH));
@@ -1361,6 +1382,13 @@ static bool vc4_format_mod_supported(str
@@ -1371,6 +1392,13 @@ static bool vc4_format_mod_supported(str
default:
return false;
}
@ -139,7 +139,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
case DRM_FORMAT_RGBX1010102:
case DRM_FORMAT_BGRX1010102:
case DRM_FORMAT_RGBA1010102:
@@ -1393,8 +1421,11 @@ struct drm_plane *vc4_plane_init(struct
@@ -1403,8 +1431,11 @@ struct drm_plane *vc4_plane_init(struct
struct drm_plane *plane = NULL;
struct vc4_plane *vc4_plane;
u32 formats[ARRAY_SIZE(hvs_formats)];
@ -151,7 +151,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
static const uint64_t modifiers[] = {
DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED,
DRM_FORMAT_MOD_BROADCOM_SAND128,
@@ -1409,13 +1440,17 @@ struct drm_plane *vc4_plane_init(struct
@@ -1419,13 +1450,17 @@ struct drm_plane *vc4_plane_init(struct
if (!vc4_plane)
return ERR_PTR(-ENOMEM);

View File

@ -15,7 +15,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
@@ -1441,7 +1441,7 @@ struct drm_plane *vc4_plane_init(struct
@@ -1451,7 +1451,7 @@ struct drm_plane *vc4_plane_init(struct
return ERR_PTR(-ENOMEM);
for (i = 0; i < ARRAY_SIZE(hvs_formats); i++) {

View File

@ -19,7 +19,7 @@ it on BCM4708 family.
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
@@ -67,6 +67,8 @@ static int xhci_priv_resume_quirk(struct
@@ -77,6 +77,8 @@ static int xhci_priv_resume_quirk(struct
static void xhci_plat_quirks(struct device *dev, struct xhci_hcd *xhci)
{
struct xhci_plat_priv *priv = xhci_to_priv(xhci);
@ -28,7 +28,7 @@ it on BCM4708 family.
/*
* As of now platform drivers don't provide MSI support so we ensure
@@ -74,6 +76,9 @@ static void xhci_plat_quirks(struct devi
@@ -84,6 +86,9 @@ static void xhci_plat_quirks(struct devi
* dev struct in order to setup MSI
*/
xhci->quirks |= XHCI_PLAT | priv->quirks;
@ -132,6 +132,6 @@ it on BCM4708 family.
#define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
#define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35)
+#define XHCI_FAKE_DOORBELL BIT_ULL(36)
#define XHCI_SKIP_PHY_INIT BIT_ULL(37)
#define XHCI_DISABLE_SPARSE BIT_ULL(38)
unsigned int num_active_eps;

View File

@ -21,7 +21,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/netfilter/nf_conntrack_core.c
+++ b/net/netfilter/nf_conntrack_core.c
@@ -1206,18 +1206,6 @@ static bool gc_worker_can_early_drop(con
@@ -1207,18 +1207,6 @@ static bool gc_worker_can_early_drop(con
return false;
}
@ -40,7 +40,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static void gc_worker(struct work_struct *work)
{
unsigned int min_interval = max(HZ / GC_MAX_BUCKETS_DIV, 1u);
@@ -1254,10 +1242,8 @@ static void gc_worker(struct work_struct
@@ -1255,10 +1243,8 @@ static void gc_worker(struct work_struct
tmp = nf_ct_tuplehash_to_ctrack(h);
scanned++;

View File

@ -66,7 +66,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -5403,8 +5403,7 @@ static void skb_gro_reset_offset(struct
@@ -5404,8 +5404,7 @@ static void skb_gro_reset_offset(struct
NAPI_GRO_CB(skb)->frag0 = NULL;
NAPI_GRO_CB(skb)->frag0_len = 0;

View File

@ -19,7 +19,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -2380,7 +2380,14 @@ static int mv88e6xxx_setup_upstream_port
@@ -2384,7 +2384,14 @@ static int mv88e6xxx_setup_upstream_port
if (chip->info->ops->set_egress_port) {
err = chip->info->ops->set_egress_port(chip,

View File

@ -25,7 +25,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -4922,6 +4922,80 @@ static int mv88e6xxx_port_mdb_del(struct
@@ -4926,6 +4926,80 @@ static int mv88e6xxx_port_mdb_del(struct
return err;
}
@ -106,7 +106,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static int mv88e6xxx_port_egress_floods(struct dsa_switch *ds, int port,
bool unicast, bool multicast)
{
@@ -4976,6 +5050,8 @@ static const struct dsa_switch_ops mv88e
@@ -4980,6 +5054,8 @@ static const struct dsa_switch_ops mv88e
.port_mdb_prepare = mv88e6xxx_port_mdb_prepare,
.port_mdb_add = mv88e6xxx_port_mdb_add,
.port_mdb_del = mv88e6xxx_port_mdb_del,

View File

@ -19,7 +19,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -4989,7 +4989,7 @@ static void mv88e6xxx_port_mirror_del(st
@@ -4993,7 +4993,7 @@ static void mv88e6xxx_port_mirror_del(st
if (chip->info->ops->set_egress_port(chip,
direction,
dsa_upstream_port(ds,

View File

@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
} \
\
/* __*init sections */ \
@@ -888,6 +898,8 @@
@@ -898,6 +908,8 @@
EXIT_TEXT \
EXIT_DATA \
EXIT_CALL \

View File

@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
__u16 tc_index; /* traffic control index */
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -5468,6 +5468,9 @@ static enum gro_result dev_gro_receive(s
@@ -5469,6 +5469,9 @@ static enum gro_result dev_gro_receive(s
int same_flow;
int grow;
@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (netif_elide_gro(skb->dev))
goto normal;
@@ -7263,6 +7266,48 @@ static void __netdev_adjacent_dev_unlink
@@ -7264,6 +7267,48 @@ static void __netdev_adjacent_dev_unlink
&upper_dev->adj_list.lower);
}
@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static int __netdev_upper_dev_link(struct net_device *dev,
struct net_device *upper_dev, bool master,
void *upper_priv, void *upper_info,
@@ -7313,6 +7358,7 @@ static int __netdev_upper_dev_link(struc
@@ -7314,6 +7359,7 @@ static int __netdev_upper_dev_link(struc
if (ret)
return ret;
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
ret = notifier_to_errno(ret);
@@ -7406,6 +7452,7 @@ void netdev_upper_dev_unlink(struct net_
@@ -7407,6 +7453,7 @@ void netdev_upper_dev_unlink(struct net_
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
@@ -8136,6 +8183,7 @@ int dev_set_mac_address(struct net_devic
@@ -8137,6 +8184,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;

View File

@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static int netif_rx_internal(struct sk_buff *skb);
static int call_netdevice_notifiers_info(unsigned long val,
@@ -5910,6 +5911,11 @@ void __napi_schedule(struct napi_struct
@@ -5911,6 +5912,11 @@ void __napi_schedule(struct napi_struct
{
unsigned long flags;
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
local_irq_save(flags);
____napi_schedule(this_cpu_ptr(&softnet_data), n);
local_irq_restore(flags);
@@ -5957,6 +5963,11 @@ EXPORT_SYMBOL(napi_schedule_prep);
@@ -5958,6 +5964,11 @@ EXPORT_SYMBOL(napi_schedule_prep);
*/
void __napi_schedule_irqoff(struct napi_struct *n)
{
@ -111,7 +111,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
____napi_schedule(this_cpu_ptr(&softnet_data), n);
}
EXPORT_SYMBOL(__napi_schedule_irqoff);
@@ -6218,6 +6229,84 @@ static void init_gro_hash(struct napi_st
@@ -6219,6 +6230,84 @@ static void init_gro_hash(struct napi_st
napi->gro_bitmask = 0;
}
@ -196,7 +196,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
void netif_napi_add(struct net_device *dev, struct napi_struct *napi,
int (*poll)(struct napi_struct *, int), int weight)
{
@@ -6237,6 +6326,7 @@ void netif_napi_add(struct net_device *d
@@ -6238,6 +6327,7 @@ void netif_napi_add(struct net_device *d
#ifdef CONFIG_NETPOLL
napi->poll_owner = -1;
#endif
@ -204,7 +204,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
set_bit(NAPI_STATE_SCHED, &napi->state);
set_bit(NAPI_STATE_NPSVC, &napi->state);
list_add_rcu(&napi->dev_list, &dev->napi_list);
@@ -6277,6 +6367,7 @@ static void flush_gro_hash(struct napi_s
@@ -6278,6 +6368,7 @@ static void flush_gro_hash(struct napi_s
void netif_napi_del(struct napi_struct *napi)
{
might_sleep();
@ -212,7 +212,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (napi_hash_del(napi))
synchronize_net();
list_del_init(&napi->dev_list);
@@ -6289,50 +6380,18 @@ EXPORT_SYMBOL(netif_napi_del);
@@ -6290,50 +6381,18 @@ EXPORT_SYMBOL(netif_napi_del);
static int napi_poll(struct napi_struct *n, struct list_head *repoll)
{
@ -267,7 +267,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* Some drivers may have called napi_schedule
* prior to exhausting their budget.
@@ -10270,6 +10329,10 @@ static int __init net_dev_init(void)
@@ -10271,6 +10330,10 @@ static int __init net_dev_init(void)
sd->backlog.weight = weight_p;
}

View File

@ -17,7 +17,7 @@ Signed-off-by: DENG Qingfang <dqfext@gmail.com>
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -2659,6 +2659,7 @@ static int mv88e6xxx_setup(struct dsa_sw
@@ -2663,6 +2663,7 @@ static int mv88e6xxx_setup(struct dsa_sw
chip->ds = ds;
ds->slave_mii_bus = mv88e6xxx_default_mdio_bus(chip);

View File

@ -277,15 +277,6 @@ Date: Fri May 5 17:53:27 2017 +0800
compatible = "spansion,m25p80";
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
@@ -304,7 +304,7 @@
dcfg: dcfg@1ee0000 {
compatible = "fsl,ls1046a-dcfg", "syscon";
- reg = <0x0 0x1ee0000 0x0 0x10000>;
+ reg = <0x0 0x1ee0000 0x0 0x1000>;
big-endian;
};
@@ -376,7 +376,7 @@
};

View File

@ -87,7 +87,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
}
/**
@@ -3871,6 +3887,7 @@ static int cgroup_add_file(struct cgroup
@@ -3873,6 +3889,7 @@ static int cgroup_add_file(struct cgroup
{
char name[CGROUP_FILE_NAME_MAX];
struct kernfs_node *kn;
@ -95,7 +95,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
struct lock_class_key *key = NULL;
int ret;
@@ -3901,6 +3918,14 @@ static int cgroup_add_file(struct cgroup
@@ -3903,6 +3920,14 @@ static int cgroup_add_file(struct cgroup
spin_unlock_irq(&cgroup_file_kn_lock);
}

View File

@ -89,7 +89,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
}
/**
@@ -3887,7 +3871,6 @@ static int cgroup_add_file(struct cgroup
@@ -3889,7 +3873,6 @@ static int cgroup_add_file(struct cgroup
{
char name[CGROUP_FILE_NAME_MAX];
struct kernfs_node *kn;
@ -97,7 +97,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
struct lock_class_key *key = NULL;
int ret;
@@ -3918,14 +3901,6 @@ static int cgroup_add_file(struct cgroup
@@ -3920,14 +3903,6 @@ static int cgroup_add_file(struct cgroup
spin_unlock_irq(&cgroup_file_kn_lock);
}

View File

@ -141,7 +141,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
#define ENETC_SIPCAPR0_RSS BIT(8)
#define ENETC_SIPCAPR1 0x24
#define ENETC_SITGTGR 0x30
@@ -444,22 +445,6 @@ union enetc_rx_bd {
@@ -446,22 +447,6 @@ union enetc_rx_bd {
#define EMETC_MAC_ADDR_FILT_RES 3 /* # of reserved entries at the beginning */
#define ENETC_MAX_NUM_VFS 2
@ -164,7 +164,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
#define ENETC_CBD_FLAGS_SF BIT(7) /* short format */
#define ENETC_CBD_STATUS_MASK 0xf
@@ -558,3 +543,70 @@ static inline void enetc_set_bdr_prio(st
@@ -560,3 +545,70 @@ static inline void enetc_set_bdr_prio(st
val |= ENETC_TBMR_SET_PRIO(prio);
enetc_txbdr_wr(hw, bdr_idx, ENETC_TBMR, val);
}

View File

@ -19,7 +19,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
--- a/drivers/net/ethernet/freescale/enetc/enetc_hw.h
+++ b/drivers/net/ethernet/freescale/enetc/enetc_hw.h
@@ -198,6 +198,7 @@ enum enetc_bdr_type {TX, RX};
@@ -200,6 +200,7 @@ enum enetc_bdr_type {TX, RX};
#define ENETC_PFPMR 0x1900
#define ENETC_PFPMR_PMACE BIT(1)
#define ENETC_PFPMR_MWLM BIT(0)

View File

@ -23,7 +23,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
--- a/drivers/net/ethernet/freescale/enetc/enetc_hw.h
+++ b/drivers/net/ethernet/freescale/enetc/enetc_hw.h
@@ -221,6 +221,23 @@ enum enetc_bdr_type {TX, RX};
@@ -223,6 +223,23 @@ enum enetc_bdr_type {TX, RX};
#define ENETC_PM0_MAXFRM 0x8014
#define ENETC_SET_TX_MTU(val) ((val) << 16)
#define ENETC_SET_MAXFRM(val) ((val) & 0xffff)
@ -79,8 +79,8 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
+}
--- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
+++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
@@ -807,6 +807,61 @@ static void enetc_of_put_phy(struct enet
of_node_put(priv->phy_node);
@@ -852,6 +852,61 @@ static int enetc_init_port_rss_memory(st
return err;
}
+static void enetc_configure_sgmii(struct mii_bus *imdio)
@ -141,7 +141,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
static int enetc_pf_probe(struct pci_dev *pdev,
const struct pci_device_id *ent)
{
@@ -871,6 +926,10 @@ static int enetc_pf_probe(struct pci_dev
@@ -928,6 +983,10 @@ static int enetc_pf_probe(struct pci_dev
if (err)
dev_warn(&pdev->dev, "Fallback to PHY-less operation\n");

View File

@ -124,8 +124,8 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
+ of_node_put(pf->phy_node);
}
static void enetc_configure_sgmii(struct mii_bus *imdio)
@@ -888,6 +891,10 @@ static int enetc_pf_probe(struct pci_dev
/* Initialize the entire shared memory for the flow steering entries
@@ -933,6 +936,10 @@ static int enetc_pf_probe(struct pci_dev
pf->si = si;
pf->total_vfs = pci_sriov_get_totalvfs(pdev);
@ -136,7 +136,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
enetc_configure_port(pf);
enetc_get_si_caps(si);
@@ -902,6 +909,8 @@ static int enetc_pf_probe(struct pci_dev
@@ -947,6 +954,8 @@ static int enetc_pf_probe(struct pci_dev
enetc_pf_netdev_setup(si, ndev, &enetc_ndev_ops);
priv = netdev_priv(ndev);
@ -145,7 +145,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
enetc_init_si_rings_params(priv);
@@ -917,10 +926,6 @@ static int enetc_pf_probe(struct pci_dev
@@ -974,10 +983,6 @@ static int enetc_pf_probe(struct pci_dev
goto err_alloc_msix;
}
@ -156,15 +156,15 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
err = enetc_configure_serdes(priv);
if (err)
dev_warn(&pdev->dev, "Attempted serdes config but failed\n");
@@ -938,7 +943,6 @@ static int enetc_pf_probe(struct pci_dev
@@ -995,7 +1000,6 @@ static int enetc_pf_probe(struct pci_dev
err_reg_netdev:
enetc_mdio_remove(pf);
- enetc_of_put_phy(priv);
enetc_free_msix(priv);
err_alloc_msix:
enetc_free_si_resources(priv);
@@ -946,6 +950,7 @@ err_alloc_si_res:
err_init_port_rss:
err_init_port_rfs:
@@ -1005,6 +1009,7 @@ err_alloc_si_res:
si->ndev = NULL;
free_netdev(ndev);
err_alloc_netdev:
@ -172,7 +172,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
err_map_pf_space:
enetc_pci_remove(pdev);
@@ -968,7 +973,7 @@ static void enetc_pf_remove(struct pci_d
@@ -1027,7 +1032,7 @@ static void enetc_pf_remove(struct pci_d
unregister_netdev(si->ndev);
enetc_mdio_remove(pf);

View File

@ -23,7 +23,7 @@ Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
enetc_port_wr(hw, ENETC_PM0_IF_MODE, ENETC_PM0_IFM_XGMII);
}
@@ -844,7 +845,8 @@ static int enetc_configure_serdes(struct
@@ -889,7 +890,8 @@ static int enetc_configure_serdes(struct
int err;
if (priv->if_mode != PHY_INTERFACE_MODE_SGMII &&
@ -33,7 +33,7 @@ Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
return 0;
err = enetc_imdio_init(pf);
@@ -854,7 +856,8 @@ static int enetc_configure_serdes(struct
@@ -899,7 +901,8 @@ static int enetc_configure_serdes(struct
if (priv->if_mode == PHY_INTERFACE_MODE_SGMII)
enetc_configure_sgmii(pf->imdio);

View File

@ -254,7 +254,7 @@ Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
rx_frm_cnt++;
--- a/drivers/net/ethernet/freescale/enetc/enetc_hw.h
+++ b/drivers/net/ethernet/freescale/enetc/enetc_hw.h
@@ -325,8 +325,15 @@ struct enetc_hw {
@@ -327,8 +327,15 @@ struct enetc_hw {
};
/* general register accessors */
@ -272,7 +272,7 @@ Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
#ifdef ioread64
#define enetc_rd_reg64(reg) ioread64((reg))
#else
@@ -345,12 +352,102 @@ static inline u64 enetc_rd_reg64(void __
@@ -347,12 +354,102 @@ static inline u64 enetc_rd_reg64(void __
}
#endif
@ -397,7 +397,7 @@ Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
#define enetc_mdio_rd(mdio_priv, off) \
--- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
+++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
@@ -987,6 +987,9 @@ static void enetc_pf_remove(struct pci_d
@@ -1046,6 +1046,9 @@ static void enetc_pf_remove(struct pci_d
enetc_pci_remove(pdev);
}

View File

@ -259,7 +259,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
--- a/drivers/net/ethernet/freescale/enetc/enetc_hw.h
+++ b/drivers/net/ethernet/freescale/enetc/enetc_hw.h
@@ -329,7 +329,7 @@ struct enetc_hw {
@@ -331,7 +331,7 @@ struct enetc_hw {
#define enetc_wr_reg(reg, val) enetc_wr_reg_wa((reg), (val))
/* accessors for data-path, due to MDIO issue on LS1028 these should be called
@ -268,7 +268,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
*/
#define enetc_rd_reg_hot(reg) ioread32((reg))
#define enetc_wr_reg_hot(reg, val) iowrite32((val), (reg))
@@ -352,90 +352,45 @@ static inline u64 enetc_rd_reg64(void __
@@ -354,90 +354,45 @@ static inline u64 enetc_rd_reg64(void __
}
#endif
@ -371,7 +371,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
#define enetc_rd(hw, off) enetc_rd_reg((hw)->reg + (off))
--- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
+++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
@@ -987,8 +987,9 @@ static void enetc_pf_remove(struct pci_d
@@ -1046,8 +1046,9 @@ static void enetc_pf_remove(struct pci_d
enetc_pci_remove(pdev);
}

View File

@ -48,7 +48,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
--- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
+++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
@@ -953,6 +953,7 @@ err_alloc_si_res:
@@ -1012,6 +1012,7 @@ err_alloc_si_res:
si->ndev = NULL;
free_netdev(ndev);
err_alloc_netdev:

View File

@ -78,8 +78,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
+#define ENETC_CBS_BW_MASK GENMASK(6, 0)
#define ENETC_PTCCBSR1(n) (0x1114 + (n) * 8) /* n = 0 to 7*/
#define ENETC_RSSHASH_KEY_SIZE 40
#define ENETC_PRSSK(n) (0x1410 + (n) * 4) /* n = [0..9] */
@@ -677,6 +679,8 @@ struct enetc_cbd {
#define ENETC_PRSSCAPR 0x1404
@@ -679,6 +681,8 @@ struct enetc_cbd {
u8 status_flags;
};

View File

@ -296,7 +296,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
#define ENETC_SIPCAPR0_RSS BIT(8)
#define ENETC_SIPCAPR1 0x24
#define ENETC_SITGTGR 0x30
@@ -241,10 +242,20 @@ enum enetc_bdr_type {TX, RX};
@@ -243,10 +244,20 @@ enum enetc_bdr_type {TX, RX};
#define ENETC_PCS_IF_MODE_SGMII_AN 0x0003
#define ENETC_PM0_IF_MODE 0x8300
@ -317,7 +317,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
/* MAC counters */
#define ENETC_PM0_REOCT 0x8100
@@ -298,6 +309,15 @@ enum enetc_bdr_type {TX, RX};
@@ -300,6 +311,15 @@ enum enetc_bdr_type {TX, RX};
#define ENETC_PM0_TSCOL 0x82E0
#define ENETC_PM0_TLCOL 0x82E8
#define ENETC_PM0_TECOL 0x82F0
@ -333,7 +333,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
/* Port counters */
#define ENETC_PICDR(n) (0x0700 + (n) * 8) /* n = [0..3] */
@@ -456,6 +476,7 @@ union enetc_tx_bd {
@@ -458,6 +478,7 @@ union enetc_tx_bd {
#define ENETC_TXBD_FLAGS_CSUM BIT(3)
#define ENETC_TXBD_FLAGS_EX BIT(6)
#define ENETC_TXBD_FLAGS_F BIT(7)
@ -341,7 +341,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
static inline void enetc_clear_tx_bd(union enetc_tx_bd *txbd)
{
@@ -483,6 +504,8 @@ static inline __le16 enetc_txbd_l3_csoff
@@ -485,6 +506,8 @@ static inline __le16 enetc_txbd_l3_csoff
#define ENETC_TXBD_L4_UDP BIT(5)
#define ENETC_TXBD_L4_TCP BIT(6)
@ -350,7 +350,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
union enetc_rx_bd {
struct {
__le64 addr;
@@ -629,21 +652,307 @@ enum bdcr_cmd_class {
@@ -631,21 +654,307 @@ enum bdcr_cmd_class {
BDCR_CMD_RFS,
BDCR_CMD_PORT_GCL,
BDCR_CMD_RECV_CLASSIFIER,
@ -662,7 +662,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
/* gate control list entry */
struct gce {
__le32 period;
@@ -660,13 +969,55 @@ struct tgs_gcl_data {
@@ -662,13 +971,55 @@ struct tgs_gcl_data {
struct gce entry[0];
};
@ -719,7 +719,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
};
}; /* Long format */
__le32 data[6];
@@ -681,11 +1032,88 @@ struct enetc_cbd {
@@ -683,11 +1034,88 @@ struct enetc_cbd {
#define ENETC_CLK 400000000ULL
@ -839,7 +839,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
/* pick up primary MAC address from SI */
enetc_get_primary_mac_addr(&si->hw, ndev->dev_addr);
}
@@ -942,6 +949,8 @@ static int enetc_pf_probe(struct pci_dev
@@ -999,6 +1006,8 @@ static int enetc_pf_probe(struct pci_dev
netif_info(priv, probe, ndev, "%s v%s\n",
enetc_drv_name, enetc_drv_ver);
@ -848,7 +848,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
return 0;
err_reg_netdev:
@@ -974,6 +983,8 @@ static void enetc_pf_remove(struct pci_d
@@ -1033,6 +1042,8 @@ static void enetc_pf_remove(struct pci_d
netif_info(priv, drv, si->ndev, "%s v%s remove\n",
enetc_drv_name, enetc_drv_ver);

View File

@ -344,7 +344,7 @@ MDIO erratum.
static int enetc_of_get_phy(struct enetc_pf *pf)
{
struct device *dev = &pf->si->pdev->dev;
@@ -846,6 +893,30 @@ static void enetc_configure_sxgmii(struc
@@ -891,6 +938,30 @@ static void enetc_configure_sxgmii(struc
ENETC_PCS_CR_LANE_RESET | ENETC_PCS_CR_RESET_AN);
}

View File

@ -17,7 +17,7 @@ Acked-by: Jason Liu <jason.hui.liu@nxp.com>
--- a/drivers/net/ethernet/freescale/enetc/enetc_hw.h
+++ b/drivers/net/ethernet/freescale/enetc/enetc_hw.h
@@ -224,6 +224,8 @@ enum enetc_bdr_type {TX, RX};
@@ -226,6 +226,8 @@ enum enetc_bdr_type {TX, RX};
#define ENETC_PM0_MAXFRM 0x8014
#define ENETC_SET_TX_MTU(val) ((val) << 16)
#define ENETC_SET_MAXFRM(val) ((val) & 0xffff)

View File

@ -42,7 +42,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
retval = xhci_enter_test_mode(xhci, test_mode, wIndex,
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -3582,6 +3582,129 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
@@ -3591,6 +3591,129 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
return 0;
}
@ -184,7 +184,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
void xhci_init_driver(struct hc_driver *drv,
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -2144,6 +2144,16 @@ int xhci_find_raw_port_number(struct usb
@@ -2149,6 +2149,16 @@ int xhci_find_raw_port_number(struct usb
struct xhci_hub *xhci_get_rhub(struct usb_hcd *hcd);
void xhci_hc_died(struct xhci_hcd *xhci);

View File

@ -37,6 +37,6 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
#define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
#define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35)
+#define XHCI_CDNS_HOST BIT_ULL(36)
#define XHCI_SKIP_PHY_INIT BIT_ULL(37)
#define XHCI_DISABLE_SPARSE BIT_ULL(38)
unsigned int num_active_eps;

View File

@ -22,7 +22,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -2053,12 +2053,9 @@ static int process_ctrl_td(struct xhci_h
@@ -2058,12 +2058,9 @@ static int process_ctrl_td(struct xhci_h
switch (trb_comp_code) {
case COMP_SUCCESS:

View File

@ -24,10 +24,10 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -5381,6 +5381,8 @@ void xhci_init_driver(struct hc_driver *
drv->reset = over->reset;
if (over->start)
drv->start = over->start;
@@ -5385,6 +5385,8 @@ void xhci_init_driver(struct hc_driver *
drv->check_bandwidth = over->check_bandwidth;
if (over->reset_bandwidth)
drv->reset_bandwidth = over->reset_bandwidth;
+ if (over->bus_suspend)
+ drv->bus_suspend = over->bus_suspend;
}
@ -35,10 +35,10 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
EXPORT_SYMBOL_GPL(xhci_init_driver);
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1912,6 +1912,7 @@ struct xhci_driver_overrides {
size_t extra_priv_size;
int (*reset)(struct usb_hcd *hcd);
@@ -1915,6 +1915,7 @@ struct xhci_driver_overrides {
int (*start)(struct usb_hcd *hcd);
int (*check_bandwidth)(struct usb_hcd *, struct usb_device *);
void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *);
+ int (*bus_suspend)(struct usb_hcd *hcd);
};

View File

@ -16,7 +16,7 @@ Acked-by: Peter Chen <peter.chen@nxp.com>
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
@@ -291,6 +291,10 @@ static int xhci_plat_probe(struct platfo
@@ -303,6 +303,10 @@ static int xhci_plat_probe(struct platfo
device_property_read_u32(tmpdev, "imod-interval-ns",
&xhci->imod_interval);

View File

@ -38,7 +38,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
const struct switchdev_obj_port_vlan *vlan);
--- a/drivers/net/dsa/bcm_sf2.c
+++ b/drivers/net/dsa/bcm_sf2.c
@@ -635,7 +635,9 @@ static void bcm_sf2_sw_mac_link_down(str
@@ -639,7 +639,9 @@ static void bcm_sf2_sw_mac_link_down(str
static void bcm_sf2_sw_mac_link_up(struct dsa_switch *ds, int port,
unsigned int mode,
phy_interface_t interface,