diff --git a/target/linux/bcm27xx/patches-6.6/950-0423-media-i2c-imx219-Correct-the-minimum-vblanking-value.patch b/target/linux/bcm27xx/patches-6.6/950-0423-media-i2c-imx219-Correct-the-minimum-vblanking-value.patch deleted file mode 100644 index ab2e9dda8..000000000 --- a/target/linux/bcm27xx/patches-6.6/950-0423-media-i2c-imx219-Correct-the-minimum-vblanking-value.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 4b249d9f2436af70ed9a8c2a34be0786f3fe026c Mon Sep 17 00:00:00 2001 -From: David Plowman -Date: Tue, 25 Jan 2022 15:48:53 +0000 -Subject: [PATCH 0423/1085] media: i2c: imx219: Correct the minimum vblanking - value - -The datasheet for this sensor documents the minimum vblanking as being -32 lines. It does fix some problems with occasional black lines at the -bottom of images (tested on Raspberry Pi). - -Signed-off-by: David Plowman ---- - drivers/media/i2c/imx219.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/media/i2c/imx219.c -+++ b/drivers/media/i2c/imx219.c -@@ -77,7 +77,7 @@ - #define IMX219_VTS_30FPS_640x480 0x06e3 - #define IMX219_VTS_MAX 0xffff - --#define IMX219_VBLANK_MIN 4 -+#define IMX219_VBLANK_MIN 32 - - /*Frame Length Line*/ - #define IMX219_FLL_MIN 0x08a6 diff --git a/target/linux/bcm27xx/patches-6.6/950-0521-PCI-brcmstb-Add-BCM2712-support.patch b/target/linux/bcm27xx/patches-6.6/950-0521-PCI-brcmstb-Add-BCM2712-support.patch index 5f5b9de34..7fdbc085f 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0521-PCI-brcmstb-Add-BCM2712-support.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0521-PCI-brcmstb-Add-BCM2712-support.patch @@ -341,17 +341,6 @@ Signed-off-by: Jonathan Bell struct subdev_regulators *sr; bool ep_wakeup_capable; }; -@@ -286,8 +371,8 @@ static int brcm_pcie_encode_ibar_size(u6 - if (log2_in >= 12 && log2_in <= 15) - /* Covers 4KB to 32KB (inclusive) */ - return (log2_in - 12) + 0x1c; -- else if (log2_in >= 16 && log2_in <= 35) -- /* Covers 64KB to 32GB, (inclusive) */ -+ else if (log2_in >= 16 && log2_in <= 36) -+ /* Covers 64KB to 64GB, (inclusive) */ - return log2_in - 15; - /* Something is awry so disable */ - return 0; @@ -376,6 +461,35 @@ static int brcm_pcie_set_ssc(struct brcm return ssc && pll ? 0 : -EIO; } diff --git a/target/linux/bcm27xx/patches-6.6/950-1550-drm-v3d-Add-clock-handling.patch b/target/linux/bcm27xx/patches-6.6/950-1550-drm-v3d-Add-clock-handling.patch deleted file mode 100644 index 3bce057bf..000000000 --- a/target/linux/bcm27xx/patches-6.6/950-1550-drm-v3d-Add-clock-handling.patch +++ /dev/null @@ -1,129 +0,0 @@ -From 32c319ba2f2fd662a3b7bd042515cd650807dbff Mon Sep 17 00:00:00 2001 -From: Stefan Wahren -Date: Sat, 1 Feb 2025 13:50:46 +0100 -Subject: [PATCH] drm/v3d: Add clock handling -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -[ Upstream commit 4dd40b5f9c3d89b67af0dbe059cf4a51aac6bf06 ] - -Since the initial commit 57692c94dcbe ("drm/v3d: Introduce a new DRM driver -for Broadcom V3D V3.x+") the struct v3d_dev reserved a pointer for -an optional V3D clock. But there wasn't any code, which fetched it. -So add the missing clock handling before accessing any V3D registers. - -Signed-off-by: Stefan Wahren -Reviewed-by: Maíra Canal -Signed-off-by: Maíra Canal -Link: https://patchwork.freedesktop.org/patch/msgid/20250201125046.33030-1-wahrenst@gmx.net -[ Maíra: Backported to the downstream repository ] -Signed-off-by: Maíra Canal ---- - drivers/gpu/drm/v3d/v3d_drv.c | 44 ++++++++++++++++++++++------------- - 1 file changed, 28 insertions(+), 16 deletions(-) - ---- a/drivers/gpu/drm/v3d/v3d_drv.c -+++ b/drivers/gpu/drm/v3d/v3d_drv.c -@@ -232,11 +232,21 @@ static int v3d_platform_drm_probe(struct - if (ret) - return ret; - -+ v3d->clk = devm_clk_get_optional(dev, NULL); -+ if (IS_ERR(v3d->clk)) -+ return dev_err_probe(dev, PTR_ERR(v3d->clk), "Failed to get V3D clock\n"); -+ -+ ret = clk_prepare_enable(v3d->clk); -+ if (ret) { -+ dev_err(&pdev->dev, "Couldn't enable the V3D clock\n"); -+ return ret; -+ } -+ - mmu_debug = V3D_READ(V3D_MMU_DEBUG_INFO); - mask = DMA_BIT_MASK(30 + V3D_GET_FIELD(mmu_debug, V3D_MMU_PA_WIDTH)); - ret = dma_set_mask_and_coherent(dev, mask); - if (ret) -- return ret; -+ goto clk_disable; - - v3d->va_width = 30 + V3D_GET_FIELD(mmu_debug, V3D_MMU_VA_WIDTH); - -@@ -251,32 +261,29 @@ static int v3d_platform_drm_probe(struct - ret = PTR_ERR(v3d->reset); - - if (ret == -EPROBE_DEFER) -- return ret; -+ goto clk_disable; - - v3d->reset = NULL; - ret = map_regs(v3d, &v3d->bridge_regs, "bridge"); - if (ret) { - dev_err(dev, - "Failed to get reset control or bridge regs\n"); -- return ret; -+ goto clk_disable; - } - } - -- v3d->clk = devm_clk_get(dev, NULL); -- if (IS_ERR_OR_NULL(v3d->clk)) { -- if (PTR_ERR(v3d->clk) != -EPROBE_DEFER) -- dev_err(dev, "Failed to get clock (%ld)\n", PTR_ERR(v3d->clk)); -- return PTR_ERR(v3d->clk); -- } -- - node = rpi_firmware_find_node(); -- if (!node) -- return -EINVAL; -+ if (!node) { -+ ret = -EINVAL; -+ goto clk_disable; -+ } - - firmware = rpi_firmware_get(node); - of_node_put(node); -- if (!firmware) -- return -EPROBE_DEFER; -+ if (!firmware) { -+ ret = -EPROBE_DEFER; -+ goto clk_disable; -+ } - - v3d->clk_up_rate = rpi_firmware_clk_get_max_rate(firmware, - RPI_FIRMWARE_V3D_CLK_ID); -@@ -293,14 +300,15 @@ static int v3d_platform_drm_probe(struct - if (v3d->ver < 41) { - ret = map_regs(v3d, &v3d->gca_regs, "gca"); - if (ret) -- return ret; -+ goto clk_disable; - } - - v3d->mmu_scratch = dma_alloc_wc(dev, 4096, &v3d->mmu_scratch_paddr, - GFP_KERNEL | __GFP_NOWARN | __GFP_ZERO); - if (!v3d->mmu_scratch) { - dev_err(dev, "Failed to allocate MMU scratch page\n"); -- return -ENOMEM; -+ ret = -ENOMEM; -+ goto clk_disable; - } - - ret = v3d_gem_init(drm); -@@ -326,6 +334,8 @@ gem_destroy: - v3d_gem_destroy(drm); - dma_free: - dma_free_wc(dev, 4096, v3d->mmu_scratch, v3d->mmu_scratch_paddr); -+clk_disable: -+ clk_disable_unprepare(v3d->clk); - return ret; - } - -@@ -340,6 +350,8 @@ static void v3d_platform_drm_remove(stru - - dma_free_wc(v3d->drm.dev, 4096, v3d->mmu_scratch, - v3d->mmu_scratch_paddr); -+ -+ clk_disable_unprepare(v3d->clk); - } - - static struct platform_driver v3d_platform_driver = { diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index 9f61d586a..767e497ae 100644 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -100,7 +100,6 @@ ramips_setup_interfaces() huasifei,mt7621dtu) ucidef_add_switch "switch0" \ "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6u@eth0" "5u@eth1" - ucidef_set_interfaces_lan_wan "eth0" "eth1 eth2" ;; oraybox,x3a) ucidef_add_switch "switch0" \