mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-19 13:48:06 +00:00
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:
parent
c0f74a01b5
commit
fbe2f7db86
@ -1,2 +1,2 @@
|
|||||||
LINUX_VERSION-5.15 = .64
|
LINUX_VERSION-5.15 = .67
|
||||||
LINUX_KERNEL_HASH-5.15.64 = c6a1d38c6fa3798341372d5cf0088ae806ccdc827e31ecbff8988e097ba5de50
|
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
|
* @dev: the device whose endpoint is being disabled
|
||||||
--- a/include/linux/usb.h
|
--- a/include/linux/usb.h
|
||||||
+++ b/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_reset_configuration(struct usb_device *dev);
|
||||||
extern int usb_set_interface(struct usb_device *dev, int ifnum, int alternate);
|
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);
|
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
|
--- a/drivers/usb/host/xhci.c
|
||||||
+++ b/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
|
* non-error returns are a promise to giveback() the urb later
|
||||||
* we drop ownership so next owner (or urb unlink) can get it
|
* 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,
|
.endpoint_reset = xhci_endpoint_reset,
|
||||||
.check_bandwidth = xhci_check_bandwidth,
|
.check_bandwidth = xhci_check_bandwidth,
|
||||||
.reset_bandwidth = xhci_reset_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
|
--- a/drivers/clk/bcm/clk-raspberrypi.c
|
||||||
+++ b/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_CORE_CLK_ID:
|
||||||
case RPI_FIRMWARE_M2MC_CLK_ID:
|
case RPI_FIRMWARE_M2MC_CLK_ID:
|
||||||
case RPI_FIRMWARE_V3D_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
|
--- a/drivers/clk/clk.c
|
||||||
+++ b/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)
|
if (!core)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define RPI_FIRMWARE_STATE_ENABLE_BIT BIT(0)
|
#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_V3D_CLK_ID:
|
||||||
case RPI_FIRMWARE_HEVC_CLK_ID:
|
case RPI_FIRMWARE_HEVC_CLK_ID:
|
||||||
case RPI_FIRMWARE_PIXEL_BVB_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
|
--- a/drivers/clk/bcm/clk-raspberrypi.c
|
||||||
+++ b/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_HEVC_CLK_ID:
|
||||||
case RPI_FIRMWARE_PIXEL_BVB_CLK_ID:
|
case RPI_FIRMWARE_PIXEL_BVB_CLK_ID:
|
||||||
case RPI_FIRMWARE_VEC_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
|
--- a/drivers/usb/host/xhci.c
|
||||||
+++ b/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;
|
seg = ring->deq_seg;
|
||||||
do {
|
do {
|
||||||
memset(seg->trbs, 0,
|
memset(seg->trbs, 0,
|
||||||
@ -237,7 +237,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||||||
cpu_to_le32(~TRB_CYCLE);
|
cpu_to_le32(~TRB_CYCLE);
|
||||||
seg = seg->next;
|
seg = seg->next;
|
||||||
} while (seg != ring->deq_seg);
|
} 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->enq_seg = ring->deq_seg;
|
||||||
ring->enqueue = ring->dequeue;
|
ring->enqueue = ring->dequeue;
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
|
|
||||||
--- a/drivers/clk/clk.c
|
--- a/drivers/clk/clk.c
|
||||||
+++ b/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
|
* this corner case when determining the rate
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
|
|
||||||
--- a/drivers/clk/clk.c
|
--- a/drivers/clk/clk.c
|
||||||
+++ b/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;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
|
|
||||||
--- a/drivers/clk/clk.c
|
--- a/drivers/clk/clk.c
|
||||||
+++ b/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);
|
EXPORT_SYMBOL_GPL(clk_set_rate_exclusive);
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
if (!clk)
|
if (!clk)
|
||||||
return 0;
|
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;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,7 +63,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
if (clk->exclusive_count)
|
if (clk->exclusive_count)
|
||||||
clk_core_rate_unprotect(clk->core);
|
clk_core_rate_unprotect(clk->core);
|
||||||
|
|
||||||
@@ -2401,6 +2395,28 @@ out:
|
@@ -2400,6 +2394,28 @@ out:
|
||||||
if (clk->exclusive_count)
|
if (clk->exclusive_count)
|
||||||
clk_core_rate_protect(clk->core);
|
clk_core_rate_protect(clk->core);
|
||||||
|
|
||||||
@ -92,7 +92,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
clk_prepare_unlock();
|
clk_prepare_unlock();
|
||||||
|
|
||||||
return ret;
|
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);
|
hlist_del(&clk->clks_node);
|
||||||
|
@ -22,7 +22,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
|
|
||||||
--- a/drivers/clk/clk.c
|
--- a/drivers/clk/clk.c
|
||||||
+++ b/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;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -33,7 +33,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
/*
|
/*
|
||||||
* Since the boundaries have been changed, let's give the
|
* Since the boundaries have been changed, let's give the
|
||||||
* opportunity to the provider to adjust the clock rate based on
|
* 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
|
* - the determine_rate() callback does not really check for
|
||||||
* this corner case when determining the rate
|
* this corner case when determining the rate
|
||||||
*/
|
*/
|
||||||
|
@ -23,7 +23,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
|
|
||||||
--- a/drivers/clk/clk.c
|
--- a/drivers/clk/clk.c
|
||||||
+++ b/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);
|
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)
|
static void clk_reparent(struct clk_core *core, struct clk_core *new_parent)
|
||||||
{
|
{
|
||||||
bool was_orphan = core->orphan;
|
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;
|
core->parent = new_parent;
|
||||||
|
@ -25,7 +25,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
|
|
||||||
--- a/drivers/clk/clk.c
|
--- a/drivers/clk/clk.c
|
||||||
+++ b/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)
|
if (clk->core->flags & CLK_GET_RATE_NOCACHE)
|
||||||
rate = clk_core_get_rate_recalc(clk->core);
|
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
|
--- a/drivers/clk/clk.c
|
||||||
+++ b/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))
|
if (WARN_ON(!core || !req))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -35,7 +35,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
parent = core->parent;
|
parent = core->parent;
|
||||||
if (parent) {
|
if (parent) {
|
||||||
req->best_parent_hw = parent->hw;
|
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;
|
int ret;
|
||||||
struct clk_rate_request req;
|
struct clk_rate_request req;
|
||||||
|
|
||||||
@ -43,7 +43,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
req.rate = rate;
|
req.rate = rate;
|
||||||
|
|
||||||
ret = clk_core_round_rate_nolock(hw->core, &req);
|
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)
|
if (clk->exclusive_count)
|
||||||
clk_core_rate_unprotect(clk->core);
|
clk_core_rate_unprotect(clk->core);
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
req.rate = rate;
|
req.rate = rate;
|
||||||
|
|
||||||
ret = clk_core_round_rate_nolock(clk->core, &req);
|
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;
|
struct clk_rate_request req;
|
||||||
|
|
||||||
req.rate = rate;
|
req.rate = rate;
|
||||||
|
@ -19,7 +19,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
|
|
||||||
--- a/drivers/clk/clk.c
|
--- a/drivers/clk/clk.c
|
||||||
+++ b/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,
|
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);
|
clk_core_get_boundaries(core, &req->min_rate, &req->max_rate);
|
||||||
|
|
||||||
parent = core->parent;
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
|
|
||||||
if (clk_core_can_round(core))
|
if (clk_core_can_round(core))
|
||||||
return clk_core_determine_round_nolock(core, req);
|
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)) {
|
if (clk_core_can_round(core)) {
|
||||||
struct clk_rate_request req;
|
struct clk_rate_request req;
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
|
|
||||||
--- a/drivers/clk/clk.c
|
--- a/drivers/clk/clk.c
|
||||||
+++ b/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
|
--- a/drivers/clk/clk.c
|
||||||
+++ b/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;
|
int ret;
|
||||||
struct clk_rate_request req;
|
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);
|
ret = clk_core_round_rate_nolock(hw->core, &req);
|
||||||
if (ret)
|
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)
|
if (clk->exclusive_count)
|
||||||
clk_core_rate_unprotect(clk->core);
|
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);
|
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)
|
if (cnt < 0)
|
||||||
return cnt;
|
return cnt;
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
|
|
||||||
--- a/drivers/clk/clk.c
|
--- a/drivers/clk/clk.c
|
||||||
+++ b/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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
int clk_mux_determine_rate_flags(struct clk_hw *hw,
|
int clk_mux_determine_rate_flags(struct clk_hw *hw,
|
||||||
struct clk_rate_request *req,
|
struct clk_rate_request *req,
|
||||||
unsigned long flags)
|
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)
|
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,
|
static int clk_core_round_rate_nolock(struct clk_core *core,
|
||||||
struct clk_rate_request *req)
|
struct clk_rate_request *req)
|
||||||
{
|
{
|
||||||
@ -135,7 +135,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
lockdep_assert_held(&prepare_lock);
|
lockdep_assert_held(&prepare_lock);
|
||||||
|
|
||||||
if (!core) {
|
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))
|
if (clk_core_can_round(core))
|
||||||
return clk_core_determine_round_nolock(core, req);
|
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
|
--- a/drivers/clk/clk.c
|
||||||
+++ b/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))
|
if (WARN_ON(!core || !req))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(rpi->dev, "Failed to initialize clkdev\n");
|
dev_err(rpi->dev, "Failed to initialize clkdev\n");
|
||||||
return ERR_PTR(ret);
|
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;
|
return ret;
|
||||||
|
|
||||||
while (clks->id) {
|
while (clks->id) {
|
||||||
|
@ -28,7 +28,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
|
|
||||||
--- a/drivers/clk/clk.c
|
--- a/drivers/clk/clk.c
|
||||||
+++ b/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);
|
EXPORT_SYMBOL_GPL(clk_set_max_rate);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -13,7 +13,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
|
|
||||||
--- a/drivers/clk/clk.c
|
--- a/drivers/clk/clk.c
|
||||||
+++ b/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)
|
if (!clk || !min || !max)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ it on BCM4708 family.
|
|||||||
/* called during probe() after chip reset completes */
|
/* called during probe() after chip reset completes */
|
||||||
--- a/drivers/usb/host/xhci.c
|
--- a/drivers/usb/host/xhci.c
|
||||||
+++ b/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;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ it on BCM4708 family.
|
|||||||
/*
|
/*
|
||||||
* Reset a halted HC.
|
* 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)
|
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->shared_hcd->state = HC_STATE_RUNNING;
|
||||||
xhci->cmd_ring_state = CMD_RING_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,
|
xhci_dbg_trace(xhci, trace_xhci_dbg_init,
|
||||||
"Finished xhci_run for USB3 roothub");
|
"Finished xhci_run for USB3 roothub");
|
||||||
return 0;
|
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 (is531x5(dev) && phy_interface_is_rgmii(phydev)) {
|
||||||
if (port == dev->imp_port)
|
if (port == dev->imp_port)
|
||||||
off = B53_RGMII_CTRL_IMP;
|
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;
|
struct b53_device *dev = ds->priv;
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/Makefile
|
--- a/Makefile
|
||||||
+++ b/Makefile
|
+++ b/Makefile
|
||||||
@@ -523,7 +523,7 @@ KBUILD_LDFLAGS_MODULE :=
|
@@ -525,7 +525,7 @@ KBUILD_LDFLAGS_MODULE :=
|
||||||
KBUILD_LDFLAGS :=
|
KBUILD_LDFLAGS :=
|
||||||
CLANG_FLAGS :=
|
CLANG_FLAGS :=
|
||||||
|
|
||||||
|
@ -530,7 +530,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
static int
|
static int
|
||||||
--- a/drivers/net/dsa/xrs700x/xrs700x.c
|
--- a/drivers/net/dsa/xrs700x/xrs700x.c
|
||||||
+++ b/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);
|
phylink_set(mask, 1000baseT_Full);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -539,7 +539,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
dev_err(ds->dev, "Unsupported port: %i\n", port);
|
dev_err(ds->dev, "Unsupported port: %i\n", port);
|
||||||
return;
|
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, 10baseT_Full);
|
||||||
phylink_set(mask, 100baseT_Full);
|
phylink_set(mask, 100baseT_Full);
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/net/netfilter/Kconfig
|
--- a/net/netfilter/Kconfig
|
||||||
+++ b/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
|
config NF_CONNTRACK_H323
|
||||||
tristate "H.323 protocol support"
|
tristate "H.323 protocol support"
|
||||||
@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
depends on NETFILTER_ADVANCED
|
depends on NETFILTER_ADVANCED
|
||||||
help
|
help
|
||||||
H.323 is a VoIP signalling protocol from ITU-T. As one of the most
|
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
|
config NETFILTER_XT_TARGET_TCPMSS
|
||||||
tristate '"TCPMSS" target support'
|
tristate '"TCPMSS" target support'
|
||||||
|
@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
depends on !NF_CONNTRACK || NF_CONNTRACK
|
depends on !NF_CONNTRACK || NF_CONNTRACK
|
||||||
--- a/net/netfilter/Kconfig
|
--- a/net/netfilter/Kconfig
|
||||||
+++ b/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
|
endif # NF_TABLES_NETDEV
|
||||||
|
|
||||||
@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
config NF_FLOW_TABLE_INET
|
config NF_FLOW_TABLE_INET
|
||||||
tristate "Netfilter flow table mixed IPv4/IPv6 module"
|
tristate "Netfilter flow table mixed IPv4/IPv6 module"
|
||||||
depends on NF_FLOW_TABLE
|
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.
|
To compile it as a module, choose M here.
|
||||||
|
|
||||||
@ -70,7 +70,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
help
|
help
|
||||||
This option adds the flow table core infrastructure.
|
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
|
depends on NETFILTER_ADVANCED
|
||||||
select NETFILTER_XT_TARGET_CT
|
select NETFILTER_XT_TARGET_CT
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
*/
|
*/
|
||||||
--- a/include/linux/skbuff.h
|
--- a/include/linux/skbuff.h
|
||||||
+++ b/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;
|
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
|
* pskb_trim_unique - remove end from a paged unique (not cloned) buffer
|
||||||
* @skb: buffer to alter
|
* @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
|
#define QUECTEL_VENDOR_ID 0x2c7c
|
||||||
/* These Quectel products use Quectel's vendor ID */
|
/* 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_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG95, 0xff, 0, 0) },
|
||||||
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
|
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
|
||||||
.driver_info = RSVD(4) },
|
.driver_info = RSVD(4) },
|
||||||
|
@ -106,7 +106,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
}
|
}
|
||||||
--- a/scripts/link-vmlinux.sh
|
--- a/scripts/link-vmlinux.sh
|
||||||
+++ b/scripts/link-vmlinux.sh
|
+++ b/scripts/link-vmlinux.sh
|
||||||
@@ -266,6 +266,10 @@ kallsyms()
|
@@ -257,6 +257,10 @@ kallsyms()
|
||||||
kallsymopt="${kallsymopt} --base-relative"
|
kallsymopt="${kallsymopt} --base-relative"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/include/linux/skbuff.h
|
--- a/include/linux/skbuff.h
|
||||||
+++ b/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)
|
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
|
||||||
*/
|
*/
|
||||||
#ifndef NET_SKB_PAD
|
#ifndef NET_SKB_PAD
|
||||||
|
@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
__u8 inner_protocol_type:1;
|
__u8 inner_protocol_type:1;
|
||||||
--- a/net/core/dev.c
|
--- a/net/core/dev.c
|
||||||
+++ b/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 same_flow;
|
||||||
int grow;
|
int grow;
|
||||||
|
|
||||||
@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
if (netif_elide_gro(skb->dev))
|
if (netif_elide_gro(skb->dev))
|
||||||
goto normal;
|
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);
|
&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,
|
static int __netdev_upper_dev_link(struct net_device *dev,
|
||||||
struct net_device *upper_dev, bool master,
|
struct net_device *upper_dev, bool master,
|
||||||
void *upper_priv, void *upper_info,
|
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)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
||||||
&changeupper_info.info);
|
&changeupper_info.info);
|
||||||
ret = notifier_to_errno(ret);
|
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);
|
__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,
|
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
||||||
&changeupper_info.info);
|
&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)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
dev->addr_assign_type = NET_ADDR_SET;
|
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
|
--- a/drivers/net/ethernet/mediatek/mtk_sgmii.c
|
||||||
+++ b/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);
|
return PTR_ERR(ss->pcs[i].regmap);
|
||||||
|
|
||||||
ss->pcs[i].pcs.ops = &mtk_pcs_ops;
|
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
|
--- a/drivers/net/ethernet/marvell/mvneta.c
|
||||||
+++ b/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 = {
|
static const struct net_device_ops mvneta_netdev_ops = {
|
||||||
.ndo_open = mvneta_open,
|
.ndo_open = mvneta_open,
|
||||||
.ndo_stop = mvneta_stop,
|
.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_fix_features = mvneta_fix_features,
|
||||||
.ndo_get_stats64 = mvneta_get_stats64,
|
.ndo_get_stats64 = mvneta_get_stats64,
|
||||||
.ndo_eth_ioctl = mvneta_ioctl,
|
.ndo_eth_ioctl = mvneta_ioctl,
|
||||||
|
@ -26,7 +26,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
#include <linux/bpf_trace.h>
|
#include <linux/bpf_trace.h>
|
||||||
|
|
||||||
/* Registers */
|
/* 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,
|
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)
|
if (num_tc > rxq_number)
|
||||||
return -EINVAL;
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/marvell/mvneta.c
|
--- a/drivers/net/ethernet/marvell/mvneta.c
|
||||||
+++ b/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;
|
u8 num_tc;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
phy_interface_t phy_interface;
|
phy_interface_t phy_interface;
|
||||||
struct device_node *dn;
|
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);
|
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);
|
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 tc_mqprio_qopt_offload *mqprio)
|
||||||
{
|
{
|
||||||
struct mvneta_port *pp = netdev_priv(dev);
|
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)
|
if (mqprio->qopt.hw != TC_MQPRIO_HW_OFFLOAD_TCS)
|
||||||
return 0;
|
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)
|
if (num_tc > rxq_number)
|
||||||
return -EINVAL;
|
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_0 0x2cc0
|
||||||
#define MVNETA_LPI_CTRL_1 0x2cc4
|
#define MVNETA_LPI_CTRL_1 0x2cc4
|
||||||
#define MVNETA_LPI_REQUEST_ENABLE BIT(0)
|
#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);
|
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;
|
u8 num_tc;
|
||||||
|
|
||||||
if (mqprio->qopt.hw != TC_MQPRIO_HW_OFFLOAD_TCS)
|
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);
|
mvneta_clear_rx_prio_map(pp);
|
||||||
|
|
||||||
if (!num_tc) {
|
if (!num_tc) {
|
||||||
@ -146,7 +146,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
netdev_reset_tc(dev);
|
netdev_reset_tc(dev);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -4983,6 +5074,33 @@ static int mvneta_setup_mqprio(struct ne
|
@@ -4939,6 +5030,33 @@ static int mvneta_setup_mqprio(struct ne
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user