kernel: bump 5.15 to 5.15.67
All patches automatically rebased Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Signed-off-by: John Audia <therealgraysky@proton.me>
This commit is contained in:
		| @@ -1,2 +1,2 @@ | ||||
| LINUX_VERSION-5.15 = .64 | ||||
| LINUX_KERNEL_HASH-5.15.64 = c6a1d38c6fa3798341372d5cf0088ae806ccdc827e31ecbff8988e097ba5de50 | ||||
| LINUX_VERSION-5.15 = .67 | ||||
| LINUX_KERNEL_HASH-5.15.67 = da47d9a80b694548835ccb553b6eb1a1f3f5d5cddd9e2bd6f4886b99ca14f940 | ||||
|   | ||||
| @@ -70,7 +70,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org> | ||||
|   * @dev: the device whose endpoint is being disabled | ||||
| --- a/include/linux/usb.h | ||||
| +++ b/include/linux/usb.h | ||||
| @@ -1840,6 +1840,8 @@ extern int usb_clear_halt(struct usb_dev | ||||
| @@ -1842,6 +1842,8 @@ extern int usb_clear_halt(struct usb_dev | ||||
|  extern int usb_reset_configuration(struct usb_device *dev); | ||||
|  extern int usb_set_interface(struct usb_device *dev, int ifnum, int alternate); | ||||
|  extern void usb_reset_endpoint(struct usb_device *dev, unsigned int epaddr); | ||||
|   | ||||
| @@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org> | ||||
|  | ||||
| --- a/drivers/usb/host/xhci.c | ||||
| +++ b/drivers/usb/host/xhci.c | ||||
| @@ -1620,6 +1620,109 @@ command_cleanup: | ||||
| @@ -1611,6 +1611,109 @@ command_cleanup: | ||||
|  } | ||||
|   | ||||
|  /* | ||||
| @@ -125,7 +125,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org> | ||||
|   * non-error returns are a promise to giveback() the urb later | ||||
|   * we drop ownership so next owner (or urb unlink) can get it | ||||
|   */ | ||||
| @@ -5445,6 +5548,7 @@ static const struct hc_driver xhci_hc_dr | ||||
| @@ -5436,6 +5539,7 @@ static const struct hc_driver xhci_hc_dr | ||||
|  	.endpoint_reset =	xhci_endpoint_reset, | ||||
|  	.check_bandwidth =	xhci_check_bandwidth, | ||||
|  	.reset_bandwidth =	xhci_reset_bandwidth, | ||||
|   | ||||
| @@ -10,7 +10,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com> | ||||
|  | ||||
| --- a/drivers/clk/bcm/clk-raspberrypi.c | ||||
| +++ b/drivers/clk/bcm/clk-raspberrypi.c | ||||
| @@ -271,6 +271,7 @@ static int raspberrypi_discover_clocks(s | ||||
| @@ -276,6 +276,7 @@ static int raspberrypi_discover_clocks(s | ||||
|  		case RPI_FIRMWARE_CORE_CLK_ID: | ||||
|  		case RPI_FIRMWARE_M2MC_CLK_ID: | ||||
|  		case RPI_FIRMWARE_V3D_CLK_ID: | ||||
|   | ||||
| @@ -17,7 +17,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  | ||||
| --- a/drivers/clk/clk.c | ||||
| +++ b/drivers/clk/clk.c | ||||
| @@ -1347,6 +1347,8 @@ static int clk_core_determine_round_nolo | ||||
| @@ -1346,6 +1346,8 @@ static int clk_core_determine_round_nolo | ||||
|  	if (!core) | ||||
|  		return 0; | ||||
|   | ||||
|   | ||||
| @@ -26,7 +26,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com> | ||||
|  }; | ||||
|   | ||||
|  #define RPI_FIRMWARE_STATE_ENABLE_BIT	BIT(0) | ||||
| @@ -273,6 +275,7 @@ static int raspberrypi_discover_clocks(s | ||||
| @@ -278,6 +280,7 @@ static int raspberrypi_discover_clocks(s | ||||
|  		case RPI_FIRMWARE_V3D_CLK_ID: | ||||
|  		case RPI_FIRMWARE_HEVC_CLK_ID: | ||||
|  		case RPI_FIRMWARE_PIXEL_BVB_CLK_ID: | ||||
|   | ||||
| @@ -16,7 +16,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | ||||
|  | ||||
| --- a/drivers/clk/bcm/clk-raspberrypi.c | ||||
| +++ b/drivers/clk/bcm/clk-raspberrypi.c | ||||
| @@ -276,6 +276,7 @@ static int raspberrypi_discover_clocks(s | ||||
| @@ -281,6 +281,7 @@ static int raspberrypi_discover_clocks(s | ||||
|  		case RPI_FIRMWARE_HEVC_CLK_ID: | ||||
|  		case RPI_FIRMWARE_PIXEL_BVB_CLK_ID: | ||||
|  		case RPI_FIRMWARE_VEC_CLK_ID: | ||||
|   | ||||
| @@ -226,7 +226,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com> | ||||
|  	} | ||||
| --- a/drivers/usb/host/xhci.c | ||||
| +++ b/drivers/usb/host/xhci.c | ||||
| @@ -879,8 +879,8 @@ static void xhci_clear_command_ring(stru | ||||
| @@ -870,8 +870,8 @@ static void xhci_clear_command_ring(stru | ||||
|  	seg = ring->deq_seg; | ||||
|  	do { | ||||
|  		memset(seg->trbs, 0, | ||||
| @@ -237,7 +237,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com> | ||||
|  			cpu_to_le32(~TRB_CYCLE); | ||||
|  		seg = seg->next; | ||||
|  	} while (seg != ring->deq_seg); | ||||
| @@ -891,7 +891,7 @@ static void xhci_clear_command_ring(stru | ||||
| @@ -882,7 +882,7 @@ static void xhci_clear_command_ring(stru | ||||
|  	ring->enq_seg = ring->deq_seg; | ||||
|  	ring->enqueue = ring->dequeue; | ||||
|   | ||||
|   | ||||
| @@ -18,7 +18,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  | ||||
| --- a/drivers/clk/clk.c | ||||
| +++ b/drivers/clk/clk.c | ||||
| @@ -2387,11 +2387,7 @@ int clk_set_rate_range(struct clk *clk, | ||||
| @@ -2386,11 +2386,7 @@ int clk_set_rate_range(struct clk *clk, | ||||
|  		 *   this corner case when determining the rate | ||||
|  		 */ | ||||
|   | ||||
|   | ||||
| @@ -30,7 +30,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  | ||||
| --- a/drivers/clk/clk.c | ||||
| +++ b/drivers/clk/clk.c | ||||
| @@ -2372,28 +2372,29 @@ int clk_set_rate_range(struct clk *clk, | ||||
| @@ -2371,28 +2371,29 @@ int clk_set_rate_range(struct clk *clk, | ||||
|  		goto out; | ||||
|  	} | ||||
|   | ||||
|   | ||||
| @@ -29,7 +29,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  | ||||
| --- a/drivers/clk/clk.c | ||||
| +++ b/drivers/clk/clk.c | ||||
| @@ -2331,19 +2331,15 @@ int clk_set_rate_exclusive(struct clk *c | ||||
| @@ -2330,19 +2330,15 @@ int clk_set_rate_exclusive(struct clk *c | ||||
|  } | ||||
|  EXPORT_SYMBOL_GPL(clk_set_rate_exclusive); | ||||
|   | ||||
| @@ -54,7 +54,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  	if (!clk) | ||||
|  		return 0; | ||||
|   | ||||
| @@ -2356,8 +2352,6 @@ int clk_set_rate_range(struct clk *clk, | ||||
| @@ -2355,8 +2351,6 @@ int clk_set_rate_range(struct clk *clk, | ||||
|  		return -EINVAL; | ||||
|  	} | ||||
|   | ||||
| @@ -63,7 +63,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  	if (clk->exclusive_count) | ||||
|  		clk_core_rate_unprotect(clk->core); | ||||
|   | ||||
| @@ -2401,6 +2395,28 @@ out: | ||||
| @@ -2400,6 +2394,28 @@ out: | ||||
|  	if (clk->exclusive_count) | ||||
|  		clk_core_rate_protect(clk->core); | ||||
|   | ||||
| @@ -92,7 +92,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  	clk_prepare_unlock(); | ||||
|   | ||||
|  	return ret; | ||||
| @@ -4360,9 +4376,10 @@ void __clk_put(struct clk *clk) | ||||
| @@ -4359,9 +4375,10 @@ void __clk_put(struct clk *clk) | ||||
|  	} | ||||
|   | ||||
|  	hlist_del(&clk->clks_node); | ||||
|   | ||||
| @@ -22,7 +22,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  | ||||
| --- a/drivers/clk/clk.c | ||||
| +++ b/drivers/clk/clk.c | ||||
| @@ -2366,6 +2366,10 @@ static int clk_set_rate_range_nolock(str | ||||
| @@ -2365,6 +2365,10 @@ static int clk_set_rate_range_nolock(str | ||||
|  		goto out; | ||||
|  	} | ||||
|   | ||||
| @@ -33,7 +33,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  	/* | ||||
|  	 * Since the boundaries have been changed, let's give the | ||||
|  	 * opportunity to the provider to adjust the clock rate based on | ||||
| @@ -2383,7 +2387,7 @@ static int clk_set_rate_range_nolock(str | ||||
| @@ -2382,7 +2386,7 @@ static int clk_set_rate_range_nolock(str | ||||
|  	 * - the determine_rate() callback does not really check for | ||||
|  	 *   this corner case when determining the rate | ||||
|  	 */ | ||||
|   | ||||
| @@ -23,7 +23,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  | ||||
| --- a/drivers/clk/clk.c | ||||
| +++ b/drivers/clk/clk.c | ||||
| @@ -1758,6 +1758,23 @@ static void clk_core_update_orphan_statu | ||||
| @@ -1757,6 +1757,23 @@ static void clk_core_update_orphan_statu | ||||
|  		clk_core_update_orphan_status(child, is_orphan); | ||||
|  } | ||||
|   | ||||
| @@ -47,7 +47,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  static void clk_reparent(struct clk_core *core, struct clk_core *new_parent) | ||||
|  { | ||||
|  	bool was_orphan = core->orphan; | ||||
| @@ -1782,6 +1799,7 @@ static void clk_reparent(struct clk_core | ||||
| @@ -1781,6 +1798,7 @@ static void clk_reparent(struct clk_core | ||||
|  	} | ||||
|   | ||||
|  	core->parent = new_parent; | ||||
|   | ||||
| @@ -25,7 +25,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  | ||||
| --- a/drivers/clk/clk.c | ||||
| +++ b/drivers/clk/clk.c | ||||
| @@ -2388,6 +2388,12 @@ static int clk_set_rate_range_nolock(str | ||||
| @@ -2387,6 +2387,12 @@ static int clk_set_rate_range_nolock(str | ||||
|  	if (clk->core->flags & CLK_GET_RATE_NOCACHE) | ||||
|  		rate = clk_core_get_rate_recalc(clk->core); | ||||
|   | ||||
|   | ||||
| @@ -26,7 +26,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  | ||||
| --- a/drivers/clk/clk.c | ||||
| +++ b/drivers/clk/clk.c | ||||
| @@ -1381,6 +1381,8 @@ static void clk_core_init_rate_req(struc | ||||
| @@ -1380,6 +1380,8 @@ static void clk_core_init_rate_req(struc | ||||
|  	if (WARN_ON(!core || !req)) | ||||
|  		return; | ||||
|   | ||||
| @@ -35,7 +35,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  	parent = core->parent; | ||||
|  	if (parent) { | ||||
|  		req->best_parent_hw = parent->hw; | ||||
| @@ -1455,7 +1457,6 @@ unsigned long clk_hw_round_rate(struct c | ||||
| @@ -1454,7 +1456,6 @@ unsigned long clk_hw_round_rate(struct c | ||||
|  	int ret; | ||||
|  	struct clk_rate_request req; | ||||
|   | ||||
| @@ -43,7 +43,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  	req.rate = rate; | ||||
|   | ||||
|  	ret = clk_core_round_rate_nolock(hw->core, &req); | ||||
| @@ -1488,7 +1489,6 @@ long clk_round_rate(struct clk *clk, uns | ||||
| @@ -1487,7 +1488,6 @@ long clk_round_rate(struct clk *clk, uns | ||||
|  	if (clk->exclusive_count) | ||||
|  		clk_core_rate_unprotect(clk->core); | ||||
|   | ||||
| @@ -51,7 +51,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  	req.rate = rate; | ||||
|   | ||||
|  	ret = clk_core_round_rate_nolock(clk->core, &req); | ||||
| @@ -1995,8 +1995,6 @@ static struct clk_core *clk_calc_new_rat | ||||
| @@ -1994,8 +1994,6 @@ static struct clk_core *clk_calc_new_rat | ||||
|  		struct clk_rate_request req; | ||||
|   | ||||
|  		req.rate = rate; | ||||
|   | ||||
| @@ -19,7 +19,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  | ||||
| --- a/drivers/clk/clk.c | ||||
| +++ b/drivers/clk/clk.c | ||||
| @@ -1374,13 +1374,15 @@ static int clk_core_determine_round_nolo | ||||
| @@ -1373,13 +1373,15 @@ static int clk_core_determine_round_nolo | ||||
|  } | ||||
|   | ||||
|  static void clk_core_init_rate_req(struct clk_core * const core, | ||||
| @@ -36,7 +36,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  	clk_core_get_boundaries(core, &req->min_rate, &req->max_rate); | ||||
|   | ||||
|  	parent = core->parent; | ||||
| @@ -1408,7 +1410,7 @@ static int clk_core_round_rate_nolock(st | ||||
| @@ -1407,7 +1409,7 @@ static int clk_core_round_rate_nolock(st | ||||
|  		return 0; | ||||
|  	} | ||||
|   | ||||
| @@ -45,7 +45,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|   | ||||
|  	if (clk_core_can_round(core)) | ||||
|  		return clk_core_determine_round_nolock(core, req); | ||||
| @@ -1994,9 +1996,7 @@ static struct clk_core *clk_calc_new_rat | ||||
| @@ -1993,9 +1995,7 @@ static struct clk_core *clk_calc_new_rat | ||||
|  	if (clk_core_can_round(core)) { | ||||
|  		struct clk_rate_request req; | ||||
|   | ||||
|   | ||||
| @@ -22,7 +22,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  | ||||
| --- a/drivers/clk/clk.c | ||||
| +++ b/drivers/clk/clk.c | ||||
| @@ -1395,6 +1395,26 @@ static void clk_core_init_rate_req(struc | ||||
| @@ -1394,6 +1394,26 @@ static void clk_core_init_rate_req(struc | ||||
|  	} | ||||
|  } | ||||
|   | ||||
|   | ||||
| @@ -19,7 +19,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  | ||||
| --- a/drivers/clk/clk.c | ||||
| +++ b/drivers/clk/clk.c | ||||
| @@ -1479,7 +1479,7 @@ unsigned long clk_hw_round_rate(struct c | ||||
| @@ -1478,7 +1478,7 @@ unsigned long clk_hw_round_rate(struct c | ||||
|  	int ret; | ||||
|  	struct clk_rate_request req; | ||||
|   | ||||
| @@ -28,7 +28,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|   | ||||
|  	ret = clk_core_round_rate_nolock(hw->core, &req); | ||||
|  	if (ret) | ||||
| @@ -1511,7 +1511,7 @@ long clk_round_rate(struct clk *clk, uns | ||||
| @@ -1510,7 +1510,7 @@ long clk_round_rate(struct clk *clk, uns | ||||
|  	if (clk->exclusive_count) | ||||
|  		clk_core_rate_unprotect(clk->core); | ||||
|   | ||||
| @@ -37,7 +37,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|   | ||||
|  	ret = clk_core_round_rate_nolock(clk->core, &req); | ||||
|   | ||||
| @@ -2215,8 +2215,7 @@ static unsigned long clk_core_req_round_ | ||||
| @@ -2214,8 +2214,7 @@ static unsigned long clk_core_req_round_ | ||||
|  	if (cnt < 0) | ||||
|  		return cnt; | ||||
|   | ||||
|   | ||||
| @@ -23,7 +23,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  | ||||
| --- a/drivers/clk/clk.c | ||||
| +++ b/drivers/clk/clk.c | ||||
| @@ -1430,8 +1430,6 @@ static int clk_core_round_rate_nolock(st | ||||
| @@ -1429,8 +1429,6 @@ static int clk_core_round_rate_nolock(st | ||||
|  		return 0; | ||||
|  	} | ||||
|   | ||||
|   | ||||
| @@ -47,7 +47,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  int clk_mux_determine_rate_flags(struct clk_hw *hw, | ||||
|  				 struct clk_rate_request *req, | ||||
|  				 unsigned long flags) | ||||
| @@ -2569,25 +2589,11 @@ void clk_hw_reparent(struct clk_hw *hw, | ||||
| @@ -2568,25 +2588,11 @@ void clk_hw_reparent(struct clk_hw *hw, | ||||
|   */ | ||||
|  bool clk_has_parent(struct clk *clk, struct clk *parent) | ||||
|  { | ||||
|   | ||||
| @@ -126,7 +126,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  		} | ||||
|  	} | ||||
|   | ||||
| @@ -1450,6 +1480,8 @@ static bool clk_core_can_round(struct cl | ||||
| @@ -1449,6 +1479,8 @@ static bool clk_core_can_round(struct cl | ||||
|  static int clk_core_round_rate_nolock(struct clk_core *core, | ||||
|  				      struct clk_rate_request *req) | ||||
|  { | ||||
| @@ -135,7 +135,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  	lockdep_assert_held(&prepare_lock); | ||||
|   | ||||
|  	if (!core) { | ||||
| @@ -1459,8 +1491,20 @@ static int clk_core_round_rate_nolock(st | ||||
| @@ -1458,8 +1490,20 @@ static int clk_core_round_rate_nolock(st | ||||
|   | ||||
|  	if (clk_core_can_round(core)) | ||||
|  		return clk_core_determine_round_nolock(core, req); | ||||
|   | ||||
| @@ -17,7 +17,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  | ||||
| --- a/drivers/clk/clk.c | ||||
| +++ b/drivers/clk/clk.c | ||||
| @@ -1439,6 +1439,8 @@ static void clk_core_init_rate_req(struc | ||||
| @@ -1438,6 +1438,8 @@ static void clk_core_init_rate_req(struc | ||||
|  	if (WARN_ON(!core || !req)) | ||||
|  		return; | ||||
|   | ||||
|   | ||||
| @@ -105,7 +105,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  		if (ret) { | ||||
|  			dev_err(rpi->dev, "Failed to initialize clkdev\n"); | ||||
|  			return ERR_PTR(ret); | ||||
| @@ -266,30 +305,27 @@ static int raspberrypi_discover_clocks(s | ||||
| @@ -271,30 +310,27 @@ static int raspberrypi_discover_clocks(s | ||||
|  		return ret; | ||||
|   | ||||
|  	while (clks->id) { | ||||
|   | ||||
| @@ -28,7 +28,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  | ||||
| --- a/drivers/clk/clk.c | ||||
| +++ b/drivers/clk/clk.c | ||||
| @@ -2576,6 +2576,24 @@ int clk_set_max_rate(struct clk *clk, un | ||||
| @@ -2575,6 +2575,24 @@ int clk_set_max_rate(struct clk *clk, un | ||||
|  EXPORT_SYMBOL_GPL(clk_set_max_rate); | ||||
|   | ||||
|  /** | ||||
|   | ||||
| @@ -13,7 +13,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  | ||||
| --- a/drivers/clk/clk.c | ||||
| +++ b/drivers/clk/clk.c | ||||
| @@ -2589,7 +2589,9 @@ void clk_get_rate_range(struct clk *clk, | ||||
| @@ -2588,7 +2588,9 @@ void clk_get_rate_range(struct clk *clk, | ||||
|  	if (!clk || !min || !max) | ||||
|  		return; | ||||
|   | ||||
|   | ||||
| @@ -40,7 +40,7 @@ it on BCM4708 family. | ||||
|  /* called during probe() after chip reset completes */ | ||||
| --- a/drivers/usb/host/xhci.c | ||||
| +++ b/drivers/usb/host/xhci.c | ||||
| @@ -155,6 +155,49 @@ int xhci_start(struct xhci_hcd *xhci) | ||||
| @@ -157,6 +157,49 @@ int xhci_start(struct xhci_hcd *xhci) | ||||
|  	return ret; | ||||
|  } | ||||
|   | ||||
| @@ -90,7 +90,7 @@ it on BCM4708 family. | ||||
|  /* | ||||
|   * Reset a halted HC. | ||||
|   * | ||||
| @@ -605,10 +648,20 @@ static int xhci_init(struct usb_hcd *hcd | ||||
| @@ -607,10 +650,20 @@ static int xhci_init(struct usb_hcd *hcd | ||||
|   | ||||
|  static int xhci_run_finished(struct xhci_hcd *xhci) | ||||
|  { | ||||
| @@ -114,7 +114,7 @@ it on BCM4708 family. | ||||
|  	xhci->shared_hcd->state = HC_STATE_RUNNING; | ||||
|  	xhci->cmd_ring_state = CMD_RING_STATE_RUNNING; | ||||
|   | ||||
| @@ -618,6 +671,10 @@ static int xhci_run_finished(struct xhci | ||||
| @@ -620,6 +673,10 @@ static int xhci_run_finished(struct xhci | ||||
|  	xhci_dbg_trace(xhci, trace_xhci_dbg_init, | ||||
|  			"Finished xhci_run for USB3 roothub"); | ||||
|  	return 0; | ||||
|   | ||||
| @@ -60,7 +60,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> | ||||
|  	if (is531x5(dev) && phy_interface_is_rgmii(phydev)) { | ||||
|  		if (port == dev->imp_port) | ||||
|  			off = B53_RGMII_CTRL_IMP; | ||||
| @@ -1421,6 +1454,9 @@ void b53_phylink_mac_link_up(struct dsa_ | ||||
| @@ -1419,6 +1452,9 @@ void b53_phylink_mac_link_up(struct dsa_ | ||||
|  { | ||||
|  	struct b53_device *dev = ds->priv; | ||||
|   | ||||
|   | ||||
| @@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|  | ||||
| --- a/Makefile | ||||
| +++ b/Makefile | ||||
| @@ -523,7 +523,7 @@ KBUILD_LDFLAGS_MODULE := | ||||
| @@ -525,7 +525,7 @@ KBUILD_LDFLAGS_MODULE := | ||||
|  KBUILD_LDFLAGS := | ||||
|  CLANG_FLAGS := | ||||
|   | ||||
|   | ||||
| @@ -530,7 +530,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | ||||
|  static int | ||||
| --- a/drivers/net/dsa/xrs700x/xrs700x.c | ||||
| +++ b/drivers/net/dsa/xrs700x/xrs700x.c | ||||
| @@ -456,7 +456,7 @@ static void xrs700x_phylink_validate(str | ||||
| @@ -457,7 +457,7 @@ static void xrs700x_phylink_validate(str | ||||
|  		phylink_set(mask, 1000baseT_Full); | ||||
|  		break; | ||||
|  	default: | ||||
| @@ -539,7 +539,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | ||||
|  		dev_err(ds->dev, "Unsupported port: %i\n", port); | ||||
|  		return; | ||||
|  	} | ||||
| @@ -467,10 +467,8 @@ static void xrs700x_phylink_validate(str | ||||
| @@ -468,10 +468,8 @@ static void xrs700x_phylink_validate(str | ||||
|  	phylink_set(mask, 10baseT_Full); | ||||
|  	phylink_set(mask, 100baseT_Full); | ||||
|   | ||||
|   | ||||
| @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|  | ||||
| --- a/net/netfilter/Kconfig | ||||
| +++ b/net/netfilter/Kconfig | ||||
| @@ -243,7 +243,6 @@ config NF_CONNTRACK_FTP | ||||
| @@ -242,7 +242,6 @@ config NF_CONNTRACK_FTP | ||||
|   | ||||
|  config NF_CONNTRACK_H323 | ||||
|  	tristate "H.323 protocol support" | ||||
| @@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|  	depends on NETFILTER_ADVANCED | ||||
|  	help | ||||
|  	  H.323 is a VoIP signalling protocol from ITU-T. As one of the most | ||||
| @@ -1106,7 +1105,6 @@ config NETFILTER_XT_TARGET_SECMARK | ||||
| @@ -1105,7 +1104,6 @@ config NETFILTER_XT_TARGET_SECMARK | ||||
|   | ||||
|  config NETFILTER_XT_TARGET_TCPMSS | ||||
|  	tristate '"TCPMSS" target support' | ||||
|   | ||||
| @@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|  	depends on !NF_CONNTRACK || NF_CONNTRACK | ||||
| --- a/net/netfilter/Kconfig | ||||
| +++ b/net/netfilter/Kconfig | ||||
| @@ -708,8 +708,6 @@ config NFT_REJECT_NETDEV | ||||
| @@ -707,8 +707,6 @@ config NFT_REJECT_NETDEV | ||||
|   | ||||
|  endif # NF_TABLES_NETDEV | ||||
|   | ||||
| @@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|  config NF_FLOW_TABLE_INET | ||||
|  	tristate "Netfilter flow table mixed IPv4/IPv6 module" | ||||
|  	depends on NF_FLOW_TABLE | ||||
| @@ -718,11 +716,12 @@ config NF_FLOW_TABLE_INET | ||||
| @@ -717,11 +715,12 @@ config NF_FLOW_TABLE_INET | ||||
|   | ||||
|  	  To compile it as a module, choose M here. | ||||
|   | ||||
| @@ -70,7 +70,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|  	help | ||||
|  	  This option adds the flow table core infrastructure. | ||||
|   | ||||
| @@ -1011,6 +1010,15 @@ config NETFILTER_XT_TARGET_NOTRACK | ||||
| @@ -1010,6 +1009,15 @@ config NETFILTER_XT_TARGET_NOTRACK | ||||
|  	depends on NETFILTER_ADVANCED | ||||
|  	select NETFILTER_XT_TARGET_CT | ||||
|   | ||||
|   | ||||
| @@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|   */ | ||||
| --- a/include/linux/skbuff.h | ||||
| +++ b/include/linux/skbuff.h | ||||
| @@ -2816,6 +2816,10 @@ static inline int pskb_trim(struct sk_bu | ||||
| @@ -2824,6 +2824,10 @@ static inline int pskb_trim(struct sk_bu | ||||
|  	return (len < skb->len) ? __pskb_trim(skb, len) : 0; | ||||
|  } | ||||
|   | ||||
| @@ -82,7 +82,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|  /** | ||||
|   *	pskb_trim_unique - remove end from a paged unique (not cloned) buffer | ||||
|   *	@skb: buffer to alter | ||||
| @@ -2966,16 +2970,6 @@ static inline struct sk_buff *dev_alloc_ | ||||
| @@ -2974,16 +2978,6 @@ static inline struct sk_buff *dev_alloc_ | ||||
|  } | ||||
|   | ||||
|   | ||||
|   | ||||
| @@ -29,7 +29,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support | ||||
|   | ||||
|  #define QUECTEL_VENDOR_ID			0x2c7c | ||||
|  /* These Quectel products use Quectel's vendor ID */ | ||||
| @@ -1133,6 +1135,11 @@ static const struct usb_device_id option | ||||
| @@ -1140,6 +1142,11 @@ static const struct usb_device_id option | ||||
|  	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG95, 0xff, 0, 0) }, | ||||
|  	{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96), | ||||
|  	  .driver_info = RSVD(4) }, | ||||
|   | ||||
| @@ -106,7 +106,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|  		} | ||||
| --- a/scripts/link-vmlinux.sh | ||||
| +++ b/scripts/link-vmlinux.sh | ||||
| @@ -266,6 +266,10 @@ kallsyms() | ||||
| @@ -257,6 +257,10 @@ kallsyms() | ||||
|  		kallsymopt="${kallsymopt} --base-relative" | ||||
|  	fi | ||||
|   | ||||
|   | ||||
| @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|  | ||||
| --- a/include/linux/skbuff.h | ||||
| +++ b/include/linux/skbuff.h | ||||
| @@ -2782,7 +2782,7 @@ static inline int pskb_network_may_pull( | ||||
| @@ -2790,7 +2790,7 @@ static inline int pskb_network_may_pull( | ||||
|   * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8) | ||||
|   */ | ||||
|  #ifndef NET_SKB_PAD | ||||
|   | ||||
| @@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|  	__u8			inner_protocol_type:1; | ||||
| --- a/net/core/dev.c | ||||
| +++ b/net/core/dev.c | ||||
| @@ -6062,6 +6062,9 @@ static enum gro_result dev_gro_receive(s | ||||
| @@ -6063,6 +6063,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; | ||||
|   | ||||
| @@ -8076,6 +8079,48 @@ static void __netdev_adjacent_dev_unlink | ||||
| @@ -8077,6 +8080,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, | ||||
| @@ -8127,6 +8172,7 @@ static int __netdev_upper_dev_link(struc | ||||
| @@ -8128,6 +8173,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); | ||||
| @@ -8223,6 +8269,7 @@ static void __netdev_upper_dev_unlink(st | ||||
| @@ -8224,6 +8270,7 @@ static void __netdev_upper_dev_unlink(st | ||||
|   | ||||
|  	__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); | ||||
|   | ||||
| @@ -9042,6 +9089,7 @@ int dev_set_mac_address(struct net_devic | ||||
| @@ -9043,6 +9090,7 @@ int dev_set_mac_address(struct net_devic | ||||
|  	if (err) | ||||
|  		return err; | ||||
|  	dev->addr_assign_type = NET_ADDR_SET; | ||||
|   | ||||
| @@ -13,7 +13,7 @@ Signed-off-by: Alexander Couzens <lynxis@fe80.eu> | ||||
|  | ||||
| --- a/drivers/net/ethernet/mediatek/mtk_sgmii.c | ||||
| +++ b/drivers/net/ethernet/mediatek/mtk_sgmii.c | ||||
| @@ -180,6 +180,7 @@ int mtk_sgmii_init(struct mtk_sgmii *ss, | ||||
| @@ -182,6 +182,7 @@ int mtk_sgmii_init(struct mtk_sgmii *ss, | ||||
|  			return PTR_ERR(ss->pcs[i].regmap); | ||||
|   | ||||
|  		ss->pcs[i].pcs.ops = &mtk_pcs_ops; | ||||
|   | ||||
| @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
| --- | ||||
| --- a/drivers/net/ethernet/marvell/mvneta.c | ||||
| +++ b/drivers/net/ethernet/marvell/mvneta.c | ||||
| @@ -4987,6 +4987,16 @@ static int mvneta_setup_tc(struct net_de | ||||
| @@ -4943,6 +4943,16 @@ static int mvneta_setup_tc(struct net_de | ||||
|  	} | ||||
|  } | ||||
|   | ||||
| @@ -26,7 +26,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|  static const struct net_device_ops mvneta_netdev_ops = { | ||||
|  	.ndo_open            = mvneta_open, | ||||
|  	.ndo_stop            = mvneta_stop, | ||||
| @@ -4997,6 +5007,9 @@ static const struct net_device_ops mvnet | ||||
| @@ -4953,6 +4963,9 @@ static const struct net_device_ops mvnet | ||||
|  	.ndo_fix_features    = mvneta_fix_features, | ||||
|  	.ndo_get_stats64     = mvneta_get_stats64, | ||||
|  	.ndo_eth_ioctl        = mvneta_ioctl, | ||||
|   | ||||
| @@ -26,7 +26,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | ||||
|  #include <linux/bpf_trace.h> | ||||
|   | ||||
|  /* Registers */ | ||||
| @@ -4947,14 +4948,14 @@ static void mvneta_setup_rx_prio_map(str | ||||
| @@ -4903,14 +4904,14 @@ static void mvneta_setup_rx_prio_map(str | ||||
|  } | ||||
|   | ||||
|  static int mvneta_setup_mqprio(struct net_device *dev, | ||||
| @@ -44,7 +44,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | ||||
|   | ||||
|  	if (num_tc > rxq_number) | ||||
|  		return -EINVAL; | ||||
| @@ -4965,13 +4966,15 @@ static int mvneta_setup_mqprio(struct ne | ||||
| @@ -4921,13 +4922,15 @@ static int mvneta_setup_mqprio(struct ne | ||||
|  		return 0; | ||||
|  	} | ||||
|   | ||||
|   | ||||
| @@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | ||||
|  | ||||
| --- a/drivers/net/ethernet/marvell/mvneta.c | ||||
| +++ b/drivers/net/ethernet/marvell/mvneta.c | ||||
| @@ -4954,7 +4954,9 @@ static int mvneta_setup_mqprio(struct ne | ||||
| @@ -4910,7 +4910,9 @@ static int mvneta_setup_mqprio(struct ne | ||||
|  	u8 num_tc; | ||||
|  	int i; | ||||
|   | ||||
|   | ||||
| @@ -30,7 +30,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | ||||
|   | ||||
|  	phy_interface_t phy_interface; | ||||
|  	struct device_node *dn; | ||||
| @@ -4936,13 +4935,12 @@ static void mvneta_clear_rx_prio_map(str | ||||
| @@ -4892,13 +4891,12 @@ static void mvneta_clear_rx_prio_map(str | ||||
|  	mvreg_write(pp, MVNETA_VLAN_PRIO_TO_RXQ, 0); | ||||
|  } | ||||
|   | ||||
| @@ -48,7 +48,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | ||||
|   | ||||
|  	mvreg_write(pp, MVNETA_VLAN_PRIO_TO_RXQ, val); | ||||
|  } | ||||
| @@ -4951,8 +4949,8 @@ static int mvneta_setup_mqprio(struct ne | ||||
| @@ -4907,8 +4905,8 @@ static int mvneta_setup_mqprio(struct ne | ||||
|  			       struct tc_mqprio_qopt_offload *mqprio) | ||||
|  { | ||||
|  	struct mvneta_port *pp = netdev_priv(dev); | ||||
| @@ -58,7 +58,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | ||||
|   | ||||
|  	if (mqprio->qopt.hw != TC_MQPRIO_HW_OFFLOAD_TCS) | ||||
|  		return 0; | ||||
| @@ -4962,21 +4960,28 @@ static int mvneta_setup_mqprio(struct ne | ||||
| @@ -4918,21 +4916,28 @@ static int mvneta_setup_mqprio(struct ne | ||||
|  	if (num_tc > rxq_number) | ||||
|  		return -EINVAL; | ||||
|   | ||||
|   | ||||
| @@ -62,7 +62,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | ||||
|  #define MVNETA_LPI_CTRL_0                        0x2cc0 | ||||
|  #define MVNETA_LPI_CTRL_1                        0x2cc4 | ||||
|  #define      MVNETA_LPI_REQUEST_ENABLE           BIT(0) | ||||
| @@ -4945,11 +4972,74 @@ static void mvneta_map_vlan_prio_to_rxq( | ||||
| @@ -4901,11 +4928,74 @@ static void mvneta_map_vlan_prio_to_rxq( | ||||
|  	mvreg_write(pp, MVNETA_VLAN_PRIO_TO_RXQ, val); | ||||
|  } | ||||
|   | ||||
| @@ -138,7 +138,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | ||||
|  	u8 num_tc; | ||||
|   | ||||
|  	if (mqprio->qopt.hw != TC_MQPRIO_HW_OFFLOAD_TCS) | ||||
| @@ -4963,6 +5053,7 @@ static int mvneta_setup_mqprio(struct ne | ||||
| @@ -4919,6 +5009,7 @@ static int mvneta_setup_mqprio(struct ne | ||||
|  	mvneta_clear_rx_prio_map(pp); | ||||
|   | ||||
|  	if (!num_tc) { | ||||
| @@ -146,7 +146,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | ||||
|  		netdev_reset_tc(dev); | ||||
|  		return 0; | ||||
|  	} | ||||
| @@ -4983,6 +5074,33 @@ static int mvneta_setup_mqprio(struct ne | ||||
| @@ -4939,6 +5030,33 @@ static int mvneta_setup_mqprio(struct ne | ||||
|  		} | ||||
|  	} | ||||
|   | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 John Audia
					John Audia