]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
kernel: bump 6.12 to 6.12.31 18953/head
authorShiji Yang <yangshiji66@outlook.com>
Thu, 29 May 2025 10:25:21 +0000 (18:25 +0800)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 31 May 2025 15:35:29 +0000 (17:35 +0200)
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.31

Remove upstreamed patches:
  backport-6.12/780-27-v6.15-r8169-don-t-scan-PHY-addresses-0.patch [1]
  backport-6.12/780-33-v6.15-r8169-disable-RTL8126-ZRX-DC-timeout.patch [2]
  bcm27xx/patches-6.12/950-0315-media-i2c-imx219-Correct-the-minimum-vblanking-value.patch [3]
  bcm27xx/patches-6.12/950-0857-drm-v3d-Add-clock-handling.patch [4]
  bcm27xx/patches-6.12/950-0874-PCI-brcmstb-Expand-inbound-window-size-up-to-64GB.patch [5]
  bcm27xx/patches-6.12/950-0877-PCI-brcmstb-Adding-a-softdep-to-MIP-MSI-X-driver.patch [6]
  bcm27xx/patches-6.12/950-0960-media-imx335-Set-vblank-immediately.patch [7]

Manually rebased patches:
  d1/patches-6.12/0009-ASoC-sunxi-sun4i-codec-add-basic-support-for-D1-audi.patch

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.31&id=ba59747562c49974cbace989d76b94a8331da442
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.31&id=2780aa8394415df0a69e3b908d6dd8c79e1d1bcc
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.31&id=9a981079097bee6a0583877798de0b240717bdde
[4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.31&id=bbd6dc1fb6c56267ad1d58810d92287fcd5b0058
[5] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.31&id=3ffaa2e999380477774e76680ff4cef247451168
[6] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.31&id=12153e3948c596737853c3ec4ff7e4e3f4a9f9a6
[7] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.31&id=8d7e13c31c52690655883dff604238b0760a3644

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18953
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
59 files changed:
target/linux/ath79/patches-6.12/900-unaligned_access_hacks.patch
target/linux/bcm27xx/patches-6.12/950-0016-drm-atomic-helpers-remove-legacy_cursor_update-hacks.patch
target/linux/bcm27xx/patches-6.12/950-0057-MMC-added-alternative-MMC-driver.patch
target/linux/bcm27xx/patches-6.12/950-0103-media-adv7180-Default-to-the-first-valid-input.patch
target/linux/bcm27xx/patches-6.12/950-0104-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch
target/linux/bcm27xx/patches-6.12/950-0130-drm-v3d-Clock-V3D-down-when-not-in-use.patch
target/linux/bcm27xx/patches-6.12/950-0131-drm-v3d-Switch-clock-setting-to-new-api.patch
target/linux/bcm27xx/patches-6.12/950-0154-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch
target/linux/bcm27xx/patches-6.12/950-0155-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch
target/linux/bcm27xx/patches-6.12/950-0161-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch
target/linux/bcm27xx/patches-6.12/950-0163-staging-vchiq-Load-bcm2835_isp-driver-from-vchiq.patch
target/linux/bcm27xx/patches-6.12/950-0295-media-adv7180-Nasty-hack-to-allow-input-selection.patch
target/linux/bcm27xx/patches-6.12/950-0315-media-i2c-imx219-Correct-the-minimum-vblanking-value.patch [deleted file]
target/linux/bcm27xx/patches-6.12/950-0335-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch
target/linux/bcm27xx/patches-6.12/950-0344-sdhci-Add-SD-Express-hook.patch
target/linux/bcm27xx/patches-6.12/950-0396-drivers-mmc-sdhci-add-SPURIOUS_INT_RESP-quirk.patch
target/linux/bcm27xx/patches-6.12/950-0401-xhci-Use-more-event-ring-segment-table-entries.patch
target/linux/bcm27xx/patches-6.12/950-0409-media-i2c-adv7180-Use-MEDIA_BUS_FMT_UYVY8_1X16-for-C.patch
target/linux/bcm27xx/patches-6.12/950-0410-media-i2c-adv7180-Add-support-for-V4L2_CID_LINK_FREQ.patch
target/linux/bcm27xx/patches-6.12/950-0437-mmc-sdhci-extend-maximum-ADMA-transfer-length-to-4Mi.patch
target/linux/bcm27xx/patches-6.12/950-0534-drivers-usb-xhci-set-HID-bit-in-streaming-endpoint-c.patch
target/linux/bcm27xx/patches-6.12/950-0765-drm-gem-Create-a-drm_gem_object_init_with_mnt-functi.patch
target/linux/bcm27xx/patches-6.12/950-0857-drm-v3d-Add-clock-handling.patch [deleted file]
target/linux/bcm27xx/patches-6.12/950-0874-PCI-brcmstb-Expand-inbound-window-size-up-to-64GB.patch [deleted file]
target/linux/bcm27xx/patches-6.12/950-0877-PCI-brcmstb-Adding-a-softdep-to-MIP-MSI-X-driver.patch [deleted file]
target/linux/bcm27xx/patches-6.12/950-0959-media-imx335-Support-vertical-flip.patch
target/linux/bcm27xx/patches-6.12/950-0960-media-imx335-Set-vblank-immediately.patch [deleted file]
target/linux/bcm27xx/patches-6.12/950-1003-drivers-media-i2c-imx335-Fix-frame-size-enumeration.patch
target/linux/d1/patches-6.12/0009-ASoC-sunxi-sun4i-codec-add-basic-support-for-D1-audi.patch
target/linux/generic/backport-6.12/410-v6.13-01-block-add-support-for-defining-read-only-partitions.patch
target/linux/generic/backport-6.12/728-v6.14-net-phy-Constify-struct-mdio_device_id.patch
target/linux/generic/backport-6.12/780-01-v6.13-r8169-remove-original-workaround-for-RTL8125-broken-.patch
target/linux/generic/backport-6.12/780-02-v6.13-r8169-enable-SG-TSO-on-selected-chip-versions-per-de.patch
target/linux/generic/backport-6.12/780-03-v6.13-r8169-implement-additional-ethtool-stats-ops.patch
target/linux/generic/backport-6.12/780-04-v6.13-r8169-don-t-take-RTNL-lock-in-rtl_task.patch
target/linux/generic/backport-6.12/780-05-v6.13-replace-custom-flag-with-disable_work-et-al.patch
target/linux/generic/backport-6.12/780-09-v6.13-r8169-add-support-for-RTL8125D.patch
target/linux/generic/backport-6.12/780-14-v6.13-r8169-improve-initialization-of-RSS-registers-on-RTL.patch
target/linux/generic/backport-6.12/780-15-v6.13-r8169-remove-leftover-locks-after-reverted-change.patch
target/linux/generic/backport-6.12/780-20-v6.13-r8169-copy-vendor-driver-2.5G-5G-EEE-advertisement-c.patch
target/linux/generic/backport-6.12/780-21-v6.14-r8169-remove-unused-flag-RTL_FLAG_TASK_RESET_NO_QUEU.patch
target/linux/generic/backport-6.12/780-22-v6.14-r8169-remove-support-for-chip-version-11.patch
target/linux/generic/backport-6.12/780-23-v6.14-r8169-adjust-version-numbering-for-RTL8126.patch
target/linux/generic/backport-6.12/780-24-v6.14-r8169-add-support-for-RTL8125D-rev.b.patch
target/linux/generic/backport-6.12/780-25-v6.14-r8169-add-support-for-RTL8125BP-rev.b.patch
target/linux/generic/backport-6.12/780-27-v6.15-r8169-don-t-scan-PHY-addresses-0.patch [deleted file]
target/linux/generic/backport-6.12/780-29-v6.15-r8169-add-PHY-c45-ops-for-MDIO_MMD_VENDOR2-registers.patch
target/linux/generic/backport-6.12/780-30-v6.15-r8169-increase-max-jumbo-packet-size-on-RTL8125-RTL8.patch
target/linux/generic/backport-6.12/780-31-v6.15-r8169-switch-away-from-deprecated-pcim_iomap_table.patch
target/linux/generic/backport-6.12/780-32-v6.15-r8169-enable-RTL8168H-RTL8168EP-RTL8168FP-ASPM-suppo.patch
target/linux/generic/backport-6.12/780-33-v6.15-r8169-disable-RTL8126-ZRX-DC-timeout.patch [deleted file]
target/linux/generic/hack-6.12/610-net-page_pool-try-to-free-deferred-skbs-while-waitin.patch
target/linux/generic/hack-6.12/902-debloat_proc.patch
target/linux/generic/kernel-6.12
target/linux/generic/pending-6.12/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
target/linux/generic/pending-6.12/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
target/linux/generic/pending-6.12/804-nvmem-core-support-mac-base-fixed-layout-cells.patch
target/linux/generic/pending-6.12/809-01-nvmem-core-generalize-mac-base-cells-handling.patch
target/linux/mediatek/patches-6.12/432-drivers-spi-Add-support-for-dynamic-calibration.patch

index 89be8a02c47a5a9bb64002c1652f2ae7c4c1b77e..224b8097e2cb02aeee54e30a26401563e0185f62 100644 (file)
@@ -750,7 +750,7 @@ SVN-Revision: 35130
  EXPORT_SYMBOL(xfrm_parse_spi);
 --- a/net/ipv4/tcp_input.c
 +++ b/net/ipv4/tcp_input.c
-@@ -4321,14 +4321,16 @@ static bool tcp_parse_aligned_timestamp(
+@@ -4329,14 +4329,16 @@ static bool tcp_parse_aligned_timestamp(
  {
        const __be32 *ptr = (const __be32 *)(th + 1);
  
index e3bfcbb3e2ef936e85cfc8c3c6ff2172f272933e..fb66aaceba588138bbb78061f27ab640ace26f37 100644 (file)
@@ -59,7 +59,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
 
 --- a/drivers/gpu/drm/drm_atomic_helper.c
 +++ b/drivers/gpu/drm/drm_atomic_helper.c
-@@ -1656,13 +1656,6 @@ drm_atomic_helper_wait_for_vblanks(struc
+@@ -1684,13 +1684,6 @@ drm_atomic_helper_wait_for_vblanks(struc
        int i, ret;
        unsigned int crtc_mask = 0;
  
@@ -73,7 +73,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
        for_each_oldnew_crtc_in_state(old_state, crtc, old_crtc_state, new_crtc_state, i) {
                if (!new_crtc_state->active)
                        continue;
-@@ -2311,12 +2304,6 @@ int drm_atomic_helper_setup_commit(struc
+@@ -2339,12 +2332,6 @@ int drm_atomic_helper_setup_commit(struc
                        complete_all(&commit->flip_done);
                        continue;
                }
index 102c9277a2ed50ffc34d8576cb6c7e3764bcd0fc..57f8f2f9709719f10cc8b498a6883cbd297acae2 100644 (file)
@@ -1991,7 +1991,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
  
  #define MAX_TUNING_LOOP 40
  
-@@ -3194,7 +3194,7 @@ static void sdhci_timeout_timer(struct t
+@@ -3199,7 +3199,7 @@ static void sdhci_timeout_timer(struct t
        spin_lock_irqsave(&host->lock, flags);
  
        if (host->cmd && !sdhci_data_line_cmd(host->cmd)) {
@@ -2000,7 +2000,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
                       mmc_hostname(host->mmc));
                sdhci_err_stats_inc(host, REQ_TIMEOUT);
                sdhci_dumpregs(host);
-@@ -3217,7 +3217,7 @@ static void sdhci_timeout_data_timer(str
+@@ -3222,7 +3222,7 @@ static void sdhci_timeout_data_timer(str
  
        if (host->data || host->data_cmd ||
            (host->cmd && sdhci_data_line_cmd(host->cmd))) {
index c294e5286a4192bd3132f4ebe070f61bc0aacffa..52a113906f8be0cabdf2fc5c8d938b70123793e7 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
 
 --- a/drivers/media/i2c/adv7180.c
 +++ b/drivers/media/i2c/adv7180.c
-@@ -1352,6 +1352,7 @@ static const struct adv7180_chip_info ad
+@@ -1362,6 +1362,7 @@ static const struct adv7180_chip_info ad
  static int init_device(struct adv7180_state *state)
  {
        int ret;
@@ -24,7 +24,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
  
        mutex_lock(&state->mutex);
  
-@@ -1399,6 +1400,18 @@ static int init_device(struct adv7180_st
+@@ -1409,6 +1410,18 @@ static int init_device(struct adv7180_st
                        goto out_unlock;
        }
  
index 1552f6358c55253ad80ac540ef7b14a28847e067..8669c93edbe08b249d04a609f1c834e6dcfb2c9d 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
 
 --- a/drivers/media/i2c/adv7180.c
 +++ b/drivers/media/i2c/adv7180.c
-@@ -1341,6 +1341,7 @@ static const struct adv7180_chip_info ad
+@@ -1351,6 +1351,7 @@ static const struct adv7180_chip_info ad
                BIT(ADV7182_INPUT_SVIDEO_AIN1_AIN2) |
                BIT(ADV7182_INPUT_SVIDEO_AIN3_AIN4) |
                BIT(ADV7182_INPUT_SVIDEO_AIN7_AIN8) |
index 6cc36e1c2933ece0c71781ef8b602b0cee646ccc..71284d9f7eda22c579cb7e230ce0c7ed7a4132e4 100644 (file)
@@ -37,7 +37,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
 
 --- a/drivers/gpu/drm/v3d/v3d_drv.c
 +++ b/drivers/gpu/drm/v3d/v3d_drv.c
-@@ -321,6 +321,21 @@ static int v3d_platform_drm_probe(struct
+@@ -331,6 +331,21 @@ static int v3d_platform_drm_probe(struct
                }
        }
  
@@ -59,7 +59,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
        if (v3d->ver < 41) {
                ret = map_regs(v3d, &v3d->gca_regs, "gca");
                if (ret)
-@@ -349,6 +364,8 @@ static int v3d_platform_drm_probe(struct
+@@ -360,6 +375,8 @@ static int v3d_platform_drm_probe(struct
        ret = v3d_sysfs_init(dev);
        if (ret)
                goto drm_unregister;
index a1675a1cd2155d29a4efa5ae7bcb2d8a9155a678..6bdc6483e791032dfd6d1d3f723901909e9e57e1 100644 (file)
@@ -41,7 +41,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
        struct drm_device *drm;
        struct v3d_dev *v3d;
        int ret;
-@@ -327,7 +333,20 @@ static int v3d_platform_drm_probe(struct
+@@ -337,7 +343,20 @@ static int v3d_platform_drm_probe(struct
                        dev_err(dev, "Failed to get clock (%ld)\n", PTR_ERR(v3d->clk));
                return PTR_ERR(v3d->clk);
        }
@@ -63,7 +63,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
        /* For downclocking, drop it to the minimum frequency we can get from
         * the CPRMAN clock generator dividing off our parent.  The divider is
         * 4 bits, but ask for just higher than that so that rounding doesn't
-@@ -364,7 +383,7 @@ static int v3d_platform_drm_probe(struct
+@@ -375,7 +394,7 @@ static int v3d_platform_drm_probe(struct
        ret = v3d_sysfs_init(dev);
        if (ret)
                goto drm_unregister;
index b580ee5377e6b4c59f46a1dcab3046594049cda2..e9f351d518715d7e8f74c7230e12d9a25d70dd3b 100644 (file)
@@ -21,7 +21,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
  
  static const struct vchiq_platform_info bcm2835_info = {
        .cache_line_size = 32,
-@@ -1760,6 +1761,7 @@ static int vchiq_probe(struct platform_d
+@@ -1759,6 +1760,7 @@ static int vchiq_probe(struct platform_d
  
        vchiq_debugfs_init(&mgmt->state);
  
@@ -29,7 +29,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
        bcm2835_audio = vchiq_device_register(&pdev->dev, "bcm2835-audio");
        bcm2835_camera = vchiq_device_register(&pdev->dev, "bcm2835-camera");
  
-@@ -1778,6 +1780,7 @@ static void vchiq_remove(struct platform
+@@ -1777,6 +1779,7 @@ static void vchiq_remove(struct platform
  
        vchiq_device_unregister(bcm2835_audio);
        vchiq_device_unregister(bcm2835_camera);
index 874bf15d3424964995b28bcc11b02db535df8f9b..acc70e297724d72d40b1cad1372de1a524973f7d 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
  static struct vchiq_device *vcsm_cma;
  
  static const struct vchiq_platform_info bcm2835_info = {
-@@ -1762,6 +1763,7 @@ static int vchiq_probe(struct platform_d
+@@ -1761,6 +1762,7 @@ static int vchiq_probe(struct platform_d
        vchiq_debugfs_init(&mgmt->state);
  
        vcsm_cma = vchiq_device_register(&pdev->dev, "vcsm-cma");
@@ -30,7 +30,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
        bcm2835_audio = vchiq_device_register(&pdev->dev, "bcm2835-audio");
        bcm2835_camera = vchiq_device_register(&pdev->dev, "bcm2835-camera");
  
-@@ -1780,6 +1782,7 @@ static void vchiq_remove(struct platform
+@@ -1779,6 +1781,7 @@ static void vchiq_remove(struct platform
  
        vchiq_device_unregister(bcm2835_audio);
        vchiq_device_unregister(bcm2835_camera);
index 0c7fd01ec859f112577b3cf12c09318320119a92..b2b470eaebd2d1353917aa92c822c89536566e9f 100644 (file)
@@ -234,7 +234,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
        dev_dbg(&pdev->dev, "arm: vchiq_init - done (slots %pK, phys %pad)\n",
                vchiq_slot_zero, &slot_phys);
  
-@@ -1711,6 +1777,7 @@ void vchiq_platform_conn_state_changed(s
+@@ -1710,6 +1776,7 @@ void vchiq_platform_conn_state_changed(s
  static const struct of_device_id vchiq_of_match[] = {
        { .compatible = "brcm,bcm2835-vchiq", .data = &bcm2835_info },
        { .compatible = "brcm,bcm2836-vchiq", .data = &bcm2836_info },
index 1ba21abf1dc7be257013541ff7d209d6bce368a6..c9394bc85b7796977be30f1da609b574ed232206 100644 (file)
@@ -21,7 +21,7 @@ Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
  static struct vchiq_device *vcsm_cma;
  
  static const struct vchiq_platform_info bcm2835_info = {
-@@ -1858,6 +1859,7 @@ static int vchiq_probe(struct platform_d
+@@ -1857,6 +1858,7 @@ static int vchiq_probe(struct platform_d
        bcm2835_codec = vchiq_device_register(&pdev->dev, "bcm2835-codec");
        bcm2835_audio = vchiq_device_register(&pdev->dev, "bcm2835-audio");
        bcm2835_camera = vchiq_device_register(&pdev->dev, "bcm2835-camera");
@@ -29,7 +29,7 @@ Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
  
        return 0;
  
-@@ -1872,6 +1874,7 @@ static void vchiq_remove(struct platform
+@@ -1871,6 +1873,7 @@ static void vchiq_remove(struct platform
        struct vchiq_drv_mgmt *mgmt = dev_get_drvdata(&pdev->dev);
        struct vchiq_arm_state *arm_state;
  
index 30170d377fec94795d54f2240e17d9a9130fb25b..c36033642bb6e1f709974413542692c22ffee510 100644 (file)
@@ -30,7 +30,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
  struct adv7180_state;
  
  #define ADV7180_FLAG_RESET_POWERED    BIT(0)
-@@ -407,10 +411,24 @@ out:
+@@ -408,10 +412,24 @@ out:
        return ret;
  }
  
@@ -56,7 +56,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
        if (ret)
                return ret;
  
-@@ -436,7 +454,11 @@ static int adv7180_program_std(struct ad
+@@ -437,7 +455,11 @@ static int adv7180_program_std(struct ad
  static int adv7180_s_std(struct v4l2_subdev *sd, v4l2_std_id std)
  {
        struct adv7180_state *state = to_state(sd);
@@ -69,7 +69,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
  
        if (ret)
                return ret;
-@@ -458,6 +480,8 @@ static int adv7180_g_std(struct v4l2_sub
+@@ -459,6 +481,8 @@ static int adv7180_g_std(struct v4l2_sub
  {
        struct adv7180_state *state = to_state(sd);
  
@@ -78,7 +78,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
        *norm = state->curr_norm;
  
        return 0;
-@@ -895,6 +919,8 @@ static int adv7180_s_stream(struct v4l2_
+@@ -900,6 +924,8 @@ static int adv7180_s_stream(struct v4l2_
                return 0;
        }
  
diff --git a/target/linux/bcm27xx/patches-6.12/950-0315-media-i2c-imx219-Correct-the-minimum-vblanking-value.patch b/target/linux/bcm27xx/patches-6.12/950-0315-media-i2c-imx219-Correct-the-minimum-vblanking-value.patch
deleted file mode 100644 (file)
index f82c243..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From d2a776c4d38ccf0435083a90f51ed8886dd7aac9 Mon Sep 17 00:00:00 2001
-From: David Plowman <david.plowman@raspberrypi.com>
-Date: Tue, 25 Jan 2022 15:48:53 +0000
-Subject: [PATCH] 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 <david.plowman@raspberrypi.com>
----
- 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
-@@ -74,7 +74,7 @@
- #define IMX219_REG_VTS                        CCI_REG16(0x0160)
- #define IMX219_VTS_MAX                        0xffff
--#define IMX219_VBLANK_MIN             4
-+#define IMX219_VBLANK_MIN             32
- /* HBLANK control - read only */
- #define IMX219_PPL_DEFAULT            3448
index 6cd794396997550d6abdc57ef0fbd5c7cf7f1aee..47b58116b551630de168cad1b135bb31d850bda2 100644 (file)
@@ -75,7 +75,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
 --- a/drivers/usb/host/xhci-ring.c
 +++ b/drivers/usb/host/xhci-ring.c
-@@ -3647,6 +3647,48 @@ static int xhci_align_td(struct xhci_hcd
+@@ -3657,6 +3657,48 @@ static int xhci_align_td(struct xhci_hcd
        return 1;
  }
  
@@ -124,7 +124,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
  /* This is very similar to what ehci-q.c qtd_fill() does */
  int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
                struct urb *urb, int slot_id, unsigned int ep_index)
-@@ -3801,6 +3843,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3811,6 +3853,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
        }
  
        check_trb_math(urb, enqd_len);
@@ -133,7 +133,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        giveback_first_trb(xhci, slot_id, ep_index, urb->stream_id,
                        start_cycle, start_trb);
        return 0;
-@@ -3949,6 +3993,8 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
+@@ -3959,6 +4003,8 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
                        /* Event on completion */
                        field | TRB_IOC | TRB_TYPE(TRB_STATUS) | ep_ring->cycle_state);
  
index 543a2239cfe53f575dc45f9a0d2499d108e79a6a..7b843a0c09fc114a16810342db04e29418681756 100644 (file)
@@ -27,7 +27,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
        .postinit = dwcmshc_rk35xx_postinit,
 --- a/drivers/mmc/host/sdhci.c
 +++ b/drivers/mmc/host/sdhci.c
-@@ -3032,6 +3032,15 @@ static void sdhci_card_event(struct mmc_
+@@ -3037,6 +3037,15 @@ static void sdhci_card_event(struct mmc_
        spin_unlock_irqrestore(&host->lock, flags);
  }
  
@@ -43,7 +43,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
  static const struct mmc_host_ops sdhci_ops = {
        .request        = sdhci_request,
        .post_req       = sdhci_post_req,
-@@ -3047,6 +3056,7 @@ static const struct mmc_host_ops sdhci_o
+@@ -3052,6 +3061,7 @@ static const struct mmc_host_ops sdhci_o
        .execute_tuning                 = sdhci_execute_tuning,
        .card_event                     = sdhci_card_event,
        .card_busy      = sdhci_card_busy,
@@ -51,7 +51,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
  };
  
  /*****************************************************************************\
-@@ -4565,6 +4575,15 @@ int sdhci_setup_host(struct sdhci_host *
+@@ -4570,6 +4580,15 @@ int sdhci_setup_host(struct sdhci_host *
            !(host->quirks2 & SDHCI_QUIRK2_BROKEN_DDR50))
                mmc->caps |= MMC_CAP_UHS_DDR50;
  
index 93a9205f4aa0b78c21b23ac11a4f670ca05f2037..e79dbb75d642a7202ea29899ead3441f547ce463 100644 (file)
@@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        sdhci_writew(host, SDHCI_MAKE_CMD(cmd->opcode, flags), SDHCI_COMMAND);
  
        return true;
-@@ -3291,6 +3297,11 @@ static void sdhci_cmd_irq(struct sdhci_h
+@@ -3296,6 +3302,11 @@ static void sdhci_cmd_irq(struct sdhci_h
                if (intmask & SDHCI_INT_TIMEOUT) {
                        host->cmd->error = -ETIMEDOUT;
                        sdhci_err_stats_inc(host, CMD_TIMEOUT);
index 29357c07571ee1f967f8f70285f261a430695097..6baba3b443ae02e2e856782f89a65298973a9097 100644 (file)
@@ -21,7 +21,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
 
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1392,7 +1392,7 @@ struct urb_priv {
+@@ -1395,7 +1395,7 @@ struct urb_priv {
  };
  
  /* Number of Event Ring segments to allocate, when amount is not specified. (spec allows 32k) */
index 9b86b31a5d87087065b8d9558f39066b8de146b8..5790d79adef9feaa52c72069f08a4cfa7392d91e 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
 
 --- a/drivers/media/i2c/adv7180.c
 +++ b/drivers/media/i2c/adv7180.c
-@@ -732,10 +732,15 @@ static int adv7180_enum_mbus_code(struct
+@@ -737,10 +737,15 @@ static int adv7180_enum_mbus_code(struct
                                  struct v4l2_subdev_state *sd_state,
                                  struct v4l2_subdev_mbus_code_enum *code)
  {
@@ -34,7 +34,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
  
        return 0;
  }
-@@ -745,7 +750,10 @@ static int adv7180_mbus_fmt(struct v4l2_
+@@ -750,7 +755,10 @@ static int adv7180_mbus_fmt(struct v4l2_
  {
        struct adv7180_state *state = to_state(sd);
  
index c0df6346e8bdac41335e72f84c506a2db59cbe92..4bc7a684eb3d31390c98f30e24c106f42c4d70d2 100644 (file)
@@ -32,7 +32,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
  static int dbg_input;
  module_param(dbg_input, int, 0644);
  MODULE_PARM_DESC(dbg_input, "Input number (0-31)");
-@@ -228,6 +238,7 @@ struct adv7180_state {
+@@ -229,6 +239,7 @@ struct adv7180_state {
        const struct adv7180_chip_info *chip_info;
        enum v4l2_field         field;
        bool                    force_bt656_4;
@@ -40,7 +40,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
  };
  #define to_adv7180_sd(_ctrl) (&container_of(_ctrl->handler,           \
                                            struct adv7180_state,       \
-@@ -629,6 +640,9 @@ static int adv7180_s_ctrl(struct v4l2_ct
+@@ -630,6 +641,9 @@ static int adv7180_s_ctrl(struct v4l2_ct
  
        if (ret)
                return ret;
@@ -50,7 +50,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
        val = ctrl->val;
        switch (ctrl->id) {
        case V4L2_CID_BRIGHTNESS:
-@@ -670,6 +684,7 @@ static int adv7180_s_ctrl(struct v4l2_ct
+@@ -671,6 +685,7 @@ static int adv7180_s_ctrl(struct v4l2_ct
                ret = -EINVAL;
        }
  
@@ -58,7 +58,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
        mutex_unlock(&state->mutex);
        return ret;
  }
-@@ -690,7 +705,7 @@ static const struct v4l2_ctrl_config adv
+@@ -691,7 +706,7 @@ static const struct v4l2_ctrl_config adv
  
  static int adv7180_init_controls(struct adv7180_state *state)
  {
@@ -67,9 +67,9 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
  
        v4l2_ctrl_new_std(&state->ctrl_hdl, &adv7180_ctrl_ops,
                          V4L2_CID_BRIGHTNESS, ADV7180_BRI_MIN,
-@@ -712,6 +727,17 @@ static int adv7180_init_controls(struct
-                                     0, ARRAY_SIZE(test_pattern_menu) - 1,
-                                     test_pattern_menu);
+@@ -717,6 +732,17 @@ static int adv7180_init_controls(struct
+                                            test_pattern_menu);
+       }
  
 +      if (state->chip_info->flags & ADV7180_FLAG_MIPI_CSI2) {
 +              state->link_freq =
@@ -85,7 +85,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
        state->sd.ctrl_handler = &state->ctrl_hdl;
        if (state->ctrl_hdl.error) {
                int err = state->ctrl_hdl.error;
-@@ -844,6 +870,10 @@ static int adv7180_set_pad_format(struct
+@@ -849,6 +875,10 @@ static int adv7180_set_pad_format(struct
                        adv7180_set_power(state, false);
                        adv7180_set_field_mode(state);
                        adv7180_set_power(state, true);
index dc580e53ee24d7f7535eb7185f76ee8b4bb04ea4..6a1c5a1be11cfa8159b60944178c6b5e7777bc2c 100644 (file)
@@ -23,7 +23,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        BUG_ON(data->blksz > host->mmc->max_blk_size);
        BUG_ON(data->blocks > 65535);
  
-@@ -4709,11 +4709,16 @@ int sdhci_setup_host(struct sdhci_host *
+@@ -4714,11 +4714,16 @@ int sdhci_setup_host(struct sdhci_host *
        spin_lock_init(&host->lock);
  
        /*
index 70c09d06d2838c2bafa7a2e705231dc689a05168..9a052443c0b43c81705533419e043a029bd9fa08 100644 (file)
@@ -45,7 +45,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
  
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -465,6 +465,8 @@ struct xhci_ep_ctx {
+@@ -468,6 +468,8 @@ struct xhci_ep_ctx {
  #define CTX_TO_EP_MAXPSTREAMS(p)      (((p) & EP_MAXPSTREAMS_MASK) >> 10)
  /* Endpoint is set up with a Linear Stream Array (vs. Secondary Stream Array) */
  #define       EP_HAS_LSA              (1 << 15)
index d2355fbe784c13b6793ce9944d6d2a933d21f28f..5cbc75da2f10577a258dff56a8d7a93b50a2a699 100644 (file)
@@ -88,7 +88,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20240923141348.2422499-5-mca
  /**
 --- a/include/drm/drm_gem.h
 +++ b/include/drm/drm_gem.h
-@@ -473,6 +473,9 @@ void drm_gem_object_release(struct drm_g
+@@ -474,6 +474,9 @@ void drm_gem_object_release(struct drm_g
  void drm_gem_object_free(struct kref *kref);
  int drm_gem_object_init(struct drm_device *dev,
                        struct drm_gem_object *obj, size_t size);
diff --git a/target/linux/bcm27xx/patches-6.12/950-0857-drm-v3d-Add-clock-handling.patch b/target/linux/bcm27xx/patches-6.12/950-0857-drm-v3d-Add-clock-handling.patch
deleted file mode 100644 (file)
index 73f9c36..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-From d3976b4e3830d608c155713dd2f7c36839897ec5 Mon Sep 17 00:00:00 2001
-From: Stefan Wahren <wahrenst@gmx.net>
-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
-
-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 <wahrenst@gmx.net>
-Reviewed-by: Maíra Canal <mcanal@igalia.com>
-Signed-off-by: Maíra Canal <mcanal@igalia.com>
-Link: https://patchwork.freedesktop.org/patch/msgid/20250201125046.33030-1-wahrenst@gmx.net
----
- drivers/gpu/drm/v3d/v3d_drv.c | 25 ++++++++++++++++++++-----
- 1 file changed, 20 insertions(+), 5 deletions(-)
-
---- a/drivers/gpu/drm/v3d/v3d_drv.c
-+++ b/drivers/gpu/drm/v3d/v3d_drv.c
-@@ -304,11 +304,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);
-@@ -328,14 +338,14 @@ 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;
-               }
-       }
-@@ -370,14 +380,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);
-@@ -408,6 +419,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;
- }
-@@ -425,6 +438,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/bcm27xx/patches-6.12/950-0874-PCI-brcmstb-Expand-inbound-window-size-up-to-64GB.patch b/target/linux/bcm27xx/patches-6.12/950-0874-PCI-brcmstb-Expand-inbound-window-size-up-to-64GB.patch
deleted file mode 100644 (file)
index d9c3a62..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-From f46dc47bb16ebca678b357c38d16d586357ffbeb Mon Sep 17 00:00:00 2001
-From: Stanimir Varbanov <svarbanov@suse.de>
-Date: Mon, 24 Feb 2025 10:35:58 +0200
-Subject: [PATCH] PCI: brcmstb: Expand inbound window size up to 64GB
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The BCM2712 memory map can support up to 64GB of system memory, thus
-expand the inbound window size in calculation helper function.
-
-The change is safe for the currently supported SoCs that have smaller
-inbound window sizes.
-
-Signed-off-by: Stanimir Varbanov <svarbanov@suse.de>
-Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
-Reviewed-by: Jim Quinlan <james.quinlan@broadcom.com>
-Tested-by: Ivan T. Ivanov <iivanov@suse.de>
-Link: https://lore.kernel.org/r/20250120130119.671119-6-svarbanov@suse.de
-[kwilczynski: commit log]
-Signed-off-by: Krzysztof WilczyÅ„ski <kwilczynski@kernel.org>
----
- drivers/pci/controller/pcie-brcmstb.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/drivers/pci/controller/pcie-brcmstb.c
-+++ b/drivers/pci/controller/pcie-brcmstb.c
-@@ -304,8 +304,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;
diff --git a/target/linux/bcm27xx/patches-6.12/950-0877-PCI-brcmstb-Adding-a-softdep-to-MIP-MSI-X-driver.patch b/target/linux/bcm27xx/patches-6.12/950-0877-PCI-brcmstb-Adding-a-softdep-to-MIP-MSI-X-driver.patch
deleted file mode 100644 (file)
index f480952..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-From d0b8d7cc6cb1120acca237958d3d88bfcd75976a Mon Sep 17 00:00:00 2001
-From: Stanimir Varbanov <svarbanov@suse.de>
-Date: Mon, 24 Feb 2025 10:35:56 +0200
-Subject: [PATCH] PCI: brcmstb: Adding a softdep to MIP MSI-X driver
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-In case brcmstb PCIe driver and MIP MSI-X interrupt controller
-drivers are built as modules there could be a race in probing.
-
-To avoid this add a softdep to MIP driver to guarantee that MIP
-driver will be load first.
-
-Signed-off-by: Stanimir Varbanov <svarbanov@suse.de>
-Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
-Tested-by: Ivan T. Ivanov <iivanov@suse.de>
-Link: https://lore.kernel.org/r/20250120130119.671119-9-svarbanov@suse.de
-[kwilczynski: commit log]
-Signed-off-by: Krzysztof WilczyÅ„ski <kwilczynski@kernel.org>
----
- drivers/pci/controller/pcie-brcmstb.c | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/drivers/pci/controller/pcie-brcmstb.c
-+++ b/drivers/pci/controller/pcie-brcmstb.c
-@@ -2004,3 +2004,4 @@ module_platform_driver(brcm_pcie_driver)
- MODULE_LICENSE("GPL");
- MODULE_DESCRIPTION("Broadcom STB PCIe RC driver");
- MODULE_AUTHOR("Broadcom");
-+MODULE_SOFTDEP("pre: irq_bcm2712_mip");
index a5f9b2866e1e5c9a0b30805f89dc486aa5b43f43..8d5815ecd5dfec8d505117260972adac2745cea6 100644 (file)
@@ -142,7 +142,7 @@ Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
  static int imx335_update_test_pattern(struct imx335 *imx335, u32 pattern_index)
  {
        int ret = 0;
-@@ -585,6 +641,10 @@ static int imx335_set_ctrl(struct v4l2_c
+@@ -594,6 +650,10 @@ static int imx335_set_ctrl(struct v4l2_c
                ret = imx335_update_exp_gain(imx335, exposure, analog_gain);
  
                break;
@@ -153,7 +153,7 @@ Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
        case V4L2_CID_TEST_PATTERN:
                ret = imx335_update_test_pattern(imx335, ctrl->val);
  
-@@ -1166,7 +1226,7 @@ static int imx335_init_controls(struct i
+@@ -1175,7 +1235,7 @@ static int imx335_init_controls(struct i
                return ret;
  
        /* v4l2_fwnode_device_properties can add two more controls */
@@ -162,7 +162,7 @@ Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
        if (ret)
                return ret;
  
-@@ -1201,6 +1261,13 @@ static int imx335_init_controls(struct i
+@@ -1210,6 +1270,13 @@ static int imx335_init_controls(struct i
  
        v4l2_ctrl_cluster(2, &imx335->exp_ctrl);
  
diff --git a/target/linux/bcm27xx/patches-6.12/950-0960-media-imx335-Set-vblank-immediately.patch b/target/linux/bcm27xx/patches-6.12/950-0960-media-imx335-Set-vblank-immediately.patch
deleted file mode 100644 (file)
index f70ee21..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-From a9a2c30bb67cbf1e03d312e02eb659ef9673b123 Mon Sep 17 00:00:00 2001
-From: Paul Elder <paul.elder@ideasonboard.com>
-Date: Fri, 14 Feb 2025 18:03:53 +0900
-Subject: [PATCH] media: imx335: Set vblank immediately
-
-When the vblank v4l2 control is set, it does not get written to the
-hardware immediately. It only gets updated when exposure is set. Change
-the behavior such that the vblank is written immediately when the
-control is set.
-
-Commit c0aa40f45fef ("media: imx335: Set vblank immediately")' upstream
-
-Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
----
- drivers/media/i2c/imx335.c | 19 +++++++++++++------
- 1 file changed, 13 insertions(+), 6 deletions(-)
-
---- a/drivers/media/i2c/imx335.c
-+++ b/drivers/media/i2c/imx335.c
-@@ -615,12 +615,12 @@ static int imx335_set_ctrl(struct v4l2_c
-                       imx335->vblank,
-                       imx335->vblank + imx335->cur_mode->height);
--              return __v4l2_ctrl_modify_range(imx335->exp_ctrl,
--                                              IMX335_EXPOSURE_MIN,
--                                              imx335->vblank +
--                                              imx335->cur_mode->height -
--                                              IMX335_EXPOSURE_OFFSET,
--                                              1, IMX335_EXPOSURE_DEFAULT);
-+              __v4l2_ctrl_modify_range(imx335->exp_ctrl,
-+                                       IMX335_EXPOSURE_MIN,
-+                                       imx335->vblank +
-+                                       imx335->cur_mode->height -
-+                                       IMX335_EXPOSURE_OFFSET,
-+                                       1, IMX335_EXPOSURE_DEFAULT);
-       }
-       /*
-@@ -631,6 +631,13 @@ static int imx335_set_ctrl(struct v4l2_c
-               return 0;
-       switch (ctrl->id) {
-+      case V4L2_CID_VBLANK:
-+              exposure = imx335->exp_ctrl->val;
-+              analog_gain = imx335->again_ctrl->val;
-+
-+              ret = imx335_update_exp_gain(imx335, exposure, analog_gain);
-+
-+              break;
-       case V4L2_CID_EXPOSURE:
-               exposure = ctrl->val;
-               analog_gain = imx335->again_ctrl->val;
index e55c49476fc5edccc93001ce9529c0a1b4f7b8f6..89701b06c8365d6105d1b1951c593b05e2531261 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
 
 --- a/drivers/media/i2c/imx335.c
 +++ b/drivers/media/i2c/imx335.c
-@@ -718,7 +718,8 @@ static int imx335_enum_frame_size(struct
+@@ -720,7 +720,8 @@ static int imx335_enum_frame_size(struct
        struct imx335 *imx335 = to_imx335(sd);
        u32 code;
  
index 6d1562233a0b6049566e2dec8382e94ec86db351..25cb88436a3dfb5725087b6d1f5eb3f23fd4c758 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
 
 --- a/sound/soc/sunxi/sun4i-codec.c
 +++ b/sound/soc/sunxi/sun4i-codec.c
-@@ -228,15 +228,65 @@
+@@ -229,16 +229,66 @@
  
  /* TODO H3 DAP (Digital Audio Processing) bits */
  
@@ -76,6 +76,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
 +      struct clk      *clk_module_dac;
        struct reset_control *rst;
        struct gpio_desc *gpio_pa;
+       struct gpio_desc *gpio_hp;
 +      const struct sun4i_codec_quirks *quirks;
  
 -      /* ADC_FIFOC register is at different offset on different SoCs */
@@ -84,7 +85,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
        struct regmap_field *reg_adc_fifoc;
  
        struct snd_dmaengine_dai_dma_data       capture_dma_data;
-@@ -246,33 +296,33 @@ struct sun4i_codec {
+@@ -248,33 +298,33 @@ struct sun4i_codec {
  static void sun4i_codec_start_playback(struct sun4i_codec *scodec)
  {
        /* Flush TX FIFO */
@@ -126,7 +127,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
  }
  
  static int sun4i_codec_trigger(struct snd_pcm_substream *substream, int cmd,
-@@ -321,8 +371,8 @@ static int sun4i_codec_prepare_capture(s
+@@ -323,8 +373,8 @@ static int sun4i_codec_prepare_capture(s
  
        /* Set RX FIFO trigger level */
        regmap_field_update_bits(scodec->reg_adc_fifoc,
@@ -137,7 +138,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
  
        /*
         * FIXME: Undocumented in the datasheet, but
-@@ -356,13 +406,13 @@ static int sun4i_codec_prepare_playback(
+@@ -358,13 +408,13 @@ static int sun4i_codec_prepare_playback(
        u32 val;
  
        /* Flush the TX FIFO */
@@ -156,7 +157,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
  
        if (substream->runtime->rate > 32000)
                /* Use 64 bits FIR filter */
-@@ -371,13 +421,12 @@ static int sun4i_codec_prepare_playback(
+@@ -373,13 +423,12 @@ static int sun4i_codec_prepare_playback(
                /* Use 32 bits FIR filter */
                val = BIT(SUN4I_CODEC_DAC_FIFOC_FIR_VERSION);
  
@@ -174,7 +175,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
  
        return 0;
  };
-@@ -472,30 +521,32 @@ static int sun4i_codec_hw_params_capture
+@@ -474,30 +523,32 @@ static int sun4i_codec_hw_params_capture
                                 7 << SUN4I_CODEC_ADC_FIFOC_ADC_FS,
                                 hwrate << SUN4I_CODEC_ADC_FIFOC_ADC_FS);
  
@@ -218,7 +219,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
  
                scodec->capture_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES;
        }
-@@ -510,9 +561,9 @@ static int sun4i_codec_hw_params_playbac
+@@ -512,9 +563,9 @@ static int sun4i_codec_hw_params_playbac
        u32 val;
  
        /* Set DAC sample rate */
@@ -231,7 +232,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
  
        /* Set the number of channels we want to use */
        if (params_channels(params) == 1)
-@@ -520,27 +571,26 @@ static int sun4i_codec_hw_params_playbac
+@@ -522,27 +573,26 @@ static int sun4i_codec_hw_params_playbac
        else
                val = 0;
  
@@ -269,7 +270,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
  
                scodec->playback_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES;
        }
-@@ -561,7 +611,11 @@ static int sun4i_codec_hw_params(struct
+@@ -563,7 +613,11 @@ static int sun4i_codec_hw_params(struct
        if (!clk_freq)
                return -EINVAL;
  
@@ -282,7 +283,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
        if (ret)
                return ret;
  
-@@ -587,10 +641,14 @@ static int sun4i_codec_startup(struct sn
+@@ -589,10 +643,14 @@ static int sun4i_codec_startup(struct sn
         * Stop issuing DRQ when we have room for less than 16 samples
         * in our TX FIFO
         */
@@ -300,7 +301,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
  }
  
  static void sun4i_codec_shutdown(struct snd_pcm_substream *substream,
-@@ -599,7 +657,11 @@ static void sun4i_codec_shutdown(struct
+@@ -601,7 +659,11 @@ static void sun4i_codec_shutdown(struct
        struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream);
        struct sun4i_codec *scodec = snd_soc_card_get_drvdata(rtd->card);
  
@@ -313,7 +314,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
  }
  
  static const struct snd_soc_dai_ops sun4i_codec_dai_ops = {
-@@ -1216,6 +1278,55 @@ static const struct snd_soc_component_dr
+@@ -1218,6 +1280,55 @@ static const struct snd_soc_component_dr
        .endianness             = 1,
  };
  
@@ -369,7 +370,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
  static const struct snd_soc_component_driver sun4i_codec_component = {
        .name                   = "sun4i-codec",
        .legacy_dai_naming      = 1,
-@@ -1518,6 +1629,66 @@ static struct snd_soc_card *sun8i_v3s_co
+@@ -1564,6 +1675,66 @@ static struct snd_soc_card *sun8i_v3s_co
        return card;
  };
  
@@ -436,7 +437,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
  static const struct regmap_config sun4i_codec_regmap_config = {
        .reg_bits       = 32,
        .reg_stride     = 4,
-@@ -1560,21 +1731,22 @@ static const struct regmap_config sun8i_
+@@ -1606,21 +1777,22 @@ static const struct regmap_config sun8i_
        .max_register   = SUN8I_H3_CODEC_ADC_DBG,
  };
  
@@ -467,7 +468,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
        .reg_dac_txdata = SUN4I_CODEC_DAC_TXDATA,
        .reg_adc_rxdata = SUN4I_CODEC_ADC_RXDATA,
  };
-@@ -1583,7 +1755,11 @@ static const struct sun4i_codec_quirks s
+@@ -1629,7 +1801,11 @@ static const struct sun4i_codec_quirks s
        .regmap_config  = &sun6i_codec_regmap_config,
        .codec          = &sun6i_codec_codec,
        .create_card    = sun6i_codec_create_card,
@@ -479,7 +480,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
        .reg_dac_txdata = SUN4I_CODEC_DAC_TXDATA,
        .reg_adc_rxdata = SUN6I_CODEC_ADC_RXDATA,
        .has_reset      = true,
-@@ -1593,7 +1769,11 @@ static const struct sun4i_codec_quirks s
+@@ -1639,7 +1815,11 @@ static const struct sun4i_codec_quirks s
        .regmap_config  = &sun7i_codec_regmap_config,
        .codec          = &sun7i_codec_codec,
        .create_card    = sun4i_codec_create_card,
@@ -491,7 +492,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
        .reg_dac_txdata = SUN4I_CODEC_DAC_TXDATA,
        .reg_adc_rxdata = SUN4I_CODEC_ADC_RXDATA,
  };
-@@ -1602,7 +1782,11 @@ static const struct sun4i_codec_quirks s
+@@ -1648,7 +1828,11 @@ static const struct sun4i_codec_quirks s
        .regmap_config  = &sun8i_a23_codec_regmap_config,
        .codec          = &sun8i_a23_codec_codec,
        .create_card    = sun8i_a23_codec_create_card,
@@ -503,7 +504,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
        .reg_dac_txdata = SUN4I_CODEC_DAC_TXDATA,
        .reg_adc_rxdata = SUN6I_CODEC_ADC_RXDATA,
        .has_reset      = true,
-@@ -1617,7 +1801,11 @@ static const struct sun4i_codec_quirks s
+@@ -1663,7 +1847,11 @@ static const struct sun4i_codec_quirks s
         */
        .codec          = &sun8i_a23_codec_codec,
        .create_card    = sun8i_h3_codec_create_card,
@@ -515,7 +516,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
        .reg_dac_txdata = SUN8I_H3_CODEC_DAC_TXDATA,
        .reg_adc_rxdata = SUN6I_CODEC_ADC_RXDATA,
        .has_reset      = true,
-@@ -1631,12 +1819,31 @@ static const struct sun4i_codec_quirks s
+@@ -1677,12 +1865,31 @@ static const struct sun4i_codec_quirks s
         */
        .codec          = &sun8i_a23_codec_codec,
        .create_card    = sun8i_v3s_codec_create_card,
@@ -547,7 +548,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
  static const struct of_device_id sun4i_codec_of_match[] = {
        {
                .compatible = "allwinner,sun4i-a10-codec",
-@@ -1662,6 +1869,10 @@ static const struct of_device_id sun4i_c
+@@ -1708,6 +1915,10 @@ static const struct of_device_id sun4i_c
                .compatible = "allwinner,sun8i-v3s-codec",
                .data = &sun8i_v3s_codec_quirks,
        },
@@ -558,7 +559,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
        {}
  };
  MODULE_DEVICE_TABLE(of, sun4i_codec_of_match);
-@@ -1690,6 +1901,7 @@ static int sun4i_codec_probe(struct plat
+@@ -1736,6 +1947,7 @@ static int sun4i_codec_probe(struct plat
                dev_err(&pdev->dev, "Failed to determine the quirks to use\n");
                return -ENODEV;
        }
@@ -566,7 +567,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
  
        scodec->regmap = devm_regmap_init_mmio(&pdev->dev, base,
                                               quirks->regmap_config);
-@@ -1705,10 +1917,24 @@ static int sun4i_codec_probe(struct plat
+@@ -1751,10 +1963,24 @@ static int sun4i_codec_probe(struct plat
                return PTR_ERR(scodec->clk_apb);
        }
  
@@ -595,7 +596,7 @@ Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
        }
  
        if (quirks->has_reset) {
-@@ -1737,6 +1963,16 @@ static int sun4i_codec_probe(struct plat
+@@ -1790,6 +2016,16 @@ static int sun4i_codec_probe(struct plat
                dev_err(&pdev->dev, "Failed to create regmap fields: %d\n",
                        ret);
                return ret;
index d40a483fd3537b842c9b72be83efba95a242d942..7dd0031264ba1a48e6113f22513be1c1d60801b4 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Jens Axboe <axboe@kernel.dk>
 
 --- a/block/blk.h
 +++ b/block/blk.h
-@@ -555,6 +555,7 @@ void blk_free_ext_minor(unsigned int min
+@@ -556,6 +556,7 @@ void blk_free_ext_minor(unsigned int min
  #define ADDPART_FLAG_NONE     0
  #define ADDPART_FLAG_RAID     1
  #define ADDPART_FLAG_WHOLEDISK        2
index a64bc51d9c44c5da1dc5a8afdf855091a2ad5e6a..669b58d22adb77f3a3f359e9800af7c8bd14d8b8 100644 (file)
@@ -546,7 +546,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  };
 --- a/drivers/net/phy/nxp-c45-tja11xx.c
 +++ b/drivers/net/phy/nxp-c45-tja11xx.c
-@@ -2052,7 +2052,7 @@ static struct phy_driver nxp_c45_driver[
+@@ -2102,7 +2102,7 @@ static struct phy_driver nxp_c45_driver[
  
  module_phy_driver(nxp_c45_driver);
  
index 46d41fb2623cf10b4165380a34ff1d6d82b58ccb..080dae31e67dcad38914581669cb2b7a34f2b6bb 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -4777,11 +4777,7 @@ static void r8169_phylink_handler(struct
+@@ -4804,11 +4804,7 @@ static void r8169_phylink_handler(struct
        if (netif_carrier_ok(ndev)) {
                rtl_link_chg_patch(tp);
                pm_request_resume(d);
index 5a27cc4b5251676851bf68cbe27eb6d9fc6930b1..f7d2d23c2aa545d1d1c226c40a0eb352c24973b4 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -5489,11 +5489,6 @@ static int rtl_init_one(struct pci_dev *
+@@ -5517,11 +5517,6 @@ static int rtl_init_one(struct pci_dev *
  
        dev->features |= dev->hw_features;
  
@@ -32,7 +32,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        if (rtl_chip_supports_csum_v2(tp)) {
                dev->hw_features |= NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6;
                netif_set_tso_max_size(dev, RTL_GSO_MAX_SIZE_V2);
-@@ -5504,6 +5499,17 @@ static int rtl_init_one(struct pci_dev *
+@@ -5532,6 +5527,17 @@ static int rtl_init_one(struct pci_dev *
                netif_set_tso_max_segs(dev, RTL_GSO_MAX_SEGS_V1);
        }
  
index bb0b77e6a346a587877a9b11d7812115c75f7df9..cef8e1e4711e968e15356d2c6a41ea1f9d340aa6 100644 (file)
@@ -118,7 +118,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  };
  
  static enum mac_version rtl8169_get_mac_version(u16 xid, bool gmii)
-@@ -3893,6 +3972,9 @@ static void rtl_hw_start_8125(struct rtl
+@@ -3920,6 +3999,9 @@ static void rtl_hw_start_8125(struct rtl
                break;
        }
  
index 77e7b4321ef73e7f7cf85198495f8f240dc6c510..ef360d062a8ea89f1f3adaf00e007d30bd638910 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
 
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -4800,10 +4800,8 @@ static void rtl_task(struct work_struct
+@@ -4827,10 +4827,8 @@ static void rtl_task(struct work_struct
                container_of(work, struct rtl8169_private, wk.work);
        int ret;
  
@@ -30,7 +30,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
  
        if (test_and_clear_bit(RTL_FLAG_TASK_TX_TIMEOUT, tp->wk.flags)) {
                /* if chip isn't accessible, reset bus to revive it */
-@@ -4812,7 +4810,7 @@ static void rtl_task(struct work_struct
+@@ -4839,7 +4837,7 @@ static void rtl_task(struct work_struct
                        if (ret < 0) {
                                netdev_err(tp->dev, "Can't reset secondary PCI bus, detach NIC\n");
                                netif_device_detach(tp->dev);
@@ -39,7 +39,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
                        }
                }
  
-@@ -4831,8 +4829,6 @@ reset:
+@@ -4858,8 +4856,6 @@ reset:
        } else if (test_and_clear_bit(RTL_FLAG_TASK_RESET_NO_QUEUE_WAKE, tp->wk.flags)) {
                rtl_reset_work(tp);
        }
index f6409c321cd7db8a0200b4b9c74477a61edd3ca8..304515fe81cfc35a119e38401467b0d5ee382c2e 100644 (file)
@@ -39,7 +39,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
  }
  
  static void rtl8169_init_phy(struct rtl8169_private *tp)
-@@ -4800,9 +4797,6 @@ static void rtl_task(struct work_struct
+@@ -4827,9 +4824,6 @@ static void rtl_task(struct work_struct
                container_of(work, struct rtl8169_private, wk.work);
        int ret;
  
@@ -49,7 +49,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
        if (test_and_clear_bit(RTL_FLAG_TASK_TX_TIMEOUT, tp->wk.flags)) {
                /* if chip isn't accessible, reset bus to revive it */
                if (RTL_R32(tp, TxConfig) == ~0) {
-@@ -4886,6 +4880,7 @@ static int r8169_phy_connect(struct rtl8
+@@ -4913,6 +4907,7 @@ static int r8169_phy_connect(struct rtl8
  
  static void rtl8169_down(struct rtl8169_private *tp)
  {
@@ -57,7 +57,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
        /* Clear all task flags */
        bitmap_zero(tp->wk.flags, RTL_FLAG_MAX);
  
-@@ -4914,7 +4909,7 @@ static void rtl8169_up(struct rtl8169_pr
+@@ -4941,7 +4936,7 @@ static void rtl8169_up(struct rtl8169_pr
        phy_resume(tp->phydev);
        rtl8169_init_phy(tp);
        napi_enable(&tp->napi);
@@ -66,7 +66,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
        rtl_reset_work(tp);
  
        phy_start(tp->phydev);
-@@ -4931,8 +4926,6 @@ static int rtl8169_close(struct net_devi
+@@ -4958,8 +4953,6 @@ static int rtl8169_close(struct net_devi
        rtl8169_down(tp);
        rtl8169_rx_clear(tp);
  
@@ -75,7 +75,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
        free_irq(tp->irq, tp);
  
        phy_disconnect(tp->phydev);
-@@ -5165,7 +5158,7 @@ static void rtl_remove_one(struct pci_de
+@@ -5192,7 +5185,7 @@ static void rtl_remove_one(struct pci_de
        if (pci_dev_run_wake(pdev))
                pm_runtime_get_noresume(&pdev->dev);
  
@@ -84,7 +84,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
  
        if (IS_ENABLED(CONFIG_R8169_LEDS))
                r8169_remove_leds(tp->leds);
-@@ -5542,6 +5535,7 @@ static int rtl_init_one(struct pci_dev *
+@@ -5570,6 +5563,7 @@ static int rtl_init_one(struct pci_dev *
        tp->irq = pci_irq_vector(pdev, 0);
  
        INIT_WORK(&tp->wk.work, rtl_task);
index 8bb9916cee7afe12041e32365523a96d249f37a3..627c2befdd7ed4473d76b953185719273d55a917 100644 (file)
@@ -86,7 +86,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                RTL_W32(tp, RxConfig, RX_FETCH_DFLT_8125 | RX_DMA_BURST |
                        RX_PAUSE_SLOT_ON);
                break;
-@@ -3871,6 +3872,12 @@ static void rtl_hw_start_8125b(struct rt
+@@ -3897,6 +3898,12 @@ static void rtl_hw_start_8125b(struct rt
        rtl_hw_start_8125_common(tp);
  }
  
@@ -98,8 +98,8 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 +
  static void rtl_hw_start_8126a(struct rtl8169_private *tp)
  {
-       rtl_set_def_aspm_entry_latency(tp);
-@@ -3919,6 +3926,7 @@ static void rtl_hw_config(struct rtl8169
+       rtl_disable_zrxdc_timeout(tp);
+@@ -3946,6 +3953,7 @@ static void rtl_hw_config(struct rtl8169
                [RTL_GIGA_MAC_VER_53] = rtl_hw_start_8117,
                [RTL_GIGA_MAC_VER_61] = rtl_hw_start_8125a_2,
                [RTL_GIGA_MAC_VER_63] = rtl_hw_start_8125b,
@@ -107,7 +107,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                [RTL_GIGA_MAC_VER_65] = rtl_hw_start_8126a,
                [RTL_GIGA_MAC_VER_66] = rtl_hw_start_8126a,
        };
-@@ -3936,6 +3944,7 @@ static void rtl_hw_start_8125(struct rtl
+@@ -3963,6 +3971,7 @@ static void rtl_hw_start_8125(struct rtl
        /* disable interrupt coalescing */
        switch (tp->mac_version) {
        case RTL_GIGA_MAC_VER_61:
index fc6ea34b5909759a83e6417628e4171a58f7571b..f8777b897a3178d78a77b63762164592ac466207 100644 (file)
@@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        EEE_TXIDLE_TIMER_8125   = 0x6048,
  };
  
-@@ -3765,8 +3767,8 @@ static void rtl_hw_start_8125_common(str
+@@ -3791,8 +3793,8 @@ static void rtl_hw_start_8125_common(str
        rtl_pcie_state_l2l3_disable(tp);
  
        RTL_W16(tp, 0x382, 0x221b);
index d8a3eb002919392b05751fe3a5afc36b8f1a8764..7af3abacfb695f170a2fc4fb435f457b6a1f05e7 100644 (file)
@@ -102,7 +102,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        switch (tp->mac_version) {
        case RTL_GIGA_MAC_VER_02 ... RTL_GIGA_MAC_VER_06:
-@@ -5451,8 +5428,6 @@ static int rtl_init_one(struct pci_dev *
+@@ -5479,8 +5456,6 @@ static int rtl_init_one(struct pci_dev *
        tp->supports_gmii = ent->driver_data == RTL_CFG_NO_GBIT ? 0 : 1;
        tp->ocp_base = OCP_STD_PHY_BASE;
  
index 96518cc6c490e27da704b7cab57aab679e55c256..a88283903a8f4763c8995c4077a4a11b6cf73ed6 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -5227,6 +5227,11 @@ static int r8169_mdio_register(struct rt
+@@ -5255,6 +5255,11 @@ static int r8169_mdio_register(struct rt
                phy_support_eee(tp->phydev);
        phy_support_asym_pause(tp->phydev);
  
index 5b1e633a63bd0c91f17fcc2709a16576429795d9..ad938baec021f36a5a9e9d9b2f5c5a31aac8c8dc 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        RTL_FLAG_TASK_TX_TIMEOUT,
        RTL_FLAG_MAX
  };
-@@ -4722,8 +4721,6 @@ static void rtl_task(struct work_struct
+@@ -4749,8 +4748,6 @@ static void rtl_task(struct work_struct
  reset:
                rtl_reset_work(tp);
                netif_wake_queue(tp->dev);
index e67e41d6767cb5494b9b5cef3d5b0319e42a93ca..6753d70ab8c6cb65304c85a774706afcc70756a2 100644 (file)
@@ -47,7 +47,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                 * { 0x7c8, 0x300,      RTL_GIGA_MAC_VER_11 },
                 */
  
-@@ -3802,7 +3801,6 @@ static void rtl_hw_config(struct rtl8169
+@@ -3829,7 +3828,6 @@ static void rtl_hw_config(struct rtl8169
                [RTL_GIGA_MAC_VER_08] = rtl_hw_start_8102e_3,
                [RTL_GIGA_MAC_VER_09] = rtl_hw_start_8102e_2,
                [RTL_GIGA_MAC_VER_10] = NULL,
@@ -55,7 +55,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                [RTL_GIGA_MAC_VER_14] = rtl_hw_start_8401,
                [RTL_GIGA_MAC_VER_17] = rtl_hw_start_8168b,
                [RTL_GIGA_MAC_VER_18] = rtl_hw_start_8168cp_1,
-@@ -4678,12 +4676,6 @@ static irqreturn_t rtl8169_interrupt(int
+@@ -4705,12 +4703,6 @@ static irqreturn_t rtl8169_interrupt(int
        if (status & LinkChg)
                phy_mac_interrupt(tp->phydev);
  
@@ -68,7 +68,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        rtl_irq_disable(tp);
        napi_schedule(&tp->napi);
  out:
-@@ -5099,9 +5091,6 @@ static void rtl_set_irq_mask(struct rtl8
+@@ -5126,9 +5118,6 @@ static void rtl_set_irq_mask(struct rtl8
  
        if (tp->mac_version <= RTL_GIGA_MAC_VER_06)
                tp->irq_mask |= SYSErr | RxFIFOOver;
@@ -78,7 +78,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  }
  
  static int rtl_alloc_irq(struct rtl8169_private *tp)
-@@ -5295,7 +5284,6 @@ static int rtl_jumbo_max(struct rtl8169_
+@@ -5323,7 +5312,6 @@ static int rtl_jumbo_max(struct rtl8169_
        case RTL_GIGA_MAC_VER_02 ... RTL_GIGA_MAC_VER_06:
                return JUMBO_7K;
        /* RTL8168b */
index f7697444448b911fe7af25d2ce7035c07fc85afd..c3a82985f1e072c2973a037546adcfff584a9163 100644 (file)
@@ -107,7 +107,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                RTL_W8(tp, ChipCmd, RTL_R8(tp, ChipCmd) | StopReq);
                rtl_loop_wait_high(tp, &rtl_rxtx_empty_cond, 100, 42);
                rtl_loop_wait_high(tp, &rtl_rxtx_empty_cond_2, 100, 42);
-@@ -2900,7 +2900,7 @@ static void rtl_enable_exit_l1(struct rt
+@@ -2926,7 +2926,7 @@ static void rtl_enable_exit_l1(struct rt
        case RTL_GIGA_MAC_VER_37 ... RTL_GIGA_MAC_VER_38:
                rtl_eri_set_bits(tp, 0xd4, 0x0c00);
                break;
@@ -116,7 +116,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                r8168_mac_ocp_modify(tp, 0xc0ac, 0, 0x1f80);
                break;
        default:
-@@ -2914,7 +2914,7 @@ static void rtl_disable_exit_l1(struct r
+@@ -2940,7 +2940,7 @@ static void rtl_disable_exit_l1(struct r
        case RTL_GIGA_MAC_VER_34 ... RTL_GIGA_MAC_VER_38:
                rtl_eri_clear_bits(tp, 0xd4, 0x1f00);
                break;
@@ -125,7 +125,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                r8168_mac_ocp_modify(tp, 0xc0ac, 0x1f80, 0);
                break;
        default:
-@@ -2940,8 +2940,8 @@ static void rtl_hw_aspm_clkreq_enable(st
+@@ -2966,8 +2966,8 @@ static void rtl_hw_aspm_clkreq_enable(st
  
                rtl_mod_config5(tp, 0, ASPM_en);
                switch (tp->mac_version) {
@@ -136,7 +136,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                        val8 = RTL_R8(tp, INT_CFG0_8125) | INT_CFG0_CLKREQEN;
                        RTL_W8(tp, INT_CFG0_8125, val8);
                        break;
-@@ -2952,7 +2952,7 @@ static void rtl_hw_aspm_clkreq_enable(st
+@@ -2978,7 +2978,7 @@ static void rtl_hw_aspm_clkreq_enable(st
  
                switch (tp->mac_version) {
                case RTL_GIGA_MAC_VER_46 ... RTL_GIGA_MAC_VER_48:
@@ -145,7 +145,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                        /* reset ephy tx/rx disable timer */
                        r8168_mac_ocp_modify(tp, 0xe094, 0xff00, 0);
                        /* chip can trigger L1.2 */
-@@ -2964,7 +2964,7 @@ static void rtl_hw_aspm_clkreq_enable(st
+@@ -2990,7 +2990,7 @@ static void rtl_hw_aspm_clkreq_enable(st
        } else {
                switch (tp->mac_version) {
                case RTL_GIGA_MAC_VER_46 ... RTL_GIGA_MAC_VER_48:
@@ -154,7 +154,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                        r8168_mac_ocp_modify(tp, 0xe092, 0x00ff, 0);
                        break;
                default:
-@@ -2972,8 +2972,8 @@ static void rtl_hw_aspm_clkreq_enable(st
+@@ -2998,8 +2998,8 @@ static void rtl_hw_aspm_clkreq_enable(st
                }
  
                switch (tp->mac_version) {
@@ -165,7 +165,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                        val8 = RTL_R8(tp, INT_CFG0_8125) & ~INT_CFG0_CLKREQEN;
                        RTL_W8(tp, INT_CFG0_8125, val8);
                        break;
-@@ -3693,12 +3693,12 @@ static void rtl_hw_start_8125_common(str
+@@ -3719,12 +3719,12 @@ static void rtl_hw_start_8125_common(str
        /* disable new tx descriptor format */
        r8168_mac_ocp_modify(tp, 0xeb58, 0x0001, 0x0000);
  
@@ -182,7 +182,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                r8168_mac_ocp_modify(tp, 0xe614, 0x0700, 0x0400);
        else if (tp->mac_version == RTL_GIGA_MAC_VER_63)
                r8168_mac_ocp_modify(tp, 0xe614, 0x0700, 0x0200);
-@@ -3716,8 +3716,8 @@ static void rtl_hw_start_8125_common(str
+@@ -3742,8 +3742,8 @@ static void rtl_hw_start_8125_common(str
        r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0030);
        r8168_mac_ocp_modify(tp, 0xe040, 0x1000, 0x0000);
        r8168_mac_ocp_modify(tp, 0xea1c, 0x0003, 0x0001);
@@ -193,7 +193,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                r8168_mac_ocp_modify(tp, 0xea1c, 0x0300, 0x0000);
        else
                r8168_mac_ocp_modify(tp, 0xea1c, 0x0004, 0x0000);
-@@ -3836,8 +3836,8 @@ static void rtl_hw_config(struct rtl8169
+@@ -3863,8 +3863,8 @@ static void rtl_hw_config(struct rtl8169
                [RTL_GIGA_MAC_VER_61] = rtl_hw_start_8125a_2,
                [RTL_GIGA_MAC_VER_63] = rtl_hw_start_8125b,
                [RTL_GIGA_MAC_VER_64] = rtl_hw_start_8125d,
@@ -204,7 +204,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        };
  
        if (hw_configs[tp->mac_version])
-@@ -3858,8 +3858,8 @@ static void rtl_hw_start_8125(struct rtl
+@@ -3885,8 +3885,8 @@ static void rtl_hw_start_8125(struct rtl
                        RTL_W32(tp, i, 0);
                break;
        case RTL_GIGA_MAC_VER_63:
@@ -215,7 +215,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                for (i = 0xa00; i < 0xa80; i += 4)
                        RTL_W32(tp, i, 0);
                RTL_W16(tp, INT_CFG1_8125, 0x0000);
-@@ -4091,7 +4091,7 @@ static void rtl8169_cleanup(struct rtl81
+@@ -4118,7 +4118,7 @@ static void rtl8169_cleanup(struct rtl81
                RTL_W8(tp, ChipCmd, RTL_R8(tp, ChipCmd) | StopReq);
                rtl_loop_wait_high(tp, &rtl_txcfg_empty_cond, 100, 666);
                break;
@@ -224,7 +224,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                rtl_enable_rxdvgate(tp);
                fsleep(2000);
                break;
-@@ -4248,7 +4248,7 @@ static unsigned int rtl_quirk_packet_pad
+@@ -4275,7 +4275,7 @@ static unsigned int rtl_quirk_packet_pad
  
        switch (tp->mac_version) {
        case RTL_GIGA_MAC_VER_34:
@@ -233,7 +233,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                padto = max_t(unsigned int, padto, ETH_ZLEN);
                break;
        default:
-@@ -5265,7 +5265,7 @@ static void rtl_hw_initialize(struct rtl
+@@ -5293,7 +5293,7 @@ static void rtl_hw_initialize(struct rtl
        case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_48:
                rtl_hw_init_8168g(tp);
                break;
index eb565b751d9f339f9fe46fea294cfb0b84794b3e..e53d93f213432fd9ad5a593498d4326c84901e5f 100644 (file)
@@ -62,7 +62,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                { 0x7cf, 0x688, RTL_GIGA_MAC_VER_64 },
  
                /* 8125B family. */
-@@ -3836,6 +3840,7 @@ static void rtl_hw_config(struct rtl8169
+@@ -3863,6 +3867,7 @@ static void rtl_hw_config(struct rtl8169
                [RTL_GIGA_MAC_VER_61] = rtl_hw_start_8125a_2,
                [RTL_GIGA_MAC_VER_63] = rtl_hw_start_8125b,
                [RTL_GIGA_MAC_VER_64] = rtl_hw_start_8125d,
@@ -70,7 +70,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                [RTL_GIGA_MAC_VER_70] = rtl_hw_start_8126a,
                [RTL_GIGA_MAC_VER_71] = rtl_hw_start_8126a,
        };
-@@ -3854,6 +3859,7 @@ static void rtl_hw_start_8125(struct rtl
+@@ -3881,6 +3886,7 @@ static void rtl_hw_start_8125(struct rtl
        switch (tp->mac_version) {
        case RTL_GIGA_MAC_VER_61:
        case RTL_GIGA_MAC_VER_64:
index 35b68bb9c9c0e6872553b2048e1a6f8188ca14dd..e358951f9d1aa5e60c7fa1000b2417c460d8c5d2 100644 (file)
@@ -127,7 +127,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
                /* 8125D family. */
                { 0x7cf, 0x689, RTL_GIGA_MAC_VER_65 },
                { 0x7cf, 0x688, RTL_GIGA_MAC_VER_64 },
-@@ -3841,6 +3869,7 @@ static void rtl_hw_config(struct rtl8169
+@@ -3868,6 +3896,7 @@ static void rtl_hw_config(struct rtl8169
                [RTL_GIGA_MAC_VER_63] = rtl_hw_start_8125b,
                [RTL_GIGA_MAC_VER_64] = rtl_hw_start_8125d,
                [RTL_GIGA_MAC_VER_65] = rtl_hw_start_8125d,
@@ -135,7 +135,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
                [RTL_GIGA_MAC_VER_70] = rtl_hw_start_8126a,
                [RTL_GIGA_MAC_VER_71] = rtl_hw_start_8126a,
        };
-@@ -3860,6 +3889,7 @@ static void rtl_hw_start_8125(struct rtl
+@@ -3887,6 +3916,7 @@ static void rtl_hw_start_8125(struct rtl
        case RTL_GIGA_MAC_VER_61:
        case RTL_GIGA_MAC_VER_64:
        case RTL_GIGA_MAC_VER_65:
diff --git a/target/linux/generic/backport-6.12/780-27-v6.15-r8169-don-t-scan-PHY-addresses-0.patch b/target/linux/generic/backport-6.12/780-27-v6.15-r8169-don-t-scan-PHY-addresses-0.patch
deleted file mode 100644 (file)
index b6ddc76..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From faac69a4ae5abb49e62c79c66b51bb905c9aa5ec Mon Sep 17 00:00:00 2001
-From: Heiner Kallweit <hkallweit1@gmail.com>
-Date: Tue, 4 Feb 2025 07:58:17 +0100
-Subject: [PATCH] r8169: don't scan PHY addresses > 0
-
-The PHY address is a dummy, because r8169 PHY access registers
-don't support a PHY address. Therefore scan address 0 only.
-
-Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
-Reviewed-by: Andrew Lunn <andrew@lunn.ch>
-Link: https://patch.msgid.link/830637dd-4016-4a68-92b3-618fcac6589d@gmail.com
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
----
- drivers/net/ethernet/realtek/r8169_main.c | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/drivers/net/ethernet/realtek/r8169_main.c
-+++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -5222,6 +5222,7 @@ static int r8169_mdio_register(struct rt
-       new_bus->priv = tp;
-       new_bus->parent = &pdev->dev;
-       new_bus->irq[0] = PHY_MAC_INTERRUPT;
-+      new_bus->phy_mask = GENMASK(31, 1);
-       snprintf(new_bus->id, MII_BUS_ID_SIZE, "r8169-%x-%x",
-                pci_domain_nr(pdev->bus), pci_dev_id(pdev));
index 165d7da1be71c04df42c97fc064f78895475814b..1fe7f8c2be0cd3a8724d952faaf19077a49116d5 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -5200,6 +5200,33 @@ static int r8169_mdio_write_reg(struct m
+@@ -5227,6 +5227,33 @@ static int r8169_mdio_write_reg(struct m
        return 0;
  }
  
@@ -53,7 +53,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  static int r8169_mdio_register(struct rtl8169_private *tp)
  {
        struct pci_dev *pdev = tp->pci_dev;
-@@ -5230,6 +5257,11 @@ static int r8169_mdio_register(struct rt
+@@ -5257,6 +5284,11 @@ static int r8169_mdio_register(struct rt
        new_bus->read = r8169_mdio_read_reg;
        new_bus->write = r8169_mdio_write_reg;
  
index 559f742ebeb9204f87f3fe182c80ab57d697bebc..571022051bda3c641eb484fd1b5d1c55f649c981 100644 (file)
@@ -28,7 +28,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
  static const struct {
        const char *name;
-@@ -5359,6 +5360,9 @@ static int rtl_jumbo_max(struct rtl8169_
+@@ -5386,6 +5387,9 @@ static int rtl_jumbo_max(struct rtl8169_
        /* RTL8168c */
        case RTL_GIGA_MAC_VER_18 ... RTL_GIGA_MAC_VER_24:
                return JUMBO_6K;
index 93b79d78237a2b07b2d361fd60b1fe97db7da865..039e6596ac29dde42a87fb18114ed828346f5100 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
 
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -5446,11 +5446,10 @@ static int rtl_init_one(struct pci_dev *
+@@ -5473,11 +5473,10 @@ static int rtl_init_one(struct pci_dev *
        if (region < 0)
                return dev_err_probe(&pdev->dev, -ENODEV, "no MMIO resource found\n");
  
index 5c6ce70d2974083dbcef660385b3b2907faa1d20..7cc6556dd7e4e78a59aa6d01dea42bc66980f258 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -5397,7 +5397,7 @@ done:
+@@ -5424,7 +5424,7 @@ done:
  /* register is set if system vendor successfully tested ASPM 1.2 */
  static bool rtl_aspm_is_safe(struct rtl8169_private *tp)
  {
diff --git a/target/linux/generic/backport-6.12/780-33-v6.15-r8169-disable-RTL8126-ZRX-DC-timeout.patch b/target/linux/generic/backport-6.12/780-33-v6.15-r8169-disable-RTL8126-ZRX-DC-timeout.patch
deleted file mode 100644 (file)
index 1f4240e..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-From b48688ea3c9ac8d5d910c6e91fb7f80d846581f0 Mon Sep 17 00:00:00 2001
-From: ChunHao Lin <hau@realtek.com>
-Date: Tue, 18 Mar 2025 16:37:21 +0800
-Subject: [PATCH] r8169: disable RTL8126 ZRX-DC timeout
-
-Disable it due to it dose not meet ZRX-DC specification. If it is enabled,
-device will exit L1 substate every 100ms. Disable it for saving more power
-in L1 substate.
-
-Signed-off-by: ChunHao Lin <hau@realtek.com>
-Reviewed-by: Heiner Kallweit <hkallweit1@gmail.com>
-Link: https://patch.msgid.link/20250318083721.4127-3-hau@realtek.com
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
----
- drivers/net/ethernet/realtek/r8169_main.c | 27 +++++++++++++++++++++++
- 1 file changed, 27 insertions(+)
-
---- a/drivers/net/ethernet/realtek/r8169_main.c
-+++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -2852,6 +2852,32 @@ static u32 rtl_csi_read(struct rtl8169_p
-               RTL_R32(tp, CSIDR) : ~0;
- }
-+static void rtl_disable_zrxdc_timeout(struct rtl8169_private *tp)
-+{
-+      struct pci_dev *pdev = tp->pci_dev;
-+      u32 csi;
-+      int rc;
-+      u8 val;
-+
-+#define RTL_GEN3_RELATED_OFF  0x0890
-+#define RTL_GEN3_ZRXDC_NONCOMPL       0x1
-+      if (pdev->cfg_size > RTL_GEN3_RELATED_OFF) {
-+              rc = pci_read_config_byte(pdev, RTL_GEN3_RELATED_OFF, &val);
-+              if (rc == PCIBIOS_SUCCESSFUL) {
-+                      val &= ~RTL_GEN3_ZRXDC_NONCOMPL;
-+                      rc = pci_write_config_byte(pdev, RTL_GEN3_RELATED_OFF,
-+                                                 val);
-+                      if (rc == PCIBIOS_SUCCESSFUL)
-+                              return;
-+              }
-+      }
-+
-+      netdev_notice_once(tp->dev,
-+              "No native access to PCI extended config space, falling back to CSI\n");
-+      csi = rtl_csi_read(tp, RTL_GEN3_RELATED_OFF);
-+      rtl_csi_write(tp, RTL_GEN3_RELATED_OFF, csi & ~RTL_GEN3_ZRXDC_NONCOMPL);
-+}
-+
- static void rtl_set_aspm_entry_latency(struct rtl8169_private *tp, u8 val)
- {
-       struct pci_dev *pdev = tp->pci_dev;
-@@ -3824,6 +3850,7 @@ static void rtl_hw_start_8125d(struct rt
- static void rtl_hw_start_8126a(struct rtl8169_private *tp)
- {
-+      rtl_disable_zrxdc_timeout(tp);
-       rtl_set_def_aspm_entry_latency(tp);
-       rtl_hw_start_8125_common(tp);
- }
index 9537bb76e3d44f71b2b654617e0cf203732bdf5f..3d27c9214163941320eb2ae71c463054a1523f53 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/net/core/page_pool.c
 +++ b/net/core/page_pool.c
-@@ -1063,7 +1063,7 @@ static void page_pool_release_retry(stru
+@@ -1064,7 +1064,7 @@ static void page_pool_release_retry(stru
        struct delayed_work *dwq = to_delayed_work(wq);
        struct page_pool *pool = container_of(dwq, typeof(*pool), release_dw);
        void *netdev;
@@ -25,7 +25,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
        inflight = page_pool_release(pool);
        /* In rare cases, a driver bug may cause inflight to go negative.
-@@ -1075,6 +1075,17 @@ static void page_pool_release_retry(stru
+@@ -1076,6 +1076,17 @@ static void page_pool_release_retry(stru
        if (inflight <= 0)
                return;
  
index b62738748fb38f408a86e0b7b384c705efb58fd8..a1356844608feea62d6421f488d4a6f4c3e70e1e 100644 (file)
@@ -235,7 +235,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (!pe)
 --- a/mm/vmalloc.c
 +++ b/mm/vmalloc.c
-@@ -5051,6 +5051,8 @@ static int __init proc_vmalloc_init(void
+@@ -5054,6 +5054,8 @@ static int __init proc_vmalloc_init(void
  {
        void *priv_data = NULL;
  
@@ -341,7 +341,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
 --- a/net/ipv4/fib_trie.c
 +++ b/net/ipv4/fib_trie.c
-@@ -3037,11 +3037,13 @@ static const struct seq_operations fib_r
+@@ -3015,11 +3015,13 @@ static const struct seq_operations fib_r
  
  int __net_init fib_proc_init(struct net *net)
  {
@@ -357,7 +357,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                        fib_triestat_seq_show, NULL))
                goto out2;
  
-@@ -3052,17 +3054,21 @@ int __net_init fib_proc_init(struct net
+@@ -3030,17 +3032,21 @@ int __net_init fib_proc_init(struct net
        return 0;
  
  out3:
index 3f710bc5ee3ddacc181e08dd28bebf457f996c1b..343c2148fcf30792e119f917cfabfa2c7e4b1361 100644 (file)
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.12 = .30
-LINUX_KERNEL_HASH-6.12.30 = df046a48971e40ce0b2e003e7e55b6b1e7da2912120eb216d5d6c8450c9cf82e
+LINUX_VERSION-6.12 = .31
+LINUX_KERNEL_HASH-6.12.31 = b04c5b3e5df6e0aa5e9cd1efe527fac99f9dd39a43b97f13b22f8ca93e524ba7
index f0e8a63a99d3da3b79f3b5d9f1cd5c7168fa6f87..8c7fab9462c67ba95f60864bc20525056b4a1f53 100644 (file)
@@ -424,7 +424,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
  }
  
  static int ip6_tnl_newlink(struct net *src_net, struct net_device *dev,
-@@ -2083,6 +2302,12 @@ static void ip6_tnl_dellink(struct net_d
+@@ -2084,6 +2303,12 @@ static void ip6_tnl_dellink(struct net_d
  
  static size_t ip6_tnl_get_size(const struct net_device *dev)
  {
@@ -437,7 +437,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        return
                /* IFLA_IPTUN_LINK */
                nla_total_size(4) +
-@@ -2112,6 +2337,24 @@ static size_t ip6_tnl_get_size(const str
+@@ -2113,6 +2338,24 @@ static size_t ip6_tnl_get_size(const str
                nla_total_size(0) +
                /* IFLA_IPTUN_FWMARK */
                nla_total_size(4) +
@@ -462,7 +462,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
                0;
  }
  
-@@ -2119,6 +2362,9 @@ static int ip6_tnl_fill_info(struct sk_b
+@@ -2120,6 +2363,9 @@ static int ip6_tnl_fill_info(struct sk_b
  {
        struct ip6_tnl *tunnel = netdev_priv(dev);
        struct __ip6_tnl_parm *parm = &tunnel->parms;
@@ -472,7 +472,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
  
        if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) ||
            nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) ||
-@@ -2128,9 +2374,27 @@ static int ip6_tnl_fill_info(struct sk_b
+@@ -2129,9 +2375,27 @@ static int ip6_tnl_fill_info(struct sk_b
            nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) ||
            nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) ||
            nla_put_u8(skb, IFLA_IPTUN_PROTO, parm->proto) ||
@@ -501,7 +501,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        if (nla_put_u16(skb, IFLA_IPTUN_ENCAP_TYPE, tunnel->encap.type) ||
            nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) ||
            nla_put_be16(skb, IFLA_IPTUN_ENCAP_DPORT, tunnel->encap.dport) ||
-@@ -2170,6 +2434,7 @@ static const struct nla_policy ip6_tnl_p
+@@ -2171,6 +2435,7 @@ static const struct nla_policy ip6_tnl_p
        [IFLA_IPTUN_ENCAP_DPORT]        = { .type = NLA_U16 },
        [IFLA_IPTUN_COLLECT_METADATA]   = { .type = NLA_FLAG },
        [IFLA_IPTUN_FWMARK]             = { .type = NLA_U32 },
index a9aa7a3beb16779afacb1f02c2d871f59f3dfb2b..d10f39cf2219fac267d6f45bfcb05918b7aa8321 100644 (file)
@@ -66,7 +66,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  static void rt_fibinfo_free(struct rtable __rcu **rtp)
 --- a/net/ipv4/fib_trie.c
 +++ b/net/ipv4/fib_trie.c
-@@ -2784,6 +2784,7 @@ static const char *const rtn_type_names[
+@@ -2762,6 +2762,7 @@ static const char *const rtn_type_names[
        [RTN_THROW] = "THROW",
        [RTN_NAT] = "NAT",
        [RTN_XRESOLVE] = "XRESOLVE",
index 446099a2a9fc9a200981990a448ec5baa6c9e692..8f2706e6b42bf7acc27b9e3c1620bdf28396bde1 100644 (file)
@@ -33,7 +33,7 @@ string.
  #include <linux/init.h>
  #include <linux/kref.h>
  #include <linux/module.h>
-@@ -797,6 +800,62 @@ static int nvmem_validate_keepouts(struc
+@@ -811,6 +814,62 @@ static int nvmem_validate_keepouts(struc
        return 0;
  }
  
@@ -96,7 +96,7 @@ string.
  static int nvmem_add_cells_from_dt(struct nvmem_device *nvmem, struct device_node *np)
  {
        struct device *dev = &nvmem->dev;
-@@ -836,6 +895,25 @@ static int nvmem_add_cells_from_dt(struc
+@@ -852,6 +911,25 @@ static int nvmem_add_cells_from_dt(struc
                if (nvmem->fixup_dt_cell_info)
                        nvmem->fixup_dt_cell_info(nvmem, &info);
  
index 139a925ccfdbf5f452c164e8f9fe124122ad1d01..94d43e0ce091403a058995b30396f4614491ec2b 100644 (file)
@@ -38,7 +38,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
  #include <linux/init.h>
  #include <linux/kref.h>
  #include <linux/module.h>
-@@ -800,62 +797,6 @@ static int nvmem_validate_keepouts(struc
+@@ -814,62 +811,6 @@ static int nvmem_validate_keepouts(struc
        return 0;
  }
  
@@ -101,7 +101,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
  static int nvmem_add_cells_from_dt(struct nvmem_device *nvmem, struct device_node *np)
  {
        struct device *dev = &nvmem->dev;
-@@ -895,24 +836,8 @@ static int nvmem_add_cells_from_dt(struc
+@@ -911,24 +852,8 @@ static int nvmem_add_cells_from_dt(struc
                if (nvmem->fixup_dt_cell_info)
                        nvmem->fixup_dt_cell_info(nvmem, &info);
  
index 4c5fdbbf0af94548e26d58731babc09a0c156a81..9d16a43a281a65663ca99db6a250d4f873f6d7ac 100644 (file)
@@ -171,7 +171,7 @@ Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
  
 --- a/include/linux/spi/spi.h
 +++ b/include/linux/spi/spi.h
-@@ -351,6 +351,40 @@ struct spi_driver {
+@@ -348,6 +348,40 @@ struct spi_driver {
        struct device_driver    driver;
  };
  
@@ -212,7 +212,7 @@ Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
  #define to_spi_driver(__drv)   \
        ( __drv ? container_of_const(__drv, struct spi_driver, driver) : NULL )
  
-@@ -757,6 +791,11 @@ struct spi_controller {
+@@ -754,6 +788,11 @@ struct spi_controller {
        void                    *dummy_rx;
        void                    *dummy_tx;
  
@@ -224,7 +224,7 @@ Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
        int (*fw_translate_cs)(struct spi_controller *ctlr, unsigned cs);
  
        /*
-@@ -1660,6 +1699,9 @@ spi_register_board_info(struct spi_board
+@@ -1657,6 +1696,9 @@ spi_register_board_info(struct spi_board
        { return 0; }
  #endif