kernel: refresh patches

manually refresh kernel patches

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18924
Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
Goetz Goerisch 2025-05-26 12:48:06 +02:00 committed by Robert Marko
parent f37e4dc300
commit 3a2a2c995f
21 changed files with 54 additions and 99 deletions

View file

@ -17583,7 +17583,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
* For devices with more than one control interface, we assume the * For devices with more than one control interface, we assume the
--- a/sound/usb/quirks.c --- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c +++ b/sound/usb/quirks.c
@@ -2254,6 +2254,8 @@ static const struct usb_audio_quirk_flag @@ -2258,6 +2258,8 @@ static const struct usb_audio_quirk_flag
QUIRK_FLAG_ALIGN_TRANSFER), QUIRK_FLAG_ALIGN_TRANSFER),
DEVICE_FLG(0x534d, 0x2109, /* MacroSilicon MS2109 */ DEVICE_FLG(0x534d, 0x2109, /* MacroSilicon MS2109 */
QUIRK_FLAG_ALIGN_TRANSFER), QUIRK_FLAG_ALIGN_TRANSFER),

View file

@ -15,7 +15,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
--- a/drivers/gpu/drm/panel/panel-simple.c --- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -3376,6 +3376,31 @@ static const struct panel_desc rocktech_ @@ -3377,6 +3377,31 @@ static const struct panel_desc rocktech_
.connector_type = DRM_MODE_CONNECTOR_DPI, .connector_type = DRM_MODE_CONNECTOR_DPI,
}; };
@ -47,7 +47,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
static const struct display_timing rocktech_rk070er9427_timing = { static const struct display_timing rocktech_rk070er9427_timing = {
.pixelclock = { 26400000, 33300000, 46800000 }, .pixelclock = { 26400000, 33300000, 46800000 },
.hactive = { 800, 800, 800 }, .hactive = { 800, 800, 800 },
@@ -4452,6 +4477,9 @@ static const struct of_device_id platfor @@ -4453,6 +4478,9 @@ static const struct of_device_id platfor
.compatible = "rocktech,rk043fn48h", .compatible = "rocktech,rk043fn48h",
.data = &rocktech_rk043fn48h, .data = &rocktech_rk043fn48h,
}, { }, {

View file

@ -13,7 +13,7 @@ Acked-by: Maxime Ripard <maxime@cerno.tech>
--- a/drivers/gpu/drm/panel/panel-simple.c --- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -2035,6 +2035,32 @@ static const struct panel_desc friendlya @@ -2036,6 +2036,32 @@ static const struct panel_desc friendlya
}, },
}; };
@ -46,7 +46,7 @@ Acked-by: Maxime Ripard <maxime@cerno.tech>
static const struct drm_display_mode giantplus_gpg482739qs5_mode = { static const struct drm_display_mode giantplus_gpg482739qs5_mode = {
.clock = 9000, .clock = 9000,
.hdisplay = 480, .hdisplay = 480,
@@ -4327,6 +4353,9 @@ static const struct of_device_id platfor @@ -4328,6 +4354,9 @@ static const struct of_device_id platfor
.compatible = "friendlyarm,hd702e", .compatible = "friendlyarm,hd702e",
.data = &friendlyarm_hd702e, .data = &friendlyarm_hd702e,
}, { }, {

View file

@ -48,7 +48,7 @@ Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
/* /*
* A cached value of the page's pageblock's migratetype, used when the page is * A cached value of the page's pageblock's migratetype, used when the page is
* put on a pcplist. Used to avoid the pageblock migratetype lookup when * put on a pcplist. Used to avoid the pageblock migratetype lookup when
@@ -2109,12 +2130,13 @@ __rmqueue(struct zone *zone, unsigned in @@ -2108,12 +2129,13 @@ __rmqueue(struct zone *zone, unsigned in
if (IS_ENABLED(CONFIG_CMA)) { if (IS_ENABLED(CONFIG_CMA)) {
/* /*
* Balance movable allocations between regular and CMA areas by * Balance movable allocations between regular and CMA areas by

View file

@ -126,7 +126,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
- MEDIA_BUS_FMT_RGB666_1X24_CPADHI - MEDIA_BUS_FMT_RGB666_1X24_CPADHI
--- a/drivers/gpu/drm/panel/panel-simple.c --- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -2241,6 +2241,38 @@ static const struct panel_desc innolux_a @@ -2242,6 +2242,38 @@ static const struct panel_desc innolux_a
.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
}; };
@ -165,7 +165,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
static const struct drm_display_mode innolux_at070tn92_mode = { static const struct drm_display_mode innolux_at070tn92_mode = {
.clock = 33333, .clock = 33333,
.hdisplay = 800, .hdisplay = 800,
@@ -4377,6 +4409,9 @@ static const struct of_device_id platfor @@ -4378,6 +4410,9 @@ static const struct of_device_id platfor
.compatible = "innolux,at043tn24", .compatible = "innolux,at043tn24",
.data = &innolux_at043tn24, .data = &innolux_at043tn24,
}, { }, {

View file

@ -450,7 +450,7 @@ Signed-off-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
return NULL; return NULL;
} }
@@ -392,8 +508,18 @@ v3d_sched_init(struct v3d_dev *v3d) @@ -406,8 +522,18 @@ v3d_sched_init(struct v3d_dev *v3d)
int hw_jobs_limit = 1; int hw_jobs_limit = 1;
int job_hang_limit = 0; int job_hang_limit = 0;
int hang_limit_ms = 500; int hang_limit_ms = 500;
@ -469,7 +469,7 @@ Signed-off-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
ret = drm_sched_init(&v3d->queue[V3D_BIN].sched, ret = drm_sched_init(&v3d->queue[V3D_BIN].sched,
&v3d_bin_sched_ops, &v3d_bin_sched_ops,
hw_jobs_limit, job_hang_limit, hw_jobs_limit, job_hang_limit,
@@ -447,9 +573,20 @@ void @@ -461,9 +587,20 @@ void
v3d_sched_fini(struct v3d_dev *v3d) v3d_sched_fini(struct v3d_dev *v3d)
{ {
enum v3d_queue q; enum v3d_queue q;

View file

@ -199,7 +199,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
snprintf(bp->mii_bus->id, MII_BUS_ID_SIZE, "%s-%x", snprintf(bp->mii_bus->id, MII_BUS_ID_SIZE, "%s-%x",
bp->pdev->name, bp->pdev->id); bp->pdev->name, bp->pdev->id);
bp->mii_bus->priv = bp; bp->mii_bus->priv = bp;
@@ -1648,6 +1665,11 @@ static int macb_rx(struct macb_queue *qu @@ -1641,6 +1658,11 @@ static int macb_rx(struct macb_queue *qu
macb_init_rx_ring(queue); macb_init_rx_ring(queue);
queue_writel(queue, RBQP, queue->rx_ring_dma); queue_writel(queue, RBQP, queue->rx_ring_dma);
@ -211,7 +211,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
macb_writel(bp, NCR, ctrl | MACB_BIT(RE)); macb_writel(bp, NCR, ctrl | MACB_BIT(RE));
@@ -1948,8 +1970,9 @@ static irqreturn_t macb_interrupt(int ir @@ -1941,8 +1963,9 @@ static irqreturn_t macb_interrupt(int ir
queue_writel(queue, ISR, MACB_BIT(TCOMP) | queue_writel(queue, ISR, MACB_BIT(TCOMP) |
MACB_BIT(TXUBR)); MACB_BIT(TXUBR));
@ -222,7 +222,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
wmb(); // ensure softirq can see update wmb(); // ensure softirq can see update
} }
@@ -2404,6 +2427,11 @@ static netdev_tx_t macb_start_xmit(struc @@ -2397,6 +2420,11 @@ static netdev_tx_t macb_start_xmit(struc
skb_tx_timestamp(skb); skb_tx_timestamp(skb);
spin_lock_irq(&bp->lock); spin_lock_irq(&bp->lock);
@ -234,7 +234,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
macb_writel(bp, NCR, macb_readl(bp, NCR) | MACB_BIT(TSTART)); macb_writel(bp, NCR, macb_readl(bp, NCR) | MACB_BIT(TSTART));
spin_unlock_irq(&bp->lock); spin_unlock_irq(&bp->lock);
@@ -2778,6 +2806,37 @@ static void macb_configure_dma(struct ma @@ -2771,6 +2799,37 @@ static void macb_configure_dma(struct ma
} }
} }
@ -272,7 +272,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
static void macb_init_hw(struct macb *bp) static void macb_init_hw(struct macb *bp)
{ {
u32 config; u32 config;
@@ -2806,6 +2865,11 @@ static void macb_init_hw(struct macb *bp @@ -2799,6 +2858,11 @@ static void macb_init_hw(struct macb *bp
if (bp->caps & MACB_CAPS_JUMBO) if (bp->caps & MACB_CAPS_JUMBO)
bp->rx_frm_len_mask = MACB_RX_JFRMLEN_MASK; bp->rx_frm_len_mask = MACB_RX_JFRMLEN_MASK;
@ -284,7 +284,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
macb_configure_dma(bp); macb_configure_dma(bp);
/* Enable RX partial store and forward and set watermark */ /* Enable RX partial store and forward and set watermark */
@@ -3170,6 +3234,52 @@ static void gem_get_ethtool_strings(stru @@ -3163,6 +3227,52 @@ static void gem_get_ethtool_strings(stru
} }
} }
@ -337,7 +337,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
static struct net_device_stats *macb_get_stats(struct net_device *dev) static struct net_device_stats *macb_get_stats(struct net_device *dev)
{ {
struct macb *bp = netdev_priv(dev); struct macb *bp = netdev_priv(dev);
@@ -3764,6 +3874,8 @@ static const struct ethtool_ops macb_eth @@ -3757,6 +3867,8 @@ static const struct ethtool_ops macb_eth
}; };
static const struct ethtool_ops gem_ethtool_ops = { static const struct ethtool_ops gem_ethtool_ops = {
@ -346,7 +346,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
.get_regs_len = macb_get_regs_len, .get_regs_len = macb_get_regs_len,
.get_regs = macb_get_regs, .get_regs = macb_get_regs,
.get_wol = macb_get_wol, .get_wol = macb_get_wol,
@@ -3773,6 +3885,8 @@ static const struct ethtool_ops gem_etht @@ -3766,6 +3878,8 @@ static const struct ethtool_ops gem_etht
.get_ethtool_stats = gem_get_ethtool_stats, .get_ethtool_stats = gem_get_ethtool_stats,
.get_strings = gem_get_ethtool_strings, .get_strings = gem_get_ethtool_strings,
.get_sset_count = gem_get_sset_count, .get_sset_count = gem_get_sset_count,
@ -355,7 +355,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
.get_link_ksettings = macb_get_link_ksettings, .get_link_ksettings = macb_get_link_ksettings,
.set_link_ksettings = macb_set_link_ksettings, .set_link_ksettings = macb_set_link_ksettings,
.get_ringparam = macb_get_ringparam, .get_ringparam = macb_get_ringparam,
@@ -5069,6 +5183,11 @@ static int macb_probe(struct platform_de @@ -5062,6 +5176,11 @@ static int macb_probe(struct platform_de
} }
} }
} }
@ -367,7 +367,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
spin_lock_init(&bp->lock); spin_lock_init(&bp->lock);
spin_lock_init(&bp->stats_lock); spin_lock_init(&bp->stats_lock);
@@ -5125,6 +5244,21 @@ static int macb_probe(struct platform_de @@ -5118,6 +5237,21 @@ static int macb_probe(struct platform_de
else else
bp->phy_interface = interface; bp->phy_interface = interface;
@ -389,7 +389,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
/* IP specific init */ /* IP specific init */
err = init(pdev); err = init(pdev);
if (err) if (err)
@@ -5201,6 +5335,19 @@ static int macb_remove(struct platform_d @@ -5194,6 +5328,19 @@ static int macb_remove(struct platform_d
return 0; return 0;
} }
@ -409,7 +409,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
static int __maybe_unused macb_suspend(struct device *dev) static int __maybe_unused macb_suspend(struct device *dev)
{ {
struct net_device *netdev = dev_get_drvdata(dev); struct net_device *netdev = dev_get_drvdata(dev);
@@ -5415,6 +5562,7 @@ static const struct dev_pm_ops macb_pm_o @@ -5408,6 +5555,7 @@ static const struct dev_pm_ops macb_pm_o
static struct platform_driver macb_driver = { static struct platform_driver macb_driver = {
.probe = macb_probe, .probe = macb_probe,
.remove = macb_remove, .remove = macb_remove,

View file

@ -660,7 +660,7 @@ v2: fix kernel panic with debug-fs interface to list registers
return fence; return fence;
} }
@@ -459,7 +465,8 @@ v3d_csd_job_timedout(struct drm_sched_jo @@ -471,7 +477,8 @@ v3d_csd_job_timedout(struct drm_sched_jo
{ {
struct v3d_csd_job *job = to_csd_job(sched_job); struct v3d_csd_job *job = to_csd_job(sched_job);
struct v3d_dev *v3d = job->base.v3d; struct v3d_dev *v3d = job->base.v3d;
@ -668,5 +668,5 @@ v2: fix kernel panic with debug-fs interface to list registers
+ u32 batches = V3D_CORE_READ(0, (v3d->ver < 71 ? V3D_CSD_CURRENT_CFG4 : + u32 batches = V3D_CORE_READ(0, (v3d->ver < 71 ? V3D_CSD_CURRENT_CFG4 :
+ V3D_V7_CSD_CURRENT_CFG4)); + V3D_V7_CSD_CURRENT_CFG4));
/* If we've made progress, skip reset and let the timer get /* If we've made progress, skip reset, add the job to the pending
* rearmed. * list, and let the timer get rearmed.

View file

@ -16,7 +16,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
--- a/drivers/gpu/drm/panel/panel-simple.c --- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -3438,11 +3438,11 @@ static const struct panel_desc rocktech_ @@ -3439,11 +3439,11 @@ static const struct panel_desc rocktech_
}; };
static const struct drm_display_mode raspberrypi_7inch_mode = { static const struct drm_display_mode raspberrypi_7inch_mode = {

View file

@ -23,7 +23,7 @@ Signed-off-by: Timon Skerutsch <kernel@diodes-delight.com>
/** /**
* struct panel_desc - Describes a simple panel. * struct panel_desc - Describes a simple panel.
@@ -4903,6 +4904,9 @@ static const struct panel_desc_dsi osd10 @@ -4904,6 +4905,9 @@ static const struct panel_desc_dsi osd10
.lanes = 4, .lanes = 4,
}; };
@ -33,7 +33,7 @@ Signed-off-by: Timon Skerutsch <kernel@diodes-delight.com>
static const struct of_device_id dsi_of_match[] = { static const struct of_device_id dsi_of_match[] = {
{ {
.compatible = "auo,b080uan01", .compatible = "auo,b080uan01",
@@ -4926,20 +4930,137 @@ static const struct of_device_id dsi_of_ @@ -4927,20 +4931,137 @@ static const struct of_device_id dsi_of_
.compatible = "osddisplays,osd101t2045-53ts", .compatible = "osddisplays,osd101t2045-53ts",
.data = &osd101t2045_53ts .data = &osd101t2045_53ts
}, { }, {

View file

@ -16,7 +16,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
--- a/drivers/gpu/drm/panel/panel-simple.c --- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -3421,11 +3421,11 @@ static const struct drm_display_mode ras @@ -3422,11 +3422,11 @@ static const struct drm_display_mode ras
.hdisplay = 800, .hdisplay = 800,
.hsync_start = 800 + 59, .hsync_start = 800 + 59,
.hsync_end = 800 + 59 + 2, .hsync_end = 800 + 59 + 2,

View file

@ -21,7 +21,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
--- a/drivers/gpu/drm/panel/panel-simple.c --- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -3417,11 +3417,11 @@ static const struct panel_desc rocktech_ @@ -3418,11 +3418,11 @@ static const struct panel_desc rocktech_
}; };
static const struct drm_display_mode raspberrypi_7inch_mode = { static const struct drm_display_mode raspberrypi_7inch_mode = {

View file

@ -15,7 +15,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
--- a/drivers/net/ethernet/cadence/macb_main.c --- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -5030,6 +5030,17 @@ static const struct macb_config versal_c @@ -5023,6 +5023,17 @@ static const struct macb_config versal_c
.usrio = &macb_default_usrio, .usrio = &macb_default_usrio,
}; };
@ -33,7 +33,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
static const struct of_device_id macb_dt_ids[] = { static const struct of_device_id macb_dt_ids[] = {
{ .compatible = "cdns,at91sam9260-macb", .data = &at91sam9260_config }, { .compatible = "cdns,at91sam9260-macb", .data = &at91sam9260_config },
{ .compatible = "cdns,macb" }, { .compatible = "cdns,macb" },
@@ -5050,6 +5061,7 @@ static const struct of_device_id macb_dt @@ -5043,6 +5054,7 @@ static const struct of_device_id macb_dt
{ .compatible = "microchip,mpfs-macb", .data = &mpfs_config }, { .compatible = "microchip,mpfs-macb", .data = &mpfs_config },
{ .compatible = "microchip,sama7g5-gem", .data = &sama7g5_gem_config }, { .compatible = "microchip,sama7g5-gem", .data = &sama7g5_gem_config },
{ .compatible = "microchip,sama7g5-emac", .data = &sama7g5_emac_config }, { .compatible = "microchip,sama7g5-emac", .data = &sama7g5_emac_config },

View file

@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/nvme/host/pci.c --- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c
@@ -1948,6 +1948,7 @@ static void nvme_free_host_mem(struct nv @@ -1950,6 +1950,7 @@ static void nvme_free_host_mem(struct nv
dev->nr_host_mem_descs = 0; dev->nr_host_mem_descs = 0;
} }
@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
static int __nvme_alloc_host_mem(struct nvme_dev *dev, u64 preferred, static int __nvme_alloc_host_mem(struct nvme_dev *dev, u64 preferred,
u32 chunk_size) u32 chunk_size)
{ {
@@ -2016,9 +2017,11 @@ out: @@ -2018,9 +2019,11 @@ out:
dev->host_mem_descs = NULL; dev->host_mem_descs = NULL;
return -ENOMEM; return -ENOMEM;
} }
@ -38,7 +38,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
u64 min_chunk = min_t(u64, preferred, PAGE_SIZE * MAX_ORDER_NR_PAGES); u64 min_chunk = min_t(u64, preferred, PAGE_SIZE * MAX_ORDER_NR_PAGES);
u64 hmminds = max_t(u32, dev->ctrl.hmminds * 4096, PAGE_SIZE * 2); u64 hmminds = max_t(u32, dev->ctrl.hmminds * 4096, PAGE_SIZE * 2);
u64 chunk_size; u64 chunk_size;
@@ -2031,6 +2034,7 @@ static int nvme_alloc_host_mem(struct nv @@ -2033,6 +2036,7 @@ static int nvme_alloc_host_mem(struct nv
nvme_free_host_mem(dev); nvme_free_host_mem(dev);
} }
} }

View file

@ -436,7 +436,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
for (i = 1; i <= csd_cfg_reg_count; i++) for (i = 1; i <= csd_cfg_reg_count; i++)
V3D_CORE_WRITE(0, csd_cfg0_reg + 4 * i, job->args.cfg[i]); V3D_CORE_WRITE(0, csd_cfg0_reg + 4 * i, job->args.cfg[i]);
/* CFG0 write kicks off the job. */ /* CFG0 write kicks off the job. */
@@ -475,7 +475,7 @@ v3d_csd_job_timedout(struct drm_sched_jo @@ -487,7 +487,7 @@ v3d_csd_job_timedout(struct drm_sched_jo
{ {
struct v3d_csd_job *job = to_csd_job(sched_job); struct v3d_csd_job *job = to_csd_job(sched_job);
struct v3d_dev *v3d = job->base.v3d; struct v3d_dev *v3d = job->base.v3d;
@ -444,4 +444,4 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
+ u32 batches = V3D_CORE_READ(0, (v3d->ver < V3D_GEN_71 ? V3D_CSD_CURRENT_CFG4 : + u32 batches = V3D_CORE_READ(0, (v3d->ver < V3D_GEN_71 ? V3D_CSD_CURRENT_CFG4 :
V3D_V7_CSD_CURRENT_CFG4)); V3D_V7_CSD_CURRENT_CFG4));
/* If we've made progress, skip reset and let the timer get /* If we've made progress, skip reset, add the job to the pending

View file

@ -379,7 +379,7 @@ Signe-off-by: Felix Fietkau <nbd@nbd.name>
skb_shinfo(skb)->gso_type |= SKB_GSO_TCPV4; skb_shinfo(skb)->gso_type |= SKB_GSO_TCPV4;
--- a/net/ipv4/udp_offload.c --- a/net/ipv4/udp_offload.c
+++ b/net/ipv4/udp_offload.c +++ b/net/ipv4/udp_offload.c
@@ -474,33 +474,6 @@ out: @@ -533,33 +533,6 @@ out:
return segs; return segs;
} }

View file

@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -5133,6 +5133,8 @@ static int mtk_probe(struct platform_dev @@ -5064,6 +5064,8 @@ static int mtk_probe(struct platform_dev
* for NAPI to work * for NAPI to work
*/ */
init_dummy_netdev(&eth->dummy_dev); init_dummy_netdev(&eth->dummy_dev);

View file

@ -25,7 +25,7 @@ Signed-off-by: Chad Monroe <chad@monroe.io>
/* QDMA Flow Control Register */ /* QDMA Flow Control Register */
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -3323,12 +3323,14 @@ static int mtk_start_dma(struct mtk_eth @@ -3313,12 +3313,14 @@ static int mtk_start_dma(struct mtk_eth
MTK_TX_BT_32DWORDS | MTK_NDP_CO_PRO | MTK_TX_BT_32DWORDS | MTK_NDP_CO_PRO |
MTK_RX_2B_OFFSET | MTK_TX_WB_DDONE; MTK_RX_2B_OFFSET | MTK_TX_WB_DDONE;

View file

@ -490,7 +490,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
.mac_finish = mtk_mac_finish, .mac_finish = mtk_mac_finish,
.mac_link_down = mtk_mac_link_down, .mac_link_down = mtk_mac_link_down,
.mac_link_up = mtk_mac_link_up, .mac_link_up = mtk_mac_link_up,
@@ -3431,6 +3572,9 @@ static int mtk_open(struct net_device *d @@ -3421,6 +3562,9 @@ static int mtk_open(struct net_device *d
ppe_num = eth->soc->ppe_num; ppe_num = eth->soc->ppe_num;
@ -500,7 +500,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
err = phylink_of_phy_connect(mac->phylink, mac->of_node, 0); err = phylink_of_phy_connect(mac->phylink, mac->of_node, 0);
if (err) { if (err) {
netdev_err(dev, "%s: could not attach PHY: %d\n", __func__, netdev_err(dev, "%s: could not attach PHY: %d\n", __func__,
@@ -3581,6 +3725,9 @@ static int mtk_stop(struct net_device *d @@ -3571,6 +3715,9 @@ static int mtk_stop(struct net_device *d
for (i = 0; i < ARRAY_SIZE(eth->ppe); i++) for (i = 0; i < ARRAY_SIZE(eth->ppe); i++)
mtk_ppe_stop(eth->ppe[i]); mtk_ppe_stop(eth->ppe[i]);
@ -510,7 +510,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
return 0; return 0;
} }
@@ -4667,6 +4814,7 @@ static const struct net_device_ops mtk_n @@ -4600,6 +4747,7 @@ static const struct net_device_ops mtk_n
static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np) static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
{ {
const __be32 *_id = of_get_property(np, "reg", NULL); const __be32 *_id = of_get_property(np, "reg", NULL);
@ -518,7 +518,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
phy_interface_t phy_mode; phy_interface_t phy_mode;
struct phylink *phylink; struct phylink *phylink;
struct mtk_mac *mac; struct mtk_mac *mac;
@@ -4705,16 +4853,41 @@ static int mtk_add_mac(struct mtk_eth *e @@ -4636,16 +4784,41 @@ static int mtk_add_mac(struct mtk_eth *e
mac->id = id; mac->id = id;
mac->hw = eth; mac->hw = eth;
mac->of_node = np; mac->of_node = np;
@ -568,7 +568,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
} }
memset(mac->hwlro_ip, 0, sizeof(mac->hwlro_ip)); memset(mac->hwlro_ip, 0, sizeof(mac->hwlro_ip));
@@ -4797,8 +4970,21 @@ static int mtk_add_mac(struct mtk_eth *e @@ -4728,8 +4901,21 @@ static int mtk_add_mac(struct mtk_eth *e
phy_interface_zero(mac->phylink_config.supported_interfaces); phy_interface_zero(mac->phylink_config.supported_interfaces);
__set_bit(PHY_INTERFACE_MODE_INTERNAL, __set_bit(PHY_INTERFACE_MODE_INTERNAL,
mac->phylink_config.supported_interfaces); mac->phylink_config.supported_interfaces);
@ -590,7 +590,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
phylink = phylink_create(&mac->phylink_config, phylink = phylink_create(&mac->phylink_config,
of_fwnode_handle(mac->of_node), of_fwnode_handle(mac->of_node),
phy_mode, &mtk_phylink_ops); phy_mode, &mtk_phylink_ops);
@@ -4849,6 +5035,26 @@ free_netdev: @@ -4780,6 +4966,26 @@ free_netdev:
return err; return err;
} }
@ -617,7 +617,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
void mtk_eth_set_dma_device(struct mtk_eth *eth, struct device *dma_dev) void mtk_eth_set_dma_device(struct mtk_eth *eth, struct device *dma_dev)
{ {
struct net_device *dev, *tmp; struct net_device *dev, *tmp;
@@ -4995,7 +5201,8 @@ static int mtk_probe(struct platform_dev @@ -4926,7 +5132,8 @@ static int mtk_probe(struct platform_dev
regmap_write(cci, 0, 3); regmap_write(cci, 0, 3);
} }
@ -627,7 +627,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
err = mtk_sgmii_init(eth); err = mtk_sgmii_init(eth);
if (err) if (err)
@@ -5106,6 +5313,24 @@ static int mtk_probe(struct platform_dev @@ -5037,6 +5244,24 @@ static int mtk_probe(struct platform_dev
} }
} }
@ -652,7 +652,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
if (MTK_HAS_CAPS(eth->soc->caps, MTK_SHARED_INT)) { if (MTK_HAS_CAPS(eth->soc->caps, MTK_SHARED_INT)) {
err = devm_request_irq(eth->dev, eth->irq[0], err = devm_request_irq(eth->dev, eth->irq[0],
mtk_handle_irq, 0, mtk_handle_irq, 0,
@@ -5209,6 +5434,11 @@ static int mtk_remove(struct platform_de @@ -5140,6 +5365,11 @@ static int mtk_remove(struct platform_de
mtk_stop(eth->netdev[i]); mtk_stop(eth->netdev[i]);
mac = netdev_priv(eth->netdev[i]); mac = netdev_priv(eth->netdev[i]);
phylink_disconnect_phy(mac->phylink); phylink_disconnect_phy(mac->phylink);

View file

@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -5470,7 +5470,7 @@ static const struct mtk_soc_data mt2701_ @@ -5459,7 +5459,7 @@ static const struct mtk_soc_data mt7622_
.desc_size = sizeof(struct mtk_rx_dma), .desc_size = sizeof(struct mtk_rx_dma),
.irq_done_mask = MTK_RX_DONE_INT, .irq_done_mask = MTK_RX_DONE_INT,
.dma_l4_valid = RX_DMA_L4_VALID, .dma_l4_valid = RX_DMA_L4_VALID,
@ -39,7 +39,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
.dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_max_len = MTK_TX_DMA_BUF_LEN,
.dma_len_offset = 16, .dma_len_offset = 16,
}, },
@@ -5498,7 +5498,7 @@ static const struct mtk_soc_data mt7621_ @@ -5488,7 +5488,7 @@ static const struct mtk_soc_data mt7623_
.desc_size = sizeof(struct mtk_rx_dma), .desc_size = sizeof(struct mtk_rx_dma),
.irq_done_mask = MTK_RX_DONE_INT, .irq_done_mask = MTK_RX_DONE_INT,
.dma_l4_valid = RX_DMA_L4_VALID, .dma_l4_valid = RX_DMA_L4_VALID,
@ -48,7 +48,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
.dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_max_len = MTK_TX_DMA_BUF_LEN,
.dma_len_offset = 16, .dma_len_offset = 16,
}, },
@@ -5528,7 +5528,7 @@ static const struct mtk_soc_data mt7622_ @@ -5514,7 +5514,7 @@ static const struct mtk_soc_data mt7629_
.desc_size = sizeof(struct mtk_rx_dma), .desc_size = sizeof(struct mtk_rx_dma),
.irq_done_mask = MTK_RX_DONE_INT, .irq_done_mask = MTK_RX_DONE_INT,
.dma_l4_valid = RX_DMA_L4_VALID, .dma_l4_valid = RX_DMA_L4_VALID,
@ -57,48 +57,3 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
.dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_max_len = MTK_TX_DMA_BUF_LEN,
.dma_len_offset = 16, .dma_len_offset = 16,
}, },
@@ -5557,7 +5557,7 @@ static const struct mtk_soc_data mt7623_
.desc_size = sizeof(struct mtk_rx_dma),
.irq_done_mask = MTK_RX_DONE_INT,
.dma_l4_valid = RX_DMA_L4_VALID,
- .dma_size = MTK_DMA_SIZE(2K),
+ .dma_size = MTK_DMA_SIZE(512),
.dma_max_len = MTK_TX_DMA_BUF_LEN,
.dma_len_offset = 16,
},
@@ -5583,7 +5583,7 @@ static const struct mtk_soc_data mt7629_
.desc_size = sizeof(struct mtk_rx_dma),
.irq_done_mask = MTK_RX_DONE_INT,
.dma_l4_valid = RX_DMA_L4_VALID,
- .dma_size = MTK_DMA_SIZE(2K),
+ .dma_size = MTK_DMA_SIZE(512),
.dma_max_len = MTK_TX_DMA_BUF_LEN,
.dma_len_offset = 16,
},
@@ -5615,7 +5615,7 @@ static const struct mtk_soc_data mt7981_
.dma_l4_valid = RX_DMA_L4_VALID_V2,
.dma_max_len = MTK_TX_DMA_BUF_LEN,
.dma_len_offset = 16,
- .dma_size = MTK_DMA_SIZE(2K),
+ .dma_size = MTK_DMA_SIZE(512),
},
};
@@ -5645,7 +5645,7 @@ static const struct mtk_soc_data mt7986_
.dma_l4_valid = RX_DMA_L4_VALID_V2,
.dma_max_len = MTK_TX_DMA_BUF_LEN,
.dma_len_offset = 16,
- .dma_size = MTK_DMA_SIZE(2K),
+ .dma_size = MTK_DMA_SIZE(1K),
},
};
@@ -5698,7 +5698,7 @@ static const struct mtk_soc_data rt5350_
.dma_l4_valid = RX_DMA_L4_VALID_PDMA,
.dma_max_len = MTK_TX_DMA_BUF_LEN,
.dma_len_offset = 16,
- .dma_size = MTK_DMA_SIZE(2K),
+ .dma_size = MTK_DMA_SIZE(256),
},
};

View file

@ -25,7 +25,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
help help
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -4582,6 +4582,7 @@ static int mtk_get_sset_count(struct net @@ -4572,6 +4572,7 @@ static int mtk_get_sset_count(struct net
static void mtk_ethtool_pp_stats(struct mtk_eth *eth, u64 *data) static void mtk_ethtool_pp_stats(struct mtk_eth *eth, u64 *data)
{ {
@ -33,7 +33,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
struct page_pool_stats stats = {}; struct page_pool_stats stats = {};
int i; int i;
@@ -4594,6 +4595,7 @@ static void mtk_ethtool_pp_stats(struct @@ -4584,6 +4585,7 @@ static void mtk_ethtool_pp_stats(struct
page_pool_get_stats(ring->page_pool, &stats); page_pool_get_stats(ring->page_pool, &stats);
} }
page_pool_ethtool_stats_get(data, &stats); page_pool_ethtool_stats_get(data, &stats);