From 8166bba3fea58a08505dae1aefbb66a108729000 Mon Sep 17 00:00:00 2001 From: Martin Schiller Date: Thu, 4 Dec 2025 10:23:28 +0100 Subject: [PATCH] kernel: bump 5.15 to 5.15.196 Removed because they are upstream: bcm27xx/patches-5.15/950-0119-media-tc358743-Increase-FIFO-level-to-374.patch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=aef1b717d4a27e72f9c1d1ebe32c6d841a7e69fc bcm27xx/patches-5.15/950-0122-media-tc358743-Check-I2C-succeeded-during-probe.patch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=a6ccbe037734ef20016bc57869a90abc4406ea7e bcm27xx/patches-5.15/950-0128-media-tc358743-Return-an-appropriate-colorspace-from.patch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=21ba26a8e3477998df9f52a519169b4c6764c0b2 bcm27xx/patches-5.15/950-0278-media-i2c-tc358743-Only-allow-supported-pixel-fmts-i.patch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=21ba26a8e3477998df9f52a519169b4c6764c0b2 generic/backport-5.15/895-v6.15-0001-sch_htb-make-htb_qlen_notify-idempotent.patch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=967955c9e57f8eebfccc298037d4aaf3d42bc1c9 generic/backport-5.15/895-v6.15-0002-sch_drr-make-drr_qlen_notify-idempotent.patch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=db568d2151cd20a1e516b0454eda8a11a948e72a generic/backport-5.15/895-v6.15-0003-sch_hfsc-make-hfsc_qlen_notify-idempotent.patch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=a5efc95a33bd4fcb879250852828cc58c7862970 generic/backport-5.15/895-v6.15-0004-sch_qfq-make-qfq_qlen_notify-idempotent.patch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=44e2f93f9820a54929ab8cfc6d322a18279bb79b generic/backport-5.15/895-v6.15-0005-sch_htb-make-htb_deactivate-idempotent.patch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=c2d25fddd867ce20a266806634eeeb5c30cb520c mediatek/patches-5.15/821-v5.16-pinctrl-mediatek-moore-check-if-pin_desc-is-valid-be.patch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=4b5022b649abbceb564253fafa9d2c7914d29ee4 Manually adapted: bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch upstream changes to the xhci_free_virt_device(): https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=c78c8e5048b7069b6655613ab4e9795a901dbbee Fix taken from commit efd444537dec. Thanks to Goetz Goerisch. generic/backport-5.15/882-v5.19-rndis_host-limit-scope-of-bogus-MAC-address-detectio.patch upstream changes to generic_rndis_bind(): https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=a6b33d9edf2600bc9647e4f0420714beae6eb329 lantiq/patches-5.15/0152-lantiq-VPE.patch upstream changes to arch/mips/include/asm/vpe.h: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=90c1295da0a78f3ed00388bb5f569d843b18c03d Adapt kernel configuration for newly added option generic: add CONFIG_RESET_BRCMSTB is not set upstream changes to drivers/reset/Kconfig: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=345df19a971a506813d7a33106e35aac31489e78 x86: add CONFIG_MITIGATION_VMSCAPE=y upstream changes to arch/x86/Kconfig: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=2f4f2f8f860cb4c3336a7435ebe8dcfded0c9c6e (cherry picked from commit 6af8e20b45d7) Signed-off-by: Martin Schiller Link: https://github.com/openwrt/openwrt/pull/21040 Signed-off-by: Hauke Mehrtens --- include/kernel-5.15 | 4 +- ...at91-re-factor-clocks-suspend-resume.patch | 8 +- .../910-unaligned_access_hacks.patch | 2 +- ...oup-Disable-cgroup-memory-by-default.patch | 8 +- ...Demote-deferral-errors-to-INFO-level.patch | 4 +- ...8xx-Enable-LEDs-and-auto-negotiation.patch | 6 +- .../950-0064-Add-dwc_otg-driver.patch | 2 +- ...50-0067-fbdev-add-FBIOCOPYAREA-ioctl.patch | 8 +- ...all-the-downstream-rpi-sound-card-dr.patch | 6 +- ...78xx-Read-initial-EEE-status-from-DT.patch | 2 +- ...Disable-TCP-Segmentation-Offload-TSO.patch | 2 +- ...e-enabling-of-EEE-into-PHY-init-code.patch | 4 +- ...e-link-events-to-minimize-poll-storm.patch | 2 +- ...xx-EEE-support-is-now-a-PHY-property.patch | 2 +- ...use-default-alignment-for-rx-buffers.patch | 2 +- ...-tc358743-Increase-FIFO-level-to-374.patch | 31 ------ ...ix-connected-active-CSI-2-lane-repor.patch | 4 +- ...-Add-support-for-972Mbit-s-link-freq.patch | 4 +- ...743-Check-I2C-succeeded-during-probe.patch | 98 ------------------- ...eturn-an-appropriate-colorspace-from.patch | 98 ------------------- ...hci_fixup_endpoint-for-interval-adju.patch | 4 +- ...ore-event-ring-segment-table-entries.patch | 6 +- ...i2c-tc358743-Fix-fallthrough-warning.patch | 2 +- ...43-Only-allow-supported-pixel-fmts-i.patch | 30 ------ ...tft-Add-support-for-display-variants.patch | 6 +- ...ia-i2c-tc358743-Fix-compiler-warning.patch | 2 +- ...EVC_SCALING_MATRIX-attribute-to-v4l2.patch | 2 +- ...upport-for-dynamically-allocated-arr.patch | 16 +-- ...sb_autopm_get_interface-for-devices-.patch | 2 +- ...t-TRBS_PER_SEGMENT-define-in-runtime.patch | 10 +- ...-for-SOF_TIMESTAMPING_TX_SOFTWARE-su.patch | 2 +- ...uirk-for-Superspeed-bulk-OUT-transfe.patch | 6 +- ...ework-XHCI_VLI_SS_BULK_OUT_BUG-quirk.patch | 6 +- ...-unregistering-of-framebuffers-witho.patch | 2 +- ...-unplug-firmware-fb-devices-on-force.patch | 6 +- ...support-for-performing-fake-doorbell.patch | 8 +- .../130-pinctrl-add-bcm63xx-base-code.patch | 2 +- ...-x86-arm64-add-arch_has_hw_pte_young.patch | 2 +- ...-v6.1-05-mm-multi-gen-LRU-groundwork.patch | 2 +- ...lti-gen-LRU-support-page-table-walks.patch | 2 +- ...-gen-LRU-per-node-lru_gen_page-lists.patch | 2 +- ...spinand-Add-support-for-XTX-XT26G0xA.patch | 2 +- ...configurable-downshift-for-addresses.patch | 8 +- ...efined-reg_base-to-be-added-to-every.patch | 8 +- ..._base-and-reg_downshift-for-single-r.patch | 6 +- ...ror-accounting-for-each-read-request.patch | 6 +- ..._eth_soc-add-support-for-coherent-DM.patch | 28 +++--- ..._eth_soc-add-support-for-Wireless-Et.patch | 2 +- ..._eth_soc-allocate-struct-mtk_ppe-sep.patch | 6 +- ..._eth_soc-rework-hardware-flow-table-.patch | 6 +- ..._eth_soc-use-standard-property-for-c.patch | 2 +- ..._eth_soc-rely-on-GFP_KERNEL-for-dma_.patch | 6 +- ..._eth_soc-add-txd_size-to-mtk_soc_dat.patch | 16 +-- ..._eth_soc-rely-on-txd_size-in-mtk_tx_.patch | 10 +- ..._eth_soc-rely-on-txd_size-in-mtk_des.patch | 2 +- ..._eth_soc-add-rxd_size-to-mtk_soc_dat.patch | 16 +-- ..._eth_soc-rely-on-txd_size-field-in-m.patch | 6 +- ..._eth_soc-rely-on-rxd_size-field-in-m.patch | 4 +- ..._eth_soc-introduce-device-register-m.patch | 60 ++++++------ ..._eth_soc-introduce-MTK_NETSYS_V2-sup.patch | 58 +++++------ ..._eth_soc-convert-ring-dma-pointer-to.patch | 14 +-- ..._eth_soc-introduce-support-for-mt798.patch | 4 +- ..._eth_soc-enable-rx-cksum-offload-for.patch | 6 +- ...-users-of-bitmap_foo-to-linkmode_foo.patch | 12 +-- ...populate-supported_interfaces-member.patch | 2 +- ...eth_soc-use-phylink_generic_validate.patch | 2 +- ...mark-as-a-legacy_pre_march2020-drive.patch | 2 +- ...remove-a-copy-of-the-NAPI_POLL_WEIGH.patch | 2 +- ...9-mtk_eth_soc-remove-unused-mac-mode.patch | 2 +- ...th_soc-correct-802.3z-duplex-setting.patch | 2 +- ..._eth_soc-rely-on-page_pool-for-singl.patch | 20 ++-- ...et-mtk_eth_soc-add-basic-XDP-support.patch | 24 ++--- ..._eth_soc-introduce-xdp-ethtool-count.patch | 6 +- ...net-mtk_eth_soc-add-xmit-XDP-support.patch | 16 +-- ..._eth_soc-add-support-for-page_pool_g.patch | 6 +- ..._eth_soc-introduce-mtk_xdp_frame_map.patch | 6 +- ..._eth_soc-introduce-xdp-multi-frag-su.patch | 10 +- ..._eth_soc-fix-hw-hash-reporting-for-M.patch | 4 +- ..._eth_soc-enable-XDP-support-just-for.patch | 2 +- ..._eth_soc-move-gdma_to_ppe-and-ppe_ba.patch | 6 +- ..._eth_soc-move-ppe-table-hash-offset-.patch | 8 +- ..._eth_soc-add-the-capability-to-run-m.patch | 12 +-- ..._eth_soc-move-wdma_base-definitions-.patch | 2 +- ..._eth_soc-add-foe_entry_size-to-mtk_e.patch | 6 +- ..._eth_wed-add-wed-support-for-mt7986-.patch | 4 +- ..._eth_soc-introduce-flow-offloading-s.patch | 12 +-- ..._eth_soc-enable-flow-offloading-supp.patch | 2 +- ..._eth_soc-fix-possible-memory-leak-in.patch | 8 +- ..._eth_soc-fix-resource-leak-in-error-.patch | 2 +- ..._eth_soc-fix-memory-leak-in-error-pa.patch | 6 +- ..._eth_soc-do-not-overwrite-mtu-config.patch | 8 +- ..._eth_soc-remove-cpu_relax-in-mtk_pen.patch | 4 +- ..._eth_soc-fix-RSTCTRL_PPE-0-1-definit.patch | 2 +- ..._eth_soc-introduce-mtk_hw_reset-util.patch | 4 +- ..._eth_soc-introduce-mtk_hw_warm_reset.patch | 8 +- ..._eth_soc-align-reset-procedure-to-ve.patch | 10 +- ..._eth_soc-add-dma-checks-to-mtk_hw_re.patch | 8 +- ..._wed-add-reset-reset_complete-callba.patch | 4 +- ..._eth_soc-increase-tx-ring-side-for-Q.patch | 12 +-- ..._eth_soc-avoid-port_mg-assignment-on.patch | 4 +- ..._eth_soc-implement-multi-queue-suppo.patch | 42 ++++---- ..._eth_soc-fix-VLAN-rx-hardware-accele.patch | 10 +- ..._eth_soc-drop-packets-to-WDMA-if-the.patch | 2 +- ..._eth_soc-disable-hardware-DSA-untagg.patch | 4 +- ..._eth_soc-enable-special-tag-when-any.patch | 6 +- ..._eth_soc-fix-DSA-TX-tag-hwaccel-for-.patch | 4 +- ...t-mtk_eth_soc-add-support-for-MT7981.patch | 4 +- ..._eth_soc-switch-to-external-PCS-driv.patch | 10 +- ..._eth_soc-ppe-add-support-for-flow-ac.patch | 10 +- ..._eth_soc-drop-generic-vlan-rx-offloa.patch | 14 +-- ...3-Include-all-ports-in-enabled_ports.patch | 24 ++--- ...-BCM5301x-workaround-for-a-wrong-CPU.patch | 2 +- ...prove-flow-control-setup-on-BCM5301x.patch | 2 +- ...t-dsa-b53-Drop-unused-cpu_port-field.patch | 42 ++++---- ..._ppe-add-MTK_FOE_ENTRY_V-1-2-_SIZE-m.patch | 10 +- ..._eth_soc-remove-incorrect-PLL-config.patch | 4 +- ..._eth_soc-remove-mac_pcs_get_state-an.patch | 2 +- ..._eth_soc-add-version-in-mtk_soc_data.patch | 50 +++++----- ..._eth_soc-rely-on-MTK_MAX_DEVS-and-re.patch | 24 ++--- ..._eth_soc-add-NETSYS_V3-version-suppo.patch | 12 +-- ..._eth_soc-add-basic-support-for-MT798.patch | 6 +- ..._eth_soc-enable-page_pool-support-fo.patch | 2 +- ..._eth_soc-enable-nft-hw-flowtable_off.patch | 2 +- ..._eth_soc-support-per-flow-accounting.patch | 2 +- ...tk_eth_soc-add-reset-bits-for-MT7988.patch | 8 +- ..._eth_soc-add-support-for-in-SoC-SRAM.patch | 22 ++--- ..._eth_soc-support-36-bit-DMA-addressi.patch | 14 +-- ...iatek-split-tx-and-rx-fields-in-mtk_.patch | 66 ++++++------- ...iatek-use-QDMA-instead-of-ADMAv2-on-.patch | 12 +-- ..._eth_soc-handle-dma-buffer-size-soc-.patch | 38 +++---- ..._eth_soc-implement-.-get-set-_pausep.patch | 4 +- ...ive-renaming-when-an-interface-is-up.patch | 6 +- ...ether-export-usbnet_cdc_zte_rx_fixup.patch | 2 +- ...-scope-of-bogus-MAC-address-detectio.patch | 4 +- ..._htb-make-htb_qlen_notify-idempotent.patch | 34 ------- ..._drr-make-drr_qlen_notify-idempotent.patch | 61 ------------ ...fsc-make-hfsc_qlen_notify-idempotent.patch | 50 ---------- ..._qfq-make-qfq_qlen_notify-idempotent.patch | 62 ------------ ...h_htb-make-htb_deactivate-idempotent.patch | 96 ------------------ target/linux/generic/config-5.15 | 1 + .../hack-5.15/259-regmap_dynamic.patch | 2 +- .../hack-5.15/660-fq_codel_defaults.patch | 2 +- .../721-net-add-packet-mangeling.patch | 14 +-- ...-eth-dpaa2-eth-do-not-hold-rtnl_lock.patch | 4 +- .../780-usb-net-MeigLink_modem_support.patch | 4 +- .../hack-5.15/901-debloat_sock_diag.patch | 2 +- .../generic/hack-5.15/902-debloat_proc.patch | 4 +- .../hack-5.15/904-debloat_dma_buf.patch | 2 +- ...include-asm-rwonce.h-for-kernel-code.patch | 2 +- ...e_mem_map-with-ARCH_PFN_OFFSET-calcu.patch | 2 +- ...nand-add-support-for-ESMT-F50x1G41LB.patch | 2 +- ...nd-Add-support-for-Etron-EM73D044VCx.patch | 2 +- .../pending-5.15/630-packet_socket_type.patch | 6 +- .../pending-5.15/655-increase_skb_pad.patch | 2 +- ...Add-support-for-MAP-E-FMRs-mesh-mode.patch | 22 ++--- ...T-skip-GRO-for-foreign-MAC-addresses.patch | 2 +- ...net-mtk_eth_soc-enable-threaded-NAPI.patch | 6 +- ...d-knob-for-filtering-rx-tx-BPDU-pack.patch | 2 +- ..._eth_soc-work-around-issue-with-send.patch | 4 +- ..._eth_soc-fix-remaining-throughput-re.patch | 2 +- ..._eth_soc-add-paths-and-SerDes-modes-.patch | 4 +- ..._eth_soc-set-coherent-mask-to-get-PP.patch | 2 +- ...ional-threading-for-backlog-processi.patch | 2 +- ...a-b53-add-support-for-BCM63xx-RGMIIs.patch | 6 +- ...dsa-b53-mmap-allow-passing-a-chip-ID.patch | 2 +- ...b53-add-BCM63268-RGMII-configuration.patch | 4 +- ...sa-b53-mdio-add-support-for-BCM53134.patch | 4 +- ...-bus-mhi-core-add-SBL-state-callback.patch | 2 +- .../pending-5.15/920-mangle_bootargs.patch | 4 +- ...msm-use-sdhci_set_clock-instead-of-s.patch | 2 +- ...m-comment-unused-sdhci_msm_set_clock.patch | 2 +- .../999-atm-mpoa-intel-dsl-phy-support.patch | 4 +- ...Mangle-bootloader-s-kernel-arguments.patch | 2 +- ...t-devfreq_get_freq_range-symbol-with.patch | 6 +- ...work-freq_table-to-be-local-to-devfr.patch | 14 +-- .../0001-MIPS-lantiq-add-pcie-driver.patch | 2 +- .../lantiq/patches-5.15/0152-lantiq-VPE.patch | 7 +- ...-lantiq-enable-jumbo-frames-on-GSWIP.patch | 10 +- ...l-the-spi_mem_dtr_supports_op-helper.patch | 2 +- ...lay-a-little-bit-the-dirmap-creation.patch | 4 +- ...te-direct-mapping-descriptors-for-EC.patch | 2 +- .../121-hack-spi-nand-1b-bbm.patch | 4 +- .../330-snand-mtk-bmt-support.patch | 6 +- ...Add-support-for-the-Fidelix-FM35X1GA.patch | 2 +- .../405-mt7986-trng-add-rng-support.patch | 2 +- .../patches-5.15/410-bt-mtk-serial-fix.patch | 2 +- ...and-Add-calibration-support-for-spin.patch | 4 +- ...nor-Add-calibration-support-for-spi-.patch | 2 +- .../804-pwm-add-mt7986-support.patch | 4 +- ...-pwm-mediatek-Add-support-for-MT7981.patch | 6 +- ...-moore-check-if-pin_desc-is-valid-be.patch | 93 ------------------ ...18-i2c-mt65xx-Simplify-with-clk-bulk.patch | 16 +-- ...imize-master_xfer-and-avoid-circular.patch | 14 +-- ...-an-error-handling-path-in-mtk_i2c_p.patch | 2 +- ...move-drivers-from-strlcpy-to-strscpy.patch | 4 +- ...evm_platform_get_and_ioremap_resourc.patch | 2 +- ...t65xx-drop-of_match_ptr-for-ID-table.patch | 2 +- ...i2c-mt65xx-allow-optional-pmic-clock.patch | 2 +- .../901-arm-add-cmdline-override.patch | 2 +- ...Mangle-bootloader-s-kernel-arguments.patch | 2 +- .../oxnas/patches-5.15/500-oxnas-sata.patch | 2 +- ...Mangle-bootloader-s-kernel-arguments.patch | 2 +- ...ethernet-mediatek-support-net-labels.patch | 4 +- .../810-uvc-add-iPassion-iP2970-support.patch | 6 +- target/linux/x86/config-5.15 | 1 + 205 files changed, 711 insertions(+), 1363 deletions(-) delete mode 100644 target/linux/bcm27xx/patches-5.15/950-0119-media-tc358743-Increase-FIFO-level-to-374.patch delete mode 100644 target/linux/bcm27xx/patches-5.15/950-0122-media-tc358743-Check-I2C-succeeded-during-probe.patch delete mode 100644 target/linux/bcm27xx/patches-5.15/950-0128-media-tc358743-Return-an-appropriate-colorspace-from.patch delete mode 100644 target/linux/bcm27xx/patches-5.15/950-0278-media-i2c-tc358743-Only-allow-supported-pixel-fmts-i.patch delete mode 100644 target/linux/generic/backport-5.15/895-v6.15-0001-sch_htb-make-htb_qlen_notify-idempotent.patch delete mode 100644 target/linux/generic/backport-5.15/895-v6.15-0002-sch_drr-make-drr_qlen_notify-idempotent.patch delete mode 100644 target/linux/generic/backport-5.15/895-v6.15-0003-sch_hfsc-make-hfsc_qlen_notify-idempotent.patch delete mode 100644 target/linux/generic/backport-5.15/895-v6.15-0004-sch_qfq-make-qfq_qlen_notify-idempotent.patch delete mode 100644 target/linux/generic/backport-5.15/895-v6.15-0005-sch_htb-make-htb_deactivate-idempotent.patch delete mode 100644 target/linux/mediatek/patches-5.15/821-v5.16-pinctrl-mediatek-moore-check-if-pin_desc-is-valid-be.patch diff --git a/include/kernel-5.15 b/include/kernel-5.15 index 5e3c3bc76e..c32d036773 100644 --- a/include/kernel-5.15 +++ b/include/kernel-5.15 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.15 = .189 -LINUX_KERNEL_HASH-5.15.189 = e3d0025b87278e14733cb326700f17c7cceb54d920622b0d5fcd58a88c6850c3 +LINUX_VERSION-5.15 = .196 +LINUX_KERNEL_HASH-5.15.196 = 83157953598b026fb721c906c60dfdfd8e986f25ecb9910f3504f690e2770e05 diff --git a/target/linux/at91/patches-5.15/100-clk-at91-re-factor-clocks-suspend-resume.patch b/target/linux/at91/patches-5.15/100-clk-at91-re-factor-clocks-suspend-resume.patch index 5d399f6535..7f8fe0b314 100644 --- a/target/linux/at91/patches-5.15/100-clk-at91-re-factor-clocks-suspend-resume.patch +++ b/target/linux/at91/patches-5.15/100-clk-at91-re-factor-clocks-suspend-resume.patch @@ -630,7 +630,7 @@ Signed-off-by: Stephen Boyd static void clk_sam9x5_peripheral_disable(struct clk_hw *hw) { struct clk_sam9x5_peripheral *periph = to_clk_sam9x5_peripheral(hw); -@@ -393,6 +401,23 @@ static int clk_sam9x5_peripheral_set_rat +@@ -396,6 +404,23 @@ static int clk_sam9x5_peripheral_set_rat return -EINVAL; } @@ -654,7 +654,7 @@ Signed-off-by: Stephen Boyd static const struct clk_ops sam9x5_peripheral_ops = { .enable = clk_sam9x5_peripheral_enable, .disable = clk_sam9x5_peripheral_disable, -@@ -400,6 +425,8 @@ static const struct clk_ops sam9x5_perip +@@ -403,6 +428,8 @@ static const struct clk_ops sam9x5_perip .recalc_rate = clk_sam9x5_peripheral_recalc_rate, .round_rate = clk_sam9x5_peripheral_round_rate, .set_rate = clk_sam9x5_peripheral_set_rate, @@ -663,7 +663,7 @@ Signed-off-by: Stephen Boyd }; static const struct clk_ops sam9x5_peripheral_chg_ops = { -@@ -409,6 +436,8 @@ static const struct clk_ops sam9x5_perip +@@ -412,6 +439,8 @@ static const struct clk_ops sam9x5_perip .recalc_rate = clk_sam9x5_peripheral_recalc_rate, .determine_rate = clk_sam9x5_peripheral_determine_rate, .set_rate = clk_sam9x5_peripheral_set_rate, @@ -672,7 +672,7 @@ Signed-off-by: Stephen Boyd }; struct clk_hw * __init -@@ -460,7 +489,6 @@ at91_clk_register_sam9x5_peripheral(stru +@@ -463,7 +492,6 @@ at91_clk_register_sam9x5_peripheral(stru hw = ERR_PTR(ret); } else { clk_sam9x5_peripheral_autodiv(periph); diff --git a/target/linux/ath79/patches-5.15/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-5.15/910-unaligned_access_hacks.patch index 6cc827e8d0..6c2a279285 100644 --- a/target/linux/ath79/patches-5.15/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-5.15/910-unaligned_access_hacks.patch @@ -579,7 +579,7 @@ SVN-Revision: 35130 goto next_ht; --- a/net/ipv6/ip6_offload.c +++ b/net/ipv6/ip6_offload.c -@@ -240,7 +240,7 @@ INDIRECT_CALLABLE_SCOPE struct sk_buff * +@@ -242,7 +242,7 @@ INDIRECT_CALLABLE_SCOPE struct sk_buff * continue; iph2 = (struct ipv6hdr *)(p->data + off); diff --git a/target/linux/bcm27xx/patches-5.15/950-0035-cgroup-Disable-cgroup-memory-by-default.patch b/target/linux/bcm27xx/patches-5.15/950-0035-cgroup-Disable-cgroup-memory-by-default.patch index 48f237903b..840114563d 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0035-cgroup-Disable-cgroup-memory-by-default.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0035-cgroup-Disable-cgroup-memory-by-default.patch @@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c -@@ -5889,6 +5889,9 @@ int __init cgroup_init_early(void) +@@ -5912,6 +5912,9 @@ int __init cgroup_init_early(void) return 0; } @@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell /** * cgroup_init - cgroup initialization * -@@ -5927,6 +5930,12 @@ int __init cgroup_init(void) +@@ -5950,6 +5953,12 @@ int __init cgroup_init(void) mutex_unlock(&cgroup_mutex); @@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell for_each_subsys(ss, ssid) { if (ss->early_init) { struct cgroup_subsys_state *css = -@@ -6527,6 +6536,10 @@ static int __init cgroup_disable(char *s +@@ -6556,6 +6565,10 @@ static int __init cgroup_disable(char *s strcmp(token, ss->legacy_name)) continue; @@ -51,7 +51,7 @@ Signed-off-by: Phil Elwell static_branch_disable(cgroup_subsys_enabled_key[i]); pr_info("Disabling %s control group subsystem\n", ss->name); -@@ -6545,6 +6558,31 @@ static int __init cgroup_disable(char *s +@@ -6574,6 +6587,31 @@ static int __init cgroup_disable(char *s } __setup("cgroup_disable=", cgroup_disable); diff --git a/target/linux/bcm27xx/patches-5.15/950-0051-sound-Demote-deferral-errors-to-INFO-level.patch b/target/linux/bcm27xx/patches-5.15/950-0051-sound-Demote-deferral-errors-to-INFO-level.patch index ce7ad5f4a3..c69e0228c9 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0051-sound-Demote-deferral-errors-to-INFO-level.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0051-sound-Demote-deferral-errors-to-INFO-level.patch @@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c -@@ -1017,7 +1017,7 @@ int snd_soc_add_pcm_runtime(struct snd_s +@@ -1020,7 +1020,7 @@ int snd_soc_add_pcm_runtime(struct snd_s for_each_link_cpus(dai_link, i, cpu) { asoc_rtd_to_cpu(rtd, i) = snd_soc_find_dai(cpu); if (!asoc_rtd_to_cpu(rtd, i)) { @@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell cpu->dai_name); goto _err_defer; } -@@ -1028,7 +1028,7 @@ int snd_soc_add_pcm_runtime(struct snd_s +@@ -1031,7 +1031,7 @@ int snd_soc_add_pcm_runtime(struct snd_s for_each_link_codecs(dai_link, i, codec) { asoc_rtd_to_codec(rtd, i) = snd_soc_find_dai(codec); if (!asoc_rtd_to_codec(rtd, i)) { diff --git a/target/linux/bcm27xx/patches-5.15/950-0055-lan78xx-Enable-LEDs-and-auto-negotiation.patch b/target/linux/bcm27xx/patches-5.15/950-0055-lan78xx-Enable-LEDs-and-auto-negotiation.patch index ecfa90922f..9225becceb 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0055-lan78xx-Enable-LEDs-and-auto-negotiation.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0055-lan78xx-Enable-LEDs-and-auto-negotiation.patch @@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2692,6 +2692,11 @@ static int lan78xx_reset(struct lan78xx_ +@@ -2710,6 +2710,11 @@ static int lan78xx_reset(struct lan78xx_ int ret; u32 buf; u8 sig; @@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell ret = lan78xx_read_reg(dev, HW_CFG, &buf); if (ret < 0) -@@ -2773,6 +2778,10 @@ static int lan78xx_reset(struct lan78xx_ +@@ -2793,6 +2798,10 @@ static int lan78xx_reset(struct lan78xx_ buf |= HW_CFG_MEF_; @@ -37,7 +37,7 @@ Signed-off-by: Phil Elwell ret = lan78xx_write_reg(dev, HW_CFG, buf); if (ret < 0) return ret; -@@ -2872,6 +2881,9 @@ static int lan78xx_reset(struct lan78xx_ +@@ -2892,6 +2901,9 @@ static int lan78xx_reset(struct lan78xx_ buf |= MAC_CR_AUTO_DUPLEX_ | MAC_CR_AUTO_SPEED_; } } diff --git a/target/linux/bcm27xx/patches-5.15/950-0064-Add-dwc_otg-driver.patch b/target/linux/bcm27xx/patches-5.15/950-0064-Add-dwc_otg-driver.patch index 80fb172e04..9ee39d51db 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0064-Add-dwc_otg-driver.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0064-Add-dwc_otg-driver.patch @@ -1123,7 +1123,7 @@ Signed-off-by: Jonathan Bell } --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5689,7 +5689,7 @@ static void port_event(struct usb_hub *h +@@ -5721,7 +5721,7 @@ static void port_event(struct usb_hub *h port_dev->over_current_count++; port_over_current_notify(port_dev); diff --git a/target/linux/bcm27xx/patches-5.15/950-0067-fbdev-add-FBIOCOPYAREA-ioctl.patch b/target/linux/bcm27xx/patches-5.15/950-0067-fbdev-add-FBIOCOPYAREA-ioctl.patch index 773bb66c15..3aae061dd1 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0067-fbdev-add-FBIOCOPYAREA-ioctl.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0067-fbdev-add-FBIOCOPYAREA-ioctl.patch @@ -244,7 +244,7 @@ Signed-off-by: Dave Stevenson static int bcm2708_fb_register(struct bcm2708_fb *fb) --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c -@@ -1099,6 +1099,30 @@ fb_blank(struct fb_info *info, int blank +@@ -1098,6 +1098,30 @@ fb_blank(struct fb_info *info, int blank } EXPORT_SYMBOL(fb_blank); @@ -275,7 +275,7 @@ Signed-off-by: Dave Stevenson static long do_fb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg) { -@@ -1107,6 +1131,7 @@ static long do_fb_ioctl(struct fb_info * +@@ -1106,6 +1130,7 @@ static long do_fb_ioctl(struct fb_info * struct fb_fix_screeninfo fix; struct fb_cmap cmap_from; struct fb_cmap_user cmap; @@ -283,7 +283,7 @@ Signed-off-by: Dave Stevenson void __user *argp = (void __user *)arg; long ret = 0; -@@ -1186,6 +1211,15 @@ static long do_fb_ioctl(struct fb_info * +@@ -1185,6 +1210,15 @@ static long do_fb_ioctl(struct fb_info * unlock_fb_info(info); console_unlock(); break; @@ -299,7 +299,7 @@ Signed-off-by: Dave Stevenson default: lock_fb_info(info); fb = info->fbops; -@@ -1325,6 +1359,7 @@ static long fb_compat_ioctl(struct file +@@ -1324,6 +1358,7 @@ static long fb_compat_ioctl(struct file case FBIOPAN_DISPLAY: case FBIOGET_CON2FBMAP: case FBIOPUT_CON2FBMAP: diff --git a/target/linux/bcm27xx/patches-5.15/950-0084-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch b/target/linux/bcm27xx/patches-5.15/950-0084-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch index e67ab09a1d..44331550e0 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0084-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0084-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch @@ -16797,7 +16797,7 @@ Signed-off-by: Joerg Schambacher +#endif /* _TAS5713_H */ --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c -@@ -1234,7 +1234,7 @@ found: +@@ -1237,7 +1237,7 @@ found: * Returns 0 on success, otherwise a negative error code. */ int snd_soc_runtime_set_dai_fmt(struct snd_soc_pcm_runtime *rtd, @@ -16806,7 +16806,7 @@ Signed-off-by: Joerg Schambacher { struct snd_soc_dai *cpu_dai; struct snd_soc_dai *codec_dai; -@@ -1243,7 +1243,15 @@ int snd_soc_runtime_set_dai_fmt(struct s +@@ -1246,7 +1246,15 @@ int snd_soc_runtime_set_dai_fmt(struct s int ret; for_each_rtd_codec_dais(rtd, i, codec_dai) { @@ -16823,7 +16823,7 @@ Signed-off-by: Joerg Schambacher if (ret != 0 && ret != -ENOTSUPP) return ret; } -@@ -1252,8 +1260,21 @@ int snd_soc_runtime_set_dai_fmt(struct s +@@ -1255,8 +1263,21 @@ int snd_soc_runtime_set_dai_fmt(struct s * Flip the polarity for the "CPU" end of a CODEC<->CODEC link * the component which has non_legacy_dai_naming is Codec */ diff --git a/target/linux/bcm27xx/patches-5.15/950-0098-lan78xx-Read-initial-EEE-status-from-DT.patch b/target/linux/bcm27xx/patches-5.15/950-0098-lan78xx-Read-initial-EEE-status-from-DT.patch index 39a904313a..8d0aa43478 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0098-lan78xx-Read-initial-EEE-status-from-DT.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0098-lan78xx-Read-initial-EEE-status-from-DT.patch @@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2937,6 +2937,22 @@ static int lan78xx_open(struct net_devic +@@ -2957,6 +2957,22 @@ static int lan78xx_open(struct net_devic netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); diff --git a/target/linux/bcm27xx/patches-5.15/950-0104-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch b/target/linux/bcm27xx/patches-5.15/950-0104-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch index a87565aaa5..eff0d594a6 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0104-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0104-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch @@ -37,7 +37,7 @@ Signed-off-by: Dave Stevenson static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data) { u32 *buf; -@@ -3266,8 +3275,14 @@ static int lan78xx_bind(struct lan78xx_n +@@ -3286,8 +3295,14 @@ static int lan78xx_bind(struct lan78xx_n if (DEFAULT_RX_CSUM_ENABLE) dev->net->features |= NETIF_F_RXCSUM; diff --git a/target/linux/bcm27xx/patches-5.15/950-0105-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch b/target/linux/bcm27xx/patches-5.15/950-0105-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch index 004c362c00..731e3fb147 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0105-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0105-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch @@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2253,6 +2253,22 @@ static int lan78xx_phy_init(struct lan78 +@@ -2271,6 +2271,22 @@ static int lan78xx_phy_init(struct lan78 mii_adv_to_linkmode_adv_t(fc, mii_adv); linkmode_or(phydev->advertising, fc, phydev->advertising); @@ -39,7 +39,7 @@ Signed-off-by: Phil Elwell if (phydev->mdio.dev.of_node) { u32 reg; int len; -@@ -2946,22 +2962,6 @@ static int lan78xx_open(struct net_devic +@@ -2966,22 +2982,6 @@ static int lan78xx_open(struct net_devic netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); diff --git a/target/linux/bcm27xx/patches-5.15/950-0114-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch b/target/linux/bcm27xx/patches-5.15/950-0114-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch index 50e3e89a7b..bfe1c991bc 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0114-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0114-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch @@ -28,7 +28,7 @@ See: https://github.com/raspberrypi/linux/issues/2447 static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data) { u32 *buf; -@@ -4128,7 +4133,13 @@ static int lan78xx_probe(struct usb_inte +@@ -4148,7 +4153,13 @@ static int lan78xx_probe(struct usb_inte netdev->max_mtu = MAX_SINGLE_PACKET_SIZE; netif_set_gso_max_size(netdev, MAX_SINGLE_PACKET_SIZE - MAX_HEADER); diff --git a/target/linux/bcm27xx/patches-5.15/950-0115-lan78xx-EEE-support-is-now-a-PHY-property.patch b/target/linux/bcm27xx/patches-5.15/950-0115-lan78xx-EEE-support-is-now-a-PHY-property.patch index 340a7851f5..ccf10f2bb4 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0115-lan78xx-EEE-support-is-now-a-PHY-property.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0115-lan78xx-EEE-support-is-now-a-PHY-property.patch @@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2258,7 +2258,7 @@ static int lan78xx_phy_init(struct lan78 +@@ -2276,7 +2276,7 @@ static int lan78xx_phy_init(struct lan78 mii_adv_to_linkmode_adv_t(fc, mii_adv); linkmode_or(phydev->advertising, fc, phydev->advertising); diff --git a/target/linux/bcm27xx/patches-5.15/950-0118-lan78xx-use-default-alignment-for-rx-buffers.patch b/target/linux/bcm27xx/patches-5.15/950-0118-lan78xx-use-default-alignment-for-rx-buffers.patch index 36bcd59246..55be4f5348 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0118-lan78xx-use-default-alignment-for-rx-buffers.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0118-lan78xx-use-default-alignment-for-rx-buffers.patch @@ -12,7 +12,7 @@ in both dwc_otg and in ipv6 processing. --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -3505,7 +3505,7 @@ static int rx_submit(struct lan78xx_net +@@ -3525,7 +3525,7 @@ static int rx_submit(struct lan78xx_net size_t size = dev->rx_urb_size; int ret = 0; diff --git a/target/linux/bcm27xx/patches-5.15/950-0119-media-tc358743-Increase-FIFO-level-to-374.patch b/target/linux/bcm27xx/patches-5.15/950-0119-media-tc358743-Increase-FIFO-level-to-374.patch deleted file mode 100644 index 1bbe7e0180..0000000000 --- a/target/linux/bcm27xx/patches-5.15/950-0119-media-tc358743-Increase-FIFO-level-to-374.patch +++ /dev/null @@ -1,31 +0,0 @@ -From dc5f634e99c4d31ce4b43f42ce789ebb943c38a5 Mon Sep 17 00:00:00 2001 -From: Dave Stevenson -Date: Wed, 31 Oct 2018 14:56:59 +0000 -Subject: [PATCH] media: tc358743: Increase FIFO level to 374. - -The existing fixed value of 16 worked for UYVY 720P60 over -2 lanes at 594MHz, or UYVY 1080P60 over 4 lanes. (RGB888 -1080P60 needs 6 lanes at 594MHz). -It doesn't allow for lower resolutions to work as the FIFO -underflows. - -374 is required for 1080P24-30 UYVY over 2 lanes @ 972Mbit/s, but ->374 means that the FIFO underflows on 1080P50 UYVY over 2 lanes -@ 972Mbit/s. - -Signed-off-by: Dave Stevenson ---- - drivers/media/i2c/tc358743.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/media/i2c/tc358743.c -+++ b/drivers/media/i2c/tc358743.c -@@ -1954,7 +1954,7 @@ static int tc358743_probe_of(struct tc35 - state->pdata.ddc5v_delay = DDC5V_DELAY_100_MS; - state->pdata.enable_hdcp = false; - /* A FIFO level of 16 should be enough for 2-lane 720p60 at 594 MHz. */ -- state->pdata.fifo_level = 16; -+ state->pdata.fifo_level = 374; - /* - * The PLL input clock is obtained by dividing refclk by pll_prd. - * It must be between 6 MHz and 40 MHz, lower frequency is better. diff --git a/target/linux/bcm27xx/patches-5.15/950-0120-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch b/target/linux/bcm27xx/patches-5.15/950-0120-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch index 382561cec3..c7c84200ee 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0120-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0120-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch @@ -24,7 +24,7 @@ Signed-off-by: Philipp Zabel --- a/drivers/media/i2c/tc358743.c +++ b/drivers/media/i2c/tc358743.c -@@ -1613,11 +1613,20 @@ static int tc358743_get_mbus_config(stru +@@ -1630,11 +1630,20 @@ static int tc358743_get_mbus_config(stru struct v4l2_mbus_config *cfg) { struct tc358743_state *state = to_state(sd); @@ -47,7 +47,7 @@ Signed-off-by: Philipp Zabel switch (state->csi_lanes_in_use) { case 1: -@@ -2060,6 +2069,7 @@ static int tc358743_probe(struct i2c_cli +@@ -2079,6 +2088,7 @@ static int tc358743_probe(struct i2c_cli if (pdata) { state->pdata = *pdata; state->bus.flags = V4L2_MBUS_CSI2_CONTINUOUS_CLOCK; diff --git a/target/linux/bcm27xx/patches-5.15/950-0121-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch b/target/linux/bcm27xx/patches-5.15/950-0121-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch index a3617884a6..12cf0e2458 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0121-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0121-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch @@ -13,7 +13,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/media/i2c/tc358743.c +++ b/drivers/media/i2c/tc358743.c -@@ -1983,6 +1983,7 @@ static int tc358743_probe_of(struct tc35 +@@ -2001,6 +2001,7 @@ static int tc358743_probe_of(struct tc35 /* * The CSI bps per lane must be between 62.5 Mbps and 1 Gbps. * The default is 594 Mbps for 4-lane 1080p60 or 2-lane 720p60. @@ -21,7 +21,7 @@ Signed-off-by: Dave Stevenson */ bps_pr_lane = 2 * endpoint.link_frequencies[0]; if (bps_pr_lane < 62500000U || bps_pr_lane > 1000000000U) { -@@ -1996,23 +1997,41 @@ static int tc358743_probe_of(struct tc35 +@@ -2014,23 +2015,41 @@ static int tc358743_probe_of(struct tc35 state->pdata.refclk_hz * state->pdata.pll_prd; /* diff --git a/target/linux/bcm27xx/patches-5.15/950-0122-media-tc358743-Check-I2C-succeeded-during-probe.patch b/target/linux/bcm27xx/patches-5.15/950-0122-media-tc358743-Check-I2C-succeeded-during-probe.patch deleted file mode 100644 index 79ff85cd1e..0000000000 --- a/target/linux/bcm27xx/patches-5.15/950-0122-media-tc358743-Check-I2C-succeeded-during-probe.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 6e37652fbafcec197fb7de4ec25e5073b261551b Mon Sep 17 00:00:00 2001 -From: Dave Stevenson -Date: Wed, 31 Oct 2018 14:57:34 +0000 -Subject: [PATCH] media: tc358743: Check I2C succeeded during probe. - -The probe for the TC358743 reads the CHIPID register from -the device and compares it to the expected value of 0. -If the I2C request fails then that also returns 0, so -the driver loads thinking that the device is there. - -Generally I2C communications are reliable so there is -limited need to check the return value on every transfer, -therefore only amend the one read during probe to check -for I2C errors. - -Signed-off-by: Dave Stevenson ---- - drivers/media/i2c/tc358743.c | 27 +++++++++++++++++++++++---- - 1 file changed, 23 insertions(+), 4 deletions(-) - ---- a/drivers/media/i2c/tc358743.c -+++ b/drivers/media/i2c/tc358743.c -@@ -110,7 +110,7 @@ static inline struct tc358743_state *to_ - - /* --------------- I2C --------------- */ - --static void i2c_rd(struct v4l2_subdev *sd, u16 reg, u8 *values, u32 n) -+static int i2c_rd(struct v4l2_subdev *sd, u16 reg, u8 *values, u32 n) - { - struct tc358743_state *state = to_state(sd); - struct i2c_client *client = state->i2c_client; -@@ -136,6 +136,7 @@ static void i2c_rd(struct v4l2_subdev *s - v4l2_err(sd, "%s: reading register 0x%x from 0x%x failed\n", - __func__, reg, client->addr); - } -+ return err != ARRAY_SIZE(msgs); - } - - static void i2c_wr(struct v4l2_subdev *sd, u16 reg, u8 *values, u32 n) -@@ -192,15 +193,24 @@ static void i2c_wr(struct v4l2_subdev *s - } - } - --static noinline u32 i2c_rdreg(struct v4l2_subdev *sd, u16 reg, u32 n) -+static noinline u32 i2c_rdreg_err(struct v4l2_subdev *sd, u16 reg, u32 n, -+ int *err) - { -+ int error; - __le32 val = 0; - -- i2c_rd(sd, reg, (u8 __force *)&val, n); -+ error = i2c_rd(sd, reg, (u8 __force *)&val, n); -+ if (err) -+ *err = error; - - return le32_to_cpu(val); - } - -+static inline u32 i2c_rdreg(struct v4l2_subdev *sd, u16 reg, u32 n) -+{ -+ return i2c_rdreg_err(sd, reg, n, NULL); -+} -+ - static noinline void i2c_wrreg(struct v4l2_subdev *sd, u16 reg, u32 val, u32 n) - { - __le32 raw = cpu_to_le32(val); -@@ -229,6 +239,13 @@ static u16 i2c_rd16(struct v4l2_subdev * - return i2c_rdreg(sd, reg, 2); - } - -+static int i2c_rd16_err(struct v4l2_subdev *sd, u16 reg, u16 *value) -+{ -+ int err; -+ *value = i2c_rdreg_err(sd, reg, 2, &err); -+ return err; -+} -+ - static void i2c_wr16(struct v4l2_subdev *sd, u16 reg, u16 val) - { - i2c_wrreg(sd, reg, val, 2); -@@ -2070,6 +2087,7 @@ static int tc358743_probe(struct i2c_cli - struct tc358743_platform_data *pdata = client->dev.platform_data; - struct v4l2_subdev *sd; - u16 irq_mask = MASK_HDMI_MSK | MASK_CSI_MSK; -+ u16 chipid; - int err; - - if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA)) -@@ -2102,7 +2120,8 @@ static int tc358743_probe(struct i2c_cli - sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE | V4L2_SUBDEV_FL_HAS_EVENTS; - - /* i2c access */ -- if ((i2c_rd16(sd, CHIPID) & MASK_CHIPID) != 0) { -+ if (i2c_rd16_err(sd, CHIPID, &chipid) || -+ (chipid & MASK_CHIPID) != 0) { - v4l2_info(sd, "not a TC358743 on address 0x%x\n", - client->addr << 1); - return -ENODEV; diff --git a/target/linux/bcm27xx/patches-5.15/950-0128-media-tc358743-Return-an-appropriate-colorspace-from.patch b/target/linux/bcm27xx/patches-5.15/950-0128-media-tc358743-Return-an-appropriate-colorspace-from.patch deleted file mode 100644 index dbc40f79b3..0000000000 --- a/target/linux/bcm27xx/patches-5.15/950-0128-media-tc358743-Return-an-appropriate-colorspace-from.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 15d83e43c7eae44c48cdd3b2cd239c9ff2f74b2f Mon Sep 17 00:00:00 2001 -From: Dave Stevenson -Date: Thu, 22 Nov 2018 17:31:06 +0000 -Subject: [PATCH] media: tc358743: Return an appropriate colorspace - from tc358743_set_fmt - -When calling tc358743_set_fmt, the code was calling tc358743_get_fmt -to choose a valid format. However that sets the colorspace -based on what was read back from the chip. When you set the format, -then the driver would choose and program the colorspace based -on the format code. - -The result was that if you called try or set format for UYVY -when the current format was RGB3 then you would get told sRGB, -and try RGB3 when current was UYVY and you would get told -SMPTE170M. - -The value programmed into the chip is determined by this driver, -therefore there is no need to read back the value. Return the -colorspace based on the format set/tried instead. - -Signed-off-by: Dave Stevenson ---- - drivers/media/i2c/tc358743.c | 40 +++++++++++++----------------------- - 1 file changed, 14 insertions(+), 26 deletions(-) - ---- a/drivers/media/i2c/tc358743.c -+++ b/drivers/media/i2c/tc358743.c -@@ -1695,12 +1695,23 @@ static int tc358743_enum_mbus_code(struc - return 0; - } - -+static u32 tc358743_g_colorspace(u32 code) -+{ -+ switch (code) { -+ case MEDIA_BUS_FMT_RGB888_1X24: -+ return V4L2_COLORSPACE_SRGB; -+ case MEDIA_BUS_FMT_UYVY8_1X16: -+ return V4L2_COLORSPACE_SMPTE170M; -+ default: -+ return 0; -+ } -+} -+ - static int tc358743_get_fmt(struct v4l2_subdev *sd, - struct v4l2_subdev_state *sd_state, - struct v4l2_subdev_format *format) - { - struct tc358743_state *state = to_state(sd); -- u8 vi_rep = i2c_rd8(sd, VI_REP); - - if (format->pad != 0) - return -EINVAL; -@@ -1710,23 +1721,7 @@ static int tc358743_get_fmt(struct v4l2_ - format->format.height = state->timings.bt.height; - format->format.field = V4L2_FIELD_NONE; - -- switch (vi_rep & MASK_VOUT_COLOR_SEL) { -- case MASK_VOUT_COLOR_RGB_FULL: -- case MASK_VOUT_COLOR_RGB_LIMITED: -- format->format.colorspace = V4L2_COLORSPACE_SRGB; -- break; -- case MASK_VOUT_COLOR_601_YCBCR_LIMITED: -- case MASK_VOUT_COLOR_601_YCBCR_FULL: -- format->format.colorspace = V4L2_COLORSPACE_SMPTE170M; -- break; -- case MASK_VOUT_COLOR_709_YCBCR_FULL: -- case MASK_VOUT_COLOR_709_YCBCR_LIMITED: -- format->format.colorspace = V4L2_COLORSPACE_REC709; -- break; -- default: -- format->format.colorspace = 0; -- break; -- } -+ format->format.colorspace = tc358743_g_colorspace(format->format.code); - - return 0; - } -@@ -1741,18 +1736,11 @@ static int tc358743_set_fmt(struct v4l2_ - int ret = tc358743_get_fmt(sd, sd_state, format); - - format->format.code = code; -+ format->format.colorspace = tc358743_g_colorspace(code); - - if (ret) - return ret; - -- switch (code) { -- case MEDIA_BUS_FMT_RGB888_1X24: -- case MEDIA_BUS_FMT_UYVY8_1X16: -- break; -- default: -- return -EINVAL; -- } -- - if (format->which == V4L2_SUBDEV_FORMAT_TRY) - return 0; - diff --git a/target/linux/bcm27xx/patches-5.15/950-0152-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch b/target/linux/bcm27xx/patches-5.15/950-0152-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch index 98fb4e535c..e08c49f68c 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0152-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0152-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch @@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c -@@ -1643,6 +1643,109 @@ command_cleanup: +@@ -1645,6 +1645,109 @@ command_cleanup: } /* @@ -125,7 +125,7 @@ Signed-off-by: Jonathan Bell * non-error returns are a promise to giveback() the urb later * we drop ownership so next owner (or urb unlink) can get it */ -@@ -5510,6 +5613,7 @@ static const struct hc_driver xhci_hc_dr +@@ -5520,6 +5623,7 @@ static const struct hc_driver xhci_hc_dr .endpoint_reset = xhci_endpoint_reset, .check_bandwidth = xhci_check_bandwidth, .reset_bandwidth = xhci_reset_bandwidth, diff --git a/target/linux/bcm27xx/patches-5.15/950-0166-xhci-Use-more-event-ring-segment-table-entries.patch b/target/linux/bcm27xx/patches-5.15/950-0166-xhci-Use-more-event-ring-segment-table-entries.patch index 1f4c0b3d5a..3a7bcdd449 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0166-xhci-Use-more-event-ring-segment-table-entries.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0166-xhci-Use-more-event-ring-segment-table-entries.patch @@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/usb/host/xhci-mem.c +++ b/drivers/usb/host/xhci-mem.c -@@ -2282,6 +2282,7 @@ xhci_alloc_interrupter(struct xhci_hcd * +@@ -2284,6 +2284,7 @@ xhci_alloc_interrupter(struct xhci_hcd * { struct device *dev = xhci_to_hcd(xhci)->self.sysdev; struct xhci_interrupter *ir; @@ -30,7 +30,7 @@ Signed-off-by: Jonathan Bell u64 erst_base; u32 erst_size; int ret; -@@ -2302,7 +2303,11 @@ xhci_alloc_interrupter(struct xhci_hcd * +@@ -2304,7 +2305,11 @@ xhci_alloc_interrupter(struct xhci_hcd * return NULL; ir->ir_set = &xhci->run_regs->ir_set[intr_num]; @@ -43,7 +43,7 @@ Signed-off-by: Jonathan Bell 0, flags); if (!ir->event_ring) { xhci_warn(xhci, "Failed to allocate interrupter %d event ring\n", intr_num); -@@ -2318,7 +2323,7 @@ xhci_alloc_interrupter(struct xhci_hcd * +@@ -2320,7 +2325,7 @@ xhci_alloc_interrupter(struct xhci_hcd * /* set ERST count with the number of entries in the segment table */ erst_size = readl(&ir->ir_set->erst_size); erst_size &= ERST_SIZE_MASK; diff --git a/target/linux/bcm27xx/patches-5.15/950-0226-media-i2c-tc358743-Fix-fallthrough-warning.patch b/target/linux/bcm27xx/patches-5.15/950-0226-media-i2c-tc358743-Fix-fallthrough-warning.patch index 54c6997645..d3b43fca66 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0226-media-i2c-tc358743-Fix-fallthrough-warning.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0226-media-i2c-tc358743-Fix-fallthrough-warning.patch @@ -10,7 +10,7 @@ Signed-off-by: Jacko Dirks --- a/drivers/media/i2c/tc358743.c +++ b/drivers/media/i2c/tc358743.c -@@ -2010,6 +2010,7 @@ static int tc358743_probe_of(struct tc35 +@@ -2023,6 +2023,7 @@ static int tc358743_probe_of(struct tc35 switch (bps_pr_lane) { default: dev_warn(dev, "untested bps per lane: %u bps\n", bps_pr_lane); diff --git a/target/linux/bcm27xx/patches-5.15/950-0278-media-i2c-tc358743-Only-allow-supported-pixel-fmts-i.patch b/target/linux/bcm27xx/patches-5.15/950-0278-media-i2c-tc358743-Only-allow-supported-pixel-fmts-i.patch deleted file mode 100644 index c7945ec09b..0000000000 --- a/target/linux/bcm27xx/patches-5.15/950-0278-media-i2c-tc358743-Only-allow-supported-pixel-fmts-i.patch +++ /dev/null @@ -1,30 +0,0 @@ -From fcdf09ccef256160d3d87a49a900fabff20286a4 Mon Sep 17 00:00:00 2001 -From: Dave Stevenson -Date: Fri, 10 Jul 2020 12:40:50 +0100 -Subject: [PATCH] media: i2c: tc358743: Only allow supported pixel fmts - in set_fmt - -Fix commit "media: tc358743: Return an appropriate colorspace from -tc358743_set_fmt" to ensure that the format passed in to set_fmt -is checked to be valid, and reset to the current format if not. - -Signed-off-by: Dave Stevenson ---- - drivers/media/i2c/tc358743.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - ---- a/drivers/media/i2c/tc358743.c -+++ b/drivers/media/i2c/tc358743.c -@@ -1735,8 +1735,10 @@ static int tc358743_set_fmt(struct v4l2_ - u32 code = format->format.code; /* is overwritten by get_fmt */ - int ret = tc358743_get_fmt(sd, sd_state, format); - -- format->format.code = code; -- format->format.colorspace = tc358743_g_colorspace(code); -+ if (code == MEDIA_BUS_FMT_RGB888_1X24 || -+ code == MEDIA_BUS_FMT_UYVY8_1X16) -+ format->format.code = code; -+ format->format.colorspace = tc358743_g_colorspace(format->format.code); - - if (ret) - return ret; diff --git a/target/linux/bcm27xx/patches-5.15/950-0290-staging-fbtft-Add-support-for-display-variants.patch b/target/linux/bcm27xx/patches-5.15/950-0290-staging-fbtft-Add-support-for-display-variants.patch index aa39f9f7de..30e72cd9f1 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0290-staging-fbtft-Add-support-for-display-variants.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0290-staging-fbtft-Add-support-for-display-variants.patch @@ -95,7 +95,7 @@ Signed-off-by: Phil Elwell #include