summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn Bidar2022-10-16 19:01:17 +0300
committerBjörn Bidar2022-10-19 21:07:24 +0300
commit640c8732d2f7f523f501989a32efe1db6a681b64 (patch)
tree7bba76a10048655bc6eb6b53ec39e4012586ac49
parentdafa8d62d3f6493d66afc5d568273f5a7e7b8924 (diff)
downloadaur-640c8732d2f7f523f501989a32efe1db6a681b64.tar.gz
Update to 6.0.2.pf2-1
- New upstream release based on 6.0.2 - Sync kernel config with Arch and Arch32 - Store patches in git Signed-off-by: Björn Bidar <bjorn.bidar@thaodan.de>
-rw-r--r--.SRCINFO206
-rw-r--r--0001-drm-vc4-hdmi-Rework-power-up.patch78
-rw-r--r--0002-ZEN-Add-VHBA-driver.patch1196
-rw-r--r--0002-drm-vc4-hdmi-Depends-on-CONFIG_PM.patch52
-rw-r--r--0003-ZEN-Add-OpenRGB-patches.patch745
-rw-r--r--0003-firmware-tegra-bpmp-Do-only-aligned-access-to-IPC-me.patch57
-rw-r--r--0004-ZEN-Add-ACS-override-support.patch150
-rw-r--r--0004-crypto-lib-remove-unneeded-selection-of-XOR_BLOCKS.patch40
-rw-r--r--0005-ZEN-PCI-Add-Intel-remapped-NVMe-device-support.patch637
-rw-r--r--0005-docs-kerneldoc-preamble-Test-xeCJK.sty-before-loadin.patch88
-rw-r--r--0006-arm64-errata-Add-Cortex-A510-to-the-repeat-tlbi-list.patch96
-rw-r--r--0007-Bluetooth-L2CAP-Fix-build-errors-in-some-archs.patch66
-rw-r--r--0008-Revert-PCI-portdrv-Don-t-disable-AER-reporting-in-ge.patch55
-rw-r--r--0008-ZEN-Disable-stack-conservation-for-GCC.patch31
-rw-r--r--0009-HID-steam-Prevent-NULL-pointer-dereference-in-steam_.patch55
-rw-r--r--0009-ZEN-Initialize-ata-before-graphics.patch47
-rw-r--r--0010-ZEN-Input-evdev-use-call_rcu-when-detaching-client.patch107
-rw-r--r--0010-udmabuf-Set-the-DMA-mask-for-the-udmabuf-device-v2.patch104
-rw-r--r--0011-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch151
-rw-r--r--0011-media-pvrusb2-fix-memory-leak-in-pvr_probe.patch39
-rw-r--r--0012-USB-gadget-Fix-use-after-free-Read-in-usb_udc_uevent.patch76
-rw-r--r--0012-ZEN-cpufreq-Remove-schedutil-dependency-on-Intel-AMD.patch33
-rw-r--r--0013-HID-hidraw-fix-memory-leak-in-hidraw_release.patch66
-rw-r--r--0013-ZEN-intel-pstate-Implement-enable-parameter.patch57
-rw-r--r--0014-ZEN-mm-Disable-watermark-boosting-by-default.patch45
-rw-r--r--0014-net-fix-refcount-bug-in-sk_psock_get-2.patch199
-rw-r--r--0015-ZEN-Tune-mgLRU-to-protect-cache-used-in-the-last-sec.patch32
-rw-r--r--0015-ZEN-mm-Stop-kswapd-early-when-nothing-s-waiting-for-.patch108
-rw-r--r--0015-fbdev-fb_pm2fb-Avoid-potential-divide-by-zero-error.patch50
-rw-r--r--0016-ZEN-mm-Increment-kswapd_waiters-for-throttled-direct.patch78
-rw-r--r--0016-ftrace-Fix-NULL-pointer-dereference-in-is_ftrace_tra.patch97
-rw-r--r--0017-ZEN-mm-Lower-the-non-hugetlbpage-pageblock-size-to-r.patch45
-rw-r--r--0017-bpf-Don-t-redirect-packets-with-invalid-pkt_len.patch77
-rw-r--r--0018-ZEN-mm-Don-t-hog-the-CPU-and-zone-lock-in-rmqueue_bu.patch75
-rw-r--r--0018-mm-rmap-Fix-anon_vma-degree-ambiguity-leading-to-dou.patch173
-rw-r--r--0019-ALSA-usb-audio-Add-quirk-for-LH-Labs-Geek-Out-HD-Aud.patch39
-rw-r--r--0019-ZEN-INTERACTIVE-Base-config-item.patch26
-rw-r--r--0020-HID-input-fix-uclogic-tablets.patch46
-rw-r--r--0020-ZEN-INTERACTIVE-Use-BFQ-as-our-elevator.patch49
-rw-r--r--0021-HID-add-Lenovo-Yoga-C630-battery-quirk.patch50
-rw-r--r--0021-ZEN-INTERACTIVE-Use-Kyber-as-our-elevator-for-multi-.patch44
-rw-r--r--0022-HID-AMD_SFH-Add-a-DMI-quirk-entry-for-Chromebooks.patch60
-rw-r--r--0022-ZEN-INTERACTIVE-Enable-background-reclaim-of-hugepag.patch63
-rw-r--r--0023-HID-Add-Apple-Touchbar-on-T2-Macs-in-hid_have_specia.patch65
-rw-r--r--0023-ZEN-INTERACTIVE-Add-help-text-for-the-MG-LRU-tweaks.patch22
-rw-r--r--0024-HID-asus-ROG-NKey-Ignore-portion-of-0x5a-report.patch43
-rw-r--r--0024-ZEN-INTERACTIVE-Tune-CFS-for-interactivity.patch135
-rw-r--r--0025-HID-nintendo-fix-rumble-worker-null-pointer-deref.patch54
-rw-r--r--0025-ZEN-INTERACTIVE-Tune-ondemand-governor-for-interacti.patch94
-rw-r--r--0026-HID-thrustmaster-Add-sparco-wheel-and-fix-array-leng.patch44
-rw-r--r--0026-ZEN-INTERACTIVE-Document-PDS-BMQ-configuration.patch24
-rw-r--r--0027-HID-intel-ish-hid-ipc-Add-Meteor-Lake-PCI-device-ID.patch45
-rw-r--r--0027-ZEN-INTERACTIVE-mm-Disable-unevictable-compaction.patch37
-rw-r--r--0028-ZEN-INTERACTIVE-mm-Disable-proactive-compaction-by-d.patch42
-rw-r--r--0028-mmc-mtk-sd-Clear-interrupts-when-cqe-off-disable.patch58
-rw-r--r--0029-ZEN-INTERACTIVE-dm-crypt-Disable-workqueues-for-cryp.patch48
-rw-r--r--0029-mmc-sdhci-of-dwcmshc-add-reset-call-back-for-rockchi.patch92
-rw-r--r--0030-mmc-sdhci-of-dwcmshc-rename-rk3568-to-rk35xx.patch202
-rw-r--r--0031-mmc-sdhci-of-dwcmshc-Re-enable-support-for-the-BlueF.patch72
-rw-r--r--0032-fs-ntfs3-Fix-work-with-fragmented-xattr.patch44
-rw-r--r--0033-ASoC-sh-rz-ssi-Improve-error-handling-in-rz_ssi_prob.patch78
-rw-r--r--0034-ASoC-rt5640-Fix-the-JD-voltage-dropping-issue.patch44
-rw-r--r--0035-rtla-Fix-tracer-name.patch62
-rw-r--r--0036-drm-amd-display-Add-a-missing-register-field-for-HPO.patch37
-rw-r--r--0037-drm-amd-display-Device-flash-garbage-before-get-in-O.patch40
-rw-r--r--0038-drm-amd-display-Avoid-MPC-infinite-loop.patch64
-rw-r--r--0039-drm-amd-display-Fix-HDMI-VSIF-V3-incorrect-issue.patch75
-rw-r--r--0040-drm-amd-display-For-stereo-keep-FLIP_ANY_FRAME.patch38
-rw-r--r--0041-drm-amd-display-clear-optc-underflow-before-turn-off.patch44
-rw-r--r--0042-drm-amd-display-Fix-TDR-eDP-and-USB4-display-light-u.patch58
-rw-r--r--0043-drm-amd-pm-skip-pptable-override-for-smu_v13_0_7.patch48
-rw-r--r--0044-drm-amdkfd-Handle-restart-of-kfd_ioctl_wait_events.patch125
-rw-r--r--0045-drm-amd-pm-Fix-a-potential-gpu_metrics_table-memory-.patch37
-rw-r--r--0046-ksmbd-return-STATUS_BAD_NETWORK_NAME-error-status-if.patch51
-rw-r--r--0047-net-lan966x-fix-checking-for-return-value-of-platfor.patch57
-rw-r--r--0048-neigh-fix-possible-DoS-due-to-net-iface-start-stop-l.patch128
-rw-r--r--0049-ALSA-hda-realtek-Add-quirks-for-ASUS-Zenbooks-using-.patch42
-rw-r--r--0050-s390-hypfs-avoid-error-message-under-KVM.patch58
-rw-r--r--0051-ksmbd-don-t-remove-dos-attribute-xattr-on-O_TRUNC-op.patch53
-rw-r--r--0052-drm-amdgpu-disable-3DCGCG-CGLS-temporarily-due-to-st.patch36
-rw-r--r--0053-drm-amd-pm-add-missing-fini_microcode-interface-for-.patch33
-rw-r--r--0054-drm-amd-pm-add-missing-fini_xxxx-interfaces-for-some.patch50
-rw-r--r--0055-drm-amd-display-Fix-pixel-clock-programming.patch48
-rw-r--r--0056-drm-amdgpu-Increase-tlb-flush-timeout-for-sriov.patch85
-rw-r--r--0057-drm-amd-display-Fix-plug-unplug-external-monitor-wil.patch54
-rw-r--r--0058-drm-amd-display-avoid-doing-vm_init-multiple-time.patch45
-rw-r--r--0059-drm-amdgpu-Add-decode_iv_ts-helper-for-ih_v6-block.patch32
-rw-r--r--0060-drm-amdgpu-Add-secure-display-TA-load-for-Renoir.patch41
-rw-r--r--0061-drm-amdgpu-Fix-interrupt-handling-on-ih_soft-ring.patch110
-rw-r--r--0062-netfilter-conntrack-NF_CONNTRACK_PROCFS-should-no-lo.patch34
-rw-r--r--0063-testing-selftests-nft_flowtable.sh-use-random-netns-.patch428
-rw-r--r--0064-platform-x86-serial-multi-instantiate-Add-CLSA0101-L.patch35
-rw-r--r--0065-ALSA-hda-cs8409-Support-new-Dolphin-Variants.patch35
-rw-r--r--0066-btrfs-move-lockdep-class-helpers-to-locking.c.patch246
-rw-r--r--0067-btrfs-fix-lockdep-splat-with-reloc-root-extent-buffe.patch365
-rw-r--r--0068-btrfs-tree-checker-check-for-overlapping-extent-item.patch75
-rw-r--r--0069-android-binder-fix-lockdep-check-on-clearing-vma.patch63
-rw-r--r--0070-net-af_packet-check-len-when-min_header_len-equals-t.patch39
-rw-r--r--0071-net-neigh-don-t-call-kfree_skb-under-spin_lock_irqsa.patch60
-rw-r--r--0072-arm64-cacheinfo-Fix-incorrect-assignment-of-signed-e.patch80
-rw-r--r--PKGBUILD353
-rw-r--r--asus_zenith_ii_map.patch72
-rw-r--r--config.i686285
-rw-r--r--config.x86_64384
-rw-r--r--fix_project_c.patch22
-rw-r--r--pf_defconfig1
106 files changed, 442 insertions, 10517 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ee71e793c45c..d05fc37fd8ad 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,8 +1,8 @@
# Generated by mksrcinfo v8
-# Tue Sep 6 00:31:17 UTC 2022
+# Wed Oct 19 14:32:04 UTC 2022
pkgbase = linux-pf
pkgdesc = Linux with the pf-kernel patch (uksm, ZSTD, FSGSBASE and more)
- pkgver = 5.19.7.pf3
+ pkgver = 6.0.2.pf2
pkgrel = 1
url = https://codeberg.org/pf-kernel/linux/wiki/README
arch = i686
@@ -19,214 +19,20 @@ pkgbase = linux-pf
makedepends = pahole
makedepends = cpio
options = !strip
- source = linux-pf::git+https://codeberg.org/pf-kernel/linux.git#tag=v5.19-pf3
+ source = linux-pf::git+https://codeberg.org/thaodan/linux.git#tag=v6.0.2.pf2.thao1
source = config.x86_64
source = config.i686
source = pf_defconfig
source = linux.preset
source = 90-linux.hook
source = 60-linux.hook
- source = 0002-ZEN-Add-VHBA-driver.patch
- source = 0003-ZEN-Add-OpenRGB-patches.patch
- source = 0004-ZEN-Add-ACS-override-support.patch
- source = 0005-ZEN-PCI-Add-Intel-remapped-NVMe-device-support.patch
- source = 0008-ZEN-Disable-stack-conservation-for-GCC.patch
- source = 0009-ZEN-Initialize-ata-before-graphics.patch
- source = 0010-ZEN-Input-evdev-use-call_rcu-when-detaching-client.patch
- source = 0012-ZEN-cpufreq-Remove-schedutil-dependency-on-Intel-AMD.patch
- source = 0013-ZEN-intel-pstate-Implement-enable-parameter.patch
- source = 0014-ZEN-mm-Disable-watermark-boosting-by-default.patch
- source = 0015-ZEN-mm-Stop-kswapd-early-when-nothing-s-waiting-for-.patch
- source = 0016-ZEN-mm-Increment-kswapd_waiters-for-throttled-direct.patch
- source = 0017-ZEN-mm-Lower-the-non-hugetlbpage-pageblock-size-to-r.patch
- source = 0018-ZEN-mm-Don-t-hog-the-CPU-and-zone-lock-in-rmqueue_bu.patch
- source = 0019-ZEN-INTERACTIVE-Base-config-item.patch
- source = 0020-ZEN-INTERACTIVE-Use-BFQ-as-our-elevator.patch
- source = 0021-ZEN-INTERACTIVE-Use-Kyber-as-our-elevator-for-multi-.patch
- source = 0022-ZEN-INTERACTIVE-Enable-background-reclaim-of-hugepag.patch
- source = 0023-ZEN-INTERACTIVE-Add-help-text-for-the-MG-LRU-tweaks.patch
- source = 0024-ZEN-INTERACTIVE-Tune-CFS-for-interactivity.patch
- source = 0025-ZEN-INTERACTIVE-Tune-ondemand-governor-for-interacti.patch
- source = 0026-ZEN-INTERACTIVE-Document-PDS-BMQ-configuration.patch
- source = 0027-ZEN-INTERACTIVE-mm-Disable-unevictable-compaction.patch
- source = 0028-ZEN-INTERACTIVE-mm-Disable-proactive-compaction-by-d.patch
- source = 0029-ZEN-INTERACTIVE-dm-crypt-Disable-workqueues-for-cryp.patch
- source = 0001-drm-vc4-hdmi-Rework-power-up.patch
- source = 0002-drm-vc4-hdmi-Depends-on-CONFIG_PM.patch
- source = 0003-firmware-tegra-bpmp-Do-only-aligned-access-to-IPC-me.patch
- source = 0004-crypto-lib-remove-unneeded-selection-of-XOR_BLOCKS.patch
- source = 0005-docs-kerneldoc-preamble-Test-xeCJK.sty-before-loadin.patch
- source = 0006-arm64-errata-Add-Cortex-A510-to-the-repeat-tlbi-list.patch
- source = 0007-Bluetooth-L2CAP-Fix-build-errors-in-some-archs.patch
- source = 0008-Revert-PCI-portdrv-Don-t-disable-AER-reporting-in-ge.patch
- source = 0009-HID-steam-Prevent-NULL-pointer-dereference-in-steam_.patch
- source = 0010-udmabuf-Set-the-DMA-mask-for-the-udmabuf-device-v2.patch
- source = 0011-media-pvrusb2-fix-memory-leak-in-pvr_probe.patch
- source = 0012-USB-gadget-Fix-use-after-free-Read-in-usb_udc_uevent.patch
- source = 0013-HID-hidraw-fix-memory-leak-in-hidraw_release.patch
- source = 0014-net-fix-refcount-bug-in-sk_psock_get-2.patch
- source = 0015-fbdev-fb_pm2fb-Avoid-potential-divide-by-zero-error.patch
- source = 0016-ftrace-Fix-NULL-pointer-dereference-in-is_ftrace_tra.patch
- source = 0017-bpf-Don-t-redirect-packets-with-invalid-pkt_len.patch
- source = 0018-mm-rmap-Fix-anon_vma-degree-ambiguity-leading-to-dou.patch
- source = 0019-ALSA-usb-audio-Add-quirk-for-LH-Labs-Geek-Out-HD-Aud.patch
- source = 0020-HID-input-fix-uclogic-tablets.patch
- source = 0021-HID-add-Lenovo-Yoga-C630-battery-quirk.patch
- source = 0022-HID-AMD_SFH-Add-a-DMI-quirk-entry-for-Chromebooks.patch
- source = 0023-HID-Add-Apple-Touchbar-on-T2-Macs-in-hid_have_specia.patch
- source = 0024-HID-asus-ROG-NKey-Ignore-portion-of-0x5a-report.patch
- source = 0025-HID-nintendo-fix-rumble-worker-null-pointer-deref.patch
- source = 0026-HID-thrustmaster-Add-sparco-wheel-and-fix-array-leng.patch
- source = 0027-HID-intel-ish-hid-ipc-Add-Meteor-Lake-PCI-device-ID.patch
- source = 0028-mmc-mtk-sd-Clear-interrupts-when-cqe-off-disable.patch
- source = 0029-mmc-sdhci-of-dwcmshc-add-reset-call-back-for-rockchi.patch
- source = 0030-mmc-sdhci-of-dwcmshc-rename-rk3568-to-rk35xx.patch
- source = 0031-mmc-sdhci-of-dwcmshc-Re-enable-support-for-the-BlueF.patch
- source = 0032-fs-ntfs3-Fix-work-with-fragmented-xattr.patch
- source = 0033-ASoC-sh-rz-ssi-Improve-error-handling-in-rz_ssi_prob.patch
- source = 0034-ASoC-rt5640-Fix-the-JD-voltage-dropping-issue.patch
- source = 0035-rtla-Fix-tracer-name.patch
- source = 0036-drm-amd-display-Add-a-missing-register-field-for-HPO.patch
- source = 0037-drm-amd-display-Device-flash-garbage-before-get-in-O.patch
- source = 0038-drm-amd-display-Avoid-MPC-infinite-loop.patch
- source = 0039-drm-amd-display-Fix-HDMI-VSIF-V3-incorrect-issue.patch
- source = 0040-drm-amd-display-For-stereo-keep-FLIP_ANY_FRAME.patch
- source = 0041-drm-amd-display-clear-optc-underflow-before-turn-off.patch
- source = 0042-drm-amd-display-Fix-TDR-eDP-and-USB4-display-light-u.patch
- source = 0043-drm-amd-pm-skip-pptable-override-for-smu_v13_0_7.patch
- source = 0044-drm-amdkfd-Handle-restart-of-kfd_ioctl_wait_events.patch
- source = 0045-drm-amd-pm-Fix-a-potential-gpu_metrics_table-memory-.patch
- source = 0046-ksmbd-return-STATUS_BAD_NETWORK_NAME-error-status-if.patch
- source = 0047-net-lan966x-fix-checking-for-return-value-of-platfor.patch
- source = 0048-neigh-fix-possible-DoS-due-to-net-iface-start-stop-l.patch
- source = 0049-ALSA-hda-realtek-Add-quirks-for-ASUS-Zenbooks-using-.patch
- source = 0050-s390-hypfs-avoid-error-message-under-KVM.patch
- source = 0051-ksmbd-don-t-remove-dos-attribute-xattr-on-O_TRUNC-op.patch
- source = 0052-drm-amdgpu-disable-3DCGCG-CGLS-temporarily-due-to-st.patch
- source = 0053-drm-amd-pm-add-missing-fini_microcode-interface-for-.patch
- source = 0054-drm-amd-pm-add-missing-fini_xxxx-interfaces-for-some.patch
- source = 0055-drm-amd-display-Fix-pixel-clock-programming.patch
- source = 0056-drm-amdgpu-Increase-tlb-flush-timeout-for-sriov.patch
- source = 0057-drm-amd-display-Fix-plug-unplug-external-monitor-wil.patch
- source = 0058-drm-amd-display-avoid-doing-vm_init-multiple-time.patch
- source = 0059-drm-amdgpu-Add-decode_iv_ts-helper-for-ih_v6-block.patch
- source = 0060-drm-amdgpu-Add-secure-display-TA-load-for-Renoir.patch
- source = 0061-drm-amdgpu-Fix-interrupt-handling-on-ih_soft-ring.patch
- source = 0062-netfilter-conntrack-NF_CONNTRACK_PROCFS-should-no-lo.patch
- source = 0063-testing-selftests-nft_flowtable.sh-use-random-netns-.patch
- source = 0064-platform-x86-serial-multi-instantiate-Add-CLSA0101-L.patch
- source = 0065-ALSA-hda-cs8409-Support-new-Dolphin-Variants.patch
- source = 0066-btrfs-move-lockdep-class-helpers-to-locking.c.patch
- source = 0067-btrfs-fix-lockdep-splat-with-reloc-root-extent-buffe.patch
- source = 0068-btrfs-tree-checker-check-for-overlapping-extent-item.patch
- source = 0069-android-binder-fix-lockdep-check-on-clearing-vma.patch
- source = 0070-net-af_packet-check-len-when-min_header_len-equals-t.patch
- source = 0071-net-neigh-don-t-call-kfree_skb-under-spin_lock_irqsa.patch
- source = 0072-arm64-cacheinfo-Fix-incorrect-assignment-of-signed-e.patch
sha256sums = SKIP
- sha256sums = 49c471ab3cf341c6333f08957c0c3cfccc38a7cef2c9ca1895888f4674b441ec
- sha256sums = 2b4b6887e75c9e6d40d1fa00e4405745da4c0649f7bf8c48e1bb35d511270443
- sha256sums = 30566498a4f549e972fcd430d2fc44b2bd643c55bae20096f083f8837d8c43e4
+ sha256sums = 4415388555aab8845e60f6b3996e3a75b8159d516b7b04a6adb8ade54de3ff9c
+ sha256sums = 64632c7d7d68954da4ecfbd639878eea3041bbbad2d2621c7a6943d89950cb6e
+ sha256sums = 5439b9ed0f03f4e4c69e8d2a1352ee109092c6bc49e4d15c80ed11e084094266
sha256sums = 82d660caa11db0cd34fd550a049d7296b4a9dcd28f2a50c81418066d6e598864
sha256sums = 75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919
sha256sums = ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21
- sha256sums = f78b6b40cad97fd38b15e161d2dcfbdc98b2681a180c6a4f493b6ea362ad311b
- sha256sums = 764bbbad55f251627f7c93a08a70f3a4004e03c74f162df349267686b2167a00
- sha256sums = 28df2ac08a81fc720d46908f239e0e8bfd70d5ba7d6e576c8598c3982a9a2cc4
- sha256sums = 7b2b7cd3846aeadefd5d1e9978078e3feaff53456378cb31489b9cf0971f958f
- sha256sums = 1137f4d0d65ef8985307d1deccdc6fc47f68ef2a0d549ab5a27d5c9a45bec9a7
- sha256sums = 39a6dafe65ae512d3802dd25976bce171826a947568c236ce382f8a12836c9b5
- sha256sums = fd0ecbc2948a490ece2cbd90623c80e210c1674ea8d8f95642c6f67cef435c4a
- sha256sums = cdeacc91b32801c2e46691f5f2bb3612bffd42619cb7b025f4ecba29dec9eaf1
- sha256sums = 20892d64352398893920f48507709d0ff5494c3853c157b87917a086155ce723
- sha256sums = f40434c60dee7731ae88107046dd1400ffe11c1ba4de58850a8319f9bb4847b9
- sha256sums = 70d269b5e1d9b5259481f87e00f7b17d96fa5b389e4b500f1e6862c0116bfa4f
- sha256sums = 8bef9463e0cebb578d4df15b06a447c3b4c850a5eef9ff80c59fb8e2cac81474
- sha256sums = ec795347155a2f509491fb60c9f4e01704d86a2af432278d7bf5efd7db29f9a2
- sha256sums = 07775d7a0e3ba474976f7a28f069aaf009cdc70576aabf861b630268df2ad469
- sha256sums = f1828a4c636138bc53432a057922362399a72055f635a577b791449304d98afe
- sha256sums = 5e6d6aee7f79c9c97c822d3eec8cfa3ca725bf01a60b249175dc0e3b0ca5390f
- sha256sums = aa93dd01631204ac71b902662f58a48186049e2e573e06e6818ab72fa139bdd4
- sha256sums = 854a432bdaf6f94baa92c03e78e10f00c53bc666c4b367adf2d5d330f872c8c5
- sha256sums = f52b1703f39ab0b52978e48d129ec38ace74d3dec790cb87ca7030fd187354fd
- sha256sums = 3d85f031166d16ebb41430b3f17ed4683b85e7640819b0fb61bd927e6cec5139
- sha256sums = ca52bf43327f2c6b0941d3da8fd2a25055bf8f74564be331944c123d18e54330
- sha256sums = 9676de79d5ab66565ab8e19de3f1f70c8ad5994eaf8d5ca1fb6e9ed8426787d9
- sha256sums = 1a2598a00966da4e9985644edb900af7204409411464771c31d67d472595d817
- sha256sums = 3d329b5153230184e270355f61697f5f7248787a4da045ac7b660e837c088630
- sha256sums = c6730df729723340475fa64cf0ce4fee02ff0a1739f355166324bb2abeca5168
- sha256sums = e44a5e123fb22092a009630a8d80c496b70feaf9f9e244d76760290608edf277
- sha256sums = 54676e48e43b41351e3e7e195c5e752f855f44db7a3fe0d4bd66499344da8386
- sha256sums = 33bc73315a5f5757a093bd21fcc68e7a37a9c86ee2b731a85ef3c5067729199a
- sha256sums = f84e76eca884191d9abc0b1876f9d9587e8bfde6a19a4d194445528d5b084f9b
- sha256sums = b5a2082541aeec7162c6e673ea2dd0098f36d97c5deb03059afbf723b6789faa
- sha256sums = 20a3c119838e4487bcc7fc28d4301f39e016afc24c76a33c25a84b9c911e3eed
- sha256sums = 0bbaaf956dcc460bafe874c23b8ed495a46ced76918b044764b172b5719c9d44
- sha256sums = e9a7b6ef185818f1472a15a98bbeb7be020e38c4d25ad3d9fead11961602bc03
- sha256sums = c15ea9caacb98a4d61de2e3c6ecf1fcd083a8ed5a5ee69dc6a05b4583463badc
- sha256sums = 70353d1e4bec0bc3c895887c4b1557e2222b257c34cf0c303781e5ac6b0efec9
- sha256sums = 84301e69155a2404c24f18d8f2cc4986f355a86b9c072d59df9aca787e1abac2
- sha256sums = 9c405a65a4d5d532fc1517e8c67e5d6703cc5bad7daf4c38a3771216fc1719ad
- sha256sums = 96766d4ec6bae908fe6048f39e93fbc8627531daf6b5986cec99edd056581fac
- sha256sums = 05995c977c1cc77fbc49b220d95390147fa448aae2bfa9698a402e8a56b41877
- sha256sums = 9e16ce1da7499d2351dac47649c44a57ac1ec813f2d678d6da270e98359a51e4
- sha256sums = 0c99d880164142334e7b4e0eb87f073ff4d6d15ec7d4490ee5e046b44e20562d
- sha256sums = 83967bcd17746052db9cd95c92456658e51b22a717dfee004a9f34dc7fa26dfb
- sha256sums = a307e5269cee8ae850997b93c14a4e3abb220a553dd7ece5337422c2e8770cfb
- sha256sums = 83c68bdd89892c9c1b747de8eaee210ae6578881a0d5c79431148e8712046493
- sha256sums = 2adff7cf24c62c13343e4821627c0a482ca139166147a76a76f520632d526cff
- sha256sums = e9579fe46b98590d61d89cff16f719fe2b7eae88509c1ee168d85639a3cf2c0e
- sha256sums = 8dab0a83aafbd2374696ced71d8fd53db35423d6db52340c8991e4e1ba134249
- sha256sums = a8f65f98ae26eb5039e4998634a11b6ef43d9f632596b5a291e2c9107bc45901
- sha256sums = 492191b1cd02c7f30ef0c77fb8ac8658cc1571a8953b7dae115ff90932b7391e
- sha256sums = 348c3d85a8942f3b9e9b7ba1e33ad33f5454277badfa17baede5e7ee0623a85a
- sha256sums = 809ad3f9f8a3b7933a8f5a174273b81fbd7ca875790a862984550bd53f08379d
- sha256sums = 244cce4734c37ba829580e21ca7f828433653d79260d9e20ebc524f05aa0fdb2
- sha256sums = 2b8fca8395d936999a41d3a5ed1d58931222fabed89f8748dba0ef8ce6e3b51a
- sha256sums = cf06c51563c0eb21e2596cb516ce6cf0dbf3ece5573259ea59291a9b5a8cc40d
- sha256sums = a6d9099008a7d4e90f91a417bbb8d42b6ac8ae3c4dc1a713530a24c78b90b06f
- sha256sums = 8a569cb9a6df4b6833234690931461620c4759c6f8591f163648a250bb97c2eb
- sha256sums = 1cb5fadc9854b97419a909ebf72dae3a2def66ee316c73292d42d85a60604757
- sha256sums = 2274585298c76b59dfb5b0f27d0e51f44e6dd0f0cd10627c5a3c51fa893d7bc0
- sha256sums = 02567508d03043eee5a0b2c4fe00db21873fc280c29e75942233b522dafe7234
- sha256sums = ad574f61903c6db66110f4c607cd1ead2ce173e3dd95c5287aa392cb550dc973
- sha256sums = b17687196d098311e7cc58af9e7f434cbc96c7075e6c24ed36362a24473b547e
- sha256sums = 150487680af2d7da5731b045d764d3501f6188e083cb5299a163edd894f9eb73
- sha256sums = 34ba987a290a3779a47f92468e834275925abaa11b008a846e5689e173128844
- sha256sums = 3267cf5af76e8253263220536b51c8203287148f2d1b564c41de151a9c3ff41e
- sha256sums = dc6505ce152095aa7048977d2a4457918b8ba780bc4ae6d4188cf81321592068
- sha256sums = 71a27a759b2a8b990386b4d52ca95417205bb1674123f874b89fd17a929370fa
- sha256sums = e2f6cc6c4a3443d26b852e252438564fe1fa80ab02a93b1bd325204da67663ae
- sha256sums = 6d87fb84681433d5508e1c225fbd54d9b606b1a0f4c6d54b1d3970fb69fae881
- sha256sums = 29f17c6768ee91706d1772758ddfabc9242331efef8d8a7eecb4b8c04deae394
- sha256sums = dd88a730ac985b8c015ced758c7445f966acb0509e61296448b45d65d8d630a2
- sha256sums = 9fe796c6177a9faf99b1edc4656be8ec2303e8757600b557e9dde3258952bc7e
- sha256sums = 9ef664c55663f953ffb37087da1f1ad4b9a9f2519c84b1ac1add97178169095a
- sha256sums = 42ac5d9000ef8e2ff7ab5f88f6203c559ce727766cc2b2f4f089041b0d9e6ee8
- sha256sums = 3bbd0a5869969297ec2d5d8f062e346978be47e43480daf8255c67fe4c661ccf
- sha256sums = ba79c549d798540c50ed17912eacc1f1651293b345f6aae8bd59cbe9633b4d0c
- sha256sums = 851f44e92b6266bfa79f4acdd860f44f95c6ab327b685998a9ae68e9e75a08cf
- sha256sums = aa0d9b3c7225d664b5faa3385d3f3f736956d7f61052154c6b0ea0ec09bbbc89
- sha256sums = 60fe115a02d56ef029df6313f9e1c14a98da34ad742968845fbeaebc9237140f
- sha256sums = 17017d9d552d36e27cf11ac07c3ae678bb0c1f45761ef9796acf106c86234d95
- sha256sums = 73416c7b125bd78ceab3b3c0bb213a666976f7db3208b52d8735f81669d16650
- sha256sums = 6c7e2bcb0823892fffc1a6f86a01928e5931e1fc37cb3cfad911740d3f7d1854
- sha256sums = f3dbd4095f7cbafb2f8f7407d6f5a2f592ef8aef1270f3c6ab10e0c666262ba9
- sha256sums = 1e8a5eb92ac2b5ecc17fdbfc7b5885a5991cdb2af5300817954102f1c5bfb5ec
- sha256sums = b308b21874ca0b86cfb95ddcc76432daa2d4cc6d0053981367ab66fdeea6a01c
- sha256sums = e0956a1f8785fdae0b68e2ac79d9187499662e9f6b8347be8eecb36717f8a63d
- sha256sums = 03bee283b4ec139b2722c1531ad566ff0d674e44a2ec49689686ca85a89c7f82
- sha256sums = 154c5f66ae84300ab69a4c9502a5893d9563f8b774887bda6959b930e3bbc6e0
- sha256sums = d73dda2abcc118ea197cc3a61b5487b28d0fc584b0eb9deecba7d4b98b19f4ae
- sha256sums = 10c74ccc91d7b993c91dea5ec1f6d3710e642d35dce6001a27aa6d8bc4404dde
- sha256sums = 7c734ed61313ec21dc1c2c5adc6b828fac60f5a6f67de8869d2e7acfccbf4867
- sha256sums = cb21bf8906fa812e46405269bf7e78361d05082dc63dfbf1c9719205768e49ac
- sha256sums = c1f7da7edfb26701817a1fb3bb9b592e8966cf4b79b6305a1a3761bc8a4d2ab7
- sha256sums = 676cfac9acbf8ed66d2e90ff5127ae5920aaa0eece3f512d9e43fb06e6e83495
- sha256sums = e151e8dc209e32a584a5b96752073f976acf823d758c34cbef5955e1172e50d5
- sha256sums = d4903b81e4102ccaed88f7605c7208f57048cf087edbcc03a64e64580f404cae
- sha256sums = 15ff60a67694331a54435a4bb8d75c60d4e1c2895bd4fdb82401fe76da87e45d
- sha256sums = 08ba24891b0115a2b355b5b17da2b485c6e8c7fadabe08d7fb71716ae0d2d05e
pkgname = linux-pf
pkgdesc = The Linux with the pf-kernel patch (uksm, ZSTD, FSGSBASE and more) kernel and modules
diff --git a/0001-drm-vc4-hdmi-Rework-power-up.patch b/0001-drm-vc4-hdmi-Rework-power-up.patch
deleted file mode 100644
index e034db07090c..000000000000
--- a/0001-drm-vc4-hdmi-Rework-power-up.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 1a289a16857062e704da52683a49aaf16e826cbf Mon Sep 17 00:00:00 2001
-From: Maxime Ripard <maxime@cerno.tech>
-Date: Wed, 29 Jun 2022 14:34:37 +0200
-Subject: [PATCH 01/73] drm/vc4: hdmi: Rework power up
-
-commit 258e483a4d5e97a6a8caa74381ddc1f395ac1c71 upstream.
-
-The current code tries to handle the case where CONFIG_PM isn't selected
-by first calling our runtime_resume implementation and then properly
-report the power state to the runtime_pm core.
-
-This allows to have a functionning device even if pm_runtime_get_*
-functions are nops.
-
-However, the device power state if CONFIG_PM is enabled is
-RPM_SUSPENDED, and thus our vc4_hdmi_write() and vc4_hdmi_read() calls
-in the runtime_pm hooks will now report a warning since the device might
-not be properly powered.
-
-Even more so, we need CONFIG_PM enabled since the previous RaspberryPi
-have a power domain that needs to be powered up for the HDMI controller
-to be usable.
-
-The previous patch has created a dependency on CONFIG_PM, now we can
-just assume it's there and only call pm_runtime_resume_and_get() to make
-sure our device is powered in bind.
-
-Link: https://lore.kernel.org/r/20220629123510.1915022-39-maxime@cerno.tech
-Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
-Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
-(cherry picked from commit 53565c28e6af2cef6bbf438c34250135e3564459)
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
-Cc: "Sudip Mukherjee (Codethink)" <sudipm.mukherjee@gmail.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/gpu/drm/vc4/vc4_hdmi.c | 15 +++++++--------
- 1 file changed, 7 insertions(+), 8 deletions(-)
-
-diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
-index 23ff6aa5e8f6..844a031a3663 100644
---- a/drivers/gpu/drm/vc4/vc4_hdmi.c
-+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
-@@ -2992,17 +2992,15 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data)
- vc4_hdmi->disable_4kp60 = true;
- }
-
-+ pm_runtime_enable(dev);
-+
- /*
-- * We need to have the device powered up at this point to call
-- * our reset hook and for the CEC init.
-+ * We need to have the device powered up at this point to call
-+ * our reset hook and for the CEC init.
- */
-- ret = vc4_hdmi_runtime_resume(dev);
-+ ret = pm_runtime_resume_and_get(dev);
- if (ret)
-- goto err_put_ddc;
--
-- pm_runtime_get_noresume(dev);
-- pm_runtime_set_active(dev);
-- pm_runtime_enable(dev);
-+ goto err_disable_runtime_pm;
-
- if ((of_device_is_compatible(dev->of_node, "brcm,bcm2711-hdmi0") ||
- of_device_is_compatible(dev->of_node, "brcm,bcm2711-hdmi1")) &&
-@@ -3048,6 +3046,7 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data)
- err_destroy_encoder:
- drm_encoder_cleanup(encoder);
- pm_runtime_put_sync(dev);
-+err_disable_runtime_pm:
- pm_runtime_disable(dev);
- err_put_ddc:
- put_device(&vc4_hdmi->ddc->dev);
---
-2.37.3
-
diff --git a/0002-ZEN-Add-VHBA-driver.patch b/0002-ZEN-Add-VHBA-driver.patch
deleted file mode 100644
index 3efe62c072a0..000000000000
--- a/0002-ZEN-Add-VHBA-driver.patch
+++ /dev/null
@@ -1,1196 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
-Date: Mon, 26 Apr 2021 22:12:46 +0200
-Subject: [PATCH] ZEN: Add VHBA driver
-
-remote https://github.com/cdemu/cdemu
-tag vhba-module-20211218
----
- drivers/scsi/Kconfig | 2 +
- drivers/scsi/Makefile | 1 +
- drivers/scsi/vhba/Kconfig | 9 +
- drivers/scsi/vhba/Makefile | 4 +
- drivers/scsi/vhba/vhba.c | 1124 ++++++++++++++++++++++++++++++++++++
- 5 files changed, 1140 insertions(+)
- create mode 100644 drivers/scsi/vhba/Kconfig
- create mode 100644 drivers/scsi/vhba/Makefile
- create mode 100644 drivers/scsi/vhba/vhba.c
-
-diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
-index a9fe5152addd3a6703cee5b480a4d698d1ebb565..c971da97ad5271c3875b6ef9aba4e109256b38bc 100644
---- a/drivers/scsi/Kconfig
-+++ b/drivers/scsi/Kconfig
-@@ -1534,4 +1534,6 @@ endif # SCSI_LOWLEVEL
-
- source "drivers/scsi/device_handler/Kconfig"
-
-+source "drivers/scsi/vhba/Kconfig"
-+
- endmenu
-diff --git a/drivers/scsi/Makefile b/drivers/scsi/Makefile
-index 2ad3bc0525316ad7cce702724b6d4f3321856596..840d41493f0501ce687b41a7aa20b85f6f7b5730 100644
---- a/drivers/scsi/Makefile
-+++ b/drivers/scsi/Makefile
-@@ -152,6 +152,7 @@ obj-$(CONFIG_CHR_DEV_SCH) += ch.o
- obj-$(CONFIG_SCSI_ENCLOSURE) += ses.o
-
- obj-$(CONFIG_SCSI_HISI_SAS) += hisi_sas/
-+obj-$(CONFIG_VHBA) += vhba/
-
- # This goes last, so that "real" scsi devices probe earlier
- obj-$(CONFIG_SCSI_DEBUG) += scsi_debug.o
-diff --git a/drivers/scsi/vhba/Kconfig b/drivers/scsi/vhba/Kconfig
-new file mode 100644
-index 0000000000000000000000000000000000000000..e70a381fe3dff807a4bfc6991aa257c345a289d9
---- /dev/null
-+++ b/drivers/scsi/vhba/Kconfig
-@@ -0,0 +1,9 @@
-+config VHBA
-+ tristate "Virtual (SCSI) Host Bus Adapter"
-+ depends on SCSI
-+ help
-+ This is the in-kernel part of CDEmu, a CD/DVD-ROM device
-+ emulator.
-+
-+ This driver can also be built as a module. If so, the module
-+ will be called vhba.
-diff --git a/drivers/scsi/vhba/Makefile b/drivers/scsi/vhba/Makefile
-new file mode 100644
-index 0000000000000000000000000000000000000000..ad8b7c6442af0757fc052e9d373d91e815059afb
---- /dev/null
-+++ b/drivers/scsi/vhba/Makefile
-@@ -0,0 +1,4 @@
-+VHBA_VERSION := 20211218
-+
-+obj-$(CONFIG_VHBA) += vhba.o
-+ccflags-y := -DVHBA_VERSION=\"$(VHBA_VERSION)\" -Werror
-diff --git a/drivers/scsi/vhba/vhba.c b/drivers/scsi/vhba/vhba.c
-new file mode 100644
-index 0000000000000000000000000000000000000000..676af31c33ad9518ca7ae4db40bf1b5102798f50
---- /dev/null
-+++ b/drivers/scsi/vhba/vhba.c
-@@ -0,0 +1,1124 @@
-+/*
-+ * vhba.c
-+ *
-+ * Copyright (C) 2007-2012 Chia-I Wu <olvaffe AT gmail DOT com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License along
-+ * with this program; if not, write to the Free Software Foundation, Inc.,
-+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-+ */
-+
-+#define pr_fmt(fmt) "vhba: " fmt
-+
-+#include <linux/version.h>
-+
-+#include <linux/init.h>
-+#include <linux/module.h>
-+#include <linux/highmem.h>
-+#include <linux/fs.h>
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
-+#include <linux/sched/signal.h>
-+#else
-+#include <linux/sched.h>
-+#endif
-+#include <linux/platform_device.h>
-+#include <linux/miscdevice.h>
-+#include <linux/poll.h>
-+#include <linux/slab.h>
-+#include <linux/scatterlist.h>
-+#ifdef CONFIG_COMPAT
-+#include <linux/compat.h>
-+#endif
-+#include <asm/uaccess.h>
-+#include <scsi/scsi.h>
-+#include <scsi/scsi_host.h>
-+#include <scsi/scsi_cmnd.h>
-+#include <scsi/scsi_device.h>
-+#include <scsi/scsi_tcq.h>
-+
-+
-+MODULE_AUTHOR("Chia-I Wu");
-+MODULE_VERSION(VHBA_VERSION);
-+MODULE_DESCRIPTION("Virtual SCSI HBA");
-+MODULE_LICENSE("GPL");
-+
-+
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0)
-+#define sdev_dbg(sdev, fmt, a...) \
-+ dev_dbg(&(sdev)->sdev_gendev, fmt, ##a)
-+#define scmd_dbg(scmd, fmt, a...) \
-+ dev_dbg(&(scmd)->device->sdev_gendev, fmt, ##a)
-+#endif
-+
-+#define VHBA_MAX_SECTORS_PER_IO 256
-+#define VHBA_MAX_BUS 16
-+#define VHBA_MAX_ID 16
-+#define VHBA_MAX_DEVICES (VHBA_MAX_BUS * (VHBA_MAX_ID-1))
-+#define VHBA_KBUF_SIZE PAGE_SIZE
-+
-+#define DATA_TO_DEVICE(dir) ((dir) == DMA_TO_DEVICE || (dir) == DMA_BIDIRECTIONAL)
-+#define DATA_FROM_DEVICE(dir) ((dir) == DMA_FROM_DEVICE || (dir) == DMA_BIDIRECTIONAL)
-+
-+
-+static int vhba_can_queue = 32;
-+module_param_named(can_queue, vhba_can_queue, int, 0);
-+
-+
-+enum vhba_req_state {
-+ VHBA_REQ_FREE,
-+ VHBA_REQ_PENDING,
-+ VHBA_REQ_READING,
-+ VHBA_REQ_SENT,
-+ VHBA_REQ_WRITING,
-+};
-+
-+struct vhba_command {
-+ struct scsi_cmnd *cmd;
-+ /* metatags are per-host. not to be confused with
-+ queue tags that are usually per-lun */
-+ unsigned long metatag;
-+ int status;
-+ struct list_head entry;
-+};
-+
-+struct vhba_device {
-+ unsigned int num;
-+ spinlock_t cmd_lock;
-+ struct list_head cmd_list;
-+ wait_queue_head_t cmd_wq;
-+ atomic_t refcnt;
-+
-+ unsigned char *kbuf;
-+ size_t kbuf_size;
-+};
-+
-+struct vhba_host {
-+ struct Scsi_Host *shost;
-+ spinlock_t cmd_lock;
-+ int cmd_next;
-+ struct vhba_command *commands;
-+ spinlock_t dev_lock;
-+ struct vhba_device *devices[VHBA_MAX_DEVICES];
-+ int num_devices;
-+ DECLARE_BITMAP(chgmap, VHBA_MAX_DEVICES);
-+ int chgtype[VHBA_MAX_DEVICES];
-+ struct work_struct scan_devices;
-+};
-+
-+#define MAX_COMMAND_SIZE 16
-+
-+struct vhba_request {
-+ __u32 metatag;
-+ __u32 lun;
-+ __u8 cdb[MAX_COMMAND_SIZE];
-+ __u8 cdb_len;
-+ __u32 data_len;
-+};
-+
-+struct vhba_response {
-+ __u32 metatag;
-+ __u32 status;
-+ __u32 data_len;
-+};
-+
-+
-+
-+struct vhba_command *vhba_alloc_command (void);
-+void vhba_free_command (struct vhba_command *vcmd);
-+
-+static struct platform_device vhba_platform_device;
-+
-+
-+
-+/* These functions define a symmetric 1:1 mapping between device numbers and
-+ the bus and id. We have reserved the last id per bus for the host itself. */
-+void devnum_to_bus_and_id(unsigned int devnum, unsigned int *bus, unsigned int *id)
-+{
-+ *bus = devnum / (VHBA_MAX_ID-1);
-+ *id = devnum % (VHBA_MAX_ID-1);
-+}
-+
-+unsigned int bus_and_id_to_devnum(unsigned int bus, unsigned int id)
-+{
-+ return (bus * (VHBA_MAX_ID-1)) + id;
-+}
-+
-+struct vhba_device *vhba_device_alloc (void)
-+{
-+ struct vhba_device *vdev;
-+
-+ vdev = kzalloc(sizeof(struct vhba_device), GFP_KERNEL);
-+ if (!vdev) {
-+ return NULL;
-+ }
-+
-+ spin_lock_init(&vdev->cmd_lock);
-+ INIT_LIST_HEAD(&vdev->cmd_list);
-+ init_waitqueue_head(&vdev->cmd_wq);
-+ atomic_set(&vdev->refcnt, 1);
-+
-+ vdev->kbuf = NULL;
-+ vdev->kbuf_size = 0;
-+
-+ return vdev;
-+}
-+
-+void vhba_device_put (struct vhba_device *vdev)
-+{
-+ if (atomic_dec_and_test(&vdev->refcnt)) {
-+ kfree(vdev);
-+ }
-+}
-+
-+struct vhba_device *vhba_device_get (struct vhba_device *vdev)
-+{
-+ atomic_inc(&vdev->refcnt);
-+
-+ return vdev;
-+}
-+
-+int vhba_device_queue (struct vhba_device *vdev, struct scsi_cmnd *cmd)
-+{
-+ struct vhba_host *vhost;
-+ struct vhba_command *vcmd;
-+ unsigned long flags;
-+
-+ vhost = platform_get_drvdata(&vhba_platform_device);
-+
-+ vcmd = vhba_alloc_command();
-+ if (!vcmd) {
-+ return SCSI_MLQUEUE_HOST_BUSY;
-+ }
-+
-+ vcmd->cmd = cmd;
-+
-+ spin_lock_irqsave(&vdev->cmd_lock, flags);
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 15, 0)
-+ vcmd->metatag = scsi_cmd_to_rq(vcmd->cmd)->tag;
-+#else
-+ vcmd->metatag = vcmd->cmd->request->tag;
-+#endif
-+ list_add_tail(&vcmd->entry, &vdev->cmd_list);
-+ spin_unlock_irqrestore(&vdev->cmd_lock, flags);
-+
-+ wake_up_interruptible(&vdev->cmd_wq);
-+
-+ return 0;
-+}
-+
-+int vhba_device_dequeue (struct vhba_device *vdev, struct scsi_cmnd *cmd)
-+{
-+ struct vhba_command *vcmd;
-+ int retval;
-+ unsigned long flags;
-+
-+ spin_lock_irqsave(&vdev->cmd_lock, flags);
-+ list_for_each_entry(vcmd, &vdev->cmd_list, entry) {
-+ if (vcmd->cmd == cmd) {
-+ list_del_init(&vcmd->entry);
-+ break;
-+ }
-+ }
-+
-+ /* command not found */
-+ if (&vcmd->entry == &vdev->cmd_list) {
-+ spin_unlock_irqrestore(&vdev->cmd_lock, flags);
-+ return SUCCESS;
-+ }
-+
-+ while (vcmd->status == VHBA_REQ_READING || vcmd->status == VHBA_REQ_WRITING) {
-+ spin_unlock_irqrestore(&vdev->cmd_lock, flags);
-+ scmd_dbg(cmd, "wait for I/O before aborting\n");
-+ schedule_timeout(1);
-+ spin_lock_irqsave(&vdev->cmd_lock, flags);
-+ }
-+
-+ retval = (vcmd->status == VHBA_REQ_SENT) ? FAILED : SUCCESS;
-+
-+ vhba_free_command(vcmd);
-+
-+ spin_unlock_irqrestore(&vdev->cmd_lock, flags);
-+
-+ return retval;
-+}
-+
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
-+int vhba_slave_alloc(struct scsi_device *sdev)
-+{
-+ struct Scsi_Host *shost = sdev->host;
-+
-+ sdev_dbg(sdev, "enabling tagging (queue depth: %i).\n", sdev->queue_depth);
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 17, 0)
-+ if (!shost_use_blk_mq(shost) && shost->bqt) {
-+#else
-+ if (shost->bqt) {
-+#endif
-+ blk_queue_init_tags(sdev->request_queue, sdev->queue_depth, shost->bqt);
-+ }
-+ scsi_adjust_queue_depth(sdev, 0, sdev->queue_depth);
-+
-+ return 0;
-+}
-+#endif
-+
-+void vhba_scan_devices_add (struct vhba_host *vhost, int bus, int id)
-+{
-+ struct scsi_device *sdev;
-+
-+ sdev = scsi_device_lookup(vhost->shost, bus, id, 0);
-+ if (!sdev) {
-+ scsi_add_device(vhost->shost, bus, id, 0);
-+ } else {
-+ dev_warn(&vhost->shost->shost_gendev, "tried to add an already-existing device %d:%d:0!\n", bus, id);
-+ scsi_device_put(sdev);
-+ }
-+}
-+
-+void vhba_scan_devices_remove (struct vhba_host *vhost, int bus, int id)
-+{
-+ struct scsi_device *sdev;
-+
-+ sdev = scsi_device_lookup(vhost->shost, bus, id, 0);
-+ if (sdev) {
-+ scsi_remove_device(sdev);
-+ scsi_device_put(sdev);
-+ } else {
-+ dev_warn(&vhost->shost->shost_gendev, "tried to remove non-existing device %d:%d:0!\n", bus, id);
-+ }
-+}
-+
-+void vhba_scan_devices (struct work_struct *work)
-+{
-+ struct vhba_host *vhost = container_of(work, struct vhba_host, scan_devices);
-+ unsigned long flags;
-+ int change, exists;
-+ unsigned int devnum;
-+ unsigned int bus, id;
-+
-+ for (;;) {
-+ spin_lock_irqsave(&vhost->dev_lock, flags);
-+
-+ devnum = find_first_bit(vhost->chgmap, VHBA_MAX_DEVICES);
-+ if (devnum >= VHBA_MAX_DEVICES) {
-+ spin_unlock_irqrestore(&vhost->dev_lock, flags);
-+ break;
-+ }
-+ change = vhost->chgtype[devnum];
-+ exists = vhost->devices[devnum] != NULL;
-+
-+ vhost->chgtype[devnum] = 0;
-+ clear_bit(devnum, vhost->chgmap);
-+
-+ spin_unlock_irqrestore(&vhost->dev_lock, flags);
-+
-+ devnum_to_bus_and_id(devnum, &bus, &id);
-+
-+ if (change < 0) {
-+ dev_dbg(&vhost->shost->shost_gendev, "trying to remove target %d:%d:0\n", bus, id);
-+ vhba_scan_devices_remove(vhost, bus, id);
-+ } else if (change > 0) {
-+ dev_dbg(&vhost->shost->shost_gendev, "trying to add target %d:%d:0\n", bus, id);
-+ vhba_scan_devices_add(vhost, bus, id);
-+ } else {
-+ /* quick sequence of add/remove or remove/add; we determine
-+ which one it was by checking if device structure exists */
-+ if (exists) {
-+ /* remove followed by add: remove and (re)add */
-+ dev_dbg(&vhost->shost->shost_gendev, "trying to (re)add target %d:%d:0\n", bus, id);
-+ vhba_scan_devices_remove(vhost, bus, id);
-+ vhba_scan_devices_add(vhost, bus, id);
-+ } else {
-+ /* add followed by remove: no-op */
-+ dev_dbg(&vhost->shost->shost_gendev, "no-op for target %d:%d:0\n", bus, id);
-+ }
-+ }
-+ }
-+}
-+
-+int vhba_add_device (struct vhba_device *vdev)
-+{
-+ struct vhba_host *vhost;
-+ unsigned int devnum;
-+ unsigned long flags;
-+
-+ vhost = platform_get_drvdata(&vhba_platform_device);
-+
-+ vhba_device_get(vdev);
-+
-+ spin_lock_irqsave(&vhost->dev_lock, flags);
-+ if (vhost->num_devices >= VHBA_MAX_DEVICES) {
-+ spin_unlock_irqrestore(&vhost->dev_lock, flags);
-+ vhba_device_put(vdev);
-+ return -EBUSY;
-+ }
-+
-+ for (devnum = 0; devnum < VHBA_MAX_DEVICES; devnum++) {
-+ if (vhost->devices[devnum] == NULL) {
-+ vdev->num = devnum;
-+ vhost->devices[devnum] = vdev;
-+ vhost->num_devices++;
-+ set_bit(devnum, vhost->chgmap);
-+ vhost->chgtype[devnum]++;
-+ break;
-+ }
-+ }
-+ spin_unlock_irqrestore(&vhost->dev_lock, flags);
-+
-+ schedule_work(&vhost->scan_devices);
-+
-+ return 0;
-+}
-+
-+int vhba_remove_device (struct vhba_device *vdev)
-+{
-+ struct vhba_host *vhost;
-+ unsigned long flags;
-+
-+ vhost = platform_get_drvdata(&vhba_platform_device);
-+
-+ spin_lock_irqsave(&vhost->dev_lock, flags);
-+ set_bit(vdev->num, vhost->chgmap);
-+ vhost->chgtype[vdev->num]--;
-+ vhost->devices[vdev->num] = NULL;
-+ vhost->num_devices--;
-+ spin_unlock_irqrestore(&vhost->dev_lock, flags);
-+
-+ vhba_device_put(vdev);
-+
-+ schedule_work(&vhost->scan_devices);
-+
-+ return 0;
-+}
-+
-+struct vhba_device *vhba_lookup_device (int devnum)
-+{
-+ struct vhba_host *vhost;
-+ struct vhba_device *vdev = NULL;
-+ unsigned long flags;
-+
-+ vhost = platform_get_drvdata(&vhba_platform_device);
-+
-+ if (likely(devnum < VHBA_MAX_DEVICES)) {
-+ spin_lock_irqsave(&vhost->dev_lock, flags);
-+ vdev = vhost->devices[devnum];
-+ if (vdev) {
-+ vdev = vhba_device_get(vdev);
-+ }
-+
-+ spin_unlock_irqrestore(&vhost->dev_lock, flags);
-+ }
-+
-+ return vdev;
-+}
-+
-+struct vhba_command *vhba_alloc_command (void)
-+{
-+ struct vhba_host *vhost;
-+ struct vhba_command *vcmd;
-+ unsigned long flags;
-+ int i;
-+
-+ vhost = platform_get_drvdata(&vhba_platform_device);
-+
-+ spin_lock_irqsave(&vhost->cmd_lock, flags);
-+
-+ vcmd = vhost->commands + vhost->cmd_next++;
-+ if (vcmd->status != VHBA_REQ_FREE) {
-+ for (i = 0; i < vhba_can_queue; i++) {
-+ vcmd = vhost->commands + i;
-+
-+ if (vcmd->status == VHBA_REQ_FREE) {
-+ vhost->cmd_next = i + 1;
-+ break;
-+ }
-+ }
-+
-+ if (i == vhba_can_queue) {
-+ vcmd = NULL;
-+ }
-+ }
-+
-+ if (vcmd) {
-+ vcmd->status = VHBA_REQ_PENDING;
-+ }
-+
-+ vhost->cmd_next %= vhba_can_queue;
-+
-+ spin_unlock_irqrestore(&vhost->cmd_lock, flags);
-+
-+ return vcmd;
-+}
-+
-+void vhba_free_command (struct vhba_command *vcmd)
-+{
-+ struct vhba_host *vhost;
-+ unsigned long flags;
-+
-+ vhost = platform_get_drvdata(&vhba_platform_device);
-+
-+ spin_lock_irqsave(&vhost->cmd_lock, flags);
-+ vcmd->status = VHBA_REQ_FREE;
-+ spin_unlock_irqrestore(&vhost->cmd_lock, flags);
-+}
-+
-+int vhba_queuecommand (struct Scsi_Host *shost, struct scsi_cmnd *cmd)
-+{
-+ struct vhba_device *vdev;
-+ int retval;
-+ unsigned int devnum;
-+
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 15, 0)
-+ scmd_dbg(cmd, "queue %p tag %i\n", cmd, scsi_cmd_to_rq(cmd)->tag);
-+#else
-+ scmd_dbg(cmd, "queue %p tag %i\n", cmd, cmd->request->tag);
-+#endif
-+
-+ devnum = bus_and_id_to_devnum(cmd->device->channel, cmd->device->id);
-+ vdev = vhba_lookup_device(devnum);
-+ if (!vdev) {
-+ scmd_dbg(cmd, "no such device\n");
-+
-+ cmd->result = DID_NO_CONNECT << 16;
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 16, 0)
-+ scsi_done(cmd);
-+#else
-+ cmd->scsi_done(cmd);
-+#endif
-+
-+ return 0;
-+ }
-+
-+ retval = vhba_device_queue(vdev, cmd);
-+
-+ vhba_device_put(vdev);
-+
-+ return retval;
-+}
-+
-+int vhba_abort (struct scsi_cmnd *cmd)
-+{
-+ struct vhba_device *vdev;
-+ int retval = SUCCESS;
-+ unsigned int devnum;
-+
-+ scmd_dbg(cmd, "abort %p\n", cmd);
-+
-+ devnum = bus_and_id_to_devnum(cmd->device->channel, cmd->device->id);
-+ vdev = vhba_lookup_device(devnum);
-+ if (vdev) {
-+ retval = vhba_device_dequeue(vdev, cmd);
-+ vhba_device_put(vdev);
-+ } else {
-+ cmd->result = DID_NO_CONNECT << 16;
-+ }
-+
-+ return retval;
-+}
-+
-+static struct scsi_host_template vhba_template = {
-+ .module = THIS_MODULE,
-+ .name = "vhba",
-+ .proc_name = "vhba",
-+ .queuecommand = vhba_queuecommand,
-+ .eh_abort_handler = vhba_abort,
-+ .this_id = -1,
-+ .max_sectors = VHBA_MAX_SECTORS_PER_IO,
-+ .sg_tablesize = 256,
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
-+ .slave_alloc = vhba_slave_alloc,
-+#endif
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 0, 0)
-+ .tag_alloc_policy = BLK_TAG_ALLOC_RR,
-+#endif
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 4, 0)
-+ .use_blk_tags = 1,
-+#endif
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0)
-+ .max_segment_size = VHBA_KBUF_SIZE,
-+#endif
-+};
-+
-+ssize_t do_request (struct vhba_device *vdev, unsigned long metatag, struct scsi_cmnd *cmd, char __user *buf, size_t buf_len)
-+{
-+ struct vhba_request vreq;
-+ ssize_t ret;
-+
-+ scmd_dbg(cmd, "request %lu (%p), cdb 0x%x, bufflen %d, sg count %d\n",
-+ metatag, cmd, cmd->cmnd[0], scsi_bufflen(cmd), scsi_sg_count(cmd));
-+
-+ ret = sizeof(vreq);
-+ if (DATA_TO_DEVICE(cmd->sc_data_direction)) {
-+ ret += scsi_bufflen(cmd);
-+ }
-+
-+ if (ret > buf_len) {
-+ scmd_dbg(cmd, "buffer too small (%zd < %zd) for a request\n", buf_len, ret);
-+ return -EIO;
-+ }
-+
-+ vreq.metatag = metatag;
-+ vreq.lun = cmd->device->lun;
-+ memcpy(vreq.cdb, cmd->cmnd, MAX_COMMAND_SIZE);
-+ vreq.cdb_len = cmd->cmd_len;
-+ vreq.data_len = scsi_bufflen(cmd);
-+
-+ if (copy_to_user(buf, &vreq, sizeof(vreq))) {
-+ return -EFAULT;
-+ }
-+
-+ if (DATA_TO_DEVICE(cmd->sc_data_direction) && vreq.data_len) {
-+ buf += sizeof(vreq);
-+
-+ if (scsi_sg_count(cmd)) {
-+ unsigned char *kaddr, *uaddr;
-+ struct scatterlist *sglist = scsi_sglist(cmd);
-+ struct scatterlist *sg;
-+ int i;
-+
-+ uaddr = (unsigned char *) buf;
-+
-+ for_each_sg(sglist, sg, scsi_sg_count(cmd), i) {
-+ size_t len = sg->length;
-+
-+ if (len > vdev->kbuf_size) {
-+ scmd_dbg(cmd, "segment size (%zu) exceeds kbuf size (%zu)!", len, vdev->kbuf_size);
-+ len = vdev->kbuf_size;
-+ }
-+
-+ kaddr = kmap_atomic(sg_page(sg));
-+ memcpy(vdev->kbuf, kaddr + sg->offset, len);
-+ kunmap_atomic(kaddr);
-+
-+ if (copy_to_user(uaddr, vdev->kbuf, len)) {
-+ return -EFAULT;
-+ }
-+ uaddr += len;
-+ }
-+ } else {
-+ if (copy_to_user(buf, scsi_sglist(cmd), vreq.data_len)) {
-+ return -EFAULT;
-+ }
-+ }
-+ }
-+
-+ return ret;
-+}
-+
-+ssize_t do_response (struct vhba_device *vdev, unsigned long metatag, struct scsi_cmnd *cmd, const char __user *buf, size_t buf_len, struct vhba_response *res)
-+{
-+ ssize_t ret = 0;
-+
-+ scmd_dbg(cmd, "response %lu (%p), status %x, data len %d, sg count %d\n",
-+ metatag, cmd, res->status, res->data_len, scsi_sg_count(cmd));
-+
-+ if (res->status) {
-+ if (res->data_len > SCSI_SENSE_BUFFERSIZE) {
-+ scmd_dbg(cmd, "truncate sense (%d < %d)", SCSI_SENSE_BUFFERSIZE, res->data_len);
-+ res->data_len = SCSI_SENSE_BUFFERSIZE;
-+ }
-+
-+ if (copy_from_user(cmd->sense_buffer, buf, res->data_len)) {
-+ return -EFAULT;
-+ }
-+
-+ cmd->result = res->status;
-+
-+ ret += res->data_len;
-+ } else if (DATA_FROM_DEVICE(cmd->sc_data_direction) && scsi_bufflen(cmd)) {
-+ size_t to_read;
-+
-+ if (res->data_len > scsi_bufflen(cmd)) {
-+ scmd_dbg(cmd, "truncate data (%d < %d)\n", scsi_bufflen(cmd), res->data_len);
-+ res->data_len = scsi_bufflen(cmd);
-+ }
-+
-+ to_read = res->data_len;
-+
-+ if (scsi_sg_count(cmd)) {
-+ unsigned char *kaddr, *uaddr;
-+ struct scatterlist *sglist = scsi_sglist(cmd);
-+ struct scatterlist *sg;
-+ int i;
-+
-+ uaddr = (unsigned char *)buf;
-+
-+ for_each_sg(sglist, sg, scsi_sg_count(cmd), i) {
-+ size_t len = (sg->length < to_read) ? sg->length : to_read;
-+
-+ if (len > vdev->kbuf_size) {
-+ scmd_dbg(cmd, "segment size (%zu) exceeds kbuf size (%zu)!", len, vdev->kbuf_size);
-+ len = vdev->kbuf_size;
-+ }
-+
-+ if (copy_from_user(vdev->kbuf, uaddr, len)) {
-+ return -EFAULT;
-+ }
-+ uaddr += len;
-+
-+ kaddr = kmap_atomic(sg_page(sg));
-+ memcpy(kaddr + sg->offset, vdev->kbuf, len);
-+ kunmap_atomic(kaddr);
-+
-+ to_read -= len;
-+ if (to_read == 0) {
-+ break;
-+ }
-+ }
-+ } else {
-+ if (copy_from_user(scsi_sglist(cmd), buf, res->data_len)) {
-+ return -EFAULT;
-+ }
-+
-+ to_read -= res->data_len;
-+ }
-+
-+ scsi_set_resid(cmd, to_read);
-+
-+ ret += res->data_len - to_read;
-+ }
-+
-+ return ret;
-+}
-+
-+struct vhba_command *next_command (struct vhba_device *vdev)
-+{
-+ struct vhba_command *vcmd;
-+
-+ list_for_each_entry(vcmd, &vdev->cmd_list, entry) {
-+ if (vcmd->status == VHBA_REQ_PENDING) {
-+ break;
-+ }
-+ }
-+
-+ if (&vcmd->entry == &vdev->cmd_list) {
-+ vcmd = NULL;
-+ }
-+
-+ return vcmd;
-+}
-+
-+struct vhba_command *match_command (struct vhba_device *vdev, __u32 metatag)
-+{
-+ struct vhba_command *vcmd;
-+
-+ list_for_each_entry(vcmd, &vdev->cmd_list, entry) {
-+ if (vcmd->metatag == metatag) {
-+ break;
-+ }
-+ }
-+
-+ if (&vcmd->entry == &vdev->cmd_list) {
-+ vcmd = NULL;
-+ }
-+
-+ return vcmd;
-+}
-+
-+struct vhba_command *wait_command (struct vhba_device *vdev, unsigned long flags)
-+{
-+ struct vhba_command *vcmd;
-+ DEFINE_WAIT(wait);
-+
-+ while (!(vcmd = next_command(vdev))) {
-+ if (signal_pending(current)) {
-+ break;
-+ }
-+
-+ prepare_to_wait(&vdev->cmd_wq, &wait, TASK_INTERRUPTIBLE);
-+
-+ spin_unlock_irqrestore(&vdev->cmd_lock, flags);
-+
-+ schedule();
-+
-+ spin_lock_irqsave(&vdev->cmd_lock, flags);
-+ }
-+
-+ finish_wait(&vdev->cmd_wq, &wait);
-+ if (vcmd) {
-+ vcmd->status = VHBA_REQ_READING;
-+ }
-+
-+ return vcmd;
-+}
-+
-+ssize_t vhba_ctl_read (struct file *file, char __user *buf, size_t buf_len, loff_t *offset)
-+{
-+ struct vhba_device *vdev;
-+ struct vhba_command *vcmd;
-+ ssize_t ret;
-+ unsigned long flags;
-+
-+ vdev = file->private_data;
-+
-+ /* Get next command */
-+ if (file->f_flags & O_NONBLOCK) {
-+ /* Non-blocking variant */
-+ spin_lock_irqsave(&vdev->cmd_lock, flags);
-+ vcmd = next_command(vdev);
-+ spin_unlock_irqrestore(&vdev->cmd_lock, flags);
-+
-+ if (!vcmd) {
-+ return -EWOULDBLOCK;
-+ }
-+ } else {
-+ /* Blocking variant */
-+ spin_lock_irqsave(&vdev->cmd_lock, flags);
-+ vcmd = wait_command(vdev, flags);
-+ spin_unlock_irqrestore(&vdev->cmd_lock, flags);
-+
-+ if (!vcmd) {
-+ return -ERESTARTSYS;
-+ }
-+ }
-+
-+ ret = do_request(vdev, vcmd->metatag, vcmd->cmd, buf, buf_len);
-+
-+ spin_lock_irqsave(&vdev->cmd_lock, flags);
-+ if (ret >= 0) {
-+ vcmd->status = VHBA_REQ_SENT;
-+ *offset += ret;
-+ } else {
-+ vcmd->status = VHBA_REQ_PENDING;
-+ }
-+
-+ spin_unlock_irqrestore(&vdev->cmd_lock, flags);
-+
-+ return ret;
-+}
-+
-+ssize_t vhba_ctl_write (struct file *file, const char __user *buf, size_t buf_len, loff_t *offset)
-+{
-+ struct vhba_device *vdev;
-+ struct vhba_command *vcmd;
-+ struct vhba_response res;
-+ ssize_t ret;
-+ unsigned long flags;
-+
-+ if (buf_len < sizeof(res)) {
-+ return -EIO;
-+ }
-+
-+ if (copy_from_user(&res, buf, sizeof(res))) {
-+ return -EFAULT;
-+ }
-+
-+ vdev = file->private_data;
-+
-+ spin_lock_irqsave(&vdev->cmd_lock, flags);
-+ vcmd = match_command(vdev, res.metatag);
-+ if (!vcmd || vcmd->status != VHBA_REQ_SENT) {
-+ spin_unlock_irqrestore(&vdev->cmd_lock, flags);
-+ pr_debug("ctl dev #%u not expecting response\n", vdev->num);
-+ return -EIO;
-+ }
-+ vcmd->status = VHBA_REQ_WRITING;
-+ spin_unlock_irqrestore(&vdev->cmd_lock, flags);
-+
-+ ret = do_response(vdev, vcmd->metatag, vcmd->cmd, buf + sizeof(res), buf_len - sizeof(res), &res);
-+
-+ spin_lock_irqsave(&vdev->cmd_lock, flags);
-+ if (ret >= 0) {
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 16, 0)
-+ scsi_done(vcmd->cmd);
-+#else
-+ vcmd->cmd->scsi_done(vcmd->cmd);
-+#endif
-+ ret += sizeof(res);
-+
-+ /* don't compete with vhba_device_dequeue */
-+ if (!list_empty(&vcmd->entry)) {
-+ list_del_init(&vcmd->entry);
-+ vhba_free_command(vcmd);
-+ }
-+ } else {
-+ vcmd->status = VHBA_REQ_SENT;
-+ }
-+
-+ spin_unlock_irqrestore(&vdev->cmd_lock, flags);
-+
-+ return ret;
-+}
-+
-+long vhba_ctl_ioctl (struct file *file, unsigned int cmd, unsigned long arg)
-+{
-+ struct vhba_device *vdev = file->private_data;
-+ struct vhba_host *vhost = platform_get_drvdata(&vhba_platform_device);
-+
-+ switch (cmd) {
-+ case 0xBEEF001: {
-+ unsigned int ident[4]; /* host, channel, id, lun */
-+
-+ ident[0] = vhost->shost->host_no;
-+ devnum_to_bus_and_id(vdev->num, &ident[1], &ident[2]);
-+ ident[3] = 0; /* lun */
-+
-+ if (copy_to_user((void *) arg, ident, sizeof(ident))) {
-+ return -EFAULT;
-+ }
-+
-+ return 0;
-+ }
-+ case 0xBEEF002: {
-+ unsigned int devnum = vdev->num;
-+
-+ if (copy_to_user((void *) arg, &devnum, sizeof(devnum))) {
-+ return -EFAULT;
-+ }
-+
-+ return 0;
-+ }
-+ }
-+
-+ return -ENOTTY;
-+}
-+
-+#ifdef CONFIG_COMPAT
-+long vhba_ctl_compat_ioctl (struct file *file, unsigned int cmd, unsigned long arg)
-+{
-+ unsigned long compat_arg = (unsigned long)compat_ptr(arg);
-+ return vhba_ctl_ioctl(file, cmd, compat_arg);
-+}
-+#endif
-+
-+unsigned int vhba_ctl_poll (struct file *file, poll_table *wait)
-+{
-+ struct vhba_device *vdev = file->private_data;
-+ unsigned int mask = 0;
-+ unsigned long flags;
-+
-+ poll_wait(file, &vdev->cmd_wq, wait);
-+
-+ spin_lock_irqsave(&vdev->cmd_lock, flags);
-+ if (next_command(vdev)) {
-+ mask |= POLLIN | POLLRDNORM;
-+ }
-+ spin_unlock_irqrestore(&vdev->cmd_lock, flags);
-+
-+ return mask;
-+}
-+
-+int vhba_ctl_open (struct inode *inode, struct file *file)
-+{
-+ struct vhba_device *vdev;
-+ int retval;
-+
-+ pr_debug("ctl dev open\n");
-+
-+ /* check if vhba is probed */
-+ if (!platform_get_drvdata(&vhba_platform_device)) {
-+ return -ENODEV;
-+ }
-+
-+ vdev = vhba_device_alloc();
-+ if (!vdev) {
-+ return -ENOMEM;
-+ }
-+
-+ vdev->kbuf_size = VHBA_KBUF_SIZE;
-+ vdev->kbuf = kzalloc(vdev->kbuf_size, GFP_KERNEL);
-+ if (!vdev->kbuf) {
-+ return -ENOMEM;
-+ }
-+
-+ if (!(retval = vhba_add_device(vdev))) {
-+ file->private_data = vdev;
-+ }
-+
-+ vhba_device_put(vdev);
-+
-+ return retval;
-+}
-+
-+int vhba_ctl_release (struct inode *inode, struct file *file)
-+{
-+ struct vhba_device *vdev;
-+ struct vhba_command *vcmd;
-+ unsigned long flags;
-+
-+ vdev = file->private_data;
-+
-+ pr_debug("ctl dev release\n");
-+
-+ vhba_device_get(vdev);
-+ vhba_remove_device(vdev);
-+
-+ spin_lock_irqsave(&vdev->cmd_lock, flags);
-+ list_for_each_entry(vcmd, &vdev->cmd_list, entry) {
-+ WARN_ON(vcmd->status == VHBA_REQ_READING || vcmd->status == VHBA_REQ_WRITING);
-+
-+ scmd_dbg(vcmd->cmd, "device released with command %lu (%p)\n", vcmd->metatag, vcmd->cmd);
-+ vcmd->cmd->result = DID_NO_CONNECT << 16;
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 16, 0)
-+ scsi_done(vcmd->cmd);
-+#else
-+ vcmd->cmd->scsi_done(vcmd->cmd);
-+#endif
-+ vhba_free_command(vcmd);
-+ }
-+ INIT_LIST_HEAD(&vdev->cmd_list);
-+ spin_unlock_irqrestore(&vdev->cmd_lock, flags);
-+
-+ kfree(vdev->kbuf);
-+ vdev->kbuf = NULL;
-+
-+ vhba_device_put(vdev);
-+
-+ return 0;
-+}
-+
-+static struct file_operations vhba_ctl_fops = {
-+ .owner = THIS_MODULE,
-+ .open = vhba_ctl_open,
-+ .release = vhba_ctl_release,
-+ .read = vhba_ctl_read,
-+ .write = vhba_ctl_write,
-+ .poll = vhba_ctl_poll,
-+ .unlocked_ioctl = vhba_ctl_ioctl,
-+#ifdef CONFIG_COMPAT
-+ .compat_ioctl = vhba_ctl_compat_ioctl,
-+#endif
-+};
-+
-+static struct miscdevice vhba_miscdev = {
-+ .minor = MISC_DYNAMIC_MINOR,
-+ .name = "vhba_ctl",
-+ .fops = &vhba_ctl_fops,
-+};
-+
-+int vhba_probe (struct platform_device *pdev)
-+{
-+ struct Scsi_Host *shost;
-+ struct vhba_host *vhost;
-+ int i;
-+
-+ vhba_can_queue = clamp(vhba_can_queue, 1, 256);
-+
-+ shost = scsi_host_alloc(&vhba_template, sizeof(struct vhba_host));
-+ if (!shost) {
-+ return -ENOMEM;
-+ }
-+
-+ shost->max_channel = VHBA_MAX_BUS-1;
-+ shost->max_id = VHBA_MAX_ID;
-+ /* we don't support lun > 0 */
-+ shost->max_lun = 1;
-+ shost->max_cmd_len = MAX_COMMAND_SIZE;
-+ shost->can_queue = vhba_can_queue;
-+ shost->cmd_per_lun = vhba_can_queue;
-+
-+ vhost = (struct vhba_host *)shost->hostdata;
-+ memset(vhost, 0, sizeof(struct vhba_host));
-+
-+ vhost->shost = shost;
-+ vhost->num_devices = 0;
-+ spin_lock_init(&vhost->dev_lock);
-+ spin_lock_init(&vhost->cmd_lock);
-+ INIT_WORK(&vhost->scan_devices, vhba_scan_devices);
-+ vhost->cmd_next = 0;
-+ vhost->commands = kzalloc(vhba_can_queue * sizeof(struct vhba_command), GFP_KERNEL);
-+ if (!vhost->commands) {
-+ return -ENOMEM;
-+ }
-+
-+ for (i = 0; i < vhba_can_queue; i++) {
-+ vhost->commands[i].status = VHBA_REQ_FREE;
-+ }
-+
-+ platform_set_drvdata(pdev, vhost);
-+
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 4, 0)
-+ i = scsi_init_shared_tag_map(shost, vhba_can_queue);
-+ if (i) return i;
-+#endif
-+
-+ if (scsi_add_host(shost, &pdev->dev)) {
-+ scsi_host_put(shost);
-+ return -ENOMEM;
-+ }
-+
-+ return 0;
-+}
-+
-+int vhba_remove (struct platform_device *pdev)
-+{
-+ struct vhba_host *vhost;
-+ struct Scsi_Host *shost;
-+
-+ vhost = platform_get_drvdata(pdev);
-+ shost = vhost->shost;
-+
-+ scsi_remove_host(shost);
-+ scsi_host_put(shost);
-+
-+ kfree(vhost->commands);
-+
-+ return 0;
-+}
-+
-+void vhba_release (struct device * dev)
-+{
-+ return;
-+}
-+
-+static struct platform_device vhba_platform_device = {
-+ .name = "vhba",
-+ .id = -1,
-+ .dev = {
-+ .release = vhba_release,
-+ },
-+};
-+
-+static struct platform_driver vhba_platform_driver = {
-+ .driver = {
-+ .owner = THIS_MODULE,
-+ .name = "vhba",
-+ },
-+ .probe = vhba_probe,
-+ .remove = vhba_remove,
-+};
-+
-+int __init vhba_init (void)
-+{
-+ int ret;
-+
-+ ret = platform_device_register(&vhba_platform_device);
-+ if (ret < 0) {
-+ return ret;
-+ }
-+
-+ ret = platform_driver_register(&vhba_platform_driver);
-+ if (ret < 0) {
-+ platform_device_unregister(&vhba_platform_device);
-+ return ret;
-+ }
-+
-+ ret = misc_register(&vhba_miscdev);
-+ if (ret < 0) {
-+ platform_driver_unregister(&vhba_platform_driver);
-+ platform_device_unregister(&vhba_platform_device);
-+ return ret;
-+ }
-+
-+ return 0;
-+}
-+
-+void __exit vhba_exit(void)
-+{
-+ misc_deregister(&vhba_miscdev);
-+ platform_driver_unregister(&vhba_platform_driver);
-+ platform_device_unregister(&vhba_platform_device);
-+}
-+
-+module_init(vhba_init);
-+module_exit(vhba_exit);
-+
diff --git a/0002-drm-vc4-hdmi-Depends-on-CONFIG_PM.patch b/0002-drm-vc4-hdmi-Depends-on-CONFIG_PM.patch
deleted file mode 100644
index ba593124dff6..000000000000
--- a/0002-drm-vc4-hdmi-Depends-on-CONFIG_PM.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 1cf82931822dbf3b24945147b5330d8fdd86cdff Mon Sep 17 00:00:00 2001
-From: Maxime Ripard <maxime@cerno.tech>
-Date: Wed, 29 Jun 2022 14:34:36 +0200
-Subject: [PATCH 02/73] drm/vc4: hdmi: Depends on CONFIG_PM
-
-commit 72e2329e7c9bbe15e7a813670497ec9c6f919af3 upstream.
-
-We already depend on runtime PM to get the power domains and clocks for
-most of the devices supported by the vc4 driver, so let's just select it
-to make sure it's there.
-
-Link: https://lore.kernel.org/r/20220629123510.1915022-38-maxime@cerno.tech
-Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
-Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
-(cherry picked from commit f1bc386b319e93e56453ae27e9e83817bb1f6f95)
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
-Cc: "Sudip Mukherjee (Codethink)" <sudipm.mukherjee@gmail.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/gpu/drm/vc4/Kconfig | 1 +
- drivers/gpu/drm/vc4/vc4_hdmi.c | 2 +-
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/vc4/Kconfig b/drivers/gpu/drm/vc4/Kconfig
-index 061be9a6619d..b0f3117102ca 100644
---- a/drivers/gpu/drm/vc4/Kconfig
-+++ b/drivers/gpu/drm/vc4/Kconfig
-@@ -8,6 +8,7 @@ config DRM_VC4
- depends on DRM
- depends on SND && SND_SOC
- depends on COMMON_CLK
-+ depends on PM
- select DRM_DISPLAY_HDMI_HELPER
- select DRM_DISPLAY_HELPER
- select DRM_KMS_HELPER
-diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
-index 844a031a3663..199bc398817f 100644
---- a/drivers/gpu/drm/vc4/vc4_hdmi.c
-+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
-@@ -2875,7 +2875,7 @@ static int vc5_hdmi_init_resources(struct vc4_hdmi *vc4_hdmi)
- return 0;
- }
-
--static int __maybe_unused vc4_hdmi_runtime_suspend(struct device *dev)
-+static int vc4_hdmi_runtime_suspend(struct device *dev)
- {
- struct vc4_hdmi *vc4_hdmi = dev_get_drvdata(dev);
-
---
-2.37.3
-
diff --git a/0003-ZEN-Add-OpenRGB-patches.patch b/0003-ZEN-Add-OpenRGB-patches.patch
deleted file mode 100644
index 72d0cb7b9a70..000000000000
--- a/0003-ZEN-Add-OpenRGB-patches.patch
+++ /dev/null
@@ -1,745 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
-Date: Mon, 3 Aug 2020 21:18:53 +0200
-Subject: [PATCH] ZEN: Add OpenRGB patches
-
-Squashed commit of the following:
-
-commit 942ded8f8652a4b4e6b46d04938bb66f1eac4c78
-Author: Steven Barrett <steven@liquorix.net>
-Date: Sat Jul 4 21:28:54 2020 -0500
-
- openrgb: Deduplicate piix4 setup for HUDSON2/KERNCZ SMBUS
-
- In the original OpenRGB patches, the initialization code for CZ
- secondary SMBus controllers was copied. Later, an upstream commit
- landed in 5.7 stable that combined the initialization code for both
- primary/secondary smbus channels.
-
- Combine the initialization code ahead of time so upstream merges
- correctly with OpenRGB.
-
- Fixes: https://github.com/zen-kernel/zen-kernel/issues/176
-
-commit a65e3ecf90b24fd44689cc0713af602965ffaf4e
-Author: Steven Barrett <steven@liquorix.net>
-Date: Wed Jun 17 14:24:20 2020 -0500
-
- Add OpenRGB patch - 0c45e26c
-
- Source:
- https://gitlab.com/CalcProgrammer1/OpenRGB/-/raw/master/OpenRGB.patch
-
- History:
- https://gitlab.com/CalcProgrammer1/OpenRGB/-/commits/master/OpenRGB.patch
----
- drivers/i2c/busses/Kconfig | 9 +
- drivers/i2c/busses/Makefile | 1 +
- drivers/i2c/busses/i2c-nct6775.c | 647 +++++++++++++++++++++++++++++++
- drivers/i2c/busses/i2c-piix4.c | 4 +-
- 4 files changed, 659 insertions(+), 2 deletions(-)
- create mode 100644 drivers/i2c/busses/i2c-nct6775.c
-
-diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
-index a1bae59208e346572063dc8a16fe8b9c89ecf583..901471a36cab097b6f30d03a82f7546ff2985b6b 100644
---- a/drivers/i2c/busses/Kconfig
-+++ b/drivers/i2c/busses/Kconfig
-@@ -227,6 +227,15 @@ config I2C_CHT_WC
- combined with a FUSB302 Type-C port-controller as such it is advised
- to also select CONFIG_TYPEC_FUSB302=m.
-
-+config I2C_NCT6775
-+ tristate "Nuvoton NCT6775 and compatible SMBus controller"
-+ help
-+ If you say yes to this option, support will be included for the
-+ Nuvoton NCT6775 and compatible SMBus controllers.
-+
-+ This driver can also be built as a module. If so, the module
-+ will be called i2c-nct6775.
-+
- config I2C_NFORCE2
- tristate "Nvidia nForce2, nForce3 and nForce4"
- depends on PCI
-diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile
-index 479f60e4ee3d6f6e0715fba000a4f70f8ec4c932..e8f6d8b41781cbc39a3c785ba02abbec7791bf74 100644
---- a/drivers/i2c/busses/Makefile
-+++ b/drivers/i2c/busses/Makefile
-@@ -20,6 +20,7 @@ obj-$(CONFIG_I2C_CHT_WC) += i2c-cht-wc.o
- obj-$(CONFIG_I2C_I801) += i2c-i801.o
- obj-$(CONFIG_I2C_ISCH) += i2c-isch.o
- obj-$(CONFIG_I2C_ISMT) += i2c-ismt.o
-+obj-$(CONFIG_I2C_NCT6775) += i2c-nct6775.o
- obj-$(CONFIG_I2C_NFORCE2) += i2c-nforce2.o
- obj-$(CONFIG_I2C_NFORCE2_S4985) += i2c-nforce2-s4985.o
- obj-$(CONFIG_I2C_NVIDIA_GPU) += i2c-nvidia-gpu.o
-diff --git a/drivers/i2c/busses/i2c-nct6775.c b/drivers/i2c/busses/i2c-nct6775.c
-new file mode 100644
-index 0000000000000000000000000000000000000000..0462f0952043112cddf1b1fcacbf777dfd358bca
---- /dev/null
-+++ b/drivers/i2c/busses/i2c-nct6775.c
-@@ -0,0 +1,647 @@
-+/*
-+ * i2c-nct6775 - Driver for the SMBus master functionality of
-+ * Nuvoton NCT677x Super-I/O chips
-+ *
-+ * Copyright (C) 2019 Adam Honse <calcprogrammer1@gmail.com>
-+ *
-+ * Derived from nct6775 hwmon driver
-+ * Copyright (C) 2012 Guenter Roeck <linux@roeck-us.net>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-+ *
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/init.h>
-+#include <linux/slab.h>
-+#include <linux/jiffies.h>
-+#include <linux/platform_device.h>
-+#include <linux/hwmon.h>
-+#include <linux/hwmon-sysfs.h>
-+#include <linux/hwmon-vid.h>
-+#include <linux/err.h>
-+#include <linux/mutex.h>
-+#include <linux/delay.h>
-+#include <linux/ioport.h>
-+#include <linux/i2c.h>
-+#include <linux/acpi.h>
-+#include <linux/bitops.h>
-+#include <linux/dmi.h>
-+#include <linux/io.h>
-+#include <linux/nospec.h>
-+
-+#define DRVNAME "i2c-nct6775"
-+
-+/* Nuvoton SMBus address offsets */
-+#define SMBHSTDAT (0 + nuvoton_nct6793d_smba)
-+#define SMBBLKSZ (1 + nuvoton_nct6793d_smba)
-+#define SMBHSTCMD (2 + nuvoton_nct6793d_smba)
-+#define SMBHSTIDX (3 + nuvoton_nct6793d_smba) //Index field is the Command field on other controllers
-+#define SMBHSTCTL (4 + nuvoton_nct6793d_smba)
-+#define SMBHSTADD (5 + nuvoton_nct6793d_smba)
-+#define SMBHSTERR (9 + nuvoton_nct6793d_smba)
-+#define SMBHSTSTS (0xE + nuvoton_nct6793d_smba)
-+
-+/* Command register */
-+#define NCT6793D_READ_BYTE 0
-+#define NCT6793D_READ_WORD 1
-+#define NCT6793D_READ_BLOCK 2
-+#define NCT6793D_BLOCK_WRITE_READ_PROC_CALL 3
-+#define NCT6793D_PROC_CALL 4
-+#define NCT6793D_WRITE_BYTE 8
-+#define NCT6793D_WRITE_WORD 9
-+#define NCT6793D_WRITE_BLOCK 10
-+
-+/* Control register */
-+#define NCT6793D_MANUAL_START 128
-+#define NCT6793D_SOFT_RESET 64
-+
-+/* Error register */
-+#define NCT6793D_NO_ACK 32
-+
-+/* Status register */
-+#define NCT6793D_FIFO_EMPTY 1
-+#define NCT6793D_FIFO_FULL 2
-+#define NCT6793D_MANUAL_ACTIVE 4
-+
-+#define NCT6775_LD_SMBUS 0x0B
-+
-+/* Other settings */
-+#define MAX_RETRIES 400
-+
-+enum kinds { nct6106, nct6775, nct6776, nct6779, nct6791, nct6792, nct6793,
-+ nct6795, nct6796, nct6798 };
-+
-+struct nct6775_sio_data {
-+ int sioreg;
-+ enum kinds kind;
-+};
-+
-+/* used to set data->name = nct6775_device_names[data->sio_kind] */
-+static const char * const nct6775_device_names[] = {
-+ "nct6106",
-+ "nct6775",
-+ "nct6776",
-+ "nct6779",
-+ "nct6791",
-+ "nct6792",
-+ "nct6793",
-+ "nct6795",
-+ "nct6796",
-+ "nct6798",
-+};
-+
-+static const char * const nct6775_sio_names[] __initconst = {
-+ "NCT6106D",
-+ "NCT6775F",
-+ "NCT6776D/F",
-+ "NCT6779D",
-+ "NCT6791D",
-+ "NCT6792D",
-+ "NCT6793D",
-+ "NCT6795D",
-+ "NCT6796D",
-+ "NCT6798D",
-+};
-+
-+#define SIO_REG_LDSEL 0x07 /* Logical device select */
-+#define SIO_REG_DEVID 0x20 /* Device ID (2 bytes) */
-+#define SIO_REG_SMBA 0x62 /* SMBus base address register */
-+
-+#define SIO_NCT6106_ID 0xc450
-+#define SIO_NCT6775_ID 0xb470
-+#define SIO_NCT6776_ID 0xc330
-+#define SIO_NCT6779_ID 0xc560
-+#define SIO_NCT6791_ID 0xc800
-+#define SIO_NCT6792_ID 0xc910
-+#define SIO_NCT6793_ID 0xd120
-+#define SIO_NCT6795_ID 0xd350
-+#define SIO_NCT6796_ID 0xd420
-+#define SIO_NCT6798_ID 0xd428
-+#define SIO_ID_MASK 0xFFF0
-+
-+static inline void
-+superio_outb(int ioreg, int reg, int val)
-+{
-+ outb(reg, ioreg);
-+ outb(val, ioreg + 1);
-+}
-+
-+static inline int
-+superio_inb(int ioreg, int reg)
-+{
-+ outb(reg, ioreg);
-+ return inb(ioreg + 1);
-+}
-+
-+static inline void
-+superio_select(int ioreg, int ld)
-+{
-+ outb(SIO_REG_LDSEL, ioreg);
-+ outb(ld, ioreg + 1);
-+}
-+
-+static inline int
-+superio_enter(int ioreg)
-+{
-+ /*
-+ * Try to reserve <ioreg> and <ioreg + 1> for exclusive access.
-+ */
-+ if (!request_muxed_region(ioreg, 2, DRVNAME))
-+ return -EBUSY;
-+
-+ outb(0x87, ioreg);
-+ outb(0x87, ioreg);
-+
-+ return 0;
-+}
-+
-+static inline void
-+superio_exit(int ioreg)
-+{
-+ outb(0xaa, ioreg);
-+ outb(0x02, ioreg);
-+ outb(0x02, ioreg + 1);
-+ release_region(ioreg, 2);
-+}
-+
-+/*
-+ * ISA constants
-+ */
-+
-+#define IOREGION_ALIGNMENT (~7)
-+#define IOREGION_LENGTH 2
-+#define ADDR_REG_OFFSET 0
-+#define DATA_REG_OFFSET 1
-+
-+#define NCT6775_REG_BANK 0x4E
-+#define NCT6775_REG_CONFIG 0x40
-+
-+static struct i2c_adapter *nct6775_adapter;
-+
-+struct i2c_nct6775_adapdata {
-+ unsigned short smba;
-+};
-+
-+/* Return negative errno on error. */
-+static s32 nct6775_access(struct i2c_adapter * adap, u16 addr,
-+ unsigned short flags, char read_write,
-+ u8 command, int size, union i2c_smbus_data * data)
-+{
-+ struct i2c_nct6775_adapdata *adapdata = i2c_get_adapdata(adap);
-+ unsigned short nuvoton_nct6793d_smba = adapdata->smba;
-+ int i, len, cnt;
-+ union i2c_smbus_data tmp_data;
-+ int timeout = 0;
-+
-+ tmp_data.word = 0;
-+ cnt = 0;
-+ len = 0;
-+
-+ outb_p(NCT6793D_SOFT_RESET, SMBHSTCTL);
-+
-+ switch (size) {
-+ case I2C_SMBUS_QUICK:
-+ outb_p((addr << 1) | read_write,
-+ SMBHSTADD);
-+ break;
-+ case I2C_SMBUS_BYTE_DATA:
-+ tmp_data.byte = data->byte;
-+ case I2C_SMBUS_BYTE:
-+ outb_p((addr << 1) | read_write,
-+ SMBHSTADD);
-+ outb_p(command, SMBHSTIDX);
-+ if (read_write == I2C_SMBUS_WRITE) {
-+ outb_p(tmp_data.byte, SMBHSTDAT);
-+ outb_p(NCT6793D_WRITE_BYTE, SMBHSTCMD);
-+ }
-+ else {
-+ outb_p(NCT6793D_READ_BYTE, SMBHSTCMD);
-+ }
-+ break;
-+ case I2C_SMBUS_WORD_DATA:
-+ outb_p((addr << 1) | read_write,
-+ SMBHSTADD);
-+ outb_p(command, SMBHSTIDX);
-+ if (read_write == I2C_SMBUS_WRITE) {
-+ outb_p(data->word & 0xff, SMBHSTDAT);
-+ outb_p((data->word & 0xff00) >> 8, SMBHSTDAT);
-+ outb_p(NCT6793D_WRITE_WORD, SMBHSTCMD);
-+ }
-+ else {
-+ outb_p(NCT6793D_READ_WORD, SMBHSTCMD);
-+ }
-+ break;
-+ case I2C_SMBUS_BLOCK_DATA:
-+ outb_p((addr << 1) | read_write,
-+ SMBHSTADD);
-+ outb_p(command, SMBHSTIDX);
-+ if (read_write == I2C_SMBUS_WRITE) {
-+ len = data->block[0];
-+ if (len == 0 || len > I2C_SMBUS_BLOCK_MAX)
-+ return -EINVAL;
-+ outb_p(len, SMBBLKSZ);
-+
-+ cnt = 1;
-+ if (len >= 4) {
-+ for (i = cnt; i <= 4; i++) {
-+ outb_p(data->block[i], SMBHSTDAT);
-+ }
-+
-+ len -= 4;
-+ cnt += 4;
-+ }
-+ else {
-+ for (i = cnt; i <= len; i++ ) {
-+ outb_p(data->block[i], SMBHSTDAT);
-+ }
-+
-+ len = 0;
-+ }
-+
-+ outb_p(NCT6793D_WRITE_BLOCK, SMBHSTCMD);
-+ }
-+ else {
-+ return -ENOTSUPP;
-+ }
-+ break;
-+ default:
-+ dev_warn(&adap->dev, "Unsupported transaction %d\n", size);
-+ return -EOPNOTSUPP;
-+ }
-+
-+ outb_p(NCT6793D_MANUAL_START, SMBHSTCTL);
-+
-+ while ((size == I2C_SMBUS_BLOCK_DATA) && (len > 0)) {
-+ if (read_write == I2C_SMBUS_WRITE) {
-+ timeout = 0;
-+ while ((inb_p(SMBHSTSTS) & NCT6793D_FIFO_EMPTY) == 0)
-+ {
-+ if(timeout > MAX_RETRIES)
-+ {
-+ return -ETIMEDOUT;
-+ }
-+ usleep_range(250, 500);
-+ timeout++;
-+ }
-+
-+ //Load more bytes into FIFO
-+ if (len >= 4) {
-+ for (i = cnt; i <= (cnt + 4); i++) {
-+ outb_p(data->block[i], SMBHSTDAT);
-+ }
-+
-+ len -= 4;
-+ cnt += 4;
-+ }
-+ else {
-+ for (i = cnt; i <= (cnt + len); i++) {
-+ outb_p(data->block[i], SMBHSTDAT);
-+ }
-+
-+ len = 0;
-+ }
-+ }
-+ else {
-+ return -ENOTSUPP;
-+ }
-+
-+ }
-+
-+ //wait for manual mode to complete
-+ timeout = 0;
-+ while ((inb_p(SMBHSTSTS) & NCT6793D_MANUAL_ACTIVE) != 0)
-+ {
-+ if(timeout > MAX_RETRIES)
-+ {
-+ return -ETIMEDOUT;
-+ }
-+ usleep_range(250, 500);
-+ timeout++;
-+ }
-+
-+ if ((inb_p(SMBHSTERR) & NCT6793D_NO_ACK) != 0) {
-+ return -ENXIO;
-+ }
-+ else if ((read_write == I2C_SMBUS_WRITE) || (size == I2C_SMBUS_QUICK)) {
-+ return 0;
-+ }
-+
-+ switch (size) {
-+ case I2C_SMBUS_QUICK:
-+ case I2C_SMBUS_BYTE_DATA:
-+ data->byte = inb_p(SMBHSTDAT);
-+ break;
-+ case I2C_SMBUS_WORD_DATA:
-+ data->word = inb_p(SMBHSTDAT) + (inb_p(SMBHSTDAT) << 8);
-+ break;
-+ }
-+ return 0;
-+}
-+
-+static u32 nct6775_func(struct i2c_adapter *adapter)
-+{
-+ return I2C_FUNC_SMBUS_QUICK | I2C_FUNC_SMBUS_BYTE |
-+ I2C_FUNC_SMBUS_BYTE_DATA | I2C_FUNC_SMBUS_WORD_DATA |
-+ I2C_FUNC_SMBUS_BLOCK_DATA;
-+}
-+
-+static const struct i2c_algorithm smbus_algorithm = {
-+ .smbus_xfer = nct6775_access,
-+ .functionality = nct6775_func,
-+};
-+
-+static int nct6775_add_adapter(unsigned short smba, const char *name, struct i2c_adapter **padap)
-+{
-+ struct i2c_adapter *adap;
-+ struct i2c_nct6775_adapdata *adapdata;
-+ int retval;
-+
-+ adap = kzalloc(sizeof(*adap), GFP_KERNEL);
-+ if (adap == NULL) {
-+ return -ENOMEM;
-+ }
-+
-+ adap->owner = THIS_MODULE;
-+ adap->class = I2C_CLASS_HWMON | I2C_CLASS_SPD;
-+ adap->algo = &smbus_algorithm;
-+
-+ adapdata = kzalloc(sizeof(*adapdata), GFP_KERNEL);
-+ if (adapdata == NULL) {
-+ kfree(adap);
-+ return -ENOMEM;
-+ }
-+
-+ adapdata->smba = smba;
-+
-+ snprintf(adap->name, sizeof(adap->name),
-+ "SMBus NCT67xx adapter%s at %04x", name, smba);
-+
-+ i2c_set_adapdata(adap, adapdata);
-+
-+ retval = i2c_add_adapter(adap);
-+ if (retval) {
-+ kfree(adapdata);
-+ kfree(adap);
-+ return retval;
-+ }
-+
-+ *padap = adap;
-+ return 0;
-+}
-+
-+static void nct6775_remove_adapter(struct i2c_adapter *adap)
-+{
-+ struct i2c_nct6775_adapdata *adapdata = i2c_get_adapdata(adap);
-+
-+ if (adapdata->smba) {
-+ i2c_del_adapter(adap);
-+ kfree(adapdata);
-+ kfree(adap);
-+ }
-+}
-+
-+//static SIMPLE_DEV_PM_OPS(nct6775_dev_pm_ops, nct6775_suspend, nct6775_resume);
-+
-+/*
-+ * when Super-I/O functions move to a separate file, the Super-I/O
-+ * bus will manage the lifetime of the device and this module will only keep
-+ * track of the nct6775 driver. But since we use platform_device_alloc(), we
-+ * must keep track of the device
-+ */
-+static struct platform_device *pdev[2];
-+
-+static int nct6775_probe(struct platform_device *pdev)
-+{
-+ struct device *dev = &pdev->dev;
-+ struct nct6775_sio_data *sio_data = dev_get_platdata(dev);
-+ struct resource *res;
-+
-+ res = platform_get_resource(pdev, IORESOURCE_IO, 0);
-+ if (!devm_request_region(&pdev->dev, res->start, IOREGION_LENGTH,
-+ DRVNAME))
-+ return -EBUSY;
-+
-+ switch (sio_data->kind) {
-+ case nct6791:
-+ case nct6792:
-+ case nct6793:
-+ case nct6795:
-+ case nct6796:
-+ case nct6798:
-+ nct6775_add_adapter(res->start, "", &nct6775_adapter);
-+ break;
-+ default:
-+ return -ENODEV;
-+ }
-+
-+ return 0;
-+}
-+/*
-+static void nct6791_enable_io_mapping(int sioaddr)
-+{
-+ int val;
-+
-+ val = superio_inb(sioaddr, NCT6791_REG_HM_IO_SPACE_LOCK_ENABLE);
-+ if (val & 0x10) {
-+ pr_info("Enabling hardware monitor logical device mappings.\n");
-+ superio_outb(sioaddr, NCT6791_REG_HM_IO_SPACE_LOCK_ENABLE,
-+ val & ~0x10);
-+ }
-+}*/
-+
-+static struct platform_driver i2c_nct6775_driver = {
-+ .driver = {
-+ .name = DRVNAME,
-+// .pm = &nct6775_dev_pm_ops,
-+ },
-+ .probe = nct6775_probe,
-+};
-+
-+static void __exit i2c_nct6775_exit(void)
-+{
-+ int i;
-+
-+ if(nct6775_adapter)
-+ nct6775_remove_adapter(nct6775_adapter);
-+
-+ for (i = 0; i < ARRAY_SIZE(pdev); i++) {
-+ if (pdev[i])
-+ platform_device_unregister(pdev[i]);
-+ }
-+ platform_driver_unregister(&i2c_nct6775_driver);
-+}
-+
-+/* nct6775_find() looks for a '627 in the Super-I/O config space */
-+static int __init nct6775_find(int sioaddr, struct nct6775_sio_data *sio_data)
-+{
-+ u16 val;
-+ int err;
-+ int addr;
-+
-+ err = superio_enter(sioaddr);
-+ if (err)
-+ return err;
-+
-+ val = (superio_inb(sioaddr, SIO_REG_DEVID) << 8) |
-+ superio_inb(sioaddr, SIO_REG_DEVID + 1);
-+
-+ switch (val & SIO_ID_MASK) {
-+ case SIO_NCT6106_ID:
-+ sio_data->kind = nct6106;
-+ break;
-+ case SIO_NCT6775_ID:
-+ sio_data->kind = nct6775;
-+ break;
-+ case SIO_NCT6776_ID:
-+ sio_data->kind = nct6776;
-+ break;
-+ case SIO_NCT6779_ID:
-+ sio_data->kind = nct6779;
-+ break;
-+ case SIO_NCT6791_ID:
-+ sio_data->kind = nct6791;
-+ break;
-+ case SIO_NCT6792_ID:
-+ sio_data->kind = nct6792;
-+ break;
-+ case SIO_NCT6793_ID:
-+ sio_data->kind = nct6793;
-+ break;
-+ case SIO_NCT6795_ID:
-+ sio_data->kind = nct6795;
-+ break;
-+ case SIO_NCT6796_ID:
-+ sio_data->kind = nct6796;
-+ break;
-+ case SIO_NCT6798_ID:
-+ sio_data->kind = nct6798;
-+ break;
-+ default:
-+ if (val != 0xffff)
-+ pr_debug("unsupported chip ID: 0x%04x\n", val);
-+ superio_exit(sioaddr);
-+ return -ENODEV;
-+ }
-+
-+ /* We have a known chip, find the SMBus I/O address */
-+ superio_select(sioaddr, NCT6775_LD_SMBUS);
-+ val = (superio_inb(sioaddr, SIO_REG_SMBA) << 8)
-+ | superio_inb(sioaddr, SIO_REG_SMBA + 1);
-+ addr = val & IOREGION_ALIGNMENT;
-+ if (addr == 0) {
-+ pr_err("Refusing to enable a Super-I/O device with a base I/O port 0\n");
-+ superio_exit(sioaddr);
-+ return -ENODEV;
-+ }
-+
-+ //if (sio_data->kind == nct6791 || sio_data->kind == nct6792 ||
-+ // sio_data->kind == nct6793 || sio_data->kind == nct6795 ||
-+ // sio_data->kind == nct6796)
-+ // nct6791_enable_io_mapping(sioaddr);
-+
-+ superio_exit(sioaddr);
-+ pr_info("Found %s or compatible chip at %#x:%#x\n",
-+ nct6775_sio_names[sio_data->kind], sioaddr, addr);
-+ sio_data->sioreg = sioaddr;
-+
-+ return addr;
-+}
-+
-+static int __init i2c_nct6775_init(void)
-+{
-+ int i, err;
-+ bool found = false;
-+ int address;
-+ struct resource res;
-+ struct nct6775_sio_data sio_data;
-+ int sioaddr[2] = { 0x2e, 0x4e };
-+
-+ err = platform_driver_register(&i2c_nct6775_driver);
-+ if (err)
-+ return err;
-+
-+ /*
-+ * initialize sio_data->kind and sio_data->sioreg.
-+ *
-+ * when Super-I/O functions move to a separate file, the Super-I/O
-+ * driver will probe 0x2e and 0x4e and auto-detect the presence of a
-+ * nct6775 hardware monitor, and call probe()
-+ */
-+ for (i = 0; i < ARRAY_SIZE(pdev); i++) {
-+ address = nct6775_find(sioaddr[i], &sio_data);
-+ if (address <= 0)
-+ continue;
-+
-+ found = true;
-+
-+ pdev[i] = platform_device_alloc(DRVNAME, address);
-+ if (!pdev[i]) {
-+ err = -ENOMEM;
-+ goto exit_device_unregister;
-+ }
-+
-+ err = platform_device_add_data(pdev[i], &sio_data,
-+ sizeof(struct nct6775_sio_data));
-+ if (err)
-+ goto exit_device_put;
-+
-+ memset(&res, 0, sizeof(res));
-+ res.name = DRVNAME;
-+ res.start = address;
-+ res.end = address + IOREGION_LENGTH - 1;
-+ res.flags = IORESOURCE_IO;
-+
-+ err = acpi_check_resource_conflict(&res);
-+ if (err) {
-+ platform_device_put(pdev[i]);
-+ pdev[i] = NULL;
-+ continue;
-+ }
-+
-+ err = platform_device_add_resources(pdev[i], &res, 1);
-+ if (err)
-+ goto exit_device_put;
-+
-+ /* platform_device_add calls probe() */
-+ err = platform_device_add(pdev[i]);
-+ if (err)
-+ goto exit_device_put;
-+ }
-+ if (!found) {
-+ err = -ENODEV;
-+ goto exit_unregister;
-+ }
-+
-+ return 0;
-+
-+exit_device_put:
-+ platform_device_put(pdev[i]);
-+exit_device_unregister:
-+ while (--i >= 0) {
-+ if (pdev[i])
-+ platform_device_unregister(pdev[i]);
-+ }
-+exit_unregister:
-+ platform_driver_unregister(&i2c_nct6775_driver);
-+ return err;
-+}
-+
-+MODULE_AUTHOR("Adam Honse <calcprogrammer1@gmail.com>");
-+MODULE_DESCRIPTION("SMBus driver for NCT6775F and compatible chips");
-+MODULE_LICENSE("GPL");
-+
-+module_init(i2c_nct6775_init);
-+module_exit(i2c_nct6775_exit);
-diff --git a/drivers/i2c/busses/i2c-piix4.c b/drivers/i2c/busses/i2c-piix4.c
-index 39cb1b7bb8656c6f34bc194b9ed7537ad70cf293..9d0b0c24b94eb0a1ed2ba740f94474d50f56f06d 100644
---- a/drivers/i2c/busses/i2c-piix4.c
-+++ b/drivers/i2c/busses/i2c-piix4.c
-@@ -568,11 +568,11 @@ static int piix4_transaction(struct i2c_adapter *piix4_adapter)
- if (srvrworks_csb5_delay) /* Extra delay for SERVERWORKS_CSB5 */
- usleep_range(2000, 2100);
- else
-- usleep_range(250, 500);
-+ usleep_range(25, 50);
-
- while ((++timeout < MAX_TIMEOUT) &&
- ((temp = inb_p(SMBHSTSTS)) & 0x01))
-- usleep_range(250, 500);
-+ usleep_range(25, 50);
-
- /* If the SMBus is still busy, we give up */
- if (timeout == MAX_TIMEOUT) {
diff --git a/0003-firmware-tegra-bpmp-Do-only-aligned-access-to-IPC-me.patch b/0003-firmware-tegra-bpmp-Do-only-aligned-access-to-IPC-me.patch
deleted file mode 100644
index 216708899a77..000000000000
--- a/0003-firmware-tegra-bpmp-Do-only-aligned-access-to-IPC-me.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 515af71adf3d5e05587c7bb27c1725c20cd259a0 Mon Sep 17 00:00:00 2001
-From: Timo Alho <talho@nvidia.com>
-Date: Wed, 22 Jun 2022 16:22:59 +0300
-Subject: [PATCH 03/73] firmware: tegra: bpmp: Do only aligned access to IPC
- memory area
-
-commit a4740b148a04dc60e14fe6a1dfe216d3bae214fd upstream.
-
-Use memcpy_toio and memcpy_fromio variants of memcpy to guarantee no
-unaligned access to IPC memory area. This is to allow the IPC memory to
-be mapped as Device memory to further suppress speculative reads from
-happening within the 64 kB memory area above the IPC memory when 64 kB
-memory pages are used.
-
-Signed-off-by: Timo Alho <talho@nvidia.com>
-Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
-Signed-off-by: Thierry Reding <treding@nvidia.com>
-Cc: Jon Hunter <jonathanh@nvidia.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/firmware/tegra/bpmp.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/firmware/tegra/bpmp.c b/drivers/firmware/tegra/bpmp.c
-index 5654c5e9862b..037db21de510 100644
---- a/drivers/firmware/tegra/bpmp.c
-+++ b/drivers/firmware/tegra/bpmp.c
-@@ -201,7 +201,7 @@ static ssize_t __tegra_bpmp_channel_read(struct tegra_bpmp_channel *channel,
- int err;
-
- if (data && size > 0)
-- memcpy(data, channel->ib->data, size);
-+ memcpy_fromio(data, channel->ib->data, size);
-
- err = tegra_bpmp_ack_response(channel);
- if (err < 0)
-@@ -245,7 +245,7 @@ static ssize_t __tegra_bpmp_channel_write(struct tegra_bpmp_channel *channel,
- channel->ob->flags = flags;
-
- if (data && size > 0)
-- memcpy(channel->ob->data, data, size);
-+ memcpy_toio(channel->ob->data, data, size);
-
- return tegra_bpmp_post_request(channel);
- }
-@@ -420,7 +420,7 @@ void tegra_bpmp_mrq_return(struct tegra_bpmp_channel *channel, int code,
- channel->ob->code = code;
-
- if (data && size > 0)
-- memcpy(channel->ob->data, data, size);
-+ memcpy_toio(channel->ob->data, data, size);
-
- err = tegra_bpmp_post_response(channel);
- if (WARN_ON(err < 0))
---
-2.37.3
-
diff --git a/0004-ZEN-Add-ACS-override-support.patch b/0004-ZEN-Add-ACS-override-support.patch
deleted file mode 100644
index 902bea88f44a..000000000000
--- a/0004-ZEN-Add-ACS-override-support.patch
+++ /dev/null
@@ -1,150 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Steven Barrett <steven@liquorix.net>
-Date: Sat, 30 Jan 2021 11:34:18 -0600
-Subject: [PATCH] ZEN: Add ACS override support
-
-Source: https://gitlab.com/Queuecumber/linux-acs-override/-/raw/master/workspaces/5.10.4/acso.patch
----
- .../admin-guide/kernel-parameters.txt | 9 ++
- drivers/pci/quirks.c | 101 ++++++++++++++++++
- 2 files changed, 110 insertions(+)
-
-diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
-index cc3ea8febc623e84abec9a28a73174c60fc1f57f..0185df52bb49883434327779aa6fc37383f9e7e4 100644
---- a/Documentation/admin-guide/kernel-parameters.txt
-+++ b/Documentation/admin-guide/kernel-parameters.txt
-@@ -4084,6 +4084,15 @@
- nomsi [MSI] If the PCI_MSI kernel config parameter is
- enabled, this kernel boot option can be used to
- disable the use of MSI interrupts system-wide.
-+ pcie_acs_override =
-+ [PCIE] Override missing PCIe ACS support for:
-+ downstream
-+ All downstream ports - full ACS capabilities
-+ multfunction
-+ All multifunction devices - multifunction ACS subset
-+ id:nnnn:nnnn
-+ Specfic device - full ACS capabilities
-+ Specified as vid:did (vendor/device ID) in hex
- noioapicquirk [APIC] Disable all boot interrupt quirks.
- Safety option to keep boot IRQs enabled. This
- should never be necessary.
-diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
-index 41aeaa23513224a3836910a39ea12abac291ccbc..f76b7abd7d11af5c3b8250f738d8ef4a26fd8da6 100644
---- a/drivers/pci/quirks.c
-+++ b/drivers/pci/quirks.c
-@@ -3601,6 +3601,106 @@ static void quirk_no_bus_reset(struct pci_dev *dev)
- dev->dev_flags |= PCI_DEV_FLAGS_NO_BUS_RESET;
- }
-
-+static bool acs_on_downstream;
-+static bool acs_on_multifunction;
-+
-+#define NUM_ACS_IDS 16
-+struct acs_on_id {
-+ unsigned short vendor;
-+ unsigned short device;
-+};
-+static struct acs_on_id acs_on_ids[NUM_ACS_IDS];
-+static u8 max_acs_id;
-+
-+static __init int pcie_acs_override_setup(char *p)
-+{
-+ if (!p)
-+ return -EINVAL;
-+
-+ while (*p) {
-+ if (!strncmp(p, "downstream", 10))
-+ acs_on_downstream = true;
-+ if (!strncmp(p, "multifunction", 13))
-+ acs_on_multifunction = true;
-+ if (!strncmp(p, "id:", 3)) {
-+ char opt[5];
-+ int ret;
-+ long val;
-+
-+ if (max_acs_id >= NUM_ACS_IDS - 1) {
-+ pr_warn("Out of PCIe ACS override slots (%d)\n",
-+ NUM_ACS_IDS);
-+ goto next;
-+ }
-+
-+ p += 3;
-+ snprintf(opt, 5, "%s", p);
-+ ret = kstrtol(opt, 16, &val);
-+ if (ret) {
-+ pr_warn("PCIe ACS ID parse error %d\n", ret);
-+ goto next;
-+ }
-+ acs_on_ids[max_acs_id].vendor = val;
-+
-+ p += strcspn(p, ":");
-+ if (*p != ':') {
-+ pr_warn("PCIe ACS invalid ID\n");
-+ goto next;
-+ }
-+
-+ p++;
-+ snprintf(opt, 5, "%s", p);
-+ ret = kstrtol(opt, 16, &val);
-+ if (ret) {
-+ pr_warn("PCIe ACS ID parse error %d\n", ret);
-+ goto next;
-+ }
-+ acs_on_ids[max_acs_id].device = val;
-+ max_acs_id++;
-+ }
-+next:
-+ p += strcspn(p, ",");
-+ if (*p == ',')
-+ p++;
-+ }
-+
-+ if (acs_on_downstream || acs_on_multifunction || max_acs_id)
-+ pr_warn("Warning: PCIe ACS overrides enabled; This may allow non-IOMMU protected peer-to-peer DMA\n");
-+
-+ return 0;
-+}
-+early_param("pcie_acs_override", pcie_acs_override_setup);
-+
-+static int pcie_acs_overrides(struct pci_dev *dev, u16 acs_flags)
-+{
-+ int i;
-+
-+ /* Never override ACS for legacy devices or devices with ACS caps */
-+ if (!pci_is_pcie(dev) ||
-+ pci_find_ext_capability(dev, PCI_EXT_CAP_ID_ACS))
-+ return -ENOTTY;
-+
-+ for (i = 0; i < max_acs_id; i++)
-+ if (acs_on_ids[i].vendor == dev->vendor &&
-+ acs_on_ids[i].device == dev->device)
-+ return 1;
-+
-+ switch (pci_pcie_type(dev)) {
-+ case PCI_EXP_TYPE_DOWNSTREAM:
-+ case PCI_EXP_TYPE_ROOT_PORT:
-+ if (acs_on_downstream)
-+ return 1;
-+ break;
-+ case PCI_EXP_TYPE_ENDPOINT:
-+ case PCI_EXP_TYPE_UPSTREAM:
-+ case PCI_EXP_TYPE_LEG_END:
-+ case PCI_EXP_TYPE_RC_END:
-+ if (acs_on_multifunction && dev->multifunction)
-+ return 1;
-+ }
-+
-+ return -ENOTTY;
-+}
- /*
- * Some NVIDIA GPU devices do not work with bus reset, SBR needs to be
- * prevented for those affected devices.
-@@ -4966,6 +5066,7 @@ static const struct pci_dev_acs_enabled {
- { PCI_VENDOR_ID_NXP, 0x8d9b, pci_quirk_nxp_rp_acs },
- /* Zhaoxin Root/Downstream Ports */
- { PCI_VENDOR_ID_ZHAOXIN, PCI_ANY_ID, pci_quirk_zhaoxin_pcie_ports_acs },
-+ { PCI_ANY_ID, PCI_ANY_ID, pcie_acs_overrides },
- { 0 }
- };
-
diff --git a/0004-crypto-lib-remove-unneeded-selection-of-XOR_BLOCKS.patch b/0004-crypto-lib-remove-unneeded-selection-of-XOR_BLOCKS.patch
deleted file mode 100644
index 768851474be3..000000000000
--- a/0004-crypto-lib-remove-unneeded-selection-of-XOR_BLOCKS.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From e120a63532946bad71dc6255579a3219a9caf66c Mon Sep 17 00:00:00 2001
-From: Eric Biggers <ebiggers@google.com>
-Date: Thu, 25 Aug 2022 22:04:56 -0700
-Subject: [PATCH 04/73] crypto: lib - remove unneeded selection of XOR_BLOCKS
-
-commit 874b301985ef2f89b8b592ad255e03fb6fbfe605 upstream.
-
-CRYPTO_LIB_CHACHA_GENERIC doesn't need to select XOR_BLOCKS. It perhaps
-was thought that it's needed for __crypto_xor, but that's not the case.
-
-Enabling XOR_BLOCKS is problematic because the XOR_BLOCKS code runs a
-benchmark when it is initialized. That causes a boot time regression on
-systems that didn't have it enabled before.
-
-Therefore, remove this unnecessary and problematic selection.
-
-Fixes: e56e18985596 ("lib/crypto: add prompts back to crypto libraries")
-Cc: stable@vger.kernel.org
-Signed-off-by: Eric Biggers <ebiggers@google.com>
-Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- lib/crypto/Kconfig | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/lib/crypto/Kconfig b/lib/crypto/Kconfig
-index 2082af43d51f..0717a0dcefed 100644
---- a/lib/crypto/Kconfig
-+++ b/lib/crypto/Kconfig
-@@ -33,7 +33,6 @@ config CRYPTO_ARCH_HAVE_LIB_CHACHA
-
- config CRYPTO_LIB_CHACHA_GENERIC
- tristate
-- select XOR_BLOCKS
- help
- This symbol can be depended upon by arch implementations of the
- ChaCha library interface that require the generic code as a
---
-2.37.3
-
diff --git a/0005-ZEN-PCI-Add-Intel-remapped-NVMe-device-support.patch b/0005-ZEN-PCI-Add-Intel-remapped-NVMe-device-support.patch
deleted file mode 100644
index f8f08f65ed54..000000000000
--- a/0005-ZEN-PCI-Add-Intel-remapped-NVMe-device-support.patch
+++ /dev/null
@@ -1,637 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Daniel Drake <drake@endlessm.com>
-Date: Tue, 4 Jun 2019 14:51:21 +0800
-Subject: [PATCH] ZEN: PCI: Add Intel remapped NVMe device support
-
-Contains:
- - PCI: Add Intel remapped NVMe device support
-
- Consumer products that are configured by default to run the Intel SATA AHCI
- controller in "RAID" or "Intel RST Premium With Intel Optane System
- Acceleration" mode are becoming increasingly prevalent.
-
- Unde this mode, NVMe devices are remapped into the SATA device and become
- hidden from the PCI bus, which means that Linux users cannot access their
- storage devices unless they go into the firmware setup menu to revert back
- to AHCI mode - assuming such option is available. Lack of support for this
- mode is also causing complications for vendors who distribute Linux.
-
- Add support for the remapped NVMe mode by creating a virtual PCI bus,
- where the AHCI and NVMe devices are presented separately, allowing the
- ahci and nvme drivers to bind in the normal way.
-
- Unfortunately the NVMe device configuration space is inaccesible under
- this scheme, so we provide a fake one, and hope that no DeviceID-based
- quirks are needed. The interrupt is shared between the AHCI and NVMe
- devices.
-
- Allow pci_real_dma_dev() to traverse back to the real DMA device from
- the PCI devices created on our virtual bus, in case the iommu driver
- will be involved with data transfers here.
-
- The existing ahci driver is modified to not claim devices where remapped
- NVMe devices are present, allowing this new driver to step in.
-
- The details of the remapping scheme came from patches previously
- posted by Dan Williams and the resulting discussion.
-
- https://phabricator.endlessm.com/T24358
- https://phabricator.endlessm.com/T29119
-
- Signed-off-by: Daniel Drake <drake@endlessm.com>
-
- - PCI: Fix order of remapped NVMe devices
----
- arch/x86/include/asm/pci.h | 6 +
- arch/x86/pci/common.c | 7 +-
- drivers/ata/ahci.c | 23 +-
- drivers/pci/controller/Makefile | 6 +
- drivers/pci/controller/intel-nvme-remap.c | 462 ++++++++++++++++++++++
- 5 files changed, 488 insertions(+), 16 deletions(-)
- create mode 100644 drivers/pci/controller/intel-nvme-remap.c
-
-diff --git a/arch/x86/include/asm/pci.h b/arch/x86/include/asm/pci.h
-index f3fd5928bcbb58d29ad1ad9fa02acf527669272f..f7488c2b203cf6b90cd257cfd81334230ebd69c1 100644
---- a/arch/x86/include/asm/pci.h
-+++ b/arch/x86/include/asm/pci.h
-@@ -27,6 +27,7 @@ struct pci_sysdata {
- #if IS_ENABLED(CONFIG_VMD)
- struct pci_dev *vmd_dev; /* VMD Device if in Intel VMD domain */
- #endif
-+ struct pci_dev *nvme_remap_dev; /* AHCI Device if NVME remapped bus */
- };
-
- extern int pci_routeirq;
-@@ -70,6 +71,11 @@ static inline bool is_vmd(struct pci_bus *bus)
- #define is_vmd(bus) false
- #endif /* CONFIG_VMD */
-
-+static inline bool is_nvme_remap(struct pci_bus *bus)
-+{
-+ return to_pci_sysdata(bus)->nvme_remap_dev != NULL;
-+}
-+
- /* Can be used to override the logic in pci_scan_bus for skipping
- already-configured bus numbers - to be used for buggy BIOSes
- or architectures with incomplete PCI setup by the loader */
-diff --git a/arch/x86/pci/common.c b/arch/x86/pci/common.c
-index ddb798603201ef79dd6c554d10b746a936ec2a84..7c20387d82029ac485f42c5fbc7e26545a536d3c 100644
---- a/arch/x86/pci/common.c
-+++ b/arch/x86/pci/common.c
-@@ -723,12 +723,15 @@ int pci_ext_cfg_avail(void)
- return 0;
- }
-
--#if IS_ENABLED(CONFIG_VMD)
- struct pci_dev *pci_real_dma_dev(struct pci_dev *dev)
- {
-+#if IS_ENABLED(CONFIG_VMD)
- if (is_vmd(dev->bus))
- return to_pci_sysdata(dev->bus)->vmd_dev;
-+#endif
-+
-+ if (is_nvme_remap(dev->bus))
-+ return to_pci_sysdata(dev->bus)->nvme_remap_dev;
-
- return dev;
- }
--#endif
-diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
-index c1eca72b4575df73f32dc24ddc23d460cf5de581..974d877659113afc952c4ce617c44095423f480a 100644
---- a/drivers/ata/ahci.c
-+++ b/drivers/ata/ahci.c
-@@ -1503,7 +1503,7 @@ static irqreturn_t ahci_thunderx_irq_handler(int irq, void *dev_instance)
- }
- #endif
-
--static void ahci_remap_check(struct pci_dev *pdev, int bar,
-+static int ahci_remap_check(struct pci_dev *pdev, int bar,
- struct ahci_host_priv *hpriv)
- {
- int i;
-@@ -1516,7 +1516,7 @@ static void ahci_remap_check(struct pci_dev *pdev, int bar,
- pci_resource_len(pdev, bar) < SZ_512K ||
- bar != AHCI_PCI_BAR_STANDARD ||
- !(readl(hpriv->mmio + AHCI_VSCAP) & 1))
-- return;
-+ return 0;
-
- cap = readq(hpriv->mmio + AHCI_REMAP_CAP);
- for (i = 0; i < AHCI_MAX_REMAP; i++) {
-@@ -1531,18 +1531,11 @@ static void ahci_remap_check(struct pci_dev *pdev, int bar,
- }
-
- if (!hpriv->remapped_nvme)
-- return;
--
-- dev_warn(&pdev->dev, "Found %u remapped NVMe devices.\n",
-- hpriv->remapped_nvme);
-- dev_warn(&pdev->dev,
-- "Switch your BIOS from RAID to AHCI mode to use them.\n");
-+ return 0;
-
-- /*
-- * Don't rely on the msi-x capability in the remap case,
-- * share the legacy interrupt across ahci and remapped devices.
-- */
-- hpriv->flags |= AHCI_HFLAG_NO_MSI;
-+ /* Abort probe, allowing intel-nvme-remap to step in when available */
-+ dev_info(&pdev->dev, "Device will be handled by intel-nvme-remap.\n");
-+ return -ENODEV;
- }
-
- static int ahci_get_irq_vector(struct ata_host *host, int port)
-@@ -1765,7 +1758,9 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
- hpriv->mmio = pcim_iomap_table(pdev)[ahci_pci_bar];
-
- /* detect remapped nvme devices */
-- ahci_remap_check(pdev, ahci_pci_bar, hpriv);
-+ rc = ahci_remap_check(pdev, ahci_pci_bar, hpriv);
-+ if (rc)
-+ return rc;
-
- sysfs_add_file_to_group(&pdev->dev.kobj,
- &dev_attr_remapped_nvme.attr,
-diff --git a/drivers/pci/controller/Makefile b/drivers/pci/controller/Makefile
-index 37c8663de7fe1ff7c9c948cd39f4b6ce1a912f5b..897d19f92edeb123826596db8d3e65949cfe6678 100644
---- a/drivers/pci/controller/Makefile
-+++ b/drivers/pci/controller/Makefile
-@@ -1,4 +1,10 @@
- # SPDX-License-Identifier: GPL-2.0
-+ifdef CONFIG_X86_64
-+ifdef CONFIG_SATA_AHCI
-+obj-y += intel-nvme-remap.o
-+endif
-+endif
-+
- obj-$(CONFIG_PCIE_CADENCE) += cadence/
- obj-$(CONFIG_PCI_FTPCI100) += pci-ftpci100.o
- obj-$(CONFIG_PCI_IXP4XX) += pci-ixp4xx.o
-diff --git a/drivers/pci/controller/intel-nvme-remap.c b/drivers/pci/controller/intel-nvme-remap.c
-new file mode 100644
-index 0000000000000000000000000000000000000000..e105e6f5cc91d1b99db4c9b1c79b500bb4beb22a
---- /dev/null
-+++ b/drivers/pci/controller/intel-nvme-remap.c
-@@ -0,0 +1,462 @@
-+// SPDX-License-Identifier: GPL-2.0
-+/*
-+ * Intel remapped NVMe device support.
-+ *
-+ * Copyright (c) 2019 Endless Mobile, Inc.
-+ * Author: Daniel Drake <drake@endlessm.com>
-+ *
-+ * Some products ship by default with the SATA controller in "RAID" or
-+ * "Intel RST Premium With Intel Optane System Acceleration" mode. Under this
-+ * mode, which we refer to as "remapped NVMe" mode, any installed NVMe
-+ * devices disappear from the PCI bus, and instead their I/O memory becomes
-+ * available within the AHCI device BARs.
-+ *
-+ * This scheme is understood to be a way of avoiding usage of the standard
-+ * Windows NVMe driver under that OS, instead mandating usage of Intel's
-+ * driver instead, which has better power management, and presumably offers
-+ * some RAID/disk-caching solutions too.
-+ *
-+ * Here in this driver, we support the remapped NVMe mode by claiming the
-+ * AHCI device and creating a fake PCIe root port. On the new bus, the
-+ * original AHCI device is exposed with only minor tweaks. Then, fake PCI
-+ * devices corresponding to the remapped NVMe devices are created. The usual
-+ * ahci and nvme drivers are then expected to bind to these devices and
-+ * operate as normal.
-+ *
-+ * The PCI configuration space for the NVMe devices is completely
-+ * unavailable, so we fake a minimal one and hope for the best.
-+ *
-+ * Interrupts are shared between the AHCI and NVMe devices. For simplicity,
-+ * we only support the legacy interrupt here, although MSI support
-+ * could potentially be added later.
-+ */
-+
-+#define MODULE_NAME "intel-nvme-remap"
-+
-+#include <linux/ahci-remap.h>
-+#include <linux/irq.h>
-+#include <linux/kernel.h>
-+#include <linux/module.h>
-+#include <linux/pci.h>
-+
-+#define AHCI_PCI_BAR_STANDARD 5
-+
-+struct nvme_remap_dev {
-+ struct pci_dev *dev; /* AHCI device */
-+ struct pci_bus *bus; /* our fake PCI bus */
-+ struct pci_sysdata sysdata;
-+ int irq_base; /* our fake interrupts */
-+
-+ /*
-+ * When we detect an all-ones write to a BAR register, this flag
-+ * is set, so that we return the BAR size on the next read (a
-+ * standard PCI behaviour).
-+ * This includes the assumption that an all-ones BAR write is
-+ * immediately followed by a read of the same register.
-+ */
-+ bool bar_sizing;
-+
-+ /*
-+ * Resources copied from the AHCI device, to be regarded as
-+ * resources on our fake bus.
-+ */
-+ struct resource ahci_resources[PCI_NUM_RESOURCES];
-+
-+ /* Resources corresponding to the NVMe devices. */
-+ struct resource remapped_dev_mem[AHCI_MAX_REMAP];
-+
-+ /* Number of remapped NVMe devices found. */
-+ int num_remapped_devices;
-+};
-+
-+static inline struct nvme_remap_dev *nrdev_from_bus(struct pci_bus *bus)
-+{
-+ return container_of(bus->sysdata, struct nvme_remap_dev, sysdata);
-+}
-+
-+
-+/******** PCI configuration space **********/
-+
-+/*
-+ * Helper macros for tweaking returned contents of PCI configuration space.
-+ *
-+ * value contains len bytes of data read from reg.
-+ * If fixup_reg is included in that range, fix up the contents of that
-+ * register to fixed_value.
-+ */
-+#define NR_FIX8(fixup_reg, fixed_value) do { \
-+ if (reg <= fixup_reg && fixup_reg < reg + len) \
-+ ((u8 *) value)[fixup_reg - reg] = (u8) (fixed_value); \
-+ } while (0)
-+
-+#define NR_FIX16(fixup_reg, fixed_value) do { \
-+ NR_FIX8(fixup_reg, fixed_value); \
-+ NR_FIX8(fixup_reg + 1, fixed_value >> 8); \
-+ } while (0)
-+
-+#define NR_FIX24(fixup_reg, fixed_value) do { \
-+ NR_FIX8(fixup_reg, fixed_value); \
-+ NR_FIX8(fixup_reg + 1, fixed_value >> 8); \
-+ NR_FIX8(fixup_reg + 2, fixed_value >> 16); \
-+ } while (0)
-+
-+#define NR_FIX32(fixup_reg, fixed_value) do { \
-+ NR_FIX16(fixup_reg, (u16) fixed_value); \
-+ NR_FIX16(fixup_reg + 2, fixed_value >> 16); \
-+ } while (0)
-+
-+/*
-+ * Read PCI config space of the slot 0 (AHCI) device.
-+ * We pass through the read request to the underlying device, but
-+ * tweak the results in some cases.
-+ */
-+static int nvme_remap_pci_read_slot0(struct pci_bus *bus, int reg,
-+ int len, u32 *value)
-+{
-+ struct nvme_remap_dev *nrdev = nrdev_from_bus(bus);
-+ struct pci_bus *ahci_dev_bus = nrdev->dev->bus;
-+ int ret;
-+
-+ ret = ahci_dev_bus->ops->read(ahci_dev_bus, nrdev->dev->devfn,
-+ reg, len, value);
-+ if (ret)
-+ return ret;
-+
-+ /*
-+ * Adjust the device class, to prevent this driver from attempting to
-+ * additionally probe the device we're simulating here.
-+ */
-+ NR_FIX24(PCI_CLASS_PROG, PCI_CLASS_STORAGE_SATA_AHCI);
-+
-+ /*
-+ * Unset interrupt pin, otherwise ACPI tries to find routing
-+ * info for our virtual IRQ, fails, and complains.
-+ */
-+ NR_FIX8(PCI_INTERRUPT_PIN, 0);
-+
-+ /*
-+ * Truncate the AHCI BAR to not include the region that covers the
-+ * hidden devices. This will cause the ahci driver to successfully
-+ * probe th new device (instead of handing it over to this driver).
-+ */
-+ if (nrdev->bar_sizing) {
-+ NR_FIX32(PCI_BASE_ADDRESS_5, ~(SZ_16K - 1));
-+ nrdev->bar_sizing = false;
-+ }
-+
-+ return PCIBIOS_SUCCESSFUL;
-+}
-+
-+/*
-+ * Read PCI config space of a remapped device.
-+ * Since the original PCI config space is inaccessible, we provide a minimal,
-+ * fake config space instead.
-+ */
-+static int nvme_remap_pci_read_remapped(struct pci_bus *bus, unsigned int port,
-+ int reg, int len, u32 *value)
-+{
-+ struct nvme_remap_dev *nrdev = nrdev_from_bus(bus);
-+ struct resource *remapped_mem;
-+
-+ if (port > nrdev->num_remapped_devices)
-+ return PCIBIOS_DEVICE_NOT_FOUND;
-+
-+ *value = 0;
-+ remapped_mem = &nrdev->remapped_dev_mem[port - 1];
-+
-+ /* Set a Vendor ID, otherwise Linux assumes no device is present */
-+ NR_FIX16(PCI_VENDOR_ID, PCI_VENDOR_ID_INTEL);
-+
-+ /* Always appear on & bus mastering */
-+ NR_FIX16(PCI_COMMAND, PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER);
-+
-+ /* Set class so that nvme driver probes us */
-+ NR_FIX24(PCI_CLASS_PROG, PCI_CLASS_STORAGE_EXPRESS);
-+
-+ if (nrdev->bar_sizing) {
-+ NR_FIX32(PCI_BASE_ADDRESS_0,
-+ ~(resource_size(remapped_mem) - 1));
-+ nrdev->bar_sizing = false;
-+ } else {
-+ resource_size_t mem_start = remapped_mem->start;
-+
-+ mem_start |= PCI_BASE_ADDRESS_MEM_TYPE_64;
-+ NR_FIX32(PCI_BASE_ADDRESS_0, mem_start);
-+ mem_start >>= 32;
-+ NR_FIX32(PCI_BASE_ADDRESS_1, mem_start);
-+ }
-+
-+ return PCIBIOS_SUCCESSFUL;
-+}
-+
-+/* Read PCI configuration space. */
-+static int nvme_remap_pci_read(struct pci_bus *bus, unsigned int devfn,
-+ int reg, int len, u32 *value)
-+{
-+ if (PCI_SLOT(devfn) == 0)
-+ return nvme_remap_pci_read_slot0(bus, reg, len, value);
-+ else
-+ return nvme_remap_pci_read_remapped(bus, PCI_SLOT(devfn),
-+ reg, len, value);
-+}
-+
-+/*
-+ * Write PCI config space of the slot 0 (AHCI) device.
-+ * Apart from the special case of BAR sizing, we disable all writes.
-+ * Otherwise, the ahci driver could make changes (e.g. unset PCI bus master)
-+ * that would affect the operation of the NVMe devices.
-+ */
-+static int nvme_remap_pci_write_slot0(struct pci_bus *bus, int reg,
-+ int len, u32 value)
-+{
-+ struct nvme_remap_dev *nrdev = nrdev_from_bus(bus);
-+ struct pci_bus *ahci_dev_bus = nrdev->dev->bus;
-+
-+ if (reg >= PCI_BASE_ADDRESS_0 && reg <= PCI_BASE_ADDRESS_5) {
-+ /*
-+ * Writing all-ones to a BAR means that the size of the
-+ * memory region is being checked. Flag this so that we can
-+ * reply with an appropriate size on the next read.
-+ */
-+ if (value == ~0)
-+ nrdev->bar_sizing = true;
-+
-+ return ahci_dev_bus->ops->write(ahci_dev_bus,
-+ nrdev->dev->devfn,
-+ reg, len, value);
-+ }
-+
-+ return PCIBIOS_SET_FAILED;
-+}
-+
-+/*
-+ * Write PCI config space of a remapped device.
-+ * Since the original PCI config space is inaccessible, we reject all
-+ * writes, except for the special case of BAR probing.
-+ */
-+static int nvme_remap_pci_write_remapped(struct pci_bus *bus,
-+ unsigned int port,
-+ int reg, int len, u32 value)
-+{
-+ struct nvme_remap_dev *nrdev = nrdev_from_bus(bus);
-+
-+ if (port > nrdev->num_remapped_devices)
-+ return PCIBIOS_DEVICE_NOT_FOUND;
-+
-+ /*
-+ * Writing all-ones to a BAR means that the size of the memory
-+ * region is being checked. Flag this so that we can reply with
-+ * an appropriate size on the next read.
-+ */
-+ if (value == ~0 && reg >= PCI_BASE_ADDRESS_0
-+ && reg <= PCI_BASE_ADDRESS_5) {
-+ nrdev->bar_sizing = true;
-+ return PCIBIOS_SUCCESSFUL;
-+ }
-+
-+ return PCIBIOS_SET_FAILED;
-+}
-+
-+/* Write PCI configuration space. */
-+static int nvme_remap_pci_write(struct pci_bus *bus, unsigned int devfn,
-+ int reg, int len, u32 value)
-+{
-+ if (PCI_SLOT(devfn) == 0)
-+ return nvme_remap_pci_write_slot0(bus, reg, len, value);
-+ else
-+ return nvme_remap_pci_write_remapped(bus, PCI_SLOT(devfn),
-+ reg, len, value);
-+}
-+
-+static struct pci_ops nvme_remap_pci_ops = {
-+ .read = nvme_remap_pci_read,
-+ .write = nvme_remap_pci_write,
-+};
-+
-+
-+/******** Initialization & exit **********/
-+
-+/*
-+ * Find a PCI domain ID to use for our fake bus.
-+ * Start at 0x10000 to not clash with ACPI _SEG domains (16 bits).
-+ */
-+static int find_free_domain(void)
-+{
-+ int domain = 0xffff;
-+ struct pci_bus *bus = NULL;
-+
-+ while ((bus = pci_find_next_bus(bus)) != NULL)
-+ domain = max_t(int, domain, pci_domain_nr(bus));
-+
-+ return domain + 1;
-+}
-+
-+static int find_remapped_devices(struct nvme_remap_dev *nrdev,
-+ struct list_head *resources)
-+{
-+ void __iomem *mmio;
-+ int i, count = 0;
-+ u32 cap;
-+
-+ mmio = pcim_iomap(nrdev->dev, AHCI_PCI_BAR_STANDARD,
-+ pci_resource_len(nrdev->dev,
-+ AHCI_PCI_BAR_STANDARD));
-+ if (!mmio)
-+ return -ENODEV;
-+
-+ /* Check if this device might have remapped nvme devices. */
-+ if (pci_resource_len(nrdev->dev, AHCI_PCI_BAR_STANDARD) < SZ_512K ||
-+ !(readl(mmio + AHCI_VSCAP) & 1))
-+ return -ENODEV;
-+
-+ cap = readq(mmio + AHCI_REMAP_CAP);
-+ for (i = AHCI_MAX_REMAP-1; i >= 0; i--) {
-+ struct resource *remapped_mem;
-+
-+ if ((cap & (1 << i)) == 0)
-+ continue;
-+ if (readl(mmio + ahci_remap_dcc(i))
-+ != PCI_CLASS_STORAGE_EXPRESS)
-+ continue;
-+
-+ /* We've found a remapped device */
-+ remapped_mem = &nrdev->remapped_dev_mem[count++];
-+ remapped_mem->start =
-+ pci_resource_start(nrdev->dev, AHCI_PCI_BAR_STANDARD)
-+ + ahci_remap_base(i);
-+ remapped_mem->end = remapped_mem->start
-+ + AHCI_REMAP_N_SIZE - 1;
-+ remapped_mem->flags = IORESOURCE_MEM | IORESOURCE_PCI_FIXED;
-+ pci_add_resource(resources, remapped_mem);
-+ }
-+
-+ pcim_iounmap(nrdev->dev, mmio);
-+
-+ if (count == 0)
-+ return -ENODEV;
-+
-+ nrdev->num_remapped_devices = count;
-+ dev_info(&nrdev->dev->dev, "Found %d remapped NVMe devices\n",
-+ nrdev->num_remapped_devices);
-+ return 0;
-+}
-+
-+static void nvme_remap_remove_root_bus(void *data)
-+{
-+ struct pci_bus *bus = data;
-+
-+ pci_stop_root_bus(bus);
-+ pci_remove_root_bus(bus);
-+}
-+
-+static int nvme_remap_probe(struct pci_dev *dev,
-+ const struct pci_device_id *id)
-+{
-+ struct nvme_remap_dev *nrdev;
-+ LIST_HEAD(resources);
-+ int i;
-+ int ret;
-+ struct pci_dev *child;
-+
-+ nrdev = devm_kzalloc(&dev->dev, sizeof(*nrdev), GFP_KERNEL);
-+ nrdev->sysdata.domain = find_free_domain();
-+ nrdev->sysdata.nvme_remap_dev = dev;
-+ nrdev->dev = dev;
-+ pci_set_drvdata(dev, nrdev);
-+
-+ ret = pcim_enable_device(dev);
-+ if (ret < 0)
-+ return ret;
-+
-+ pci_set_master(dev);
-+
-+ ret = find_remapped_devices(nrdev, &resources);
-+ if (ret)
-+ return ret;
-+
-+ /* Add resources from the original AHCI device */
-+ for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-+ struct resource *res = &dev->resource[i];
-+
-+ if (res->start) {
-+ struct resource *nr_res = &nrdev->ahci_resources[i];
-+
-+ nr_res->start = res->start;
-+ nr_res->end = res->end;
-+ nr_res->flags = res->flags;
-+ pci_add_resource(&resources, nr_res);
-+ }
-+ }
-+
-+ /* Create virtual interrupts */
-+ nrdev->irq_base = devm_irq_alloc_descs(&dev->dev, -1, 0,
-+ nrdev->num_remapped_devices + 1,
-+ 0);
-+ if (nrdev->irq_base < 0)
-+ return nrdev->irq_base;
-+
-+ /* Create and populate PCI bus */
-+ nrdev->bus = pci_create_root_bus(&dev->dev, 0, &nvme_remap_pci_ops,
-+ &nrdev->sysdata, &resources);
-+ if (!nrdev->bus)
-+ return -ENODEV;
-+
-+ if (devm_add_action_or_reset(&dev->dev, nvme_remap_remove_root_bus,
-+ nrdev->bus))
-+ return -ENOMEM;
-+
-+ /* We don't support sharing MSI interrupts between these devices */
-+ nrdev->bus->bus_flags |= PCI_BUS_FLAGS_NO_MSI;
-+
-+ pci_scan_child_bus(nrdev->bus);
-+
-+ list_for_each_entry(child, &nrdev->bus->devices, bus_list) {
-+ /*
-+ * Prevent PCI core from trying to move memory BARs around.
-+ * The hidden NVMe devices are at fixed locations.
-+ */
-+ for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-+ struct resource *res = &child->resource[i];
-+
-+ if (res->flags & IORESOURCE_MEM)
-+ res->flags |= IORESOURCE_PCI_FIXED;
-+ }
-+
-+ /* Share the legacy IRQ between all devices */
-+ child->irq = dev->irq;
-+ }
-+
-+ pci_assign_unassigned_bus_resources(nrdev->bus);
-+ pci_bus_add_devices(nrdev->bus);
-+
-+ return 0;
-+}
-+
-+static const struct pci_device_id nvme_remap_ids[] = {
-+ /*
-+ * Match all Intel RAID controllers.
-+ *
-+ * There's overlap here with the set of devices detected by the ahci
-+ * driver, but ahci will only successfully probe when there
-+ * *aren't* any remapped NVMe devices, and this driver will only
-+ * successfully probe when there *are* remapped NVMe devices that
-+ * need handling.
-+ */
-+ {
-+ PCI_VDEVICE(INTEL, PCI_ANY_ID),
-+ .class = PCI_CLASS_STORAGE_RAID << 8,
-+ .class_mask = 0xffffff00,
-+ },
-+ {0,}
-+};
-+MODULE_DEVICE_TABLE(pci, nvme_remap_ids);
-+
-+static struct pci_driver nvme_remap_drv = {
-+ .name = MODULE_NAME,
-+ .id_table = nvme_remap_ids,
-+ .probe = nvme_remap_probe,
-+};
-+module_pci_driver(nvme_remap_drv);
-+
-+MODULE_AUTHOR("Daniel Drake <drake@endlessm.com>");
-+MODULE_LICENSE("GPL v2");
diff --git a/0005-docs-kerneldoc-preamble-Test-xeCJK.sty-before-loadin.patch b/0005-docs-kerneldoc-preamble-Test-xeCJK.sty-before-loadin.patch
deleted file mode 100644
index 5f9b72dbe4af..000000000000
--- a/0005-docs-kerneldoc-preamble-Test-xeCJK.sty-before-loadin.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From a8ba16e9f171e9638401ff39daebdd2b84553e2d Mon Sep 17 00:00:00 2001
-From: Akira Yokosawa <akiyks@gmail.com>
-Date: Mon, 8 Aug 2022 17:53:57 +0900
-Subject: [PATCH 05/73] docs: kerneldoc-preamble: Test xeCJK.sty before loading
-
-commit cee7db1b0239468b22c295cf04a8c40c34ecd35a upstream.
-
-On distros whose texlive packaging is fine-grained, texlive-xecjk
-can be installed/removed independently of other texlive packages.
-Conditionally loading xeCJK depending only on the existence of the
-"Noto Sans CJK SC" font might end up in xelatex error of
-"xeCJK.sty not found!".
-
-Improve the situation by testing existence of xeCJK.sty before
-loading it.
-
-This is useful on RHEL 9 and its clone distros where texlive-xecjk
-doesn't work at the moment due to a missing dependency [1].
-"make pdfdocs" for non-CJK contents should work after removing
-texlive-xecjk.
-
-Link: [1] https://bugzilla.redhat.com/show_bug.cgi?id=2086254
-Fixes: 398f7abdcb7e ("docs: pdfdocs: Pull LaTeX preamble part out of conf.py")
-Cc: stable@vger.kernel.org # v5.18+
-Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
-Acked-by: Mauro Carvalho Chehab <mchehab@kernel.org>
-Link: https://lore.kernel.org/r/c24c2a87-70b2-5342-bcc9-de467940466e@gmail.com
-Signed-off-by: Jonathan Corbet <corbet@lwn.net>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- Documentation/sphinx/kerneldoc-preamble.sty | 22 +++++++++++++++------
- 1 file changed, 16 insertions(+), 6 deletions(-)
-
-diff --git a/Documentation/sphinx/kerneldoc-preamble.sty b/Documentation/sphinx/kerneldoc-preamble.sty
-index 2a29cbe51396..9707e033c8c4 100644
---- a/Documentation/sphinx/kerneldoc-preamble.sty
-+++ b/Documentation/sphinx/kerneldoc-preamble.sty
-@@ -70,8 +70,16 @@
-
- % Translations have Asian (CJK) characters which are only displayed if
- % xeCJK is used
-+\usepackage{ifthen}
-+\newboolean{enablecjk}
-+\setboolean{enablecjk}{false}
- \IfFontExistsTF{Noto Sans CJK SC}{
-- % Load xeCJK when CJK font is available
-+ \IfFileExists{xeCJK.sty}{
-+ \setboolean{enablecjk}{true}
-+ }{}
-+}{}
-+\ifthenelse{\boolean{enablecjk}}{
-+ % Load xeCJK when both the Noto Sans CJK font and xeCJK.sty are available.
- \usepackage{xeCJK}
- % Noto CJK fonts don't provide slant shape. [AutoFakeSlant] permits
- % its emulation.
-@@ -196,7 +204,7 @@
- % Inactivate CJK after tableofcontents
- \apptocmd{\sphinxtableofcontents}{\kerneldocCJKoff}{}{}
- \xeCJKsetup{CJKspace = true}% For inter-phrase space of Korean TOC
--}{ % No CJK font found
-+}{ % Don't enable CJK
- % Custom macros to on/off CJK and switch CJK fonts (Dummy)
- \newcommand{\kerneldocCJKon}{}
- \newcommand{\kerneldocCJKoff}{}
-@@ -204,14 +212,16 @@
- %% and ignore the argument (#1) in their definitions, whole contents of
- %% CJK chapters can be ignored.
- \newcommand{\kerneldocBeginSC}[1]{%
-- %% Put a note on missing CJK fonts in place of zh_CN translation.
-- \begin{sphinxadmonition}{note}{Note on missing fonts:}
-+ %% Put a note on missing CJK fonts or the xecjk package in place of
-+ %% zh_CN translation.
-+ \begin{sphinxadmonition}{note}{Note on missing fonts and a package:}
- Translations of Simplified Chinese (zh\_CN), Traditional Chinese
- (zh\_TW), Korean (ko\_KR), and Japanese (ja\_JP) were skipped
-- due to the lack of suitable font families.
-+ due to the lack of suitable font families and/or the texlive-xecjk
-+ package.
-
- If you want them, please install ``Noto Sans CJK'' font families
-- by following instructions from
-+ along with the texlive-xecjk package by following instructions from
- \sphinxcode{./scripts/sphinx-pre-install}.
- Having optional ``Noto Serif CJK'' font families will improve
- the looks of those translations.
---
-2.37.3
-
diff --git a/0006-arm64-errata-Add-Cortex-A510-to-the-repeat-tlbi-list.patch b/0006-arm64-errata-Add-Cortex-A510-to-the-repeat-tlbi-list.patch
deleted file mode 100644
index 2622a4a106ef..000000000000
--- a/0006-arm64-errata-Add-Cortex-A510-to-the-repeat-tlbi-list.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From d3916da4bc6c022c9c41c576f6538fa78e5ce746 Mon Sep 17 00:00:00 2001
-From: James Morse <james.morse@arm.com>
-Date: Mon, 4 Jul 2022 16:57:32 +0100
-Subject: [PATCH 06/73] arm64: errata: Add Cortex-A510 to the repeat tlbi list
-
-commit 39fdb65f52e9a53d32a6ba719f96669fd300ae78 upstream.
-
-Cortex-A510 is affected by an erratum where in rare circumstances the
-CPUs may not handle a race between a break-before-make sequence on one
-CPU, and another CPU accessing the same page. This could allow a store
-to a page that has been unmapped.
-
-Work around this by adding the affected CPUs to the list that needs
-TLB sequences to be done twice.
-
-Signed-off-by: James Morse <james.morse@arm.com>
-Link: https://lore.kernel.org/r/20220704155732.21216-1-james.morse@arm.com
-Signed-off-by: Will Deacon <will@kernel.org>
-Cc: Lucas Wei <lucaswei@google.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- Documentation/arm64/silicon-errata.rst | 2 ++
- arch/arm64/Kconfig | 17 +++++++++++++++++
- arch/arm64/kernel/cpu_errata.c | 8 +++++++-
- 3 files changed, 26 insertions(+), 1 deletion(-)
-
-diff --git a/Documentation/arm64/silicon-errata.rst b/Documentation/arm64/silicon-errata.rst
-index 0b4235b1f8c4..33b04db8408f 100644
---- a/Documentation/arm64/silicon-errata.rst
-+++ b/Documentation/arm64/silicon-errata.rst
-@@ -106,6 +106,8 @@ stable kernels.
- +----------------+-----------------+-----------------+-----------------------------+
- | ARM | Cortex-A510 | #2077057 | ARM64_ERRATUM_2077057 |
- +----------------+-----------------+-----------------+-----------------------------+
-+| ARM | Cortex-A510 | #2441009 | ARM64_ERRATUM_2441009 |
-++----------------+-----------------+-----------------+-----------------------------+
- | ARM | Cortex-A710 | #2119858 | ARM64_ERRATUM_2119858 |
- +----------------+-----------------+-----------------+-----------------------------+
- | ARM | Cortex-A710 | #2054223 | ARM64_ERRATUM_2054223 |
-diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
-index a5d1b561ed53..001eaba5a6b4 100644
---- a/arch/arm64/Kconfig
-+++ b/arch/arm64/Kconfig
-@@ -838,6 +838,23 @@ config ARM64_ERRATUM_2224489
-
- If unsure, say Y.
-
-+config ARM64_ERRATUM_2441009
-+ bool "Cortex-A510: Completion of affected memory accesses might not be guaranteed by completion of a TLBI"
-+ default y
-+ select ARM64_WORKAROUND_REPEAT_TLBI
-+ help
-+ This option adds a workaround for ARM Cortex-A510 erratum #2441009.
-+
-+ Under very rare circumstances, affected Cortex-A510 CPUs
-+ may not handle a race between a break-before-make sequence on one
-+ CPU, and another CPU accessing the same page. This could allow a
-+ store to a page that has been unmapped.
-+
-+ Work around this by adding the affected CPUs to the list that needs
-+ TLB sequences to be done twice.
-+
-+ If unsure, say Y.
-+
- config ARM64_ERRATUM_2064142
- bool "Cortex-A510: 2064142: workaround TRBE register writes while disabled"
- depends on CORESIGHT_TRBE
-diff --git a/arch/arm64/kernel/cpu_errata.c b/arch/arm64/kernel/cpu_errata.c
-index b374e258f705..5f4117dae888 100644
---- a/arch/arm64/kernel/cpu_errata.c
-+++ b/arch/arm64/kernel/cpu_errata.c
-@@ -213,6 +213,12 @@ static const struct arm64_cpu_capabilities arm64_repeat_tlbi_list[] = {
- /* Kryo4xx Gold (rcpe to rfpe) => (r0p0 to r3p0) */
- ERRATA_MIDR_RANGE(MIDR_QCOM_KRYO_4XX_GOLD, 0xc, 0xe, 0xf, 0xe),
- },
-+#endif
-+#ifdef CONFIG_ARM64_ERRATUM_2441009
-+ {
-+ /* Cortex-A510 r0p0 -> r1p1. Fixed in r1p2 */
-+ ERRATA_MIDR_RANGE(MIDR_CORTEX_A510, 0, 0, 1, 1),
-+ },
- #endif
- {},
- };
-@@ -490,7 +496,7 @@ const struct arm64_cpu_capabilities arm64_errata[] = {
- #endif
- #ifdef CONFIG_ARM64_WORKAROUND_REPEAT_TLBI
- {
-- .desc = "Qualcomm erratum 1009, or ARM erratum 1286807",
-+ .desc = "Qualcomm erratum 1009, or ARM erratum 1286807, 2441009",
- .capability = ARM64_WORKAROUND_REPEAT_TLBI,
- .type = ARM64_CPUCAP_LOCAL_CPU_ERRATUM,
- .matches = cpucap_multi_entry_cap_matches,
---
-2.37.3
-
diff --git a/0007-Bluetooth-L2CAP-Fix-build-errors-in-some-archs.patch b/0007-Bluetooth-L2CAP-Fix-build-errors-in-some-archs.patch
deleted file mode 100644
index b399cefe0e85..000000000000
--- a/0007-Bluetooth-L2CAP-Fix-build-errors-in-some-archs.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From e8fcbce5424966ddbe9e426c163b2e63ff91b789 Mon Sep 17 00:00:00 2001
-From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-Date: Fri, 12 Aug 2022 15:33:57 -0700
-Subject: [PATCH 07/73] Bluetooth: L2CAP: Fix build errors in some archs
-
-commit b840304fb46cdf7012722f456bce06f151b3e81b upstream.
-
-This attempts to fix the follow errors:
-
-In function 'memcmp',
- inlined from 'bacmp' at ./include/net/bluetooth/bluetooth.h:347:9,
- inlined from 'l2cap_global_chan_by_psm' at
- net/bluetooth/l2cap_core.c:2003:15:
-./include/linux/fortify-string.h:44:33: error: '__builtin_memcmp'
-specified bound 6 exceeds source size 0 [-Werror=stringop-overread]
- 44 | #define __underlying_memcmp __builtin_memcmp
- | ^
-./include/linux/fortify-string.h:420:16: note: in expansion of macro
-'__underlying_memcmp'
- 420 | return __underlying_memcmp(p, q, size);
- | ^~~~~~~~~~~~~~~~~~~
-In function 'memcmp',
- inlined from 'bacmp' at ./include/net/bluetooth/bluetooth.h:347:9,
- inlined from 'l2cap_global_chan_by_psm' at
- net/bluetooth/l2cap_core.c:2004:15:
-./include/linux/fortify-string.h:44:33: error: '__builtin_memcmp'
-specified bound 6 exceeds source size 0 [-Werror=stringop-overread]
- 44 | #define __underlying_memcmp __builtin_memcmp
- | ^
-./include/linux/fortify-string.h:420:16: note: in expansion of macro
-'__underlying_memcmp'
- 420 | return __underlying_memcmp(p, q, size);
- | ^~~~~~~~~~~~~~~~~~~
-
-Fixes: 332f1795ca20 ("Bluetooth: L2CAP: Fix l2cap_global_chan_by_psm regression")
-Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- net/bluetooth/l2cap_core.c | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
-index f18d0c72713f..48fbd0ae882b 100644
---- a/net/bluetooth/l2cap_core.c
-+++ b/net/bluetooth/l2cap_core.c
-@@ -1991,11 +1991,11 @@ static struct l2cap_chan *l2cap_global_chan_by_psm(int state, __le16 psm,
- src_match = !bacmp(&c->src, src);
- dst_match = !bacmp(&c->dst, dst);
- if (src_match && dst_match) {
-- c = l2cap_chan_hold_unless_zero(c);
-- if (c) {
-- read_unlock(&chan_list_lock);
-- return c;
-- }
-+ if (!l2cap_chan_hold_unless_zero(c))
-+ continue;
-+
-+ read_unlock(&chan_list_lock);
-+ return c;
- }
-
- /* Closest match */
---
-2.37.3
-
diff --git a/0008-Revert-PCI-portdrv-Don-t-disable-AER-reporting-in-ge.patch b/0008-Revert-PCI-portdrv-Don-t-disable-AER-reporting-in-ge.patch
deleted file mode 100644
index 6d735d532707..000000000000
--- a/0008-Revert-PCI-portdrv-Don-t-disable-AER-reporting-in-ge.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From adb9caabcd16a4a7535f3fcce79d98eab185d434 Mon Sep 17 00:00:00 2001
-From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Date: Thu, 1 Sep 2022 13:01:03 +0200
-Subject: [PATCH 08/73] Revert "PCI/portdrv: Don't disable AER reporting in
- get_port_device_capability()"
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This reverts commit 65e393fddc5379b2c41ca7e73cd4bb9572c4d90e which is
-commit 8795e182b02dc87e343c79e73af6b8b7f9c5e635 upstream.
-
-It is reported to cause problems, so drop it from the stable trees for
-now until it gets sorted out.
-
-Link: https://lore.kernel.org/r/47b775c5-57fa-5edf-b59e-8a9041ffbee7@candelatech.com
-Reported-by: Ben Greear <greearb@candelatech.com>
-Cc: Stefan Roese <sr@denx.de>
-Cc: Bjorn Helgaas <bhelgaas@google.com>
-Cc: Pali Rohár <pali@kernel.org>
-Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
-Cc: Bharat Kumar Gogada <bharat.kumar.gogada@xilinx.com>
-Cc: Michal Simek <michal.simek@xilinx.com>
-Cc: Yao Hongbo <yaohongbo@linux.alibaba.com>
-Cc: Naveen Naidu <naveennaidu479@gmail.com>
-Cc: Sasha Levin <sashal@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/pci/pcie/portdrv_core.c | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/pci/pcie/portdrv_core.c b/drivers/pci/pcie/portdrv_core.c
-index 1ac7fec47d6f..604feeb84ee4 100644
---- a/drivers/pci/pcie/portdrv_core.c
-+++ b/drivers/pci/pcie/portdrv_core.c
-@@ -222,8 +222,15 @@ static int get_port_device_capability(struct pci_dev *dev)
-
- #ifdef CONFIG_PCIEAER
- if (dev->aer_cap && pci_aer_available() &&
-- (pcie_ports_native || host->native_aer))
-+ (pcie_ports_native || host->native_aer)) {
- services |= PCIE_PORT_SERVICE_AER;
-+
-+ /*
-+ * Disable AER on this port in case it's been enabled by the
-+ * BIOS (the AER service driver will enable it when necessary).
-+ */
-+ pci_disable_pcie_error_reporting(dev);
-+ }
- #endif
-
- /* Root Ports and Root Complex Event Collectors may generate PMEs */
---
-2.37.3
-
diff --git a/0008-ZEN-Disable-stack-conservation-for-GCC.patch b/0008-ZEN-Disable-stack-conservation-for-GCC.patch
deleted file mode 100644
index c9365acc6954..000000000000
--- a/0008-ZEN-Disable-stack-conservation-for-GCC.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Sultan Alsawaf <sultan@kerneltoast.com>
-Date: Sun, 8 Mar 2020 00:31:35 -0800
-Subject: [PATCH] ZEN: Disable stack conservation for GCC
-
-There's plenty of room on the stack for a few more inlined bytes here
-and there. The measured stack usage at runtime is still safe without
-this, and performance is surely improved at a microscopic level, so
-remove it.
-
-Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
----
- Makefile | 5 -----
- 1 file changed, 5 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 158e3bda7d35644e1fe978d66e72382c665d1079..09576ba3a533234686e803a0c1665b82ad4b745a 100644
---- a/Makefile
-+++ b/Makefile
-@@ -992,11 +992,6 @@ KBUILD_CFLAGS += -fno-strict-overflow
- # Make sure -fstack-check isn't enabled (like gentoo apparently did)
- KBUILD_CFLAGS += -fno-stack-check
-
--# conserve stack if available
--ifdef CONFIG_CC_IS_GCC
--KBUILD_CFLAGS += -fconserve-stack
--endif
--
- # Prohibit date/time macros, which would make the build non-deterministic
- KBUILD_CFLAGS += -Werror=date-time
-
diff --git a/0009-HID-steam-Prevent-NULL-pointer-dereference-in-steam_.patch b/0009-HID-steam-Prevent-NULL-pointer-dereference-in-steam_.patch
deleted file mode 100644
index c6fe61c40ebb..000000000000
--- a/0009-HID-steam-Prevent-NULL-pointer-dereference-in-steam_.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From dee1e51b54794e90763e70a3c78f27ba4fa930ec Mon Sep 17 00:00:00 2001
-From: Lee Jones <lee.jones@linaro.org>
-Date: Fri, 8 Jul 2022 08:40:09 +0100
-Subject: [PATCH 09/73] HID: steam: Prevent NULL pointer dereference in
- steam_{recv,send}_report
-
-commit cd11d1a6114bd4bc6450ae59f6e110ec47362126 upstream.
-
-It is possible for a malicious device to forgo submitting a Feature
-Report. The HID Steam driver presently makes no prevision for this
-and de-references the 'struct hid_report' pointer obtained from the
-HID devices without first checking its validity. Let's change that.
-
-Cc: Jiri Kosina <jikos@kernel.org>
-Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com>
-Cc: linux-input@vger.kernel.org
-Fixes: c164d6abf3841 ("HID: add driver for Valve Steam Controller")
-Signed-off-by: Lee Jones <lee.jones@linaro.org>
-Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/hid/hid-steam.c | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/drivers/hid/hid-steam.c b/drivers/hid/hid-steam.c
-index a3b151b29bd7..fc616db4231b 100644
---- a/drivers/hid/hid-steam.c
-+++ b/drivers/hid/hid-steam.c
-@@ -134,6 +134,11 @@ static int steam_recv_report(struct steam_device *steam,
- int ret;
-
- r = steam->hdev->report_enum[HID_FEATURE_REPORT].report_id_hash[0];
-+ if (!r) {
-+ hid_err(steam->hdev, "No HID_FEATURE_REPORT submitted - nothing to read\n");
-+ return -EINVAL;
-+ }
-+
- if (hid_report_len(r) < 64)
- return -EINVAL;
-
-@@ -165,6 +170,11 @@ static int steam_send_report(struct steam_device *steam,
- int ret;
-
- r = steam->hdev->report_enum[HID_FEATURE_REPORT].report_id_hash[0];
-+ if (!r) {
-+ hid_err(steam->hdev, "No HID_FEATURE_REPORT submitted - nothing to read\n");
-+ return -EINVAL;
-+ }
-+
- if (hid_report_len(r) < 64)
- return -EINVAL;
-
---
-2.37.3
-
diff --git a/0009-ZEN-Initialize-ata-before-graphics.patch b/0009-ZEN-Initialize-ata-before-graphics.patch
deleted file mode 100644
index 7bb50cfc667d..000000000000
--- a/0009-ZEN-Initialize-ata-before-graphics.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Arjan van de Ven <arjan@linux.intel.com>
-Date: Thu, 2 Jun 2016 23:36:32 -0500
-Subject: [PATCH] ZEN: Initialize ata before graphics
-
-ATA init is the long pole in the boot process, and its asynchronous.
-move the graphics init after it so that ata and graphics initialize
-in parallel
----
- drivers/Makefile | 15 ++++++++-------
- 1 file changed, 8 insertions(+), 7 deletions(-)
-
-diff --git a/drivers/Makefile b/drivers/Makefile
-index 9a30842b22c5411bf00245761f472da9c13370b7..32afd317d95ecab6f1fe9a42d3977b6c0a917023 100644
---- a/drivers/Makefile
-+++ b/drivers/Makefile
-@@ -59,15 +59,8 @@ obj-y += char/
- # iommu/ comes before gpu as gpu are using iommu controllers
- obj-y += iommu/
-
--# gpu/ comes after char for AGP vs DRM startup and after iommu
--obj-y += gpu/
--
- obj-$(CONFIG_CONNECTOR) += connector/
-
--# i810fb and intelfb depend on char/agp/
--obj-$(CONFIG_FB_I810) += video/fbdev/i810/
--obj-$(CONFIG_FB_INTEL) += video/fbdev/intelfb/
--
- obj-$(CONFIG_PARPORT) += parport/
- obj-y += base/ block/ misc/ mfd/ nfc/
- obj-$(CONFIG_LIBNVDIMM) += nvdimm/
-@@ -79,6 +72,14 @@ obj-y += macintosh/
- obj-y += scsi/
- obj-y += nvme/
- obj-$(CONFIG_ATA) += ata/
-+
-+# gpu/ comes after char for AGP vs DRM startup and after iommu
-+obj-y += gpu/
-+
-+# i810fb and intelfb depend on char/agp/
-+obj-$(CONFIG_FB_I810) += video/fbdev/i810/
-+obj-$(CONFIG_FB_INTEL) += video/fbdev/intelfb/
-+
- obj-$(CONFIG_TARGET_CORE) += target/
- obj-$(CONFIG_MTD) += mtd/
- obj-$(CONFIG_SPI) += spi/
diff --git a/0010-ZEN-Input-evdev-use-call_rcu-when-detaching-client.patch b/0010-ZEN-Input-evdev-use-call_rcu-when-detaching-client.patch
deleted file mode 100644
index 28a066ead711..000000000000
--- a/0010-ZEN-Input-evdev-use-call_rcu-when-detaching-client.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Kenny Levinsen <kl@kl.wtf>
-Date: Sun, 27 Dec 2020 14:43:13 +0000
-Subject: [PATCH] ZEN: Input: evdev - use call_rcu when detaching client
-
-Significant time was spent on synchronize_rcu in evdev_detach_client
-when applications closed evdev devices. Switching VT away from a
-graphical environment commonly leads to mass input device closures,
-which could lead to noticable delays on systems with many input devices.
-
-Replace synchronize_rcu with call_rcu, deferring reclaim of the evdev
-client struct till after the RCU grace period instead of blocking the
-calling application.
-
-While this does not solve all slow evdev fd closures, it takes care of a
-good portion of them, including this simple test:
-
- #include <fcntl.h>
- #include <unistd.h>
-
- int main(int argc, char *argv[])
- {
- int idx, fd;
- const char *path = "/dev/input/event0";
- for (idx = 0; idx < 1000; idx++) {
- if ((fd = open(path, O_RDWR)) == -1) {
- return -1;
- }
- close(fd);
- }
- return 0;
- }
-
-Time to completion of above test when run locally:
-
- Before: 0m27.111s
- After: 0m0.018s
-
-Signed-off-by: Kenny Levinsen <kl@kl.wtf>
----
- drivers/input/evdev.c | 19 +++++++++++--------
- 1 file changed, 11 insertions(+), 8 deletions(-)
-
-diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c
-index 95f90699d2b17b4e42e067bf44b6deac611fdb8b..2b10fe29d2c8d9028a2f8d6c2c8987f01802f471 100644
---- a/drivers/input/evdev.c
-+++ b/drivers/input/evdev.c
-@@ -46,6 +46,7 @@ struct evdev_client {
- struct fasync_struct *fasync;
- struct evdev *evdev;
- struct list_head node;
-+ struct rcu_head rcu;
- enum input_clock_type clk_type;
- bool revoked;
- unsigned long *evmasks[EV_CNT];
-@@ -377,13 +378,22 @@ static void evdev_attach_client(struct evdev *evdev,
- spin_unlock(&evdev->client_lock);
- }
-
-+static void evdev_reclaim_client(struct rcu_head *rp)
-+{
-+ struct evdev_client *client = container_of(rp, struct evdev_client, rcu);
-+ unsigned int i;
-+ for (i = 0; i < EV_CNT; ++i)
-+ bitmap_free(client->evmasks[i]);
-+ kvfree(client);
-+}
-+
- static void evdev_detach_client(struct evdev *evdev,
- struct evdev_client *client)
- {
- spin_lock(&evdev->client_lock);
- list_del_rcu(&client->node);
- spin_unlock(&evdev->client_lock);
-- synchronize_rcu();
-+ call_rcu(&client->rcu, evdev_reclaim_client);
- }
-
- static int evdev_open_device(struct evdev *evdev)
-@@ -436,7 +446,6 @@ static int evdev_release(struct inode *inode, struct file *file)
- {
- struct evdev_client *client = file->private_data;
- struct evdev *evdev = client->evdev;
-- unsigned int i;
-
- mutex_lock(&evdev->mutex);
-
-@@ -448,11 +457,6 @@ static int evdev_release(struct inode *inode, struct file *file)
-
- evdev_detach_client(evdev, client);
-
-- for (i = 0; i < EV_CNT; ++i)
-- bitmap_free(client->evmasks[i]);
--
-- kvfree(client);
--
- evdev_close_device(evdev);
-
- return 0;
-@@ -495,7 +499,6 @@ static int evdev_open(struct inode *inode, struct file *file)
-
- err_free_client:
- evdev_detach_client(evdev, client);
-- kvfree(client);
- return error;
- }
-
diff --git a/0010-udmabuf-Set-the-DMA-mask-for-the-udmabuf-device-v2.patch b/0010-udmabuf-Set-the-DMA-mask-for-the-udmabuf-device-v2.patch
deleted file mode 100644
index 2e31ced32f92..000000000000
--- a/0010-udmabuf-Set-the-DMA-mask-for-the-udmabuf-device-v2.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-From f2f6ea1a8da1317430a84701fc0170449ee88315 Mon Sep 17 00:00:00 2001
-From: Vivek Kasireddy <vivek.kasireddy@intel.com>
-Date: Fri, 20 May 2022 13:52:35 -0700
-Subject: [PATCH 10/73] udmabuf: Set the DMA mask for the udmabuf device (v2)
-
-commit 9e9fa6a9198b767b00f48160800128e83a038f9f upstream.
-
-If the DMA mask is not set explicitly, the following warning occurs
-when the userspace tries to access the dma-buf via the CPU as
-reported by syzbot here:
-
-WARNING: CPU: 1 PID: 3595 at kernel/dma/mapping.c:188
-__dma_map_sg_attrs+0x181/0x1f0 kernel/dma/mapping.c:188
-Modules linked in:
-CPU: 0 PID: 3595 Comm: syz-executor249 Not tainted
-5.17.0-rc2-syzkaller-00316-g0457e5153e0e #0
-Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
-Google 01/01/2011
-RIP: 0010:__dma_map_sg_attrs+0x181/0x1f0 kernel/dma/mapping.c:188
-Code: 00 00 00 00 00 fc ff df 48 c1 e8 03 80 3c 10 00 75 71 4c 8b 3d c0
-83 b5 0d e9 db fe ff ff e8 b6 0f 13 00 0f 0b e8 af 0f 13 00 <0f> 0b 45
- 31 e4 e9 54 ff ff ff e8 a0 0f 13 00 49 8d 7f 50 48 b8 00
-RSP: 0018:ffffc90002a07d68 EFLAGS: 00010293
-RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
-RDX: ffff88807e25e2c0 RSI: ffffffff81649e91 RDI: ffff88801b848408
-RBP: ffff88801b848000 R08: 0000000000000002 R09: ffff88801d86c74f
-R10: ffffffff81649d72 R11: 0000000000000001 R12: 0000000000000002
-R13: ffff88801d86c680 R14: 0000000000000001 R15: 0000000000000000
-FS: 0000555556e30300(0000) GS:ffff8880b9d00000(0000)
-knlGS:0000000000000000
-CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
-CR2: 00000000200000cc CR3: 000000001d74a000 CR4: 00000000003506e0
-DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
-DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
-Call Trace:
- <TASK>
- dma_map_sgtable+0x70/0xf0 kernel/dma/mapping.c:264
- get_sg_table.isra.0+0xe0/0x160 drivers/dma-buf/udmabuf.c:72
- begin_cpu_udmabuf+0x130/0x1d0 drivers/dma-buf/udmabuf.c:126
- dma_buf_begin_cpu_access+0xfd/0x1d0 drivers/dma-buf/dma-buf.c:1164
- dma_buf_ioctl+0x259/0x2b0 drivers/dma-buf/dma-buf.c:363
- vfs_ioctl fs/ioctl.c:51 [inline]
- __do_sys_ioctl fs/ioctl.c:874 [inline]
- __se_sys_ioctl fs/ioctl.c:860 [inline]
- __x64_sys_ioctl+0x193/0x200 fs/ioctl.c:860
- do_syscall_x64 arch/x86/entry/common.c:50 [inline]
- do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
- entry_SYSCALL_64_after_hwframe+0x44/0xae
-RIP: 0033:0x7f62fcf530f9
-Code: 28 c3 e8 2a 14 00 00 66 2e 0f 1f 84 00 00 00 00 00 48 89 f8 48 89
-f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01
-f0 ff ff 73 01 c3 48 c7 c1 c0 ff ff ff f7 d8 64 89 01 48
-RSP: 002b:00007ffe3edab9b8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
-RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f62fcf530f9
-RDX: 0000000020000200 RSI: 0000000040086200 RDI: 0000000000000006
-RBP: 00007f62fcf170e0 R08: 0000000000000000 R09: 0000000000000000
-R10: 0000000000000000 R11: 0000000000000246 R12: 00007f62fcf17170
-R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
- </TASK>
-
-v2: Dont't forget to deregister if DMA mask setup fails.
-
-Reported-by: syzbot+10e27961f4da37c443b2@syzkaller.appspotmail.com
-Cc: Gerd Hoffmann <kraxel@redhat.com>
-Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
-Link: http://patchwork.freedesktop.org/patch/msgid/20220520205235.3687336-1-vivek.kasireddy@intel.com
-Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/dma-buf/udmabuf.c | 18 +++++++++++++++++-
- 1 file changed, 17 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/dma-buf/udmabuf.c b/drivers/dma-buf/udmabuf.c
-index 9631f2fd2faf..38e8767ec371 100644
---- a/drivers/dma-buf/udmabuf.c
-+++ b/drivers/dma-buf/udmabuf.c
-@@ -368,7 +368,23 @@ static struct miscdevice udmabuf_misc = {
-
- static int __init udmabuf_dev_init(void)
- {
-- return misc_register(&udmabuf_misc);
-+ int ret;
-+
-+ ret = misc_register(&udmabuf_misc);
-+ if (ret < 0) {
-+ pr_err("Could not initialize udmabuf device\n");
-+ return ret;
-+ }
-+
-+ ret = dma_coerce_mask_and_coherent(udmabuf_misc.this_device,
-+ DMA_BIT_MASK(64));
-+ if (ret < 0) {
-+ pr_err("Could not setup DMA mask for udmabuf device\n");
-+ misc_deregister(&udmabuf_misc);
-+ return ret;
-+ }
-+
-+ return 0;
- }
-
- static void __exit udmabuf_dev_exit(void)
---
-2.37.3
-
diff --git a/0011-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch b/0011-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
deleted file mode 100644
index 0eabb77caa36..000000000000
--- a/0011-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
+++ /dev/null
@@ -1,151 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
-Date: Mon, 16 Sep 2019 04:53:20 +0200
-Subject: [PATCH] ZEN: Add sysctl and CONFIG to disallow unprivileged
- CLONE_NEWUSER
-
-Our default behavior continues to match the vanilla kernel.
----
- include/linux/user_namespace.h | 4 ++++
- init/Kconfig | 16 ++++++++++++++++
- kernel/fork.c | 14 ++++++++++++++
- kernel/sysctl.c | 12 ++++++++++++
- kernel/user_namespace.c | 7 +++++++
- 5 files changed, 53 insertions(+)
-
-diff --git a/include/linux/user_namespace.h b/include/linux/user_namespace.h
-index 33a4240e6a6f1789f8a3153a264030e62f4645d7..82213f9c4c17fb48d35daa421915403cc4195238 100644
---- a/include/linux/user_namespace.h
-+++ b/include/linux/user_namespace.h
-@@ -139,6 +139,8 @@ static inline void set_rlimit_ucount_max(struct user_namespace *ns,
-
- #ifdef CONFIG_USER_NS
-
-+extern int unprivileged_userns_clone;
-+
- static inline struct user_namespace *get_user_ns(struct user_namespace *ns)
- {
- if (ns)
-@@ -172,6 +174,8 @@ extern bool current_in_userns(const struct user_namespace *target_ns);
- struct ns_common *ns_get_owner(struct ns_common *ns);
- #else
-
-+#define unprivileged_userns_clone 0
-+
- static inline struct user_namespace *get_user_ns(struct user_namespace *ns)
- {
- return &init_user_ns;
-diff --git a/init/Kconfig b/init/Kconfig
-index 97c2df3ac17a90339da76a7e411598ee02c5803e..5b5f9ea153d3ea7d54601950d6332ee1cec21df2 100644
---- a/init/Kconfig
-+++ b/init/Kconfig
-@@ -1235,6 +1235,22 @@ config USER_NS
-
- If unsure, say N.
-
-+config USER_NS_UNPRIVILEGED
-+ bool "Allow unprivileged users to create namespaces"
-+ default y
-+ depends on USER_NS
-+ help
-+ When disabled, unprivileged users will not be able to create
-+ new namespaces. Allowing users to create their own namespaces
-+ has been part of several recent local privilege escalation
-+ exploits, so if you need user namespaces but are
-+ paranoid^Wsecurity-conscious you want to disable this.
-+
-+ This setting can be overridden at runtime via the
-+ kernel.unprivileged_userns_clone sysctl.
-+
-+ If unsure, say Y.
-+
- config PID_NS
- bool "PID Namespaces"
- default y
-diff --git a/kernel/fork.c b/kernel/fork.c
-index 9d44f2d46c6964d5cf7e29e06ad377b03fe25dc2..e5ba00a7e3b27c698cc9a426f82a7529bbcc2776 100644
---- a/kernel/fork.c
-+++ b/kernel/fork.c
-@@ -99,6 +99,10 @@
- #include <linux/bpf.h>
- #include <linux/sched/mm.h>
-
-+#ifdef CONFIG_USER_NS
-+#include <linux/user_namespace.h>
-+#endif
-+
- #include <asm/pgalloc.h>
- #include <linux/uaccess.h>
- #include <asm/mmu_context.h>
-@@ -1995,6 +1999,10 @@ static __latent_entropy struct task_struct *copy_process(
- if ((clone_flags & (CLONE_NEWUSER|CLONE_FS)) == (CLONE_NEWUSER|CLONE_FS))
- return ERR_PTR(-EINVAL);
-
-+ if ((clone_flags & CLONE_NEWUSER) && !unprivileged_userns_clone)
-+ if (!capable(CAP_SYS_ADMIN))
-+ return ERR_PTR(-EPERM);
-+
- /*
- * Thread groups must share signals as well, and detached threads
- * can only be started up within the thread group.
-@@ -3143,6 +3151,12 @@ int ksys_unshare(unsigned long unshare_flags)
- if (unshare_flags & CLONE_NEWNS)
- unshare_flags |= CLONE_FS;
-
-+ if ((unshare_flags & CLONE_NEWUSER) && !unprivileged_userns_clone) {
-+ err = -EPERM;
-+ if (!capable(CAP_SYS_ADMIN))
-+ goto bad_unshare_out;
-+ }
-+
- err = check_unshare_flags(unshare_flags);
- if (err)
- goto bad_unshare_out;
-diff --git a/kernel/sysctl.c b/kernel/sysctl.c
-index 35d0342195132e3873c32b3063b72f921daa377e..8e2c7326f0e813e91a859c5b80dbb1edd197ce08 100644
---- a/kernel/sysctl.c
-+++ b/kernel/sysctl.c
-@@ -81,6 +81,9 @@
- #ifdef CONFIG_RT_MUTEXES
- #include <linux/rtmutex.h>
- #endif
-+#ifdef CONFIG_USER_NS
-+#include <linux/user_namespace.h>
-+#endif
-
- #if defined(CONFIG_SYSCTL)
-
-@@ -1608,6 +1611,15 @@ static struct ctl_table kern_table[] = {
- .mode = 0644,
- .proc_handler = proc_dointvec,
- },
-+#ifdef CONFIG_USER_NS
-+ {
-+ .procname = "unprivileged_userns_clone",
-+ .data = &unprivileged_userns_clone,
-+ .maxlen = sizeof(int),
-+ .mode = 0644,
-+ .proc_handler = proc_dointvec,
-+ },
-+#endif
- #ifdef CONFIG_PROC_SYSCTL
- {
- .procname = "tainted",
-diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c
-index 5481ba44a8d68463aa01f529a4886a8905190550..423ab2563ad7579338ddbd1112df727409eed857 100644
---- a/kernel/user_namespace.c
-+++ b/kernel/user_namespace.c
-@@ -21,6 +21,13 @@
- #include <linux/bsearch.h>
- #include <linux/sort.h>
-
-+/* sysctl */
-+#ifdef CONFIG_USER_NS_UNPRIVILEGED
-+int unprivileged_userns_clone = 1;
-+#else
-+int unprivileged_userns_clone;
-+#endif
-+
- static struct kmem_cache *user_ns_cachep __read_mostly;
- static DEFINE_MUTEX(userns_state_mutex);
-
diff --git a/0011-media-pvrusb2-fix-memory-leak-in-pvr_probe.patch b/0011-media-pvrusb2-fix-memory-leak-in-pvr_probe.patch
deleted file mode 100644
index c53a8dd18ab8..000000000000
--- a/0011-media-pvrusb2-fix-memory-leak-in-pvr_probe.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From c02d2a91a85c4c4d05826cd1ea74a9b8d42e4280 Mon Sep 17 00:00:00 2001
-From: Dongliang Mu <mudongliangabcd@gmail.com>
-Date: Thu, 9 Jun 2022 08:35:28 +0100
-Subject: [PATCH 11/73] media: pvrusb2: fix memory leak in pvr_probe
-
-commit 945a9a8e448b65bec055d37eba58f711b39f66f0 upstream.
-
-The error handling code in pvr2_hdw_create forgets to unregister the
-v4l2 device. When pvr2_hdw_create returns back to pvr2_context_create,
-it calls pvr2_context_destroy to destroy context, but mp->hdw is NULL,
-which leads to that pvr2_hdw_destroy directly returns.
-
-Fix this by adding v4l2_device_unregister to decrease the refcount of
-usb interface.
-
-Reported-by: syzbot+77b432d57c4791183ed4@syzkaller.appspotmail.com
-Signed-off-by: Dongliang Mu <mudongliangabcd@gmail.com>
-Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
-Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/media/usb/pvrusb2/pvrusb2-hdw.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/drivers/media/usb/pvrusb2/pvrusb2-hdw.c b/drivers/media/usb/pvrusb2/pvrusb2-hdw.c
-index a9666373af6b..92d6db1ad00f 100644
---- a/drivers/media/usb/pvrusb2/pvrusb2-hdw.c
-+++ b/drivers/media/usb/pvrusb2/pvrusb2-hdw.c
-@@ -2610,6 +2610,7 @@ struct pvr2_hdw *pvr2_hdw_create(struct usb_interface *intf,
- del_timer_sync(&hdw->encoder_run_timer);
- del_timer_sync(&hdw->encoder_wait_timer);
- flush_work(&hdw->workpoll);
-+ v4l2_device_unregister(&hdw->v4l2_dev);
- usb_free_urb(hdw->ctl_read_urb);
- usb_free_urb(hdw->ctl_write_urb);
- kfree(hdw->ctl_read_buffer);
---
-2.37.3
-
diff --git a/0012-USB-gadget-Fix-use-after-free-Read-in-usb_udc_uevent.patch b/0012-USB-gadget-Fix-use-after-free-Read-in-usb_udc_uevent.patch
deleted file mode 100644
index 0f4d4bc28c6d..000000000000
--- a/0012-USB-gadget-Fix-use-after-free-Read-in-usb_udc_uevent.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From f44b0b95d50fffeca036e1ba36770390e0b519dd Mon Sep 17 00:00:00 2001
-From: Alan Stern <stern@rowland.harvard.edu>
-Date: Thu, 21 Jul 2022 11:07:10 -0400
-Subject: [PATCH 12/73] USB: gadget: Fix use-after-free Read in
- usb_udc_uevent()
-
-commit 2191c00855b03aa59c20e698be713d952d51fc18 upstream.
-
-The syzbot fuzzer found a race between uevent callbacks and gadget
-driver unregistration that can cause a use-after-free bug:
-
----------------------------------------------------------------
-BUG: KASAN: use-after-free in usb_udc_uevent+0x11f/0x130
-drivers/usb/gadget/udc/core.c:1732
-Read of size 8 at addr ffff888078ce2050 by task udevd/2968
-
-CPU: 1 PID: 2968 Comm: udevd Not tainted 5.19.0-rc4-next-20220628-syzkaller #0
-Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google
-06/29/2022
-Call Trace:
- <TASK>
- __dump_stack lib/dump_stack.c:88 [inline]
- dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106
- print_address_description mm/kasan/report.c:317 [inline]
- print_report.cold+0x2ba/0x719 mm/kasan/report.c:433
- kasan_report+0xbe/0x1f0 mm/kasan/report.c:495
- usb_udc_uevent+0x11f/0x130 drivers/usb/gadget/udc/core.c:1732
- dev_uevent+0x290/0x770 drivers/base/core.c:2424
----------------------------------------------------------------
-
-The bug occurs because usb_udc_uevent() dereferences udc->driver but
-does so without acquiring the udc_lock mutex, which protects this
-field. If the gadget driver is unbound from the udc concurrently with
-uevent processing, the driver structure may be accessed after it has
-been deallocated.
-
-To prevent the race, we make sure that the routine holds the mutex
-around the racing accesses.
-
-Link: <https://lore.kernel.org/all/0000000000004de90405a719c951@google.com>
-CC: stable@vger.kernel.org # fc274c1e9973
-Reported-and-tested-by: syzbot+b0de012ceb1e2a97891b@syzkaller.appspotmail.com
-Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
-Link: https://lore.kernel.org/r/YtlrnhHyrHsSky9m@rowland.harvard.edu
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/usb/gadget/udc/core.c | 11 ++++++-----
- 1 file changed, 6 insertions(+), 5 deletions(-)
-
-diff --git a/drivers/usb/gadget/udc/core.c b/drivers/usb/gadget/udc/core.c
-index 7886497253cc..cafcf260394c 100644
---- a/drivers/usb/gadget/udc/core.c
-+++ b/drivers/usb/gadget/udc/core.c
-@@ -1728,13 +1728,14 @@ static int usb_udc_uevent(struct device *dev, struct kobj_uevent_env *env)
- return ret;
- }
-
-- if (udc->driver) {
-+ mutex_lock(&udc_lock);
-+ if (udc->driver)
- ret = add_uevent_var(env, "USB_UDC_DRIVER=%s",
- udc->driver->function);
-- if (ret) {
-- dev_err(dev, "failed to add uevent USB_UDC_DRIVER\n");
-- return ret;
-- }
-+ mutex_unlock(&udc_lock);
-+ if (ret) {
-+ dev_err(dev, "failed to add uevent USB_UDC_DRIVER\n");
-+ return ret;
- }
-
- return 0;
---
-2.37.3
-
diff --git a/0012-ZEN-cpufreq-Remove-schedutil-dependency-on-Intel-AMD.patch b/0012-ZEN-cpufreq-Remove-schedutil-dependency-on-Intel-AMD.patch
deleted file mode 100644
index 55a60072ec3c..000000000000
--- a/0012-ZEN-cpufreq-Remove-schedutil-dependency-on-Intel-AMD.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Steven Barrett <steven@liquorix.net>
-Date: Mon, 11 Jul 2022 19:10:30 -0500
-Subject: [PATCH] ZEN: cpufreq: Remove schedutil dependency on Intel/AMD
- P-State drivers
-
-Although both P-State drivers depend on schedutil in Kconfig, both code
-bases do not use any schedutil code. This arbitrarily enables schedutil
-when unwanted in some configurations.
----
- drivers/cpufreq/Kconfig.x86 | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/drivers/cpufreq/Kconfig.x86 b/drivers/cpufreq/Kconfig.x86
-index 55516043b656bd0d43cd506e7a09424c78de00dd..c7b80779566b9c68b1fee74dc553fe210efc3980 100644
---- a/drivers/cpufreq/Kconfig.x86
-+++ b/drivers/cpufreq/Kconfig.x86
-@@ -9,7 +9,6 @@ config X86_INTEL_PSTATE
- select ACPI_PROCESSOR if ACPI
- select ACPI_CPPC_LIB if X86_64 && ACPI && SCHED_MC_PRIO
- select CPU_FREQ_GOV_PERFORMANCE
-- select CPU_FREQ_GOV_SCHEDUTIL if SMP
- help
- This driver provides a P state for Intel core processors.
- The driver implements an internal governor and will become
-@@ -39,7 +38,6 @@ config X86_AMD_PSTATE
- depends on X86 && ACPI
- select ACPI_PROCESSOR
- select ACPI_CPPC_LIB if X86_64
-- select CPU_FREQ_GOV_SCHEDUTIL if SMP
- help
- This driver adds a CPUFreq driver which utilizes a fine grain
- processor performance frequency control range instead of legacy
diff --git a/0013-HID-hidraw-fix-memory-leak-in-hidraw_release.patch b/0013-HID-hidraw-fix-memory-leak-in-hidraw_release.patch
deleted file mode 100644
index c49afc1c8a48..000000000000
--- a/0013-HID-hidraw-fix-memory-leak-in-hidraw_release.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 52a3c62a815161c2dcf38ac421f6c41d8679462b Mon Sep 17 00:00:00 2001
-From: Karthik Alapati <mail@karthek.com>
-Date: Thu, 28 Jul 2022 21:13:17 +0530
-Subject: [PATCH 13/73] HID: hidraw: fix memory leak in hidraw_release()
-
-commit a5623a203cffe2d2b84d2f6c989d9017db1856af upstream.
-
-Free the buffered reports before deleting the list entry.
-
-BUG: memory leak
-unreferenced object 0xffff88810e72f180 (size 32):
- comm "softirq", pid 0, jiffies 4294945143 (age 16.080s)
- hex dump (first 32 bytes):
- 64 f3 c6 6a d1 88 07 04 00 00 00 00 00 00 00 00 d..j............
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
- backtrace:
- [<ffffffff814ac6c3>] kmemdup+0x23/0x50 mm/util.c:128
- [<ffffffff8357c1d2>] kmemdup include/linux/fortify-string.h:440 [inline]
- [<ffffffff8357c1d2>] hidraw_report_event+0xa2/0x150 drivers/hid/hidraw.c:521
- [<ffffffff8356ddad>] hid_report_raw_event+0x27d/0x740 drivers/hid/hid-core.c:1992
- [<ffffffff8356e41e>] hid_input_report+0x1ae/0x270 drivers/hid/hid-core.c:2065
- [<ffffffff835f0d3f>] hid_irq_in+0x1ff/0x250 drivers/hid/usbhid/hid-core.c:284
- [<ffffffff82d3c7f9>] __usb_hcd_giveback_urb+0xf9/0x230 drivers/usb/core/hcd.c:1670
- [<ffffffff82d3cc26>] usb_hcd_giveback_urb+0x1b6/0x1d0 drivers/usb/core/hcd.c:1747
- [<ffffffff82ef1e14>] dummy_timer+0x8e4/0x14c0 drivers/usb/gadget/udc/dummy_hcd.c:1988
- [<ffffffff812f50a8>] call_timer_fn+0x38/0x200 kernel/time/timer.c:1474
- [<ffffffff812f5586>] expire_timers kernel/time/timer.c:1519 [inline]
- [<ffffffff812f5586>] __run_timers.part.0+0x316/0x430 kernel/time/timer.c:1790
- [<ffffffff812f56e4>] __run_timers kernel/time/timer.c:1768 [inline]
- [<ffffffff812f56e4>] run_timer_softirq+0x44/0x90 kernel/time/timer.c:1803
- [<ffffffff848000e6>] __do_softirq+0xe6/0x2ea kernel/softirq.c:571
- [<ffffffff81246db0>] invoke_softirq kernel/softirq.c:445 [inline]
- [<ffffffff81246db0>] __irq_exit_rcu kernel/softirq.c:650 [inline]
- [<ffffffff81246db0>] irq_exit_rcu+0xc0/0x110 kernel/softirq.c:662
- [<ffffffff84574f02>] sysvec_apic_timer_interrupt+0xa2/0xd0 arch/x86/kernel/apic/apic.c:1106
- [<ffffffff84600c8b>] asm_sysvec_apic_timer_interrupt+0x1b/0x20 arch/x86/include/asm/idtentry.h:649
- [<ffffffff8458a070>] native_safe_halt arch/x86/include/asm/irqflags.h:51 [inline]
- [<ffffffff8458a070>] arch_safe_halt arch/x86/include/asm/irqflags.h:89 [inline]
- [<ffffffff8458a070>] acpi_safe_halt drivers/acpi/processor_idle.c:111 [inline]
- [<ffffffff8458a070>] acpi_idle_do_entry+0xc0/0xd0 drivers/acpi/processor_idle.c:554
-
-Link: https://syzkaller.appspot.com/bug?id=19a04b43c75ed1092021010419b5e560a8172c4f
-Reported-by: syzbot+f59100a0428e6ded9443@syzkaller.appspotmail.com
-Signed-off-by: Karthik Alapati <mail@karthek.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/hid/hidraw.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/drivers/hid/hidraw.c b/drivers/hid/hidraw.c
-index 681614a8302a..197b1e7bf029 100644
---- a/drivers/hid/hidraw.c
-+++ b/drivers/hid/hidraw.c
-@@ -350,6 +350,8 @@ static int hidraw_release(struct inode * inode, struct file * file)
- down_write(&minors_rwsem);
-
- spin_lock_irqsave(&hidraw_table[minor]->list_lock, flags);
-+ for (int i = list->tail; i < list->head; i++)
-+ kfree(list->buffer[i].value);
- list_del(&list->node);
- spin_unlock_irqrestore(&hidraw_table[minor]->list_lock, flags);
- kfree(list);
---
-2.37.3
-
diff --git a/0013-ZEN-intel-pstate-Implement-enable-parameter.patch b/0013-ZEN-intel-pstate-Implement-enable-parameter.patch
deleted file mode 100644
index 63d187b7915e..000000000000
--- a/0013-ZEN-intel-pstate-Implement-enable-parameter.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Steven Barrett <steven@liquorix.net>
-Date: Wed, 15 Jan 2020 20:43:56 -0600
-Subject: [PATCH] ZEN: intel-pstate: Implement "enable" parameter
-
-If intel-pstate is compiled into the kernel, it will preempt the loading
-of acpi-cpufreq so you can take advantage of hardware p-states without
-any friction.
-
-However, intel-pstate is not completely superior to cpufreq's ondemand
-for one reason. There's no concept of an up_threshold property.
-
-In ondemand, up_threshold essentially reduces the maximum utilization to
-compare against, allowing you to hit max frequencies and turbo boost
-from a much lower core utilization.
-
-With intel-pstate, you have the concept of minimum and maximum
-performance, but no tunable that lets you define, maximum frequency
-means 50% core utilization. For just this oversight, there's reasons
-you may want ondemand.
-
-Lets support setting "enable" in kernel boot parameters. This lets
-kernel maintainers include "intel_pstate=disable" statically in the
-static boot parameters, but let users of the kernel override this
-selection.
----
- Documentation/admin-guide/kernel-parameters.txt | 3 +++
- drivers/cpufreq/intel_pstate.c | 2 ++
- 2 files changed, 5 insertions(+)
-
-diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
-index 0185df52bb49883434327779aa6fc37383f9e7e4..7dd12dc178f9db6b043f0e2ab3cfa344906a1ef6 100644
---- a/Documentation/admin-guide/kernel-parameters.txt
-+++ b/Documentation/admin-guide/kernel-parameters.txt
-@@ -2057,6 +2057,9 @@
- disable
- Do not enable intel_pstate as the default
- scaling driver for the supported processors
-+ enable
-+ Enable intel_pstate in-case "disable" was passed
-+ previously in the kernel boot parameters
- passive
- Use intel_pstate as a scaling driver, but configure it
- to work with generic cpufreq governors (instead of
-diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
-index 57cdb36798854a941d1258b611c6e57bceddafcb..08091cfac5550a0e107a931e6ef6e625b2235cfb 100644
---- a/drivers/cpufreq/intel_pstate.c
-+++ b/drivers/cpufreq/intel_pstate.c
-@@ -3540,6 +3540,8 @@ static int __init intel_pstate_setup(char *str)
-
- if (!strcmp(str, "disable"))
- no_load = 1;
-+ else if (!strcmp(str, "enable"))
-+ no_load = 0;
- else if (!strcmp(str, "active"))
- default_driver = &intel_pstate;
- else if (!strcmp(str, "passive"))
diff --git a/0014-ZEN-mm-Disable-watermark-boosting-by-default.patch b/0014-ZEN-mm-Disable-watermark-boosting-by-default.patch
deleted file mode 100644
index 82cc95865f15..000000000000
--- a/0014-ZEN-mm-Disable-watermark-boosting-by-default.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Sultan Alsawaf <sultan@kerneltoast.com>
-Date: Sat, 28 Mar 2020 13:06:28 -0700
-Subject: [PATCH] ZEN: mm: Disable watermark boosting by default
-
-What watermark boosting does is preemptively fire up kswapd to free
-memory when there hasn't been an allocation failure. It does this by
-increasing kswapd's high watermark goal and then firing up kswapd. The
-reason why this causes freezes is because, with the increased high
-watermark goal, kswapd will steal memory from processes that need it in
-order to make forward progress. These processes will, in turn, try to
-allocate memory again, which will cause kswapd to steal necessary pages
-from those processes again, in a positive feedback loop known as page
-thrashing. When page thrashing occurs, your system is essentially
-livelocked until the necessary forward progress can be made to stop
-processes from trying to continuously allocate memory and trigger
-kswapd to steal it back.
-
-This problem already occurs with kswapd *without* watermark boosting,
-but it's usually only encountered on machines with a small amount of
-memory and/or a slow CPU. Watermark boosting just makes the existing
-problem worse enough to notice on higher spec'd machines.
-
-Disable watermark boosting by default since it's a total dumpster fire.
-I can't imagine why anyone would want to explicitly enable it, but the
-option is there in case someone does.
-
-Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
----
- mm/page_alloc.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mm/page_alloc.c b/mm/page_alloc.c
-index b5b14b78c4fd4844cb071022570fd4b7e6959eb2..d6fc4723c4e9137a3bf8193fcbad1bb23f041c43 100644
---- a/mm/page_alloc.c
-+++ b/mm/page_alloc.c
-@@ -342,7 +342,7 @@ compound_page_dtor * const compound_page_dtors[NR_COMPOUND_DTORS] = {
-
- int min_free_kbytes = 1024;
- int user_min_free_kbytes = -1;
--int watermark_boost_factor __read_mostly = 15000;
-+int watermark_boost_factor __read_mostly;
- int watermark_scale_factor = 10;
-
- static unsigned long nr_kernel_pages __initdata;
diff --git a/0014-net-fix-refcount-bug-in-sk_psock_get-2.patch b/0014-net-fix-refcount-bug-in-sk_psock_get-2.patch
deleted file mode 100644
index 7617995a8867..000000000000
--- a/0014-net-fix-refcount-bug-in-sk_psock_get-2.patch
+++ /dev/null
@@ -1,199 +0,0 @@
-From 86026be8535c16fcc5e4f960286faf04d7f77815 Mon Sep 17 00:00:00 2001
-From: Hawkins Jiawei <yin31149@gmail.com>
-Date: Fri, 5 Aug 2022 15:48:34 +0800
-Subject: [PATCH 14/73] net: fix refcount bug in sk_psock_get (2)
-
-commit 2a0133723f9ebeb751cfce19f74ec07e108bef1f upstream.
-
-Syzkaller reports refcount bug as follows:
-------------[ cut here ]------------
-refcount_t: saturated; leaking memory.
-WARNING: CPU: 1 PID: 3605 at lib/refcount.c:19 refcount_warn_saturate+0xf4/0x1e0 lib/refcount.c:19
-Modules linked in:
-CPU: 1 PID: 3605 Comm: syz-executor208 Not tainted 5.18.0-syzkaller-03023-g7e062cda7d90 #0
- <TASK>
- __refcount_add_not_zero include/linux/refcount.h:163 [inline]
- __refcount_inc_not_zero include/linux/refcount.h:227 [inline]
- refcount_inc_not_zero include/linux/refcount.h:245 [inline]
- sk_psock_get+0x3bc/0x410 include/linux/skmsg.h:439
- tls_data_ready+0x6d/0x1b0 net/tls/tls_sw.c:2091
- tcp_data_ready+0x106/0x520 net/ipv4/tcp_input.c:4983
- tcp_data_queue+0x25f2/0x4c90 net/ipv4/tcp_input.c:5057
- tcp_rcv_state_process+0x1774/0x4e80 net/ipv4/tcp_input.c:6659
- tcp_v4_do_rcv+0x339/0x980 net/ipv4/tcp_ipv4.c:1682
- sk_backlog_rcv include/net/sock.h:1061 [inline]
- __release_sock+0x134/0x3b0 net/core/sock.c:2849
- release_sock+0x54/0x1b0 net/core/sock.c:3404
- inet_shutdown+0x1e0/0x430 net/ipv4/af_inet.c:909
- __sys_shutdown_sock net/socket.c:2331 [inline]
- __sys_shutdown_sock net/socket.c:2325 [inline]
- __sys_shutdown+0xf1/0x1b0 net/socket.c:2343
- __do_sys_shutdown net/socket.c:2351 [inline]
- __se_sys_shutdown net/socket.c:2349 [inline]
- __x64_sys_shutdown+0x50/0x70 net/socket.c:2349
- do_syscall_x64 arch/x86/entry/common.c:50 [inline]
- do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
- entry_SYSCALL_64_after_hwframe+0x46/0xb0
- </TASK>
-
-During SMC fallback process in connect syscall, kernel will
-replaces TCP with SMC. In order to forward wakeup
-smc socket waitqueue after fallback, kernel will sets
-clcsk->sk_user_data to origin smc socket in
-smc_fback_replace_callbacks().
-
-Later, in shutdown syscall, kernel will calls
-sk_psock_get(), which treats the clcsk->sk_user_data
-as psock type, triggering the refcnt warning.
-
-So, the root cause is that smc and psock, both will use
-sk_user_data field. So they will mismatch this field
-easily.
-
-This patch solves it by using another bit(defined as
-SK_USER_DATA_PSOCK) in PTRMASK, to mark whether
-sk_user_data points to a psock object or not.
-This patch depends on a PTRMASK introduced in commit f1ff5ce2cd5e
-("net, sk_msg: Clear sk_user_data pointer on clone if tagged").
-
-For there will possibly be more flags in the sk_user_data field,
-this patch also refactor sk_user_data flags code to be more generic
-to improve its maintainability.
-
-Reported-and-tested-by: syzbot+5f26f85569bd179c18ce@syzkaller.appspotmail.com
-Suggested-by: Jakub Kicinski <kuba@kernel.org>
-Acked-by: Wen Gu <guwen@linux.alibaba.com>
-Signed-off-by: Hawkins Jiawei <yin31149@gmail.com>
-Reviewed-by: Jakub Sitnicki <jakub@cloudflare.com>
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- include/linux/skmsg.h | 3 +-
- include/net/sock.h | 68 ++++++++++++++++++++++++++++++-------------
- net/core/skmsg.c | 4 ++-
- 3 files changed, 53 insertions(+), 22 deletions(-)
-
-diff --git a/include/linux/skmsg.h b/include/linux/skmsg.h
-index c5a2d6f50f25..c5bdc5975a5c 100644
---- a/include/linux/skmsg.h
-+++ b/include/linux/skmsg.h
-@@ -277,7 +277,8 @@ static inline void sk_msg_sg_copy_clear(struct sk_msg *msg, u32 start)
-
- static inline struct sk_psock *sk_psock(const struct sock *sk)
- {
-- return rcu_dereference_sk_user_data(sk);
-+ return __rcu_dereference_sk_user_data_with_flags(sk,
-+ SK_USER_DATA_PSOCK);
- }
-
- static inline void sk_psock_set_state(struct sk_psock *psock,
-diff --git a/include/net/sock.h b/include/net/sock.h
-index 13944ceea7ed..bf45b572f289 100644
---- a/include/net/sock.h
-+++ b/include/net/sock.h
-@@ -545,14 +545,26 @@ enum sk_pacing {
- SK_PACING_FQ = 2,
- };
-
--/* Pointer stored in sk_user_data might not be suitable for copying
-- * when cloning the socket. For instance, it can point to a reference
-- * counted object. sk_user_data bottom bit is set if pointer must not
-- * be copied.
-+/* flag bits in sk_user_data
-+ *
-+ * - SK_USER_DATA_NOCOPY: Pointer stored in sk_user_data might
-+ * not be suitable for copying when cloning the socket. For instance,
-+ * it can point to a reference counted object. sk_user_data bottom
-+ * bit is set if pointer must not be copied.
-+ *
-+ * - SK_USER_DATA_BPF: Mark whether sk_user_data field is
-+ * managed/owned by a BPF reuseport array. This bit should be set
-+ * when sk_user_data's sk is added to the bpf's reuseport_array.
-+ *
-+ * - SK_USER_DATA_PSOCK: Mark whether pointer stored in
-+ * sk_user_data points to psock type. This bit should be set
-+ * when sk_user_data is assigned to a psock object.
- */
- #define SK_USER_DATA_NOCOPY 1UL
--#define SK_USER_DATA_BPF 2UL /* Managed by BPF */
--#define SK_USER_DATA_PTRMASK ~(SK_USER_DATA_NOCOPY | SK_USER_DATA_BPF)
-+#define SK_USER_DATA_BPF 2UL
-+#define SK_USER_DATA_PSOCK 4UL
-+#define SK_USER_DATA_PTRMASK ~(SK_USER_DATA_NOCOPY | SK_USER_DATA_BPF |\
-+ SK_USER_DATA_PSOCK)
-
- /**
- * sk_user_data_is_nocopy - Test if sk_user_data pointer must not be copied
-@@ -565,24 +577,40 @@ static inline bool sk_user_data_is_nocopy(const struct sock *sk)
-
- #define __sk_user_data(sk) ((*((void __rcu **)&(sk)->sk_user_data)))
-
-+/**
-+ * __rcu_dereference_sk_user_data_with_flags - return the pointer
-+ * only if argument flags all has been set in sk_user_data. Otherwise
-+ * return NULL
-+ *
-+ * @sk: socket
-+ * @flags: flag bits
-+ */
-+static inline void *
-+__rcu_dereference_sk_user_data_with_flags(const struct sock *sk,
-+ uintptr_t flags)
-+{
-+ uintptr_t sk_user_data = (uintptr_t)rcu_dereference(__sk_user_data(sk));
-+
-+ WARN_ON_ONCE(flags & SK_USER_DATA_PTRMASK);
-+
-+ if ((sk_user_data & flags) == flags)
-+ return (void *)(sk_user_data & SK_USER_DATA_PTRMASK);
-+ return NULL;
-+}
-+
- #define rcu_dereference_sk_user_data(sk) \
-+ __rcu_dereference_sk_user_data_with_flags(sk, 0)
-+#define __rcu_assign_sk_user_data_with_flags(sk, ptr, flags) \
- ({ \
-- void *__tmp = rcu_dereference(__sk_user_data((sk))); \
-- (void *)((uintptr_t)__tmp & SK_USER_DATA_PTRMASK); \
--})
--#define rcu_assign_sk_user_data(sk, ptr) \
--({ \
-- uintptr_t __tmp = (uintptr_t)(ptr); \
-- WARN_ON_ONCE(__tmp & ~SK_USER_DATA_PTRMASK); \
-- rcu_assign_pointer(__sk_user_data((sk)), __tmp); \
--})
--#define rcu_assign_sk_user_data_nocopy(sk, ptr) \
--({ \
-- uintptr_t __tmp = (uintptr_t)(ptr); \
-- WARN_ON_ONCE(__tmp & ~SK_USER_DATA_PTRMASK); \
-+ uintptr_t __tmp1 = (uintptr_t)(ptr), \
-+ __tmp2 = (uintptr_t)(flags); \
-+ WARN_ON_ONCE(__tmp1 & ~SK_USER_DATA_PTRMASK); \
-+ WARN_ON_ONCE(__tmp2 & SK_USER_DATA_PTRMASK); \
- rcu_assign_pointer(__sk_user_data((sk)), \
-- __tmp | SK_USER_DATA_NOCOPY); \
-+ __tmp1 | __tmp2); \
- })
-+#define rcu_assign_sk_user_data(sk, ptr) \
-+ __rcu_assign_sk_user_data_with_flags(sk, ptr, 0)
-
- static inline
- struct net *sock_net(const struct sock *sk)
-diff --git a/net/core/skmsg.c b/net/core/skmsg.c
-index a8dbea559c7f..84209e661171 100644
---- a/net/core/skmsg.c
-+++ b/net/core/skmsg.c
-@@ -735,7 +735,9 @@ struct sk_psock *sk_psock_init(struct sock *sk, int node)
- sk_psock_set_state(psock, SK_PSOCK_TX_ENABLED);
- refcount_set(&psock->refcnt, 1);
-
-- rcu_assign_sk_user_data_nocopy(sk, psock);
-+ __rcu_assign_sk_user_data_with_flags(sk, psock,
-+ SK_USER_DATA_NOCOPY |
-+ SK_USER_DATA_PSOCK);
- sock_hold(sk);
-
- out:
---
-2.37.3
-
diff --git a/0015-ZEN-Tune-mgLRU-to-protect-cache-used-in-the-last-sec.patch b/0015-ZEN-Tune-mgLRU-to-protect-cache-used-in-the-last-sec.patch
deleted file mode 100644
index 5c22355ebfce..000000000000
--- a/0015-ZEN-Tune-mgLRU-to-protect-cache-used-in-the-last-sec.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Steven Barrett <steven@liquorix.net>
-Date: Wed, 11 Aug 2021 18:41:50 -0500
-Subject: [PATCH] ZEN: Tune mgLRU to protect cache used in the last second
-
-Although not identical to the le9 patches that protect a byte-amount of
-cache through tunables, multigenerational LRU now supports protecting
-cache accessed in the last X milliseconds.
-
-In #218, Yu recommends starting with 1000ms and tuning as needed. This
-looks like a safe default and turning on this feature should help users
-that don't know they need it.
----
- mm/vmscan.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/mm/vmscan.c b/mm/vmscan.c
-index 7096ff7836dbf133ca2f6d4c13258780e98d72d8..adcaf8250b2b497a99f9394ee3fd476dc339df0d 100644
---- a/mm/vmscan.c
-+++ b/mm/vmscan.c
-@@ -4434,7 +4434,11 @@ static bool age_lruvec(struct lruvec *lruvec, struct scan_control *sc, unsigned
- }
-
- /* to protect the working set of the last N jiffies */
-+#ifdef CONFIG_ZEN_INTERACTIVE
-+static unsigned long lru_gen_min_ttl __read_mostly = HZ;
-+#else
- static unsigned long lru_gen_min_ttl __read_mostly;
-+#endif
-
- static void lru_gen_age_node(struct pglist_data *pgdat, struct scan_control *sc)
- {
diff --git a/0015-ZEN-mm-Stop-kswapd-early-when-nothing-s-waiting-for-.patch b/0015-ZEN-mm-Stop-kswapd-early-when-nothing-s-waiting-for-.patch
deleted file mode 100644
index fedcdd3f6a29..000000000000
--- a/0015-ZEN-mm-Stop-kswapd-early-when-nothing-s-waiting-for-.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Sultan Alsawaf <sultan@kerneltoast.com>
-Date: Sun, 19 Apr 2020 19:59:18 -0700
-Subject: [PATCH] ZEN: mm: Stop kswapd early when nothing's waiting for it to
- free pages
-
-Contains:
- - mm: Stop kswapd early when nothing's waiting for it to free pages
-
- Keeping kswapd running when all the failed allocations that invoked it
- are satisfied incurs a high overhead due to unnecessary page eviction
- and writeback, as well as spurious VM pressure events to various
- registered shrinkers. When kswapd doesn't need to work to make an
- allocation succeed anymore, stop it prematurely to save resources.
-
- Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
-
- - mm: Don't stop kswapd on a per-node basis when there are no waiters
-
- The page allocator wakes all kswapds in an allocation context's allowed
- nodemask in the slow path, so it doesn't make sense to have the kswapd-
- waiter count per each NUMA node. Instead, it should be a global counter
- to stop all kswapds when there are no failed allocation requests.
-
- Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
----
- mm/internal.h | 1 +
- mm/page_alloc.c | 17 ++++++++++++++---
- mm/vmscan.c | 3 ++-
- 3 files changed, 17 insertions(+), 4 deletions(-)
-
-diff --git a/mm/internal.h b/mm/internal.h
-index c0f8fbe0445b5f1704c41e2a4f2b664456b9768f..cd447101241b1e7245c84cf25c2fba4d56c1df72 100644
---- a/mm/internal.h
-+++ b/mm/internal.h
-@@ -361,6 +361,7 @@ extern void prep_compound_page(struct page *page, unsigned int order);
- extern void post_alloc_hook(struct page *page, unsigned int order,
- gfp_t gfp_flags);
- extern int user_min_free_kbytes;
-+extern atomic_long_t kswapd_waiters;
-
- extern void free_unref_page(struct page *page, unsigned int order);
- extern void free_unref_page_list(struct list_head *list);
-diff --git a/mm/page_alloc.c b/mm/page_alloc.c
-index d6fc4723c4e9137a3bf8193fcbad1bb23f041c43..d86f3da635751e00a5ca5f9c386415523d2ff40a 100644
---- a/mm/page_alloc.c
-+++ b/mm/page_alloc.c
-@@ -122,6 +122,8 @@ typedef int __bitwise fpi_t;
- */
- #define FPI_SKIP_KASAN_POISON ((__force fpi_t)BIT(2))
-
-+atomic_long_t kswapd_waiters = ATOMIC_LONG_INIT(0);
-+
- /* prevent >1 _updater_ of zone percpu pageset ->high and ->batch fields */
- static DEFINE_MUTEX(pcp_batch_high_lock);
- #define MIN_PERCPU_PAGELIST_HIGH_FRACTION (8)
-@@ -4921,6 +4923,7 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order,
- int no_progress_loops;
- unsigned int cpuset_mems_cookie;
- int reserve_flags;
-+ bool woke_kswapd = false;
-
- /*
- * We also sanity check to catch abuse of atomic reserves being used by
-@@ -4967,8 +4970,13 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order,
- goto nopage;
- }
-
-- if (alloc_flags & ALLOC_KSWAPD)
-+ if (alloc_flags & ALLOC_KSWAPD) {
-+ if (!woke_kswapd) {
-+ atomic_long_inc(&kswapd_waiters);
-+ woke_kswapd = true;
-+ }
- wake_all_kswapds(order, gfp_mask, ac);
-+ }
-
- /*
- * The adjusted alloc_flags might result in immediate success, so try
-@@ -5173,9 +5181,12 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order,
- goto retry;
- }
- fail:
-- warn_alloc(gfp_mask, ac->nodemask,
-- "page allocation failure: order:%u", order);
- got_pg:
-+ if (woke_kswapd)
-+ atomic_long_dec(&kswapd_waiters);
-+ if (!page)
-+ warn_alloc(gfp_mask, ac->nodemask,
-+ "page allocation failure: order:%u", order);
- return page;
- }
-
-diff --git a/mm/vmscan.c b/mm/vmscan.c
-index f7d9a683e3a7d38fe1ffd0265b9f7d7acad938b4..c1936a256ed1e858febfe8f090f889f4a6238ff0 100644
---- a/mm/vmscan.c
-+++ b/mm/vmscan.c
-@@ -4228,7 +4228,8 @@ static int balance_pgdat(pg_data_t *pgdat, int order, int highest_zoneidx)
- __fs_reclaim_release(_THIS_IP_);
- ret = try_to_freeze();
- __fs_reclaim_acquire(_THIS_IP_);
-- if (ret || kthread_should_stop())
-+ if (ret || kthread_should_stop() ||
-+ !atomic_long_read(&kswapd_waiters))
- break;
-
- /*
diff --git a/0015-fbdev-fb_pm2fb-Avoid-potential-divide-by-zero-error.patch b/0015-fbdev-fb_pm2fb-Avoid-potential-divide-by-zero-error.patch
deleted file mode 100644
index 0b6da2f4f43e..000000000000
--- a/0015-fbdev-fb_pm2fb-Avoid-potential-divide-by-zero-error.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From cb4bb011a683532841344ca7f281b5e04389b4f8 Mon Sep 17 00:00:00 2001
-From: Letu Ren <fantasquex@gmail.com>
-Date: Thu, 18 Aug 2022 18:44:24 +0800
-Subject: [PATCH 15/73] fbdev: fb_pm2fb: Avoid potential divide by zero error
-
-commit 19f953e7435644b81332dd632ba1b2d80b1e37af upstream.
-
-In `do_fb_ioctl()` of fbmem.c, if cmd is FBIOPUT_VSCREENINFO, var will be
-copied from user, then go through `fb_set_var()` and
-`info->fbops->fb_check_var()` which could may be `pm2fb_check_var()`.
-Along the path, `var->pixclock` won't be modified. This function checks
-whether reciprocal of `var->pixclock` is too high. If `var->pixclock` is
-zero, there will be a divide by zero error. So, it is necessary to check
-whether denominator is zero to avoid crash. As this bug is found by
-Syzkaller, logs are listed below.
-
-divide error in pm2fb_check_var
-Call Trace:
- <TASK>
- fb_set_var+0x367/0xeb0 drivers/video/fbdev/core/fbmem.c:1015
- do_fb_ioctl+0x234/0x670 drivers/video/fbdev/core/fbmem.c:1110
- fb_ioctl+0xdd/0x130 drivers/video/fbdev/core/fbmem.c:1189
-
-Reported-by: Zheyu Ma <zheyuma97@gmail.com>
-Signed-off-by: Letu Ren <fantasquex@gmail.com>
-Signed-off-by: Helge Deller <deller@gmx.de>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/video/fbdev/pm2fb.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/drivers/video/fbdev/pm2fb.c b/drivers/video/fbdev/pm2fb.c
-index d3be2c64f1c0..8fd79deb1e2a 100644
---- a/drivers/video/fbdev/pm2fb.c
-+++ b/drivers/video/fbdev/pm2fb.c
-@@ -617,6 +617,11 @@ static int pm2fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
- return -EINVAL;
- }
-
-+ if (!var->pixclock) {
-+ DPRINTK("pixclock is zero\n");
-+ return -EINVAL;
-+ }
-+
- if (PICOS2KHZ(var->pixclock) > PM2_MAX_PIXCLOCK) {
- DPRINTK("pixclock too high (%ldKHz)\n",
- PICOS2KHZ(var->pixclock));
---
-2.37.3
-
diff --git a/0016-ZEN-mm-Increment-kswapd_waiters-for-throttled-direct.patch b/0016-ZEN-mm-Increment-kswapd_waiters-for-throttled-direct.patch
deleted file mode 100644
index 31f070145587..000000000000
--- a/0016-ZEN-mm-Increment-kswapd_waiters-for-throttled-direct.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Sultan Alsawaf <sultan@kerneltoast.com>
-Date: Fri, 16 Jul 2021 23:35:47 -0700
-Subject: [PATCH] ZEN: mm: Increment kswapd_waiters for throttled direct
- reclaimers
-
-Throttled direct reclaimers will wake up kswapd and wait for kswapd to
-satisfy their page allocation request, even when the failed allocation
-lacks the __GFP_KSWAPD_RECLAIM flag in its gfp mask. As a result, kswapd
-may think that there are no waiters and thus exit prematurely, causing
-throttled direct reclaimers lacking __GFP_KSWAPD_RECLAIM to stall on
-waiting for kswapd to wake them up. Incrementing the kswapd_waiters
-counter when such direct reclaimers become throttled fixes the problem.
-
-Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
----
- mm/vmscan.c | 17 ++++++++++++-----
- 1 file changed, 12 insertions(+), 5 deletions(-)
-
-diff --git a/mm/vmscan.c b/mm/vmscan.c
-index c1936a256ed1e858febfe8f090f889f4a6238ff0..cd9d3535a2f757e464b3a41b24001fd51bc33aa7 100644
---- a/mm/vmscan.c
-+++ b/mm/vmscan.c
-@@ -3608,7 +3608,7 @@ static unsigned long do_try_to_free_pages(struct zonelist *zonelist,
- return 0;
- }
-
--static bool allow_direct_reclaim(pg_data_t *pgdat)
-+static bool allow_direct_reclaim(pg_data_t *pgdat, bool using_kswapd)
- {
- struct zone *zone;
- unsigned long pfmemalloc_reserve = 0;
-@@ -3637,6 +3637,10 @@ static bool allow_direct_reclaim(pg_data_t *pgdat)
-
- wmark_ok = free_pages > pfmemalloc_reserve / 2;
-
-+ /* The throttled direct reclaimer is now a kswapd waiter */
-+ if (unlikely(!using_kswapd && !wmark_ok))
-+ atomic_long_inc(&kswapd_waiters);
-+
- /* kswapd must be awake if processes are being throttled */
- if (!wmark_ok && waitqueue_active(&pgdat->kswapd_wait)) {
- if (READ_ONCE(pgdat->kswapd_highest_zoneidx) > ZONE_NORMAL)
-@@ -3702,7 +3706,7 @@ static bool throttle_direct_reclaim(gfp_t gfp_mask, struct zonelist *zonelist,
-
- /* Throttle based on the first usable node */
- pgdat = zone->zone_pgdat;
-- if (allow_direct_reclaim(pgdat))
-+ if (allow_direct_reclaim(pgdat, gfp_mask & __GFP_KSWAPD_RECLAIM))
- goto out;
- break;
- }
-@@ -3724,11 +3728,14 @@ static bool throttle_direct_reclaim(gfp_t gfp_mask, struct zonelist *zonelist,
- */
- if (!(gfp_mask & __GFP_FS))
- wait_event_interruptible_timeout(pgdat->pfmemalloc_wait,
-- allow_direct_reclaim(pgdat), HZ);
-+ allow_direct_reclaim(pgdat, true), HZ);
- else
- /* Throttle until kswapd wakes the process */
- wait_event_killable(zone->zone_pgdat->pfmemalloc_wait,
-- allow_direct_reclaim(pgdat));
-+ allow_direct_reclaim(pgdat, true));
-+
-+ if (unlikely(!(gfp_mask & __GFP_KSWAPD_RECLAIM)))
-+ atomic_long_dec(&kswapd_waiters);
-
- if (fatal_signal_pending(current))
- return true;
-@@ -4221,7 +4228,7 @@ static int balance_pgdat(pg_data_t *pgdat, int order, int highest_zoneidx)
- * able to safely make forward progress. Wake them
- */
- if (waitqueue_active(&pgdat->pfmemalloc_wait) &&
-- allow_direct_reclaim(pgdat))
-+ allow_direct_reclaim(pgdat, true))
- wake_up_all(&pgdat->pfmemalloc_wait);
-
- /* Check if kswapd should be suspending */
diff --git a/0016-ftrace-Fix-NULL-pointer-dereference-in-is_ftrace_tra.patch b/0016-ftrace-Fix-NULL-pointer-dereference-in-is_ftrace_tra.patch
deleted file mode 100644
index 26e1c1126386..000000000000
--- a/0016-ftrace-Fix-NULL-pointer-dereference-in-is_ftrace_tra.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From d81bd6671f45fde4c3ac7fd7733c6e3082ae9d8e Mon Sep 17 00:00:00 2001
-From: Yang Jihong <yangjihong1@huawei.com>
-Date: Thu, 18 Aug 2022 11:26:59 +0800
-Subject: [PATCH 16/73] ftrace: Fix NULL pointer dereference in
- is_ftrace_trampoline when ftrace is dead
-
-commit c3b0f72e805f0801f05fa2aa52011c4bfc694c44 upstream.
-
-ftrace_startup does not remove ops from ftrace_ops_list when
-ftrace_startup_enable fails:
-
-register_ftrace_function
- ftrace_startup
- __register_ftrace_function
- ...
- add_ftrace_ops(&ftrace_ops_list, ops)
- ...
- ...
- ftrace_startup_enable // if ftrace failed to modify, ftrace_disabled is set to 1
- ...
- return 0 // ops is in the ftrace_ops_list.
-
-When ftrace_disabled = 1, unregister_ftrace_function simply returns without doing anything:
-unregister_ftrace_function
- ftrace_shutdown
- if (unlikely(ftrace_disabled))
- return -ENODEV; // return here, __unregister_ftrace_function is not executed,
- // as a result, ops is still in the ftrace_ops_list
- __unregister_ftrace_function
- ...
-
-If ops is dynamically allocated, it will be free later, in this case,
-is_ftrace_trampoline accesses NULL pointer:
-
-is_ftrace_trampoline
- ftrace_ops_trampoline
- do_for_each_ftrace_op(op, ftrace_ops_list) // OOPS! op may be NULL!
-
-Syzkaller reports as follows:
-[ 1203.506103] BUG: kernel NULL pointer dereference, address: 000000000000010b
-[ 1203.508039] #PF: supervisor read access in kernel mode
-[ 1203.508798] #PF: error_code(0x0000) - not-present page
-[ 1203.509558] PGD 800000011660b067 P4D 800000011660b067 PUD 130fb8067 PMD 0
-[ 1203.510560] Oops: 0000 [#1] SMP KASAN PTI
-[ 1203.511189] CPU: 6 PID: 29532 Comm: syz-executor.2 Tainted: G B W 5.10.0 #8
-[ 1203.512324] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014
-[ 1203.513895] RIP: 0010:is_ftrace_trampoline+0x26/0xb0
-[ 1203.514644] Code: ff eb d3 90 41 55 41 54 49 89 fc 55 53 e8 f2 00 fd ff 48 8b 1d 3b 35 5d 03 e8 e6 00 fd ff 48 8d bb 90 00 00 00 e8 2a 81 26 00 <48> 8b ab 90 00 00 00 48 85 ed 74 1d e8 c9 00 fd ff 48 8d bb 98 00
-[ 1203.518838] RSP: 0018:ffffc900012cf960 EFLAGS: 00010246
-[ 1203.520092] RAX: 0000000000000000 RBX: 000000000000007b RCX: ffffffff8a331866
-[ 1203.521469] RDX: 0000000000000000 RSI: 0000000000000008 RDI: 000000000000010b
-[ 1203.522583] RBP: 0000000000000000 R08: 0000000000000000 R09: ffffffff8df18b07
-[ 1203.523550] R10: fffffbfff1be3160 R11: 0000000000000001 R12: 0000000000478399
-[ 1203.524596] R13: 0000000000000000 R14: ffff888145088000 R15: 0000000000000008
-[ 1203.525634] FS: 00007f429f5f4700(0000) GS:ffff8881daf00000(0000) knlGS:0000000000000000
-[ 1203.526801] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
-[ 1203.527626] CR2: 000000000000010b CR3: 0000000170e1e001 CR4: 00000000003706e0
-[ 1203.528611] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
-[ 1203.529605] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
-
-Therefore, when ftrace_startup_enable fails, we need to rollback registration
-process and remove ops from ftrace_ops_list.
-
-Link: https://lkml.kernel.org/r/20220818032659.56209-1-yangjihong1@huawei.com
-
-Suggested-by: Steven Rostedt <rostedt@goodmis.org>
-Signed-off-by: Yang Jihong <yangjihong1@huawei.com>
-Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- kernel/trace/ftrace.c | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
-index 601ccf1b2f09..4baa99363b16 100644
---- a/kernel/trace/ftrace.c
-+++ b/kernel/trace/ftrace.c
-@@ -2937,6 +2937,16 @@ int ftrace_startup(struct ftrace_ops *ops, int command)
-
- ftrace_startup_enable(command);
-
-+ /*
-+ * If ftrace is in an undefined state, we just remove ops from list
-+ * to prevent the NULL pointer, instead of totally rolling it back and
-+ * free trampoline, because those actions could cause further damage.
-+ */
-+ if (unlikely(ftrace_disabled)) {
-+ __unregister_ftrace_function(ops);
-+ return -ENODEV;
-+ }
-+
- ops->flags &= ~FTRACE_OPS_FL_ADDING;
-
- return 0;
---
-2.37.3
-
diff --git a/0017-ZEN-mm-Lower-the-non-hugetlbpage-pageblock-size-to-r.patch b/0017-ZEN-mm-Lower-the-non-hugetlbpage-pageblock-size-to-r.patch
deleted file mode 100644
index 11b98001f453..000000000000
--- a/0017-ZEN-mm-Lower-the-non-hugetlbpage-pageblock-size-to-r.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Sultan Alsawaf <sultan@kerneltoast.com>
-Date: Wed, 20 Oct 2021 20:50:11 -0700
-Subject: [PATCH] ZEN: mm: Lower the non-hugetlbpage pageblock size to reduce
- scheduling delays
-
-The page allocator processes free pages in groups of pageblocks, where
-the size of a pageblock is typically quite large (1024 pages without
-hugetlbpage support). Pageblocks are processed atomically with the zone
-lock held, which can cause severe scheduling delays on both the CPU
-going through the pageblock and any other CPUs waiting to acquire the
-zone lock. A frequent offender is move_freepages_block(), which is used
-by rmqueue() for page allocation.
-
-As it turns out, there's no requirement for pageblocks to be so large,
-so the pageblock order can simply be reduced to ease the scheduling
-delays and zone lock contention. PAGE_ALLOC_COSTLY_ORDER is used as a
-reasonable setting to ensure non-costly page allocation requests can
-still be serviced without always needing to free up more than one
-pageblock's worth of pages at a time.
-
-This has a noticeable effect on overall system latency when memory
-pressure is elevated. The various mm functions which operate on
-pageblocks no longer appear in the preemptoff tracer, where previously
-they would spend up to 100 ms on a mobile arm64 CPU processing a
-pageblock with preemption disabled and the zone lock held.
-
-Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
----
- include/linux/pageblock-flags.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/linux/pageblock-flags.h b/include/linux/pageblock-flags.h
-index 83c7248053a1eb745e0bff410be66d0f04a5e8bb..d2b8741eabf7e01802dbb0705a12cb2e5c80ea1d 100644
---- a/include/linux/pageblock-flags.h
-+++ b/include/linux/pageblock-flags.h
-@@ -48,7 +48,7 @@ extern unsigned int pageblock_order;
- #else /* CONFIG_HUGETLB_PAGE */
-
- /* If huge pages are not used, group by MAX_ORDER_NR_PAGES */
--#define pageblock_order (MAX_ORDER-1)
-+#define pageblock_order PAGE_ALLOC_COSTLY_ORDER
-
- #endif /* CONFIG_HUGETLB_PAGE */
-
diff --git a/0017-bpf-Don-t-redirect-packets-with-invalid-pkt_len.patch b/0017-bpf-Don-t-redirect-packets-with-invalid-pkt_len.patch
deleted file mode 100644
index 3eab5b5de836..000000000000
--- a/0017-bpf-Don-t-redirect-packets-with-invalid-pkt_len.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 72f2dc8993f10262092745a88cb2dd0fef094f23 Mon Sep 17 00:00:00 2001
-From: Zhengchao Shao <shaozhengchao@huawei.com>
-Date: Fri, 15 Jul 2022 19:55:59 +0800
-Subject: [PATCH 17/73] bpf: Don't redirect packets with invalid pkt_len
-
-commit fd1894224407c484f652ad456e1ce423e89bb3eb upstream.
-
-Syzbot found an issue [1]: fq_codel_drop() try to drop a flow whitout any
-skbs, that is, the flow->head is null.
-The root cause, as the [2] says, is because that bpf_prog_test_run_skb()
-run a bpf prog which redirects empty skbs.
-So we should determine whether the length of the packet modified by bpf
-prog or others like bpf_prog_test is valid before forwarding it directly.
-
-LINK: [1] https://syzkaller.appspot.com/bug?id=0b84da80c2917757915afa89f7738a9d16ec96c5
-LINK: [2] https://www.spinics.net/lists/netdev/msg777503.html
-
-Reported-by: syzbot+7a12909485b94426aceb@syzkaller.appspotmail.com
-Signed-off-by: Zhengchao Shao <shaozhengchao@huawei.com>
-Reviewed-by: Stanislav Fomichev <sdf@google.com>
-Link: https://lore.kernel.org/r/20220715115559.139691-1-shaozhengchao@huawei.com
-Signed-off-by: Alexei Starovoitov <ast@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- include/linux/skbuff.h | 8 ++++++++
- net/bpf/test_run.c | 3 +++
- net/core/dev.c | 1 +
- 3 files changed, 12 insertions(+)
-
-diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
-index d3d10556f0fa..2f41364a6791 100644
---- a/include/linux/skbuff.h
-+++ b/include/linux/skbuff.h
-@@ -2624,6 +2624,14 @@ static inline void skb_set_tail_pointer(struct sk_buff *skb, const int offset)
-
- #endif /* NET_SKBUFF_DATA_USES_OFFSET */
-
-+static inline void skb_assert_len(struct sk_buff *skb)
-+{
-+#ifdef CONFIG_DEBUG_NET
-+ if (WARN_ONCE(!skb->len, "%s\n", __func__))
-+ DO_ONCE_LITE(skb_dump, KERN_ERR, skb, false);
-+#endif /* CONFIG_DEBUG_NET */
-+}
-+
- /*
- * Add data to an sk_buff
- */
-diff --git a/net/bpf/test_run.c b/net/bpf/test_run.c
-index 56f059b3c242..42f8de4ebbd7 100644
---- a/net/bpf/test_run.c
-+++ b/net/bpf/test_run.c
-@@ -955,6 +955,9 @@ static int convert___skb_to_skb(struct sk_buff *skb, struct __sk_buff *__skb)
- {
- struct qdisc_skb_cb *cb = (struct qdisc_skb_cb *)skb->cb;
-
-+ if (!skb->len)
-+ return -EINVAL;
-+
- if (!__skb)
- return 0;
-
-diff --git a/net/core/dev.c b/net/core/dev.c
-index a77a979a4bf7..ecaeb3ef8e5c 100644
---- a/net/core/dev.c
-+++ b/net/core/dev.c
-@@ -4168,6 +4168,7 @@ int __dev_queue_xmit(struct sk_buff *skb, struct net_device *sb_dev)
- bool again = false;
-
- skb_reset_mac_header(skb);
-+ skb_assert_len(skb);
-
- if (unlikely(skb_shinfo(skb)->tx_flags & SKBTX_SCHED_TSTAMP))
- __skb_tstamp_tx(skb, NULL, NULL, skb->sk, SCM_TSTAMP_SCHED);
---
-2.37.3
-
diff --git a/0018-ZEN-mm-Don-t-hog-the-CPU-and-zone-lock-in-rmqueue_bu.patch b/0018-ZEN-mm-Don-t-hog-the-CPU-and-zone-lock-in-rmqueue_bu.patch
deleted file mode 100644
index bda483b83cfc..000000000000
--- a/0018-ZEN-mm-Don-t-hog-the-CPU-and-zone-lock-in-rmqueue_bu.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Sultan Alsawaf <sultan@kerneltoast.com>
-Date: Wed, 20 Oct 2021 20:50:32 -0700
-Subject: [PATCH] ZEN: mm: Don't hog the CPU and zone lock in rmqueue_bulk()
-
-There is noticeable scheduling latency and heavy zone lock contention
-stemming from rmqueue_bulk's single hold of the zone lock while doing
-its work, as seen with the preemptoff tracer. There's no actual need for
-rmqueue_bulk() to hold the zone lock the entire time; it only does so
-for supposed efficiency. As such, we can relax the zone lock and even
-reschedule when IRQs are enabled in order to keep the scheduling delays
-and zone lock contention at bay. Forward progress is still guaranteed,
-as the zone lock can only be relaxed after page removal.
-
-With this change, rmqueue_bulk() no longer appears as a serious offender
-in the preemptoff tracer, and system latency is noticeably improved.
-
-Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
----
- mm/page_alloc.c | 23 ++++++++++++++++++-----
- 1 file changed, 18 insertions(+), 5 deletions(-)
-
-diff --git a/mm/page_alloc.c b/mm/page_alloc.c
-index d86f3da635751e00a5ca5f9c386415523d2ff40a..2cdff4eafea54a2ca8ad58549746148e1390e031 100644
---- a/mm/page_alloc.c
-+++ b/mm/page_alloc.c
-@@ -3036,15 +3036,16 @@ __rmqueue(struct zone *zone, unsigned int order, int migratetype,
- }
-
- /*
-- * Obtain a specified number of elements from the buddy allocator, all under
-- * a single hold of the lock, for efficiency. Add them to the supplied list.
-- * Returns the number of new pages which were placed at *list.
-+ * Obtain a specified number of elements from the buddy allocator, and relax the
-+ * zone lock when needed. Add them to the supplied list. Returns the number of
-+ * new pages which were placed at *list.
- */
- static int rmqueue_bulk(struct zone *zone, unsigned int order,
- unsigned long count, struct list_head *list,
- int migratetype, unsigned int alloc_flags)
- {
-- int i, allocated = 0;
-+ const bool can_resched = !preempt_count() && !irqs_disabled();
-+ int i, allocated = 0, last_mod = 0;
-
- /*
- * local_lock_irq held so equivalent to spin_lock_irqsave for
-@@ -3057,6 +3058,18 @@ static int rmqueue_bulk(struct zone *zone, unsigned int order,
- if (unlikely(page == NULL))
- break;
-
-+ /* Reschedule and ease the contention on the lock if needed */
-+ if (i + 1 < count && ((can_resched && need_resched()) ||
-+ spin_needbreak(&zone->lock))) {
-+ __mod_zone_page_state(zone, NR_FREE_PAGES,
-+ -((i + 1 - last_mod) << order));
-+ last_mod = i + 1;
-+ spin_unlock(&zone->lock);
-+ if (can_resched)
-+ cond_resched();
-+ spin_lock(&zone->lock);
-+ }
-+
- if (unlikely(check_pcp_refill(page, order)))
- continue;
-
-@@ -3083,7 +3096,7 @@ static int rmqueue_bulk(struct zone *zone, unsigned int order,
- * on i. Do not confuse with 'allocated' which is the number of
- * pages added to the pcp list.
- */
-- __mod_zone_page_state(zone, NR_FREE_PAGES, -(i << order));
-+ __mod_zone_page_state(zone, NR_FREE_PAGES, -((i - last_mod) << order));
- spin_unlock(&zone->lock);
- return allocated;
- }
diff --git a/0018-mm-rmap-Fix-anon_vma-degree-ambiguity-leading-to-dou.patch b/0018-mm-rmap-Fix-anon_vma-degree-ambiguity-leading-to-dou.patch
deleted file mode 100644
index f638a0c847fe..000000000000
--- a/0018-mm-rmap-Fix-anon_vma-degree-ambiguity-leading-to-dou.patch
+++ /dev/null
@@ -1,173 +0,0 @@
-From 7877eaa1131147b4d6a063962f3aac0ab1b8ea1c Mon Sep 17 00:00:00 2001
-From: Jann Horn <jannh@google.com>
-Date: Wed, 31 Aug 2022 19:06:00 +0200
-Subject: [PATCH 18/73] mm/rmap: Fix anon_vma->degree ambiguity leading to
- double-reuse
-
-commit 2555283eb40df89945557273121e9393ef9b542b upstream.
-
-anon_vma->degree tracks the combined number of child anon_vmas and VMAs
-that use the anon_vma as their ->anon_vma.
-
-anon_vma_clone() then assumes that for any anon_vma attached to
-src->anon_vma_chain other than src->anon_vma, it is impossible for it to
-be a leaf node of the VMA tree, meaning that for such VMAs ->degree is
-elevated by 1 because of a child anon_vma, meaning that if ->degree
-equals 1 there are no VMAs that use the anon_vma as their ->anon_vma.
-
-This assumption is wrong because the ->degree optimization leads to leaf
-nodes being abandoned on anon_vma_clone() - an existing anon_vma is
-reused and no new parent-child relationship is created. So it is
-possible to reuse an anon_vma for one VMA while it is still tied to
-another VMA.
-
-This is an issue because is_mergeable_anon_vma() and its callers assume
-that if two VMAs have the same ->anon_vma, the list of anon_vmas
-attached to the VMAs is guaranteed to be the same. When this assumption
-is violated, vma_merge() can merge pages into a VMA that is not attached
-to the corresponding anon_vma, leading to dangling page->mapping
-pointers that will be dereferenced during rmap walks.
-
-Fix it by separately tracking the number of child anon_vmas and the
-number of VMAs using the anon_vma as their ->anon_vma.
-
-Fixes: 7a3ef208e662 ("mm: prevent endless growth of anon_vma hierarchy")
-Cc: stable@kernel.org
-Acked-by: Michal Hocko <mhocko@suse.com>
-Acked-by: Vlastimil Babka <vbabka@suse.cz>
-Signed-off-by: Jann Horn <jannh@google.com>
-Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- include/linux/rmap.h | 7 +++++--
- mm/rmap.c | 29 ++++++++++++++++-------------
- 2 files changed, 21 insertions(+), 15 deletions(-)
-
-diff --git a/include/linux/rmap.h b/include/linux/rmap.h
-index bf80adca980b..b89b4b86951f 100644
---- a/include/linux/rmap.h
-+++ b/include/linux/rmap.h
-@@ -41,12 +41,15 @@ struct anon_vma {
- atomic_t refcount;
-
- /*
-- * Count of child anon_vmas and VMAs which points to this anon_vma.
-+ * Count of child anon_vmas. Equals to the count of all anon_vmas that
-+ * have ->parent pointing to this one, including itself.
- *
- * This counter is used for making decision about reusing anon_vma
- * instead of forking new one. See comments in function anon_vma_clone.
- */
-- unsigned degree;
-+ unsigned long num_children;
-+ /* Count of VMAs whose ->anon_vma pointer points to this object. */
-+ unsigned long num_active_vmas;
-
- struct anon_vma *parent; /* Parent of this anon_vma */
-
-diff --git a/mm/rmap.c b/mm/rmap.c
-index 746c05acad27..f6dd281df410 100644
---- a/mm/rmap.c
-+++ b/mm/rmap.c
-@@ -93,7 +93,8 @@ static inline struct anon_vma *anon_vma_alloc(void)
- anon_vma = kmem_cache_alloc(anon_vma_cachep, GFP_KERNEL);
- if (anon_vma) {
- atomic_set(&anon_vma->refcount, 1);
-- anon_vma->degree = 1; /* Reference for first vma */
-+ anon_vma->num_children = 0;
-+ anon_vma->num_active_vmas = 0;
- anon_vma->parent = anon_vma;
- /*
- * Initialise the anon_vma root to point to itself. If called
-@@ -201,6 +202,7 @@ int __anon_vma_prepare(struct vm_area_struct *vma)
- anon_vma = anon_vma_alloc();
- if (unlikely(!anon_vma))
- goto out_enomem_free_avc;
-+ anon_vma->num_children++; /* self-parent link for new root */
- allocated = anon_vma;
- }
-
-@@ -210,8 +212,7 @@ int __anon_vma_prepare(struct vm_area_struct *vma)
- if (likely(!vma->anon_vma)) {
- vma->anon_vma = anon_vma;
- anon_vma_chain_link(vma, avc, anon_vma);
-- /* vma reference or self-parent link for new root */
-- anon_vma->degree++;
-+ anon_vma->num_active_vmas++;
- allocated = NULL;
- avc = NULL;
- }
-@@ -296,19 +297,19 @@ int anon_vma_clone(struct vm_area_struct *dst, struct vm_area_struct *src)
- anon_vma_chain_link(dst, avc, anon_vma);
-
- /*
-- * Reuse existing anon_vma if its degree lower than two,
-- * that means it has no vma and only one anon_vma child.
-+ * Reuse existing anon_vma if it has no vma and only one
-+ * anon_vma child.
- *
-- * Do not choose parent anon_vma, otherwise first child
-- * will always reuse it. Root anon_vma is never reused:
-+ * Root anon_vma is never reused:
- * it has self-parent reference and at least one child.
- */
- if (!dst->anon_vma && src->anon_vma &&
-- anon_vma != src->anon_vma && anon_vma->degree < 2)
-+ anon_vma->num_children < 2 &&
-+ anon_vma->num_active_vmas == 0)
- dst->anon_vma = anon_vma;
- }
- if (dst->anon_vma)
-- dst->anon_vma->degree++;
-+ dst->anon_vma->num_active_vmas++;
- unlock_anon_vma_root(root);
- return 0;
-
-@@ -358,6 +359,7 @@ int anon_vma_fork(struct vm_area_struct *vma, struct vm_area_struct *pvma)
- anon_vma = anon_vma_alloc();
- if (!anon_vma)
- goto out_error;
-+ anon_vma->num_active_vmas++;
- avc = anon_vma_chain_alloc(GFP_KERNEL);
- if (!avc)
- goto out_error_free_anon_vma;
-@@ -378,7 +380,7 @@ int anon_vma_fork(struct vm_area_struct *vma, struct vm_area_struct *pvma)
- vma->anon_vma = anon_vma;
- anon_vma_lock_write(anon_vma);
- anon_vma_chain_link(vma, avc, anon_vma);
-- anon_vma->parent->degree++;
-+ anon_vma->parent->num_children++;
- anon_vma_unlock_write(anon_vma);
-
- return 0;
-@@ -410,7 +412,7 @@ void unlink_anon_vmas(struct vm_area_struct *vma)
- * to free them outside the lock.
- */
- if (RB_EMPTY_ROOT(&anon_vma->rb_root.rb_root)) {
-- anon_vma->parent->degree--;
-+ anon_vma->parent->num_children--;
- continue;
- }
-
-@@ -418,7 +420,7 @@ void unlink_anon_vmas(struct vm_area_struct *vma)
- anon_vma_chain_free(avc);
- }
- if (vma->anon_vma) {
-- vma->anon_vma->degree--;
-+ vma->anon_vma->num_active_vmas--;
-
- /*
- * vma would still be needed after unlink, and anon_vma will be prepared
-@@ -436,7 +438,8 @@ void unlink_anon_vmas(struct vm_area_struct *vma)
- list_for_each_entry_safe(avc, next, &vma->anon_vma_chain, same_vma) {
- struct anon_vma *anon_vma = avc->anon_vma;
-
-- VM_WARN_ON(anon_vma->degree);
-+ VM_WARN_ON(anon_vma->num_children);
-+ VM_WARN_ON(anon_vma->num_active_vmas);
- put_anon_vma(anon_vma);
-
- list_del(&avc->same_vma);
---
-2.37.3
-
diff --git a/0019-ALSA-usb-audio-Add-quirk-for-LH-Labs-Geek-Out-HD-Aud.patch b/0019-ALSA-usb-audio-Add-quirk-for-LH-Labs-Geek-Out-HD-Aud.patch
deleted file mode 100644
index 4a50a13e23cc..000000000000
--- a/0019-ALSA-usb-audio-Add-quirk-for-LH-Labs-Geek-Out-HD-Aud.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From ec45c77833192fa8da4681b1a4c6847fe7e4bf4c Mon Sep 17 00:00:00 2001
-From: Takashi Iwai <tiwai@suse.de>
-Date: Sun, 28 Aug 2022 09:41:43 +0200
-Subject: [PATCH 19/73] ALSA: usb-audio: Add quirk for LH Labs Geek Out HD
- Audio 1V5
-
-commit 5f3d9e8161bb8cb23ab3b4678cd13f6e90a06186 upstream.
-
-The USB DAC from LH Labs (2522:0007) seems requiring the same quirk as
-Sony Walkman to set up the interface like UAC1; otherwise it gets the
-constant errors "usb_set_interface failed (-71)". This patch adds a
-quirk entry for addressing the buggy behavior.
-
-Reported-by: Lennert Van Alboom <lennert@vanalboom.org>
-Cc: <stable@vger.kernel.org>
-Link: https://lore.kernel.org/r/T3VPXtCc4uFws9Gfh2RjX6OdwM1RqfC6VqQr--_LMDyB2x5N3p9_q6AtPna17IXhHwBtcJVdXuS80ZZSCMjh_BafIbnzJPhbrkmhmWS6DlI=@vanalboom.org
-Link: https://lore.kernel.org/r/20220828074143.14736-1-tiwai@suse.de
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- sound/usb/quirks.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
-index 168fd802d70b..9bfead5efc4c 100644
---- a/sound/usb/quirks.c
-+++ b/sound/usb/quirks.c
-@@ -1903,6 +1903,8 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
- QUIRK_FLAG_SHARE_MEDIA_DEVICE | QUIRK_FLAG_ALIGN_TRANSFER),
- DEVICE_FLG(0x21b4, 0x0081, /* AudioQuest DragonFly */
- QUIRK_FLAG_GET_SAMPLE_RATE),
-+ DEVICE_FLG(0x2522, 0x0007, /* LH Labs Geek Out HD Audio 1V5 */
-+ QUIRK_FLAG_SET_IFACE_FIRST),
- DEVICE_FLG(0x2708, 0x0002, /* Audient iD14 */
- QUIRK_FLAG_IGNORE_CTL_ERROR),
- DEVICE_FLG(0x2912, 0x30c8, /* Audioengine D1 */
---
-2.37.3
-
diff --git a/0019-ZEN-INTERACTIVE-Base-config-item.patch b/0019-ZEN-INTERACTIVE-Base-config-item.patch
deleted file mode 100644
index b1ae0af8dfe9..000000000000
--- a/0019-ZEN-INTERACTIVE-Base-config-item.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
-Date: Mon, 27 Jan 2020 18:10:06 +0100
-Subject: [PATCH] ZEN: INTERACTIVE: Base config item
-
----
- init/Kconfig | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/init/Kconfig b/init/Kconfig
-index 5b5f9ea153d3ea7d54601950d6332ee1cec21df2..40b922be8c2af3b67156290a06a92f7bd1517bab 100644
---- a/init/Kconfig
-+++ b/init/Kconfig
-@@ -116,6 +116,12 @@ config THREAD_INFO_IN_TASK
-
- menu "General setup"
-
-+config ZEN_INTERACTIVE
-+ bool "Tune kernel for interactivity"
-+ default y
-+ help
-+ Tunes the kernel for responsiveness at the cost of throughput and power usage.
-+
- config BROKEN
- bool
-
diff --git a/0020-HID-input-fix-uclogic-tablets.patch b/0020-HID-input-fix-uclogic-tablets.patch
deleted file mode 100644
index f8a95f4638ca..000000000000
--- a/0020-HID-input-fix-uclogic-tablets.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From b61400c4e784065c9783442e8ef096fefa811901 Mon Sep 17 00:00:00 2001
-From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
-Date: Mon, 22 Aug 2022 08:22:47 +0200
-Subject: [PATCH 20/73] HID: input: fix uclogic tablets
-
-commit 8db8be9cfc89935c97d791c7e6264e710a7e8a56 upstream.
-
-commit 87562fcd1342 ("HID: input: remove the need for HID_QUIRK_INVERT")
-made the assumption that it was the only one handling tablets and thus
-kept an internal state regarding the tool.
-
-Turns out that the uclogic driver has a timer to release the in range
-bit, effectively making hid-input ignoring all in range information
-after the very first one.
-
-Fix that by having a more rationale approach which consists in forwarding
-every event and let the input stack filter out the duplicates.
-
-Reported-by: Stefan Hansson <newbie13xd@gmail.com>
-Fixes: 87562fcd1342 ("HID: input: remove the need for HID_QUIRK_INVERT")
-Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/hid/hid-input.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
-index 48c1c02c69f4..871a185a0f1f 100644
---- a/drivers/hid/hid-input.c
-+++ b/drivers/hid/hid-input.c
-@@ -1532,7 +1532,10 @@ void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct
- * assume ours
- */
- if (!report->tool)
-- hid_report_set_tool(report, input, usage->code);
-+ report->tool = usage->code;
-+
-+ /* drivers may have changed the value behind our back, resend it */
-+ hid_report_set_tool(report, input, report->tool);
- } else {
- hid_report_release_tool(report, input, usage->code);
- }
---
-2.37.3
-
diff --git a/0020-ZEN-INTERACTIVE-Use-BFQ-as-our-elevator.patch b/0020-ZEN-INTERACTIVE-Use-BFQ-as-our-elevator.patch
deleted file mode 100644
index fd288436c2f2..000000000000
--- a/0020-ZEN-INTERACTIVE-Use-BFQ-as-our-elevator.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
-Date: Mon, 27 Jan 2020 18:11:05 +0100
-Subject: [PATCH] ZEN: INTERACTIVE: Use BFQ as our elevator
-
-Add a scheduler even to multi-queue block devices: We prefer
-interactivity to throughput and want BFQ if possible.
----
- block/elevator.c | 6 ++++++
- init/Kconfig | 4 ++++
- 2 files changed, 10 insertions(+)
-
-diff --git a/block/elevator.c b/block/elevator.c
-index c319765892bb90f00162cb6cac03f8d5434e64b2..062c1c055559b6a627e96031bcd9a06efa9ea85f 100644
---- a/block/elevator.c
-+++ b/block/elevator.c
-@@ -638,11 +638,17 @@ static struct elevator_type *elevator_get_default(struct request_queue *q)
- if (q->tag_set && q->tag_set->flags & BLK_MQ_F_NO_SCHED_BY_DEFAULT)
- return NULL;
-
-+#ifndef CONFIG_ZEN_INTERACTIVE
- if (q->nr_hw_queues != 1 &&
- !blk_mq_is_shared_tags(q->tag_set->flags))
- return NULL;
-+#endif
-
-+#if defined(CONFIG_ZEN_INTERACTIVE) && defined(CONFIG_IOSCHED_BFQ)
-+ return elevator_get(q, "bfq", false);
-+#else
- return elevator_get(q, "mq-deadline", false);
-+#endif
- }
-
- /*
-diff --git a/init/Kconfig b/init/Kconfig
-index 40b922be8c2af3b67156290a06a92f7bd1517bab..fb5f80b921d04941aebedec13cdcbd93c5a3e76b 100644
---- a/init/Kconfig
-+++ b/init/Kconfig
-@@ -122,6 +122,10 @@ config ZEN_INTERACTIVE
- help
- Tunes the kernel for responsiveness at the cost of throughput and power usage.
-
-+ --- Block Layer ----------------------------------------
-+
-+ Default scheduler.........: mq-deadline -> bfq
-+
- config BROKEN
- bool
-
diff --git a/0021-HID-add-Lenovo-Yoga-C630-battery-quirk.patch b/0021-HID-add-Lenovo-Yoga-C630-battery-quirk.patch
deleted file mode 100644
index 13763c3e3255..000000000000
--- a/0021-HID-add-Lenovo-Yoga-C630-battery-quirk.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 4af0f12367b2cdf687e58044a71916edb60b0f4d Mon Sep 17 00:00:00 2001
-From: Steev Klimaszewski <steev@kali.org>
-Date: Thu, 18 Aug 2022 21:39:24 -0500
-Subject: [PATCH 21/73] HID: add Lenovo Yoga C630 battery quirk
-
-commit 3a47fa7b14c7d9613909a844aba27f99d3c58634 upstream.
-
-Similar to the Surface Go devices, the Elantech touchscreen/digitizer in
-the Lenovo Yoga C630 mistakenly reports the battery of the stylus, and
-always reports an empty battery.
-
-Apply the HID_BATTERY_QUIRK_IGNORE quirk to ignore this battery and
-prevent the erroneous low battery warnings.
-
-Signed-off-by: Steev Klimaszewski <steev@kali.org>
-Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/hid/hid-ids.h | 1 +
- drivers/hid/hid-input.c | 2 ++
- 2 files changed, 3 insertions(+)
-
-diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
-index 9c4e92a9c646..f7e4a0d06fb8 100644
---- a/drivers/hid/hid-ids.h
-+++ b/drivers/hid/hid-ids.h
-@@ -414,6 +414,7 @@
- #define USB_DEVICE_ID_ASUS_UX550_TOUCHSCREEN 0x2706
- #define I2C_DEVICE_ID_SURFACE_GO_TOUCHSCREEN 0x261A
- #define I2C_DEVICE_ID_SURFACE_GO2_TOUCHSCREEN 0x2A1C
-+#define I2C_DEVICE_ID_LENOVO_YOGA_C630_TOUCHSCREEN 0x279F
-
- #define USB_VENDOR_ID_ELECOM 0x056e
- #define USB_DEVICE_ID_ELECOM_BM084 0x0061
-diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
-index 871a185a0f1f..859aeb07542e 100644
---- a/drivers/hid/hid-input.c
-+++ b/drivers/hid/hid-input.c
-@@ -383,6 +383,8 @@ static const struct hid_device_id hid_battery_quirks[] = {
- HID_BATTERY_QUIRK_IGNORE },
- { HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_SURFACE_GO2_TOUCHSCREEN),
- HID_BATTERY_QUIRK_IGNORE },
-+ { HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_LENOVO_YOGA_C630_TOUCHSCREEN),
-+ HID_BATTERY_QUIRK_IGNORE },
- {}
- };
-
---
-2.37.3
-
diff --git a/0021-ZEN-INTERACTIVE-Use-Kyber-as-our-elevator-for-multi-.patch b/0021-ZEN-INTERACTIVE-Use-Kyber-as-our-elevator-for-multi-.patch
deleted file mode 100644
index 26deaf05866a..000000000000
--- a/0021-ZEN-INTERACTIVE-Use-Kyber-as-our-elevator-for-multi-.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
-Date: Tue, 12 Jul 2022 17:30:47 +0200
-Subject: [PATCH] ZEN: INTERACTIVE: Use Kyber as our elevator for multi-queue
- devices
-
----
- block/elevator.c | 6 +++++-
- init/Kconfig | 3 ++-
- 2 files changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/block/elevator.c b/block/elevator.c
-index 062c1c055559b6a627e96031bcd9a06efa9ea85f..7efbdee94e2ce2fb39b4bf49100f41aeb15e80fa 100644
---- a/block/elevator.c
-+++ b/block/elevator.c
-@@ -638,9 +638,13 @@ static struct elevator_type *elevator_get_default(struct request_queue *q)
- if (q->tag_set && q->tag_set->flags & BLK_MQ_F_NO_SCHED_BY_DEFAULT)
- return NULL;
-
--#ifndef CONFIG_ZEN_INTERACTIVE
- if (q->nr_hw_queues != 1 &&
- !blk_mq_is_shared_tags(q->tag_set->flags))
-+#if defined(CONFIG_ZEN_INTERACTIVE) && defined(CONFIG_MQ_IOSCHED_KYBER)
-+ return elevator_get(q, "kyber", false);
-+#elif defined(CONFIG_ZEN_INTERACTIVE)
-+ return elevator_get(q, "mq-deadline", false);
-+#else
- return NULL;
- #endif
-
-diff --git a/init/Kconfig b/init/Kconfig
-index fb5f80b921d04941aebedec13cdcbd93c5a3e76b..3714f60c7aff537f1bd4e8aa8979a745ebe587f1 100644
---- a/init/Kconfig
-+++ b/init/Kconfig
-@@ -124,7 +124,8 @@ config ZEN_INTERACTIVE
-
- --- Block Layer ----------------------------------------
-
-- Default scheduler.........: mq-deadline -> bfq
-+ Default scheduler for SQ..: mq-deadline -> bfq
-+ Default scheduler for MQ..: none -> kyber
-
- config BROKEN
- bool
diff --git a/0022-HID-AMD_SFH-Add-a-DMI-quirk-entry-for-Chromebooks.patch b/0022-HID-AMD_SFH-Add-a-DMI-quirk-entry-for-Chromebooks.patch
deleted file mode 100644
index 0b803b318e36..000000000000
--- a/0022-HID-AMD_SFH-Add-a-DMI-quirk-entry-for-Chromebooks.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 2803225ac89bc761ade8673105db8a8d84335054 Mon Sep 17 00:00:00 2001
-From: Akihiko Odaki <akihiko.odaki@gmail.com>
-Date: Tue, 16 Aug 2022 19:21:20 +0900
-Subject: [PATCH 22/73] HID: AMD_SFH: Add a DMI quirk entry for Chromebooks
-
-commit adada3f4930ac084740ea340bd8e94028eba4f22 upstream.
-
-Google Chromebooks use Chrome OS Embedded Controller Sensor Hub instead
-of Sensor Hub Fusion and leaves MP2 uninitialized, which disables all
-functionalities, even including the registers necessary for feature
-detections.
-
-The behavior was observed with Lenovo ThinkPad C13 Yoga.
-
-Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com>
-Suggested-by: Mario Limonciello <mario.limonciello@amd.com>
-Acked-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/hid/amd-sfh-hid/amd_sfh_pcie.c | 18 ++++++++++++++++++
- 1 file changed, 18 insertions(+)
-
-diff --git a/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c b/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c
-index 1441787a154a..9b97dc0695e3 100644
---- a/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c
-+++ b/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c
-@@ -285,11 +285,29 @@ static int amd_sfh_irq_init(struct amd_mp2_dev *privdata)
- return 0;
- }
-
-+static const struct dmi_system_id dmi_nodevs[] = {
-+ {
-+ /*
-+ * Google Chromebooks use Chrome OS Embedded Controller Sensor
-+ * Hub instead of Sensor Hub Fusion and leaves MP2
-+ * uninitialized, which disables all functionalities, even
-+ * including the registers necessary for feature detections.
-+ */
-+ .matches = {
-+ DMI_MATCH(DMI_SYS_VENDOR, "Google"),
-+ },
-+ },
-+ { }
-+};
-+
- static int amd_mp2_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
- {
- struct amd_mp2_dev *privdata;
- int rc;
-
-+ if (dmi_first_match(dmi_nodevs))
-+ return -ENODEV;
-+
- privdata = devm_kzalloc(&pdev->dev, sizeof(*privdata), GFP_KERNEL);
- if (!privdata)
- return -ENOMEM;
---
-2.37.3
-
diff --git a/0022-ZEN-INTERACTIVE-Enable-background-reclaim-of-hugepag.patch b/0022-ZEN-INTERACTIVE-Enable-background-reclaim-of-hugepag.patch
deleted file mode 100644
index b4d02da6305a..000000000000
--- a/0022-ZEN-INTERACTIVE-Enable-background-reclaim-of-hugepag.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
-Date: Mon, 27 Jan 2020 18:21:09 +0100
-Subject: [PATCH] ZEN: INTERACTIVE: Enable background reclaim of hugepages
-
-Use [defer+madvise] as default khugepaged defrag strategy:
-
-For some reason, the default strategy to respond to THP fault fallbacks
-is still just madvise, meaning stall if the program wants transparent
-hugepages, but don't trigger a background reclaim / compaction if THP
-begins to fail allocations. This creates a snowball affect where we
-still use the THP code paths, but we almost always fail once a system
-has been active and busy for a while.
-
-The option "defer" was created for interactive systems where THP can
-still improve performance. If we have to fallback to a regular page due
-to an allocation failure or anything else, we will trigger a background
-reclaim and compaction so future THP attempts succeed and previous
-attempts eventually have their smaller pages combined without stalling
-running applications.
-
-We still want madvise to stall applications that explicitely want THP,
-so defer+madvise _does_ make a ton of sense. Make it the default for
-interactive systems, especially if the kernel maintainer left
-transparent hugepages on "always".
-
-Reasoning and details in the original patch: https://lwn.net/Articles/711248/
----
- init/Kconfig | 4 ++++
- mm/huge_memory.c | 4 ++++
- 2 files changed, 8 insertions(+)
-
-diff --git a/init/Kconfig b/init/Kconfig
-index 3714f60c7aff537f1bd4e8aa8979a745ebe587f1..73b95d3f50300fb82220fb30dfe91bb12052f111 100644
---- a/init/Kconfig
-+++ b/init/Kconfig
-@@ -127,6 +127,10 @@ config ZEN_INTERACTIVE
- Default scheduler for SQ..: mq-deadline -> bfq
- Default scheduler for MQ..: none -> kyber
-
-+ --- Virtual Memory Subsystem ---------------------------
-+
-+ Background-reclaim hugepages...: no -> yes
-+
- config BROKEN
- bool
-
-diff --git a/mm/huge_memory.c b/mm/huge_memory.c
-index 834f288b376909c351fc2a21d77e200f8e83a802..a78a758f9815b043dd03f03bc8028b7d483a2a9c 100644
---- a/mm/huge_memory.c
-+++ b/mm/huge_memory.c
-@@ -59,7 +59,11 @@ unsigned long transparent_hugepage_flags __read_mostly =
- #ifdef CONFIG_TRANSPARENT_HUGEPAGE_MADVISE
- (1<<TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG)|
- #endif
-+#ifdef CONFIG_ZEN_INTERACTIVE
-+ (1<<TRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_OR_MADV_FLAG)|
-+#else
- (1<<TRANSPARENT_HUGEPAGE_DEFRAG_REQ_MADV_FLAG)|
-+#endif
- (1<<TRANSPARENT_HUGEPAGE_DEFRAG_KHUGEPAGED_FLAG)|
- (1<<TRANSPARENT_HUGEPAGE_USE_ZERO_PAGE_FLAG);
-
diff --git a/0023-HID-Add-Apple-Touchbar-on-T2-Macs-in-hid_have_specia.patch b/0023-HID-Add-Apple-Touchbar-on-T2-Macs-in-hid_have_specia.patch
deleted file mode 100644
index 815f96874316..000000000000
--- a/0023-HID-Add-Apple-Touchbar-on-T2-Macs-in-hid_have_specia.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 5b3063adff7da583e61b284beb3308f7588a4c8a Mon Sep 17 00:00:00 2001
-From: Aditya Garg <gargaditya08@live.com>
-Date: Sun, 21 Aug 2022 08:04:45 +0000
-Subject: [PATCH 23/73] HID: Add Apple Touchbar on T2 Macs in
- hid_have_special_driver list
-
-commit 750ec977288d96e9a11424e3507ede097af732c4 upstream.
-
-The touchbar on Apple T2 Macs has 2 modes, one that shows the function
-keys and other that shows the media controls. The user can use the fn
-key on his keyboard to switch between the 2 modes.
-
-On Linux, if people were using an external keyboard or mouse, the
-touchbar failed to change modes on pressing the fn key with the following
-in dmesg :-
-
-[ 10.661445] apple-ib-als 0003:05AC:8262.0001: : USB HID v1.01 Device [Apple Inc. Ambient Light Sensor] on usb-bce-vhci-3/input0
-[ 11.830992] apple-ib-touchbar 0003:05AC:8302.0007: input: USB HID v1.01 Keyboard [Apple Inc. Touch Bar Display] on usb-bce-vhci-6/input0
-[ 12.139407] apple-ib-touchbar 0003:05AC:8102.0008: : USB HID v1.01 Device [Apple Inc. Touch Bar Backlight] on usb-bce-vhci-7/input0
-[ 12.211824] apple-ib-touchbar 0003:05AC:8102.0009: : USB HID v1.01 Device [Apple Inc. Touch Bar Backlight] on usb-bce-vhci-7/input1
-[ 14.219759] apple-ib-touchbar 0003:05AC:8302.0007: tb: Failed to set touch bar mode to 2 (-110)
-[ 24.395670] apple-ib-touchbar 0003:05AC:8302.0007: tb: Failed to set touch bar mode to 2 (-110)
-[ 34.635791] apple-ib-touchbar 0003:05AC:8302.0007: tb: Failed to set touch bar mode to 2 (-110)
-[ 269.579233] apple-ib-touchbar 0003:05AC:8302.0007: tb: Failed to set touch bar mode to 1 (-110)
-
-Add the USB IDs of the touchbar found in T2 Macs to HID have special
-driver list to fix the issue.
-
-Signed-off-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/hid/hid-ids.h | 2 ++
- drivers/hid/hid-quirks.c | 2 ++
- 2 files changed, 4 insertions(+)
-
-diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
-index f7e4a0d06fb8..bc550e884f37 100644
---- a/drivers/hid/hid-ids.h
-+++ b/drivers/hid/hid-ids.h
-@@ -185,6 +185,8 @@
- #define USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2021 0x029c
- #define USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_FINGERPRINT_2021 0x029a
- #define USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_NUMPAD_2021 0x029f
-+#define USB_DEVICE_ID_APPLE_TOUCHBAR_BACKLIGHT 0x8102
-+#define USB_DEVICE_ID_APPLE_TOUCHBAR_DISPLAY 0x8302
-
- #define USB_VENDOR_ID_ASUS 0x0486
- #define USB_DEVICE_ID_ASUS_T91MT 0x0185
-diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
-index dc67717d2dab..70f602c64fd1 100644
---- a/drivers/hid/hid-quirks.c
-+++ b/drivers/hid/hid-quirks.c
-@@ -314,6 +314,8 @@ static const struct hid_device_id hid_have_special_driver[] = {
- { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY) },
- { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2021) },
- { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_FINGERPRINT_2021) },
-+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_TOUCHBAR_BACKLIGHT) },
-+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_TOUCHBAR_DISPLAY) },
- #endif
- #if IS_ENABLED(CONFIG_HID_APPLEIR)
- { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_IRCONTROL) },
---
-2.37.3
-
diff --git a/0023-ZEN-INTERACTIVE-Add-help-text-for-the-MG-LRU-tweaks.patch b/0023-ZEN-INTERACTIVE-Add-help-text-for-the-MG-LRU-tweaks.patch
deleted file mode 100644
index 3fdb718aaf00..000000000000
--- a/0023-ZEN-INTERACTIVE-Add-help-text-for-the-MG-LRU-tweaks.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Steven Barrett <steven@liquorix.net>
-Date: Wed, 11 Aug 2021 18:47:46 -0500
-Subject: [PATCH] ZEN: INTERACTIVE: Add help text for the MG-LRU tweaks
-
-The tweaks themselves get merged with the MG-LRU patchset.
----
- init/Kconfig | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/init/Kconfig b/init/Kconfig
-index 73b95d3f50300fb82220fb30dfe91bb12052f111..d687aecdae2852f6737a13b7ef0ce821b3b1c196 100644
---- a/init/Kconfig
-+++ b/init/Kconfig
-@@ -130,6 +130,7 @@ config ZEN_INTERACTIVE
- --- Virtual Memory Subsystem ---------------------------
-
- Background-reclaim hugepages...: no -> yes
-+ MG-LRU minimum cache TTL.......: 0 -> 1000 ms
-
- config BROKEN
- bool
diff --git a/0024-HID-asus-ROG-NKey-Ignore-portion-of-0x5a-report.patch b/0024-HID-asus-ROG-NKey-Ignore-portion-of-0x5a-report.patch
deleted file mode 100644
index dcb1277fc522..000000000000
--- a/0024-HID-asus-ROG-NKey-Ignore-portion-of-0x5a-report.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 2b32e820ccf5a0385e46d1c038b321aba9a5ec2d Mon Sep 17 00:00:00 2001
-From: Josh Kilmer <srjek2@gmail.com>
-Date: Thu, 28 Jul 2022 12:51:11 -0500
-Subject: [PATCH 24/73] HID: asus: ROG NKey: Ignore portion of 0x5a report
-
-commit 1c0cc9d11c665020cbeb80e660fb8929164407f4 upstream.
-
-On an Asus G513QY, of the 5 bytes in a 0x5a report, only the first byte
-is a meaningful keycode. The other bytes are zeroed out or hold garbage
-from the last packet sent to the keyboard.
-
-This patch fixes up the report descriptor for this event so that the
-general hid code will only process 1 byte for keycodes, avoiding
-spurious key events and unmapped Asus vendor usagepage code warnings.
-
-Signed-off-by: Josh Kilmer <srjek2@gmail.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/hid/hid-asus.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c
-index 08c9a9a60ae4..b59c3dafa6a4 100644
---- a/drivers/hid/hid-asus.c
-+++ b/drivers/hid/hid-asus.c
-@@ -1212,6 +1212,13 @@ static __u8 *asus_report_fixup(struct hid_device *hdev, __u8 *rdesc,
- rdesc = new_rdesc;
- }
-
-+ if (drvdata->quirks & QUIRK_ROG_NKEY_KEYBOARD &&
-+ *rsize == 331 && rdesc[190] == 0x85 && rdesc[191] == 0x5a &&
-+ rdesc[204] == 0x95 && rdesc[205] == 0x05) {
-+ hid_info(hdev, "Fixing up Asus N-KEY keyb report descriptor\n");
-+ rdesc[205] = 0x01;
-+ }
-+
- return rdesc;
- }
-
---
-2.37.3
-
diff --git a/0024-ZEN-INTERACTIVE-Tune-CFS-for-interactivity.patch b/0024-ZEN-INTERACTIVE-Tune-CFS-for-interactivity.patch
deleted file mode 100644
index 7ac8686580db..000000000000
--- a/0024-ZEN-INTERACTIVE-Tune-CFS-for-interactivity.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
-Date: Mon, 27 Jan 2020 18:28:13 +0100
-Subject: [PATCH] ZEN: INTERACTIVE: Tune CFS for interactivity
-
-5.7:
-Take "sysctl_sched_nr_migrate" tune from early XanMod builds of 128. As
-of 5.7, XanMod uses 256 but that may affect applications that require
-timely response to IRQs.
-
-5.15:
-Per comment [1] on our ZEN INTERACTIVE commit, reducing the cost of
-migration causes the system less responsive under high load. Most
-likely the combination of reduced migration cost + the higher number of
-tasks that can be migrated at once contributes to this.
-
-To better handle this situation, restore the mainline migration cost
-value and also reduce the max number of tasks that can be migrated in
-batch from 128 to 64.
-
-If this doesn't help, we'll restore the reduced migration cost and keep
-total number of tasks that can be migrated at once to 32.
-
-[1] https://github.com/zen-kernel/zen-kernel/commit/be5ba234ca0a5aabe74bfc7e1f636f085bd3823c#commitcomment-63159674
----
- init/Kconfig | 8 ++++++++
- kernel/sched/core.c | 4 +++-
- kernel/sched/fair.c | 23 +++++++++++++++++++++++
- 3 files changed, 34 insertions(+), 1 deletion(-)
-
-diff --git a/init/Kconfig b/init/Kconfig
-index d687aecdae2852f6737a13b7ef0ce821b3b1c196..b93204f59bba0f0faa98082a0e358d6d83da54f0 100644
---- a/init/Kconfig
-+++ b/init/Kconfig
-@@ -132,6 +132,14 @@ config ZEN_INTERACTIVE
- Background-reclaim hugepages...: no -> yes
- MG-LRU minimum cache TTL.......: 0 -> 1000 ms
-
-+ --- CFS CPU Scheduler ----------------------------------
-+
-+ Scheduling latency.............: 6 -> 4 ms
-+ Minimal granularity............: 0.75 -> 0.4 ms
-+ Wakeup granularity.............: 1 -> 0.5 ms
-+ Bandwidth slice size...........: 5 -> 3 ms
-+ Task rebalancing threshold.....: 32 -> 64
-+
- config BROKEN
- bool
-
-diff --git a/kernel/sched/core.c b/kernel/sched/core.c
-index da0bf6fe9ecdcf697a1f9dff304c71d0d3433155..3cbef426d646e63711343e1e58867fe654ec296f 100644
---- a/kernel/sched/core.c
-+++ b/kernel/sched/core.c
-@@ -142,7 +142,9 @@ __read_mostly int sysctl_resched_latency_warn_once = 1;
- * Number of tasks to iterate in a single balance run.
- * Limited because this is done with IRQs disabled.
- */
--#ifdef CONFIG_PREEMPT_RT
-+#ifdef CONFIG_ZEN_INTERACTIVE
-+const_debug unsigned int sysctl_sched_nr_migrate = 64;
-+#elif defined(CONFIG_PREEMPT_RT)
- const_debug unsigned int sysctl_sched_nr_migrate = 8;
- #else
- const_debug unsigned int sysctl_sched_nr_migrate = 32;
-diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
-index 77b2048a932622a0188f8f93680d9215559a941c..5d0a04b72787745ff785ef195812233ed77bd7d4 100644
---- a/kernel/sched/fair.c
-+++ b/kernel/sched/fair.c
-@@ -68,8 +68,13 @@
- *
- * (default: 6ms * (1 + ilog(ncpus)), units: nanoseconds)
- */
-+#ifdef CONFIG_ZEN_INTERACTIVE
-+unsigned int sysctl_sched_latency = 4000000ULL;
-+static unsigned int normalized_sysctl_sched_latency = 4000000ULL;
-+#else
- unsigned int sysctl_sched_latency = 6000000ULL;
- static unsigned int normalized_sysctl_sched_latency = 6000000ULL;
-+#endif
-
- /*
- * The initial- and re-scaling of tunables is configurable
-@@ -89,8 +94,13 @@ unsigned int sysctl_sched_tunable_scaling = SCHED_TUNABLESCALING_LOG;
- *
- * (default: 0.75 msec * (1 + ilog(ncpus)), units: nanoseconds)
- */
-+#ifdef CONFIG_ZEN_INTERACTIVE
-+unsigned int sysctl_sched_min_granularity = 400000ULL;
-+static unsigned int normalized_sysctl_sched_min_granularity = 400000ULL;
-+#else
- unsigned int sysctl_sched_min_granularity = 750000ULL;
- static unsigned int normalized_sysctl_sched_min_granularity = 750000ULL;
-+#endif
-
- /*
- * Minimal preemption granularity for CPU-bound SCHED_IDLE tasks.
-@@ -103,7 +113,11 @@ unsigned int sysctl_sched_idle_min_granularity = 750000ULL;
- /*
- * This value is kept at sysctl_sched_latency/sysctl_sched_min_granularity
- */
-+#ifdef CONFIG_ZEN_INTERACTIVE
-+static unsigned int sched_nr_latency = 10;
-+#else
- static unsigned int sched_nr_latency = 8;
-+#endif
-
- /*
- * After fork, child runs first. If set to 0 (default) then
-@@ -120,8 +134,13 @@ unsigned int sysctl_sched_child_runs_first __read_mostly;
- *
- * (default: 1 msec * (1 + ilog(ncpus)), units: nanoseconds)
- */
-+#ifdef CONFIG_ZEN_INTERACTIVE
-+unsigned int sysctl_sched_wakeup_granularity = 500000UL;
-+static unsigned int normalized_sysctl_sched_wakeup_granularity = 500000UL;
-+#else
- unsigned int sysctl_sched_wakeup_granularity = 1000000UL;
- static unsigned int normalized_sysctl_sched_wakeup_granularity = 1000000UL;
-+#endif
-
- const_debug unsigned int sysctl_sched_migration_cost = 500000UL;
-
-@@ -174,8 +193,12 @@ int __weak arch_asym_cpu_priority(int cpu)
- *
- * (default: 5 msec, units: microseconds)
- */
-+#ifdef CONFIG_ZEN_INTERACTIVE
-+static unsigned int sysctl_sched_cfs_bandwidth_slice = 3000UL;
-+#else
- static unsigned int sysctl_sched_cfs_bandwidth_slice = 5000UL;
- #endif
-+#endif
-
- #ifdef CONFIG_SYSCTL
- static struct ctl_table sched_fair_sysctls[] = {
diff --git a/0025-HID-nintendo-fix-rumble-worker-null-pointer-deref.patch b/0025-HID-nintendo-fix-rumble-worker-null-pointer-deref.patch
deleted file mode 100644
index 145b7ec77cd5..000000000000
--- a/0025-HID-nintendo-fix-rumble-worker-null-pointer-deref.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 7c6e6c334154be16740b44dcd7638fb510b9bd91 Mon Sep 17 00:00:00 2001
-From: "Daniel J. Ogorchock" <djogorchock@gmail.com>
-Date: Wed, 13 Jul 2022 16:20:59 -0400
-Subject: [PATCH 25/73] HID: nintendo: fix rumble worker null pointer deref
-
-commit 1ff89e06c2e5fab30274e4b02360d4241d6e605e upstream.
-
-We can dereference a null pointer trying to queue work to a destroyed
-workqueue.
-
-If the device is disconnected, nintendo_hid_remove is called, in which
-the rumble_queue is destroyed. Avoid using that queue to defer rumble
-work once the controller state is set to JOYCON_CTLR_STATE_REMOVED.
-
-This eliminates the null pointer dereference.
-
-Signed-off-by: Daniel J. Ogorchock <djogorchock@gmail.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/hid/hid-nintendo.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/hid/hid-nintendo.c b/drivers/hid/hid-nintendo.c
-index 4b1173957c17..f33a03c96ba6 100644
---- a/drivers/hid/hid-nintendo.c
-+++ b/drivers/hid/hid-nintendo.c
-@@ -1222,6 +1222,7 @@ static void joycon_parse_report(struct joycon_ctlr *ctlr,
-
- spin_lock_irqsave(&ctlr->lock, flags);
- if (IS_ENABLED(CONFIG_NINTENDO_FF) && rep->vibrator_report &&
-+ ctlr->ctlr_state != JOYCON_CTLR_STATE_REMOVED &&
- (msecs - ctlr->rumble_msecs) >= JC_RUMBLE_PERIOD_MS &&
- (ctlr->rumble_queue_head != ctlr->rumble_queue_tail ||
- ctlr->rumble_zero_countdown > 0)) {
-@@ -1546,12 +1547,13 @@ static int joycon_set_rumble(struct joycon_ctlr *ctlr, u16 amp_r, u16 amp_l,
- ctlr->rumble_queue_head = 0;
- memcpy(ctlr->rumble_data[ctlr->rumble_queue_head], data,
- JC_RUMBLE_DATA_SIZE);
-- spin_unlock_irqrestore(&ctlr->lock, flags);
-
- /* don't wait for the periodic send (reduces latency) */
-- if (schedule_now)
-+ if (schedule_now && ctlr->ctlr_state != JOYCON_CTLR_STATE_REMOVED)
- queue_work(ctlr->rumble_queue, &ctlr->rumble_worker);
-
-+ spin_unlock_irqrestore(&ctlr->lock, flags);
-+
- return 0;
- }
-
---
-2.37.3
-
diff --git a/0025-ZEN-INTERACTIVE-Tune-ondemand-governor-for-interacti.patch b/0025-ZEN-INTERACTIVE-Tune-ondemand-governor-for-interacti.patch
deleted file mode 100644
index 1002b6d9030b..000000000000
--- a/0025-ZEN-INTERACTIVE-Tune-ondemand-governor-for-interacti.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
-Date: Mon, 27 Jan 2020 18:27:16 +0100
-Subject: [PATCH] ZEN: INTERACTIVE: Tune ondemand governor for interactivity
-
-4.10:
-During some personal testing with the Dolphin emulator, MuQSS has
-serious problems scaling its frequencies causing poor performance where
-boosting the CPU frequencies would have fixed them. Reducing the
-up_threshold to 45 with MuQSS appears to fix the issue, letting the
-introduction to "Star Wars: Rogue Leader" run at 100% speed versus about
-80% on my test system.
-
-Also, lets refactor the definitions and include some indentation to help
-the reader discern what the scope of all the macros are.
-
-5.4:
-On the last custom kernel benchmark from Phoronix with Xanmod, Michael
-configured all the kernels to run using ondemand instead of the kernel's
-[default selection][1]. This reminded me that another option outside of
-the kernels control is the user's choice to change the cpufreq governor,
-for better or for worse.
-
-In Liquorix, performance is the default governor whether you're running
-acpi-cpufreq or intel-pstate. I expect laptop users to install TLP or
-LMT to control the power balance on their system, especially when
-they're plugged in or on battery. However, it's pretty clear to me a
-lot of people would choose ondemand over performance since it's not
-obvious it has huge performance ramifications with MuQSS, and ondemand
-otherwise is "good enough" for most people.
-
-Lets codify lower up thresholds for MuQSS to more closely synergize with
-its aggressive thread migration behavior. This way when ondemand is
-configured, you get sort of a "performance-lite" type of result but with
-the power savings you expect when leaving the running system idle.
-
-[1]: https://www.phoronix.com/scan.php?page=article&item=xanmod-2020-kernel
-
-5.14:
-Although CFS and similar schedulers (BMQ, PDS, and CacULE), reuse a lot
-more of mainline scheduling and do a good job of pinning single threaded
-tasks to their respective core, there's still applications that
-confusingly run steady near 50% and benefit from going full speed or
-turbo when they need to run (emulators for more recent consoles come to
-mind).
-
-Drop the up threshold for all non-MuQSS schedulers from 80/95 to 55/60.
-
-5.15:
-Remove MuQSS cpufreq configuration.
----
- drivers/cpufreq/cpufreq_ondemand.c | 8 +++++++-
- init/Kconfig | 6 ++++++
- 2 files changed, 13 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/cpufreq/cpufreq_ondemand.c b/drivers/cpufreq/cpufreq_ondemand.c
-index e8fbf970ff07888c7aa82eb67ee6c388d92c9fc7..4f57f8c568907384d9f017bbcee55a1769f601d5 100644
---- a/drivers/cpufreq/cpufreq_ondemand.c
-+++ b/drivers/cpufreq/cpufreq_ondemand.c
-@@ -18,10 +18,16 @@
- #include "cpufreq_ondemand.h"
-
- /* On-demand governor macros */
-+#if defined(CONFIG_ZEN_INTERACTIVE)
-+#define DEF_FREQUENCY_UP_THRESHOLD (55)
-+#define MICRO_FREQUENCY_UP_THRESHOLD (60)
-+#define DEF_SAMPLING_DOWN_FACTOR (5)
-+#else
- #define DEF_FREQUENCY_UP_THRESHOLD (80)
-+#define MICRO_FREQUENCY_UP_THRESHOLD (95)
- #define DEF_SAMPLING_DOWN_FACTOR (1)
-+#endif
- #define MAX_SAMPLING_DOWN_FACTOR (100000)
--#define MICRO_FREQUENCY_UP_THRESHOLD (95)
- #define MICRO_FREQUENCY_MIN_SAMPLE_RATE (10000)
- #define MIN_FREQUENCY_UP_THRESHOLD (1)
- #define MAX_FREQUENCY_UP_THRESHOLD (100)
-diff --git a/init/Kconfig b/init/Kconfig
-index b93204f59bba0f0faa98082a0e358d6d83da54f0..7a6abc935e069d420b680567f2c48523effabce4 100644
---- a/init/Kconfig
-+++ b/init/Kconfig
-@@ -140,6 +140,12 @@ config ZEN_INTERACTIVE
- Bandwidth slice size...........: 5 -> 3 ms
- Task rebalancing threshold.....: 32 -> 64
-
-+ --- CPUFreq Settings -----------------------------------
-+
-+ Ondemand sampling down factor..: 1 -> 5
-+ Ondemand default up threshold..: 80 -> 55
-+ Ondemand micro up threshold....: 95 -> 60
-+
- config BROKEN
- bool
-
diff --git a/0026-HID-thrustmaster-Add-sparco-wheel-and-fix-array-leng.patch b/0026-HID-thrustmaster-Add-sparco-wheel-and-fix-array-leng.patch
deleted file mode 100644
index f220eb6f76c5..000000000000
--- a/0026-HID-thrustmaster-Add-sparco-wheel-and-fix-array-leng.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From a32046896fe1ad944fd61aec3127485066c4eff4 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Michael=20H=C3=BCbner?= <michaelh.95@t-online.de>
-Date: Fri, 5 Aug 2022 10:05:23 +0200
-Subject: [PATCH 26/73] HID: thrustmaster: Add sparco wheel and fix array
- length
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-commit d9a17651f3749e69890db57ca66e677dfee70829 upstream.
-
-Add device id for the Sparco R383 Mod wheel.
-
-Fix wheel info array length to match actual wheel count present in the array.
-
-Signed-off-by: Michael Hübner <michaelh.95@t-online.de>
-Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/hid/hid-thrustmaster.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/hid/hid-thrustmaster.c b/drivers/hid/hid-thrustmaster.c
-index c3e6d69fdfbd..cf1679b0d4fb 100644
---- a/drivers/hid/hid-thrustmaster.c
-+++ b/drivers/hid/hid-thrustmaster.c
-@@ -67,12 +67,13 @@ static const struct tm_wheel_info tm_wheels_infos[] = {
- {0x0200, 0x0005, "Thrustmaster T300RS (Missing Attachment)"},
- {0x0206, 0x0005, "Thrustmaster T300RS"},
- {0x0209, 0x0005, "Thrustmaster T300RS (Open Wheel Attachment)"},
-+ {0x020a, 0x0005, "Thrustmaster T300RS (Sparco R383 Mod)"},
- {0x0204, 0x0005, "Thrustmaster T300 Ferrari Alcantara Edition"},
- {0x0002, 0x0002, "Thrustmaster T500RS"}
- //{0x0407, 0x0001, "Thrustmaster TMX"}
- };
-
--static const uint8_t tm_wheels_infos_length = 4;
-+static const uint8_t tm_wheels_infos_length = 7;
-
- /*
- * This structs contains (in little endian) the response data
---
-2.37.3
-
diff --git a/0026-ZEN-INTERACTIVE-Document-PDS-BMQ-configuration.patch b/0026-ZEN-INTERACTIVE-Document-PDS-BMQ-configuration.patch
deleted file mode 100644
index 551bbb0e3151..000000000000
--- a/0026-ZEN-INTERACTIVE-Document-PDS-BMQ-configuration.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Steven Barrett <steven@liquorix.net>
-Date: Sun, 19 Sep 2021 16:03:36 -0500
-Subject: [PATCH] ZEN: INTERACTIVE: Document PDS/BMQ configuration
-
----
- init/Kconfig | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/init/Kconfig b/init/Kconfig
-index 7a6abc935e069d420b680567f2c48523effabce4..6a409356b1aae9bf11399a031e0b3c69962f1370 100644
---- a/init/Kconfig
-+++ b/init/Kconfig
-@@ -140,6 +140,10 @@ config ZEN_INTERACTIVE
- Bandwidth slice size...........: 5 -> 3 ms
- Task rebalancing threshold.....: 32 -> 64
-
-+ --- PDS/BMQ CPU Scheduler ------------------------------
-+
-+ Scheduling timeslice...........: 4 -> 2 ms
-+
- --- CPUFreq Settings -----------------------------------
-
- Ondemand sampling down factor..: 1 -> 5
diff --git a/0027-HID-intel-ish-hid-ipc-Add-Meteor-Lake-PCI-device-ID.patch b/0027-HID-intel-ish-hid-ipc-Add-Meteor-Lake-PCI-device-ID.patch
deleted file mode 100644
index a3574351d744..000000000000
--- a/0027-HID-intel-ish-hid-ipc-Add-Meteor-Lake-PCI-device-ID.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 1d7df13d223b4bdf52ba51eec15d7161235bdde4 Mon Sep 17 00:00:00 2001
-From: Even Xu <even.xu@intel.com>
-Date: Tue, 23 Aug 2022 09:10:59 +0800
-Subject: [PATCH 27/73] HID: intel-ish-hid: ipc: Add Meteor Lake PCI device ID
-
-commit 467249a7dff68451868ca79696aef69764193a8a upstream.
-
-Add device ID of Meteor Lake P into ishtp support list.
-
-Signed-off-by: Even Xu <even.xu@intel.com>
-Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/hid/intel-ish-hid/ipc/hw-ish.h | 1 +
- drivers/hid/intel-ish-hid/ipc/pci-ish.c | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/drivers/hid/intel-ish-hid/ipc/hw-ish.h b/drivers/hid/intel-ish-hid/ipc/hw-ish.h
-index e600dbf04dfc..fc108f19a64c 100644
---- a/drivers/hid/intel-ish-hid/ipc/hw-ish.h
-+++ b/drivers/hid/intel-ish-hid/ipc/hw-ish.h
-@@ -32,6 +32,7 @@
- #define ADL_P_DEVICE_ID 0x51FC
- #define ADL_N_DEVICE_ID 0x54FC
- #define RPL_S_DEVICE_ID 0x7A78
-+#define MTL_P_DEVICE_ID 0x7E45
-
- #define REVISION_ID_CHT_A0 0x6
- #define REVISION_ID_CHT_Ax_SI 0x0
-diff --git a/drivers/hid/intel-ish-hid/ipc/pci-ish.c b/drivers/hid/intel-ish-hid/ipc/pci-ish.c
-index 2c67ec17bec6..7120b30ac51d 100644
---- a/drivers/hid/intel-ish-hid/ipc/pci-ish.c
-+++ b/drivers/hid/intel-ish-hid/ipc/pci-ish.c
-@@ -43,6 +43,7 @@ static const struct pci_device_id ish_pci_tbl[] = {
- {PCI_DEVICE(PCI_VENDOR_ID_INTEL, ADL_P_DEVICE_ID)},
- {PCI_DEVICE(PCI_VENDOR_ID_INTEL, ADL_N_DEVICE_ID)},
- {PCI_DEVICE(PCI_VENDOR_ID_INTEL, RPL_S_DEVICE_ID)},
-+ {PCI_DEVICE(PCI_VENDOR_ID_INTEL, MTL_P_DEVICE_ID)},
- {0, }
- };
- MODULE_DEVICE_TABLE(pci, ish_pci_tbl);
---
-2.37.3
-
diff --git a/0027-ZEN-INTERACTIVE-mm-Disable-unevictable-compaction.patch b/0027-ZEN-INTERACTIVE-mm-Disable-unevictable-compaction.patch
deleted file mode 100644
index 9d7ae6ff3ff1..000000000000
--- a/0027-ZEN-INTERACTIVE-mm-Disable-unevictable-compaction.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Steven Barrett <steven@liquorix.net>
-Date: Sat, 5 Mar 2022 11:37:14 -0600
-Subject: [PATCH] ZEN: INTERACTIVE: mm: Disable unevictable compaction
-
-This option is already disabled when CONFIG_PREEMPT_RT is enabled, lets
-turn it off when CONFIG_ZEN_INTERACTIVE is set as well.
----
- init/Kconfig | 1 +
- mm/compaction.c | 2 +-
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/init/Kconfig b/init/Kconfig
-index 6a409356b1aae9bf11399a031e0b3c69962f1370..205048962a678d7fea33263ac40cc6b1b3c3dd8e 100644
---- a/init/Kconfig
-+++ b/init/Kconfig
-@@ -131,6 +131,7 @@ config ZEN_INTERACTIVE
-
- Background-reclaim hugepages...: no -> yes
- MG-LRU minimum cache TTL.......: 0 -> 1000 ms
-+ Compact Unevictable............: 1 -> 0
-
- --- CFS CPU Scheduler ----------------------------------
-
-diff --git a/mm/compaction.c b/mm/compaction.c
-index 1f89b969c12bf5d76f10b4adcf3b6dec707a1cfc..04b62fb353b4f05268f8de3c4fcbcccc1edfde46 100644
---- a/mm/compaction.c
-+++ b/mm/compaction.c
-@@ -1726,7 +1726,7 @@ typedef enum {
- * Allow userspace to control policy on scanning the unevictable LRU for
- * compactable pages.
- */
--#ifdef CONFIG_PREEMPT_RT
-+#if defined(CONFIG_PREEMPT_RT) || defined(CONFIG_ZEN_INTERACTIVE)
- int sysctl_compact_unevictable_allowed __read_mostly = 0;
- #else
- int sysctl_compact_unevictable_allowed __read_mostly = 1;
diff --git a/0028-ZEN-INTERACTIVE-mm-Disable-proactive-compaction-by-d.patch b/0028-ZEN-INTERACTIVE-mm-Disable-proactive-compaction-by-d.patch
deleted file mode 100644
index 4bcd0d2080e5..000000000000
--- a/0028-ZEN-INTERACTIVE-mm-Disable-proactive-compaction-by-d.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Sultan Alsawaf <sultan@kerneltoast.com>
-Date: Sat, 24 Oct 2020 22:17:49 -0700
-Subject: [PATCH] ZEN: INTERACTIVE: mm: Disable proactive compaction by default
-
-On-demand compaction works fine assuming that you don't have a need to
-spam the page allocator nonstop for large order page allocations.
-
-Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
----
- init/Kconfig | 1 +
- mm/compaction.c | 4 ++++
- 2 files changed, 5 insertions(+)
-
-diff --git a/init/Kconfig b/init/Kconfig
-index 205048962a678d7fea33263ac40cc6b1b3c3dd8e..a949de64fd4a73543722c96aaa9c7e534bb4c26a 100644
---- a/init/Kconfig
-+++ b/init/Kconfig
-@@ -132,6 +132,7 @@ config ZEN_INTERACTIVE
- Background-reclaim hugepages...: no -> yes
- MG-LRU minimum cache TTL.......: 0 -> 1000 ms
- Compact Unevictable............: 1 -> 0
-+ Proactive Compaction...........: 20 -> 0
-
- --- CFS CPU Scheduler ----------------------------------
-
-diff --git a/mm/compaction.c b/mm/compaction.c
-index 04b62fb353b4f05268f8de3c4fcbcccc1edfde46..e813973ee0f183285636f31eda327594dbafeb80 100644
---- a/mm/compaction.c
-+++ b/mm/compaction.c
-@@ -2718,7 +2718,11 @@ static void compact_nodes(void)
- * aggressively the kernel should compact memory in the
- * background. It takes values in the range [0, 100].
- */
-+#ifdef CONFIG_ZEN_INTERACTIVE
-+unsigned int __read_mostly sysctl_compaction_proactiveness;
-+#else
- unsigned int __read_mostly sysctl_compaction_proactiveness = 20;
-+#endif
-
- int compaction_proactiveness_sysctl_handler(struct ctl_table *table, int write,
- void *buffer, size_t *length, loff_t *ppos)
diff --git a/0028-mmc-mtk-sd-Clear-interrupts-when-cqe-off-disable.patch b/0028-mmc-mtk-sd-Clear-interrupts-when-cqe-off-disable.patch
deleted file mode 100644
index e2a9459eb7f4..000000000000
--- a/0028-mmc-mtk-sd-Clear-interrupts-when-cqe-off-disable.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 1c137c46d16e33b71ef92daf1882d5443fa2ec93 Mon Sep 17 00:00:00 2001
-From: Wenbin Mei <wenbin.mei@mediatek.com>
-Date: Thu, 28 Jul 2022 16:00:48 +0800
-Subject: [PATCH 28/73] mmc: mtk-sd: Clear interrupts when cqe off/disable
-
-[ Upstream commit cc5d1692600613e72f32af60e27330fe0c79f4fe ]
-
-Currently we don't clear MSDC interrupts when cqe off/disable, which led
-to the data complete interrupt will be reserved for the next command.
-If the next command with data transfer after cqe off/disable, we process
-the CMD ready interrupt and trigger DMA start for data, but the data
-complete interrupt is already exists, then SW assume that the data transfer
-is complete, SW will trigger DMA stop, but the data may not be transmitted
-yet or is transmitting, so we may encounter the following error:
-mtk-msdc 11230000.mmc: CMD bus busy detected.
-
-Signed-off-by: Wenbin Mei <wenbin.mei@mediatek.com>
-Fixes: 88bd652b3c74 ("mmc: mediatek: command queue support")
-Cc: stable@vger.kernel.org
-Link: https://lore.kernel.org/r/20220728080048.21336-1-wenbin.mei@mediatek.com
-Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/mmc/host/mtk-sd.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c
-index 9da4489dc345..378a26a1825c 100644
---- a/drivers/mmc/host/mtk-sd.c
-+++ b/drivers/mmc/host/mtk-sd.c
-@@ -2414,6 +2414,9 @@ static void msdc_cqe_disable(struct mmc_host *mmc, bool recovery)
- /* disable busy check */
- sdr_clr_bits(host->base + MSDC_PATCH_BIT1, MSDC_PB1_BUSY_CHECK_SEL);
-
-+ val = readl(host->base + MSDC_INT);
-+ writel(val, host->base + MSDC_INT);
-+
- if (recovery) {
- sdr_set_field(host->base + MSDC_DMA_CTRL,
- MSDC_DMA_CTRL_STOP, 1);
-@@ -2871,11 +2874,14 @@ static int __maybe_unused msdc_suspend(struct device *dev)
- {
- struct mmc_host *mmc = dev_get_drvdata(dev);
- int ret;
-+ u32 val;
-
- if (mmc->caps2 & MMC_CAP2_CQE) {
- ret = cqhci_suspend(mmc);
- if (ret)
- return ret;
-+ val = readl(((struct msdc_host *)mmc_priv(mmc))->base + MSDC_INT);
-+ writel(val, ((struct msdc_host *)mmc_priv(mmc))->base + MSDC_INT);
- }
-
- return pm_runtime_force_suspend(dev);
---
-2.37.3
-
diff --git a/0029-ZEN-INTERACTIVE-dm-crypt-Disable-workqueues-for-cryp.patch b/0029-ZEN-INTERACTIVE-dm-crypt-Disable-workqueues-for-cryp.patch
deleted file mode 100644
index 7f3c9554db69..000000000000
--- a/0029-ZEN-INTERACTIVE-dm-crypt-Disable-workqueues-for-cryp.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Steven Barrett <steven@liquorix.net>
-Date: Sat, 21 May 2022 15:15:09 -0500
-Subject: [PATCH] ZEN: INTERACTIVE: dm-crypt: Disable workqueues for crypto ops
-
-Queueing in dm-crypt for crypto operations reduces performance on modern
-systems. As discussed in an article from Cloudflare, they discovered
-that queuing was introduced because the crypto subsystem used to be
-synchronous. Since it's now asynchronous, we get double queueing when
-using the subsystem through dm-crypt. This is obviously undesirable and
-reduces throughput and increases latency.
-
-Disable queueing when using our Zen Interactive configuration.
-
-Fixes: https://github.com/zen-kernel/zen-kernel/issues/282
----
- drivers/md/dm-crypt.c | 5 +++++
- init/Kconfig | 1 +
- 2 files changed, 6 insertions(+)
-
-diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
-index 159c6806c19b8991fdcf33121f6c130fa1882f7f..f092d69da90afc8d429355c59bbdb60eb9d8a476 100644
---- a/drivers/md/dm-crypt.c
-+++ b/drivers/md/dm-crypt.c
-@@ -3137,6 +3137,11 @@ static int crypt_ctr_optional(struct dm_target *ti, unsigned int argc, char **ar
- }
- }
-
-+#ifdef CONFIG_ZEN_INTERACTIVE
-+ set_bit(DM_CRYPT_NO_READ_WORKQUEUE, &cc->flags);
-+ set_bit(DM_CRYPT_NO_WRITE_WORKQUEUE, &cc->flags);
-+#endif
-+
- return 0;
- }
-
-diff --git a/init/Kconfig b/init/Kconfig
-index a949de64fd4a73543722c96aaa9c7e534bb4c26a..ebc418581f41d0816c76981b3fa5f4d9306ded98 100644
---- a/init/Kconfig
-+++ b/init/Kconfig
-@@ -126,6 +126,7 @@ config ZEN_INTERACTIVE
-
- Default scheduler for SQ..: mq-deadline -> bfq
- Default scheduler for MQ..: none -> kyber
-+ DM-Crypt Workqueues.......: on -> off
-
- --- Virtual Memory Subsystem ---------------------------
-
diff --git a/0029-mmc-sdhci-of-dwcmshc-add-reset-call-back-for-rockchi.patch b/0029-mmc-sdhci-of-dwcmshc-add-reset-call-back-for-rockchi.patch
deleted file mode 100644
index c41845c29e0e..000000000000
--- a/0029-mmc-sdhci-of-dwcmshc-add-reset-call-back-for-rockchi.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From d1541cdf5aecb0b85c26624478b154cce920281b Mon Sep 17 00:00:00 2001
-From: Yifeng Zhao <yifeng.zhao@rock-chips.com>
-Date: Wed, 4 May 2022 23:32:39 +0200
-Subject: [PATCH 29/73] mmc: sdhci-of-dwcmshc: add reset call back for rockchip
- Socs
-
-[ Upstream commit 70f832206fe72e9998b46363e8e59e89b0b757bc ]
-
-The reset function build in the SDHCI will not reset the logic
-circuit related to the tuning function, which may cause data
-reading errors. Resetting the complete SDHCI controller through
-the reset controller fixes the issue.
-
-Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
-[rebase, use optional variant of reset getter]
-Acked-by: Adrian Hunter <adrian.hunter@intel.com>
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20220504213251.264819-10-sebastian.reichel@collabora.com
-Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/mmc/host/sdhci-of-dwcmshc.c | 26 +++++++++++++++++++++++++-
- 1 file changed, 25 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/mmc/host/sdhci-of-dwcmshc.c b/drivers/mmc/host/sdhci-of-dwcmshc.c
-index bac874ab0b33..3a1b5ba36405 100644
---- a/drivers/mmc/host/sdhci-of-dwcmshc.c
-+++ b/drivers/mmc/host/sdhci-of-dwcmshc.c
-@@ -15,6 +15,7 @@
- #include <linux/module.h>
- #include <linux/of.h>
- #include <linux/of_device.h>
-+#include <linux/reset.h>
- #include <linux/sizes.h>
-
- #include "sdhci-pltfm.h"
-@@ -63,6 +64,7 @@
- struct rk3568_priv {
- /* Rockchip specified optional clocks */
- struct clk_bulk_data rockchip_clks[RK3568_MAX_CLKS];
-+ struct reset_control *reset;
- u8 txclk_tapnum;
- };
-
-@@ -255,6 +257,21 @@ static void dwcmshc_rk3568_set_clock(struct sdhci_host *host, unsigned int clock
- sdhci_writel(host, extra, DWCMSHC_EMMC_DLL_STRBIN);
- }
-
-+static void rk35xx_sdhci_reset(struct sdhci_host *host, u8 mask)
-+{
-+ struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
-+ struct dwcmshc_priv *dwc_priv = sdhci_pltfm_priv(pltfm_host);
-+ struct rk35xx_priv *priv = dwc_priv->priv;
-+
-+ if (mask & SDHCI_RESET_ALL && priv->reset) {
-+ reset_control_assert(priv->reset);
-+ udelay(1);
-+ reset_control_deassert(priv->reset);
-+ }
-+
-+ sdhci_reset(host, mask);
-+}
-+
- static const struct sdhci_ops sdhci_dwcmshc_ops = {
- .set_clock = sdhci_set_clock,
- .set_bus_width = sdhci_set_bus_width,
-@@ -269,7 +286,7 @@ static const struct sdhci_ops sdhci_dwcmshc_rk3568_ops = {
- .set_bus_width = sdhci_set_bus_width,
- .set_uhs_signaling = dwcmshc_set_uhs_signaling,
- .get_max_clock = sdhci_pltfm_clk_get_max_clock,
-- .reset = sdhci_reset,
-+ .reset = rk35xx_sdhci_reset,
- .adma_write_desc = dwcmshc_adma_write_desc,
- };
-
-@@ -292,6 +309,13 @@ static int dwcmshc_rk3568_init(struct sdhci_host *host, struct dwcmshc_priv *dwc
- int err;
- struct rk3568_priv *priv = dwc_priv->priv;
-
-+ priv->reset = devm_reset_control_array_get_optional_exclusive(mmc_dev(host->mmc));
-+ if (IS_ERR(priv->reset)) {
-+ err = PTR_ERR(priv->reset);
-+ dev_err(mmc_dev(host->mmc), "failed to get reset control %d\n", err);
-+ return err;
-+ }
-+
- priv->rockchip_clks[0].id = "axi";
- priv->rockchip_clks[1].id = "block";
- priv->rockchip_clks[2].id = "timer";
---
-2.37.3
-
diff --git a/0030-mmc-sdhci-of-dwcmshc-rename-rk3568-to-rk35xx.patch b/0030-mmc-sdhci-of-dwcmshc-rename-rk3568-to-rk35xx.patch
deleted file mode 100644
index 6466e967f226..000000000000
--- a/0030-mmc-sdhci-of-dwcmshc-rename-rk3568-to-rk35xx.patch
+++ /dev/null
@@ -1,202 +0,0 @@
-From 30841ba786ee2e55e05fa98a7c255b83313694f4 Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Wed, 4 May 2022 23:32:40 +0200
-Subject: [PATCH 30/73] mmc: sdhci-of-dwcmshc: rename rk3568 to rk35xx
-
-[ Upstream commit 86e1a8e1f9b555af342c53ae06284eeeab9a4263 ]
-
-Prepare driver for rk3588 support by renaming the internal data
-structures.
-
-Acked-by: Adrian Hunter <adrian.hunter@intel.com>
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20220504213251.264819-11-sebastian.reichel@collabora.com
-Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/mmc/host/sdhci-of-dwcmshc.c | 46 ++++++++++++++---------------
- 1 file changed, 23 insertions(+), 23 deletions(-)
-
-diff --git a/drivers/mmc/host/sdhci-of-dwcmshc.c b/drivers/mmc/host/sdhci-of-dwcmshc.c
-index 3a1b5ba36405..f5fd88c7adef 100644
---- a/drivers/mmc/host/sdhci-of-dwcmshc.c
-+++ b/drivers/mmc/host/sdhci-of-dwcmshc.c
-@@ -56,14 +56,14 @@
- #define DLL_LOCK_WO_TMOUT(x) \
- ((((x) & DWCMSHC_EMMC_DLL_LOCKED) == DWCMSHC_EMMC_DLL_LOCKED) && \
- (((x) & DWCMSHC_EMMC_DLL_TIMEOUT) == 0))
--#define RK3568_MAX_CLKS 3
-+#define RK35xx_MAX_CLKS 3
-
- #define BOUNDARY_OK(addr, len) \
- ((addr | (SZ_128M - 1)) == ((addr + len - 1) | (SZ_128M - 1)))
-
--struct rk3568_priv {
-+struct rk35xx_priv {
- /* Rockchip specified optional clocks */
-- struct clk_bulk_data rockchip_clks[RK3568_MAX_CLKS];
-+ struct clk_bulk_data rockchip_clks[RK35xx_MAX_CLKS];
- struct reset_control *reset;
- u8 txclk_tapnum;
- };
-@@ -178,7 +178,7 @@ static void dwcmshc_rk3568_set_clock(struct sdhci_host *host, unsigned int clock
- {
- struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
- struct dwcmshc_priv *dwc_priv = sdhci_pltfm_priv(pltfm_host);
-- struct rk3568_priv *priv = dwc_priv->priv;
-+ struct rk35xx_priv *priv = dwc_priv->priv;
- u8 txclk_tapnum = DLL_TXCLK_TAPNUM_DEFAULT;
- u32 extra, reg;
- int err;
-@@ -281,7 +281,7 @@ static const struct sdhci_ops sdhci_dwcmshc_ops = {
- .adma_write_desc = dwcmshc_adma_write_desc,
- };
-
--static const struct sdhci_ops sdhci_dwcmshc_rk3568_ops = {
-+static const struct sdhci_ops sdhci_dwcmshc_rk35xx_ops = {
- .set_clock = dwcmshc_rk3568_set_clock,
- .set_bus_width = sdhci_set_bus_width,
- .set_uhs_signaling = dwcmshc_set_uhs_signaling,
-@@ -296,18 +296,18 @@ static const struct sdhci_pltfm_data sdhci_dwcmshc_pdata = {
- .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN,
- };
-
--static const struct sdhci_pltfm_data sdhci_dwcmshc_rk3568_pdata = {
-- .ops = &sdhci_dwcmshc_rk3568_ops,
-+static const struct sdhci_pltfm_data sdhci_dwcmshc_rk35xx_pdata = {
-+ .ops = &sdhci_dwcmshc_rk35xx_ops,
- .quirks = SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN |
- SDHCI_QUIRK_BROKEN_TIMEOUT_VAL,
- .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
- SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN,
- };
-
--static int dwcmshc_rk3568_init(struct sdhci_host *host, struct dwcmshc_priv *dwc_priv)
-+static int dwcmshc_rk35xx_init(struct sdhci_host *host, struct dwcmshc_priv *dwc_priv)
- {
- int err;
-- struct rk3568_priv *priv = dwc_priv->priv;
-+ struct rk35xx_priv *priv = dwc_priv->priv;
-
- priv->reset = devm_reset_control_array_get_optional_exclusive(mmc_dev(host->mmc));
- if (IS_ERR(priv->reset)) {
-@@ -319,14 +319,14 @@ static int dwcmshc_rk3568_init(struct sdhci_host *host, struct dwcmshc_priv *dwc
- priv->rockchip_clks[0].id = "axi";
- priv->rockchip_clks[1].id = "block";
- priv->rockchip_clks[2].id = "timer";
-- err = devm_clk_bulk_get_optional(mmc_dev(host->mmc), RK3568_MAX_CLKS,
-+ err = devm_clk_bulk_get_optional(mmc_dev(host->mmc), RK35xx_MAX_CLKS,
- priv->rockchip_clks);
- if (err) {
- dev_err(mmc_dev(host->mmc), "failed to get clocks %d\n", err);
- return err;
- }
-
-- err = clk_bulk_prepare_enable(RK3568_MAX_CLKS, priv->rockchip_clks);
-+ err = clk_bulk_prepare_enable(RK35xx_MAX_CLKS, priv->rockchip_clks);
- if (err) {
- dev_err(mmc_dev(host->mmc), "failed to enable clocks %d\n", err);
- return err;
-@@ -348,7 +348,7 @@ static int dwcmshc_rk3568_init(struct sdhci_host *host, struct dwcmshc_priv *dwc
- static const struct of_device_id sdhci_dwcmshc_dt_ids[] = {
- {
- .compatible = "rockchip,rk3568-dwcmshc",
-- .data = &sdhci_dwcmshc_rk3568_pdata,
-+ .data = &sdhci_dwcmshc_rk35xx_pdata,
- },
- {
- .compatible = "snps,dwcmshc-sdhci",
-@@ -371,7 +371,7 @@ static int dwcmshc_probe(struct platform_device *pdev)
- struct sdhci_pltfm_host *pltfm_host;
- struct sdhci_host *host;
- struct dwcmshc_priv *priv;
-- struct rk3568_priv *rk_priv = NULL;
-+ struct rk35xx_priv *rk_priv = NULL;
- const struct sdhci_pltfm_data *pltfm_data;
- int err;
- u32 extra;
-@@ -426,8 +426,8 @@ static int dwcmshc_probe(struct platform_device *pdev)
- host->mmc_host_ops.request = dwcmshc_request;
- host->mmc_host_ops.hs400_enhanced_strobe = dwcmshc_hs400_enhanced_strobe;
-
-- if (pltfm_data == &sdhci_dwcmshc_rk3568_pdata) {
-- rk_priv = devm_kzalloc(&pdev->dev, sizeof(struct rk3568_priv), GFP_KERNEL);
-+ if (pltfm_data == &sdhci_dwcmshc_rk35xx_pdata) {
-+ rk_priv = devm_kzalloc(&pdev->dev, sizeof(struct rk35xx_priv), GFP_KERNEL);
- if (!rk_priv) {
- err = -ENOMEM;
- goto err_clk;
-@@ -435,7 +435,7 @@ static int dwcmshc_probe(struct platform_device *pdev)
-
- priv->priv = rk_priv;
-
-- err = dwcmshc_rk3568_init(host, priv);
-+ err = dwcmshc_rk35xx_init(host, priv);
- if (err)
- goto err_clk;
- }
-@@ -452,7 +452,7 @@ static int dwcmshc_probe(struct platform_device *pdev)
- clk_disable_unprepare(pltfm_host->clk);
- clk_disable_unprepare(priv->bus_clk);
- if (rk_priv)
-- clk_bulk_disable_unprepare(RK3568_MAX_CLKS,
-+ clk_bulk_disable_unprepare(RK35xx_MAX_CLKS,
- rk_priv->rockchip_clks);
- free_pltfm:
- sdhci_pltfm_free(pdev);
-@@ -464,14 +464,14 @@ static int dwcmshc_remove(struct platform_device *pdev)
- struct sdhci_host *host = platform_get_drvdata(pdev);
- struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
- struct dwcmshc_priv *priv = sdhci_pltfm_priv(pltfm_host);
-- struct rk3568_priv *rk_priv = priv->priv;
-+ struct rk35xx_priv *rk_priv = priv->priv;
-
- sdhci_remove_host(host, 0);
-
- clk_disable_unprepare(pltfm_host->clk);
- clk_disable_unprepare(priv->bus_clk);
- if (rk_priv)
-- clk_bulk_disable_unprepare(RK3568_MAX_CLKS,
-+ clk_bulk_disable_unprepare(RK35xx_MAX_CLKS,
- rk_priv->rockchip_clks);
- sdhci_pltfm_free(pdev);
-
-@@ -484,7 +484,7 @@ static int dwcmshc_suspend(struct device *dev)
- struct sdhci_host *host = dev_get_drvdata(dev);
- struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
- struct dwcmshc_priv *priv = sdhci_pltfm_priv(pltfm_host);
-- struct rk3568_priv *rk_priv = priv->priv;
-+ struct rk35xx_priv *rk_priv = priv->priv;
- int ret;
-
- ret = sdhci_suspend_host(host);
-@@ -496,7 +496,7 @@ static int dwcmshc_suspend(struct device *dev)
- clk_disable_unprepare(priv->bus_clk);
-
- if (rk_priv)
-- clk_bulk_disable_unprepare(RK3568_MAX_CLKS,
-+ clk_bulk_disable_unprepare(RK35xx_MAX_CLKS,
- rk_priv->rockchip_clks);
-
- return ret;
-@@ -507,7 +507,7 @@ static int dwcmshc_resume(struct device *dev)
- struct sdhci_host *host = dev_get_drvdata(dev);
- struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
- struct dwcmshc_priv *priv = sdhci_pltfm_priv(pltfm_host);
-- struct rk3568_priv *rk_priv = priv->priv;
-+ struct rk35xx_priv *rk_priv = priv->priv;
- int ret;
-
- ret = clk_prepare_enable(pltfm_host->clk);
-@@ -521,7 +521,7 @@ static int dwcmshc_resume(struct device *dev)
- }
-
- if (rk_priv) {
-- ret = clk_bulk_prepare_enable(RK3568_MAX_CLKS,
-+ ret = clk_bulk_prepare_enable(RK35xx_MAX_CLKS,
- rk_priv->rockchip_clks);
- if (ret)
- return ret;
---
-2.37.3
-
diff --git a/0031-mmc-sdhci-of-dwcmshc-Re-enable-support-for-the-BlueF.patch b/0031-mmc-sdhci-of-dwcmshc-Re-enable-support-for-the-BlueF.patch
deleted file mode 100644
index a75f7345c45d..000000000000
--- a/0031-mmc-sdhci-of-dwcmshc-Re-enable-support-for-the-BlueF.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From c9215e9018bd17ac5b4dfb1a032268e27f45a819 Mon Sep 17 00:00:00 2001
-From: Liming Sun <limings@nvidia.com>
-Date: Tue, 9 Aug 2022 13:37:42 -0400
-Subject: [PATCH 31/73] mmc: sdhci-of-dwcmshc: Re-enable support for the
- BlueField-3 SoC
-
-[ Upstream commit a0753ef66c34c1739580219dca664eda648164b7 ]
-
-The commit 08f3dff799d4 (mmc: sdhci-of-dwcmshc: add rockchip platform
-support") introduces the use of_device_get_match_data() to check for some
-chips. Unfortunately, it also breaks the BlueField-3 FW, which uses ACPI.
-
-To fix the problem, let's add the ACPI match data and the corresponding
-quirks to re-enable the support for the BlueField-3 SoC.
-
-Reviewed-by: David Woods <davwoods@nvidia.com>
-Signed-off-by: Liming Sun <limings@nvidia.com>
-Acked-by: Adrian Hunter <adrian.hunter@intel.com>
-Fixes: 08f3dff799d4 ("mmc: sdhci-of-dwcmshc: add rockchip platform support")
-Cc: stable@vger.kernel.org
-Link: https://lore.kernel.org/r/20220809173742.178440-1-limings@nvidia.com
-[Ulf: Clarified the commit message a bit]
-Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/mmc/host/sdhci-of-dwcmshc.c | 16 ++++++++++++++--
- 1 file changed, 14 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/mmc/host/sdhci-of-dwcmshc.c b/drivers/mmc/host/sdhci-of-dwcmshc.c
-index f5fd88c7adef..335c88fd849c 100644
---- a/drivers/mmc/host/sdhci-of-dwcmshc.c
-+++ b/drivers/mmc/host/sdhci-of-dwcmshc.c
-@@ -296,6 +296,15 @@ static const struct sdhci_pltfm_data sdhci_dwcmshc_pdata = {
- .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN,
- };
-
-+#ifdef CONFIG_ACPI
-+static const struct sdhci_pltfm_data sdhci_dwcmshc_bf3_pdata = {
-+ .ops = &sdhci_dwcmshc_ops,
-+ .quirks = SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN,
-+ .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
-+ SDHCI_QUIRK2_ACMD23_BROKEN,
-+};
-+#endif
-+
- static const struct sdhci_pltfm_data sdhci_dwcmshc_rk35xx_pdata = {
- .ops = &sdhci_dwcmshc_rk35xx_ops,
- .quirks = SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN |
-@@ -360,7 +369,10 @@ MODULE_DEVICE_TABLE(of, sdhci_dwcmshc_dt_ids);
-
- #ifdef CONFIG_ACPI
- static const struct acpi_device_id sdhci_dwcmshc_acpi_ids[] = {
-- { .id = "MLNXBF30" },
-+ {
-+ .id = "MLNXBF30",
-+ .driver_data = (kernel_ulong_t)&sdhci_dwcmshc_bf3_pdata,
-+ },
- {}
- };
- #endif
-@@ -376,7 +388,7 @@ static int dwcmshc_probe(struct platform_device *pdev)
- int err;
- u32 extra;
-
-- pltfm_data = of_device_get_match_data(&pdev->dev);
-+ pltfm_data = device_get_match_data(&pdev->dev);
- if (!pltfm_data) {
- dev_err(&pdev->dev, "Error: No device match data found\n");
- return -ENODEV;
---
-2.37.3
-
diff --git a/0032-fs-ntfs3-Fix-work-with-fragmented-xattr.patch b/0032-fs-ntfs3-Fix-work-with-fragmented-xattr.patch
deleted file mode 100644
index d7a1e8b3f91b..000000000000
--- a/0032-fs-ntfs3-Fix-work-with-fragmented-xattr.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From d875be57a21586f2ebdacb04afa134932b4d4d91 Mon Sep 17 00:00:00 2001
-From: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
-Date: Fri, 13 May 2022 19:54:23 +0300
-Subject: [PATCH 32/73] fs/ntfs3: Fix work with fragmented xattr
-
-[ Upstream commit 42f86b1226a42bfc79a7125af435432ad4680a32 ]
-
-In some cases xattr is too fragmented,
-so we need to load it before writing.
-
-Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- fs/ntfs3/xattr.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/fs/ntfs3/xattr.c b/fs/ntfs3/xattr.c
-index 3629049decac..e3d443ccb9be 100644
---- a/fs/ntfs3/xattr.c
-+++ b/fs/ntfs3/xattr.c
-@@ -118,7 +118,7 @@ static int ntfs_read_ea(struct ntfs_inode *ni, struct EA_FULL **ea,
-
- run_init(&run);
-
-- err = attr_load_runs(attr_ea, ni, &run, NULL);
-+ err = attr_load_runs_range(ni, ATTR_EA, NULL, 0, &run, 0, size);
- if (!err)
- err = ntfs_read_run_nb(sbi, &run, 0, ea_p, size, NULL);
- run_close(&run);
-@@ -444,6 +444,11 @@ static noinline int ntfs_set_ea(struct inode *inode, const char *name,
- /* Delete xattr, ATTR_EA */
- ni_remove_attr_le(ni, attr, mi, le);
- } else if (attr->non_res) {
-+ err = attr_load_runs_range(ni, ATTR_EA, NULL, 0, &ea_run, 0,
-+ size);
-+ if (err)
-+ goto out;
-+
- err = ntfs_sb_write_run(sbi, &ea_run, 0, ea_all, size, 0);
- if (err)
- goto out;
---
-2.37.3
-
diff --git a/0033-ASoC-sh-rz-ssi-Improve-error-handling-in-rz_ssi_prob.patch b/0033-ASoC-sh-rz-ssi-Improve-error-handling-in-rz_ssi_prob.patch
deleted file mode 100644
index 77c32942d5ba..000000000000
--- a/0033-ASoC-sh-rz-ssi-Improve-error-handling-in-rz_ssi_prob.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From dc4351487a55899ad73a286391c1b58604754956 Mon Sep 17 00:00:00 2001
-From: Biju Das <biju.das.jz@bp.renesas.com>
-Date: Thu, 28 Jul 2022 10:26:12 +0100
-Subject: [PATCH 33/73] ASoC: sh: rz-ssi: Improve error handling in
- rz_ssi_probe() error path
-
-[ Upstream commit c75ed9f54ce8d349fee557f2b471a4d637ed2a6b ]
-
-We usually do cleanup in reverse order of init. Currently in case of
-error rz_ssi_release_dma_channels() done in the reverse order. This
-patch improves error handling in rz_ssi_probe() error path.
-
-While at it, use "goto cleanup" style to reduce code duplication.
-
-Reported-by: Pavel Machek <pavel@denx.de>
-Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
-Link: https://lore.kernel.org/r/20220728092612.38858-1-biju.das.jz@bp.renesas.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- sound/soc/sh/rz-ssi.c | 26 +++++++++++++++-----------
- 1 file changed, 15 insertions(+), 11 deletions(-)
-
-diff --git a/sound/soc/sh/rz-ssi.c b/sound/soc/sh/rz-ssi.c
-index e392de7a262e..3d74acffec11 100644
---- a/sound/soc/sh/rz-ssi.c
-+++ b/sound/soc/sh/rz-ssi.c
-@@ -1016,32 +1016,36 @@ static int rz_ssi_probe(struct platform_device *pdev)
-
- ssi->rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL);
- if (IS_ERR(ssi->rstc)) {
-- rz_ssi_release_dma_channels(ssi);
-- return PTR_ERR(ssi->rstc);
-+ ret = PTR_ERR(ssi->rstc);
-+ goto err_reset;
- }
-
- reset_control_deassert(ssi->rstc);
- pm_runtime_enable(&pdev->dev);
- ret = pm_runtime_resume_and_get(&pdev->dev);
- if (ret < 0) {
-- rz_ssi_release_dma_channels(ssi);
-- pm_runtime_disable(ssi->dev);
-- reset_control_assert(ssi->rstc);
-- return dev_err_probe(ssi->dev, ret, "pm_runtime_resume_and_get failed\n");
-+ dev_err(&pdev->dev, "pm_runtime_resume_and_get failed\n");
-+ goto err_pm;
- }
-
- ret = devm_snd_soc_register_component(&pdev->dev, &rz_ssi_soc_component,
- rz_ssi_soc_dai,
- ARRAY_SIZE(rz_ssi_soc_dai));
- if (ret < 0) {
-- rz_ssi_release_dma_channels(ssi);
--
-- pm_runtime_put(ssi->dev);
-- pm_runtime_disable(ssi->dev);
-- reset_control_assert(ssi->rstc);
- dev_err(&pdev->dev, "failed to register snd component\n");
-+ goto err_snd_soc;
- }
-
-+ return 0;
-+
-+err_snd_soc:
-+ pm_runtime_put(ssi->dev);
-+err_pm:
-+ pm_runtime_disable(ssi->dev);
-+ reset_control_assert(ssi->rstc);
-+err_reset:
-+ rz_ssi_release_dma_channels(ssi);
-+
- return ret;
- }
-
---
-2.37.3
-
diff --git a/0034-ASoC-rt5640-Fix-the-JD-voltage-dropping-issue.patch b/0034-ASoC-rt5640-Fix-the-JD-voltage-dropping-issue.patch
deleted file mode 100644
index 169d6292104d..000000000000
--- a/0034-ASoC-rt5640-Fix-the-JD-voltage-dropping-issue.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 33f15a70fe9d26554d6b8f306f088a5e3ae31e49 Mon Sep 17 00:00:00 2001
-From: Oder Chiou <oder_chiou@realtek.com>
-Date: Mon, 8 Aug 2022 13:28:36 +0800
-Subject: [PATCH 34/73] ASoC: rt5640: Fix the JD voltage dropping issue
-
-[ Upstream commit afb176d45870048eea540991b082208270824037 ]
-
-The patch fixes the JD voltage dropping issue in the HDA JD using.
-
-Signed-off-by: Oder Chiou <oder_chiou@realtek.com>
-Reported-by: Mohan Kumar D <mkumard@nvidia.com>
-Link: https://lore.kernel.org/r/20220808052836.25791-1-oder_chiou@realtek.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- sound/soc/codecs/rt5640.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/sound/soc/codecs/rt5640.c b/sound/soc/codecs/rt5640.c
-index 18b3da9211e3..5ada0d318d0f 100644
---- a/sound/soc/codecs/rt5640.c
-+++ b/sound/soc/codecs/rt5640.c
-@@ -1986,7 +1986,7 @@ static int rt5640_set_bias_level(struct snd_soc_component *component,
- snd_soc_component_write(component, RT5640_PWR_MIXER, 0x0000);
- if (rt5640->jd_src == RT5640_JD_SRC_HDA_HEADER)
- snd_soc_component_write(component, RT5640_PWR_ANLG1,
-- 0x0018);
-+ 0x2818);
- else
- snd_soc_component_write(component, RT5640_PWR_ANLG1,
- 0x0000);
-@@ -2592,7 +2592,8 @@ static void rt5640_enable_hda_jack_detect(
- snd_soc_component_update_bits(component, RT5640_DUMMY1, 0x400, 0x0);
-
- snd_soc_component_update_bits(component, RT5640_PWR_ANLG1,
-- RT5640_PWR_VREF2, RT5640_PWR_VREF2);
-+ RT5640_PWR_VREF2 | RT5640_PWR_MB | RT5640_PWR_BG,
-+ RT5640_PWR_VREF2 | RT5640_PWR_MB | RT5640_PWR_BG);
- usleep_range(10000, 15000);
- snd_soc_component_update_bits(component, RT5640_PWR_ANLG1,
- RT5640_PWR_FV2, RT5640_PWR_FV2);
---
-2.37.3
-
diff --git a/0035-rtla-Fix-tracer-name.patch b/0035-rtla-Fix-tracer-name.patch
deleted file mode 100644
index 01c9acd6208b..000000000000
--- a/0035-rtla-Fix-tracer-name.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From de3f7eb0b8642ded71fae5bbf4db584933da6c7d Mon Sep 17 00:00:00 2001
-From: Alexandre Vicenzi <alexandre.vicenzi@suse.com>
-Date: Mon, 8 Aug 2022 20:03:43 +0200
-Subject: [PATCH 35/73] rtla: Fix tracer name
-
-[ Upstream commit f1432cd24c240cedf78c0d026631e3b10052c8e1 ]
-
-The correct tracer name is timerlat and not timelat.
-
-Link: https://lore.kernel.org/linux-trace-devel/20220808180343.22262-1-alexandre.vicenzi@suse.com
-
-Signed-off-by: Alexandre Vicenzi <alexandre.vicenzi@suse.com>
-Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- Documentation/tools/rtla/rtla-timerlat-hist.rst | 2 +-
- tools/tracing/rtla/src/timerlat_hist.c | 2 +-
- tools/tracing/rtla/src/timerlat_top.c | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/Documentation/tools/rtla/rtla-timerlat-hist.rst b/Documentation/tools/rtla/rtla-timerlat-hist.rst
-index e12eae1f3301..6bf7f0ca4556 100644
---- a/Documentation/tools/rtla/rtla-timerlat-hist.rst
-+++ b/Documentation/tools/rtla/rtla-timerlat-hist.rst
-@@ -33,7 +33,7 @@ EXAMPLE
- =======
- In the example below, **rtla timerlat hist** is set to run for *10* minutes,
- in the cpus *0-4*, *skipping zero* only lines. Moreover, **rtla timerlat
--hist** will change the priority of the *timelat* threads to run under
-+hist** will change the priority of the *timerlat* threads to run under
- *SCHED_DEADLINE* priority, with a *10us* runtime every *1ms* period. The
- *1ms* period is also passed to the *timerlat* tracer::
-
-diff --git a/tools/tracing/rtla/src/timerlat_hist.c b/tools/tracing/rtla/src/timerlat_hist.c
-index f3ec628f5e51..4b48af8a8309 100644
---- a/tools/tracing/rtla/src/timerlat_hist.c
-+++ b/tools/tracing/rtla/src/timerlat_hist.c
-@@ -892,7 +892,7 @@ int timerlat_hist_main(int argc, char *argv[])
- return_value = 0;
-
- if (trace_is_off(&tool->trace, &record->trace)) {
-- printf("rtla timelat hit stop tracing\n");
-+ printf("rtla timerlat hit stop tracing\n");
- if (params->trace_output) {
- printf(" Saving trace to %s\n", params->trace_output);
- save_trace_to_file(record->trace.inst, params->trace_output);
-diff --git a/tools/tracing/rtla/src/timerlat_top.c b/tools/tracing/rtla/src/timerlat_top.c
-index 35452a1d45e9..334271935222 100644
---- a/tools/tracing/rtla/src/timerlat_top.c
-+++ b/tools/tracing/rtla/src/timerlat_top.c
-@@ -687,7 +687,7 @@ int timerlat_top_main(int argc, char *argv[])
- return_value = 0;
-
- if (trace_is_off(&top->trace, &record->trace)) {
-- printf("rtla timelat hit stop tracing\n");
-+ printf("rtla timerlat hit stop tracing\n");
- if (params->trace_output) {
- printf(" Saving trace to %s\n", params->trace_output);
- save_trace_to_file(record->trace.inst, params->trace_output);
---
-2.37.3
-
diff --git a/0036-drm-amd-display-Add-a-missing-register-field-for-HPO.patch b/0036-drm-amd-display-Add-a-missing-register-field-for-HPO.patch
deleted file mode 100644
index 07a600c3ae85..000000000000
--- a/0036-drm-amd-display-Add-a-missing-register-field-for-HPO.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From ae29c0c466812726347813ab44bc144f0b4644b6 Mon Sep 17 00:00:00 2001
-From: Aurabindo Pillai <aurabindo.pillai@amd.com>
-Date: Fri, 29 Jul 2022 13:36:31 -0400
-Subject: [PATCH 36/73] drm/amd/display: Add a missing register field for HPO
- DP stream encoder
-
-[ Upstream commit 37bc31f0e7da4fbad4664e64d906ae7b9009e550 ]
-
-[Why&How]
-Add the missing definition to set the register field
-HBLANK_MINIMUM_SYMBOL_WIDTH
-
-Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
-Acked-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- .../gpu/drm/amd/display/dc/dcn31/dcn31_hpo_dp_stream_encoder.h | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hpo_dp_stream_encoder.h b/drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hpo_dp_stream_encoder.h
-index 7c77c71591a0..82c3b3ac1f0d 100644
---- a/drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hpo_dp_stream_encoder.h
-+++ b/drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hpo_dp_stream_encoder.h
-@@ -162,7 +162,8 @@
- SE_SF(DP_SYM32_ENC0_DP_SYM32_ENC_SDP_AUDIO_CONTROL0, AIP_ENABLE, mask_sh),\
- SE_SF(DP_SYM32_ENC0_DP_SYM32_ENC_SDP_AUDIO_CONTROL0, ACM_ENABLE, mask_sh),\
- SE_SF(DP_SYM32_ENC0_DP_SYM32_ENC_VID_CRC_CONTROL, CRC_ENABLE, mask_sh),\
-- SE_SF(DP_SYM32_ENC0_DP_SYM32_ENC_VID_CRC_CONTROL, CRC_CONT_MODE_ENABLE, mask_sh)
-+ SE_SF(DP_SYM32_ENC0_DP_SYM32_ENC_VID_CRC_CONTROL, CRC_CONT_MODE_ENABLE, mask_sh),\
-+ SE_SF(DP_SYM32_ENC0_DP_SYM32_ENC_HBLANK_CONTROL, HBLANK_MINIMUM_SYMBOL_WIDTH, mask_sh)
-
-
- #define DCN3_1_HPO_DP_STREAM_ENC_REG_FIELD_LIST(type) \
---
-2.37.3
-
diff --git a/0037-drm-amd-display-Device-flash-garbage-before-get-in-O.patch b/0037-drm-amd-display-Device-flash-garbage-before-get-in-O.patch
deleted file mode 100644
index f0107e81fb83..000000000000
--- a/0037-drm-amd-display-Device-flash-garbage-before-get-in-O.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From ab01ac7fa985755e29663283ec13179e99bf8fcf Mon Sep 17 00:00:00 2001
-From: Chiawen Huang <chiawen.huang@amd.com>
-Date: Thu, 21 Jul 2022 21:57:05 +0800
-Subject: [PATCH 37/73] drm/amd/display: Device flash garbage before get in OS
-
-[ Upstream commit 9c580e8f6cd6524d4e2c3490c440110526f7ddd6 ]
-
-[Why]
-Enabling stream with tg lock makes config settings
-pending causing the garbage until tg unlock.
-
-[How]
-Keep the original lock mechanism
-The driver doesn't lock tg if plane_state is null.
-
-Reviewed-by: Anthony Koo <Anthony.Koo@amd.com>
-Acked-by: Tom Chung <chiahsuan.chung@amd.com>
-Signed-off-by: Chiawen Huang <chiawen.huang@amd.com>
-Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
-index e3a62873c0e7..d9ab27991535 100644
---- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
-+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
-@@ -108,6 +108,7 @@ void dcn10_lock_all_pipes(struct dc *dc,
- */
- if (pipe_ctx->top_pipe ||
- !pipe_ctx->stream ||
-+ !pipe_ctx->plane_state ||
- !tg->funcs->is_tg_enabled(tg))
- continue;
-
---
-2.37.3
-
diff --git a/0038-drm-amd-display-Avoid-MPC-infinite-loop.patch b/0038-drm-amd-display-Avoid-MPC-infinite-loop.patch
deleted file mode 100644
index cef646076e47..000000000000
--- a/0038-drm-amd-display-Avoid-MPC-infinite-loop.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From b26218b2349ac2b2141fd07430ded3786bee6910 Mon Sep 17 00:00:00 2001
-From: Josip Pavic <Josip.Pavic@amd.com>
-Date: Thu, 21 Jul 2022 15:33:00 -0400
-Subject: [PATCH 38/73] drm/amd/display: Avoid MPC infinite loop
-
-[ Upstream commit 8de297dc046c180651c0500f8611663ae1c3828a ]
-
-[why]
-In some cases MPC tree bottom pipe ends up point to itself. This causes
-iterating from top to bottom to hang the system in an infinite loop.
-
-[how]
-When looping to next MPC bottom pipe, check that the pointer is not same
-as current to avoid infinite loop.
-
-Reviewed-by: Josip Pavic <Josip.Pavic@amd.com>
-Reviewed-by: Jun Lei <Jun.Lei@amd.com>
-Acked-by: Alex Hung <alex.hung@amd.com>
-Signed-off-by: Aric Cyr <aric.cyr@amd.com>
-Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c | 6 ++++++
- drivers/gpu/drm/amd/display/dc/dcn20/dcn20_mpc.c | 6 ++++++
- 2 files changed, 12 insertions(+)
-
-diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c
-index 11019c2c62cc..8192f1967e92 100644
---- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c
-+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c
-@@ -126,6 +126,12 @@ struct mpcc *mpc1_get_mpcc_for_dpp(struct mpc_tree *tree, int dpp_id)
- while (tmp_mpcc != NULL) {
- if (tmp_mpcc->dpp_id == dpp_id)
- return tmp_mpcc;
-+
-+ /* avoid circular linked list */
-+ ASSERT(tmp_mpcc != tmp_mpcc->mpcc_bot);
-+ if (tmp_mpcc == tmp_mpcc->mpcc_bot)
-+ break;
-+
- tmp_mpcc = tmp_mpcc->mpcc_bot;
- }
- return NULL;
-diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_mpc.c b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_mpc.c
-index 15734db0cdea..f3c311d09319 100644
---- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_mpc.c
-+++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_mpc.c
-@@ -531,6 +531,12 @@ static struct mpcc *mpc2_get_mpcc_for_dpp(struct mpc_tree *tree, int dpp_id)
- while (tmp_mpcc != NULL) {
- if (tmp_mpcc->dpp_id == 0xf || tmp_mpcc->dpp_id == dpp_id)
- return tmp_mpcc;
-+
-+ /* avoid circular linked list */
-+ ASSERT(tmp_mpcc != tmp_mpcc->mpcc_bot);
-+ if (tmp_mpcc == tmp_mpcc->mpcc_bot)
-+ break;
-+
- tmp_mpcc = tmp_mpcc->mpcc_bot;
- }
- return NULL;
---
-2.37.3
-
diff --git a/0039-drm-amd-display-Fix-HDMI-VSIF-V3-incorrect-issue.patch b/0039-drm-amd-display-Fix-HDMI-VSIF-V3-incorrect-issue.patch
deleted file mode 100644
index 70d2f1797d54..000000000000
--- a/0039-drm-amd-display-Fix-HDMI-VSIF-V3-incorrect-issue.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 71f2cb739a3cbcda4612889ce660fd8c380e3e1d Mon Sep 17 00:00:00 2001
-From: Leo Ma <hanghong.ma@amd.com>
-Date: Fri, 22 Jul 2022 13:42:58 -0400
-Subject: [PATCH 39/73] drm/amd/display: Fix HDMI VSIF V3 incorrect issue
-
-[ Upstream commit 0591183699fceeafb4c4141072d47775de83ecfb ]
-
-[Why]
-Reported from customer the checksum in AMD VSIF V3 is incorrect and
-causing blank screen issue.
-
-[How]
-Fix the packet length issue on AMD HDMI VSIF V3.
-
-Reviewed-by: Anthony Koo <Anthony.Koo@amd.com>
-Acked-by: Tom Chung <chiahsuan.chung@amd.com>
-Signed-off-by: Leo Ma <hanghong.ma@amd.com>
-Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- .../drm/amd/display/modules/freesync/freesync.c | 15 +++------------
- 1 file changed, 3 insertions(+), 12 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/display/modules/freesync/freesync.c b/drivers/gpu/drm/amd/display/modules/freesync/freesync.c
-index 03fa63d56fa6..948151e73573 100644
---- a/drivers/gpu/drm/amd/display/modules/freesync/freesync.c
-+++ b/drivers/gpu/drm/amd/display/modules/freesync/freesync.c
-@@ -615,10 +615,6 @@ static void build_vrr_infopacket_data_v1(const struct mod_vrr_params *vrr,
- * Note: We should never go above the field rate of the mode timing set.
- */
- infopacket->sb[8] = (unsigned char)((vrr->max_refresh_in_uhz + 500000) / 1000000);
--
-- /* FreeSync HDR */
-- infopacket->sb[9] = 0;
-- infopacket->sb[10] = 0;
- }
-
- static void build_vrr_infopacket_data_v3(const struct mod_vrr_params *vrr,
-@@ -686,10 +682,6 @@ static void build_vrr_infopacket_data_v3(const struct mod_vrr_params *vrr,
-
- /* PB16 : Reserved bits 7:1, FixedRate bit 0 */
- infopacket->sb[16] = (vrr->state == VRR_STATE_ACTIVE_FIXED) ? 1 : 0;
--
-- //FreeSync HDR
-- infopacket->sb[9] = 0;
-- infopacket->sb[10] = 0;
- }
-
- static void build_vrr_infopacket_fs2_data(enum color_transfer_func app_tf,
-@@ -774,8 +766,7 @@ static void build_vrr_infopacket_header_v2(enum signal_type signal,
- /* HB2 = [Bits 7:5 = 0] [Bits 4:0 = Length = 0x09] */
- infopacket->hb2 = 0x09;
-
-- *payload_size = 0x0A;
--
-+ *payload_size = 0x09;
- } else if (dc_is_dp_signal(signal)) {
-
- /* HEADER */
-@@ -824,9 +815,9 @@ static void build_vrr_infopacket_header_v3(enum signal_type signal,
- infopacket->hb1 = version;
-
- /* HB2 = [Bits 7:5 = 0] [Bits 4:0 = Length] */
-- *payload_size = 0x10;
-- infopacket->hb2 = *payload_size - 1; //-1 for checksum
-+ infopacket->hb2 = 0x10;
-
-+ *payload_size = 0x10;
- } else if (dc_is_dp_signal(signal)) {
-
- /* HEADER */
---
-2.37.3
-
diff --git a/0040-drm-amd-display-For-stereo-keep-FLIP_ANY_FRAME.patch b/0040-drm-amd-display-For-stereo-keep-FLIP_ANY_FRAME.patch
deleted file mode 100644
index 9708bf39d1da..000000000000
--- a/0040-drm-amd-display-For-stereo-keep-FLIP_ANY_FRAME.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From c6f7ba837efc8f12c51aecaf9570d86adb80ab90 Mon Sep 17 00:00:00 2001
-From: Alvin Lee <alvin.lee2@amd.com>
-Date: Thu, 28 Jul 2022 09:51:05 -0400
-Subject: [PATCH 40/73] drm/amd/display: For stereo keep "FLIP_ANY_FRAME"
-
-[ Upstream commit 84ef99c728079dfd21d6bc70b4c3e4af20602b3c ]
-
-[Description]
-Observed in stereomode that programming FLIP_LEFT_EYE
-can cause hangs. Keep FLIP_ANY_FRAME in stereo mode so
-the surface flip can take place before left or right eye
-
-Reviewed-by: Martin Leung <Martin.Leung@amd.com>
-Acked-by: Tom Chung <chiahsuan.chung@amd.com>
-Signed-off-by: Alvin Lee <alvin.lee2@amd.com>
-Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hubp.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hubp.c b/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hubp.c
-index 6a4dcafb9bba..dc3e8df706b3 100644
---- a/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hubp.c
-+++ b/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hubp.c
-@@ -86,7 +86,7 @@ bool hubp3_program_surface_flip_and_addr(
- VMID, address->vmid);
-
- if (address->type == PLN_ADDR_TYPE_GRPH_STEREO) {
-- REG_UPDATE(DCSURF_FLIP_CONTROL, SURFACE_FLIP_MODE_FOR_STEREOSYNC, 0x1);
-+ REG_UPDATE(DCSURF_FLIP_CONTROL, SURFACE_FLIP_MODE_FOR_STEREOSYNC, 0);
- REG_UPDATE(DCSURF_FLIP_CONTROL, SURFACE_FLIP_IN_STEREOSYNC, 0x1);
-
- } else {
---
-2.37.3
-
diff --git a/0041-drm-amd-display-clear-optc-underflow-before-turn-off.patch b/0041-drm-amd-display-clear-optc-underflow-before-turn-off.patch
deleted file mode 100644
index 1eb0e65821bb..000000000000
--- a/0041-drm-amd-display-clear-optc-underflow-before-turn-off.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 3101839b080137c367f3f88c2a040f791de880aa Mon Sep 17 00:00:00 2001
-From: Fudong Wang <Fudong.Wang@amd.com>
-Date: Wed, 27 Jul 2022 12:01:29 +0800
-Subject: [PATCH 41/73] drm/amd/display: clear optc underflow before turn off
- odm clock
-
-[ Upstream commit b2a93490201300a749ad261b5c5d05cb50179c44 ]
-
-[Why]
-After ODM clock off, optc underflow bit will be kept there always and clear not work.
-We need to clear that before clock off.
-
-[How]
-Clear that if have when clock off.
-
-Reviewed-by: Alvin Lee <alvin.lee2@amd.com>
-Acked-by: Tom Chung <chiahsuan.chung@amd.com>
-Signed-off-by: Fudong Wang <Fudong.Wang@amd.com>
-Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_optc.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_optc.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_optc.c
-index b1671b00ce40..2349977b0abb 100644
---- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_optc.c
-+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_optc.c
-@@ -464,6 +464,11 @@ void optc1_enable_optc_clock(struct timing_generator *optc, bool enable)
- OTG_CLOCK_ON, 1,
- 1, 1000);
- } else {
-+
-+ //last chance to clear underflow, otherwise, it will always there due to clock is off.
-+ if (optc->funcs->is_optc_underflow_occurred(optc) == true)
-+ optc->funcs->clear_optc_underflow(optc);
-+
- REG_UPDATE_2(OTG_CLOCK_CONTROL,
- OTG_CLOCK_GATE_DIS, 0,
- OTG_CLOCK_EN, 0);
---
-2.37.3
-
diff --git a/0042-drm-amd-display-Fix-TDR-eDP-and-USB4-display-light-u.patch b/0042-drm-amd-display-Fix-TDR-eDP-and-USB4-display-light-u.patch
deleted file mode 100644
index 5b36705e89ef..000000000000
--- a/0042-drm-amd-display-Fix-TDR-eDP-and-USB4-display-light-u.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 909dae582c8f3a9a231c7bc41594787b1620a5f1 Mon Sep 17 00:00:00 2001
-From: Meenakshikumar Somasundaram <meenakshikumar.somasundaram@amd.com>
-Date: Mon, 11 Jul 2022 18:37:41 -0400
-Subject: [PATCH 42/73] drm/amd/display: Fix TDR eDP and USB4 display light up
- issue
-
-[ Upstream commit 30456ffa65469d1d2e5e1da05017e6728d24c11c ]
-
-[Why]
-After TDR recovery, eDP and USB4 display does not light up. Because
-dmub outbox notifications are not enabled after dmub reload and link
-encoder assignments for the streams are not cleared before dc state
-reset.
-
-[How]
-- Dmub outbox notification is enabled after tdr recovery by issuing
- inbox command to dmub.
-- Link encoders for the streams are unassigned before dc state reset.
-
-Reviewed-by: Jimmy Kizito <Jimmy.Kizito@amd.com>
-Reviewed-by: Jun Lei <Jun.Lei@amd.com>
-Acked-by: Tom Chung <chiahsuan.chung@amd.com>
-Signed-off-by: Meenakshikumar Somasundaram <meenakshikumar.somasundaram@amd.com>
-Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/amd/display/dc/core/dc.c | 1 +
- drivers/gpu/drm/amd/display/dc/dc_link.h | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
-index f14449401188..7d69341acca0 100644
---- a/drivers/gpu/drm/amd/display/dc/core/dc.c
-+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
-@@ -3783,6 +3783,7 @@ void dc_enable_dmub_outbox(struct dc *dc)
- struct dc_context *dc_ctx = dc->ctx;
-
- dmub_enable_outbox_notification(dc_ctx->dmub_srv);
-+ DC_LOG_DC("%s: dmub outbox notifications enabled\n", __func__);
- }
-
- /**
-diff --git a/drivers/gpu/drm/amd/display/dc/dc_link.h b/drivers/gpu/drm/amd/display/dc/dc_link.h
-index a3c37ee3f849..f96f53c1bc25 100644
---- a/drivers/gpu/drm/amd/display/dc/dc_link.h
-+++ b/drivers/gpu/drm/amd/display/dc/dc_link.h
-@@ -337,6 +337,7 @@ enum dc_detect_reason {
- DETECT_REASON_HPDRX,
- DETECT_REASON_FALLBACK,
- DETECT_REASON_RETRAIN,
-+ DETECT_REASON_TDR,
- };
-
- bool dc_link_detect(struct dc_link *dc_link, enum dc_detect_reason reason);
---
-2.37.3
-
diff --git a/0043-drm-amd-pm-skip-pptable-override-for-smu_v13_0_7.patch b/0043-drm-amd-pm-skip-pptable-override-for-smu_v13_0_7.patch
deleted file mode 100644
index df96307872b4..000000000000
--- a/0043-drm-amd-pm-skip-pptable-override-for-smu_v13_0_7.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 952d4c72d9032eec5c38249ca353d31c43be06e0 Mon Sep 17 00:00:00 2001
-From: Kenneth Feng <kenneth.feng@amd.com>
-Date: Tue, 9 Aug 2022 10:13:54 +0800
-Subject: [PATCH 43/73] drm/amd/pm: skip pptable override for smu_v13_0_7
-
-[ Upstream commit 4e64b529c5b04e7944b41de554ee686ecab00744 ]
-
-skip pptable override for smu_v13_0_7 secure boards only.
-
-Signed-off-by: Kenneth Feng <kenneth.feng@amd.com>
-Reviewed-by: Feifei Xu <Feifei.Xu@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c | 10 +++-------
- 1 file changed, 3 insertions(+), 7 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c
-index 5aa08c031f72..1d8a9e5b3cc0 100644
---- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c
-+++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c
-@@ -203,6 +203,9 @@ int smu_v13_0_init_pptable_microcode(struct smu_context *smu)
- if (!adev->scpm_enabled)
- return 0;
-
-+ if (adev->ip_versions[MP1_HWIP][0] == IP_VERSION(13, 0, 7))
-+ return 0;
-+
- /* override pptable_id from driver parameter */
- if (amdgpu_smu_pptable_id >= 0) {
- pptable_id = amdgpu_smu_pptable_id;
-@@ -210,13 +213,6 @@ int smu_v13_0_init_pptable_microcode(struct smu_context *smu)
- } else {
- pptable_id = smu->smu_table.boot_values.pp_table_id;
-
-- if (adev->ip_versions[MP1_HWIP][0] == IP_VERSION(13, 0, 7) &&
-- pptable_id == 3667)
-- pptable_id = 36671;
--
-- if (adev->ip_versions[MP1_HWIP][0] == IP_VERSION(13, 0, 7) &&
-- pptable_id == 3688)
-- pptable_id = 36881;
- /*
- * Temporary solution for SMU V13.0.0 with SCPM enabled:
- * - use 36831 signed pptable when pp_table_id is 3683
---
-2.37.3
-
diff --git a/0044-drm-amdkfd-Handle-restart-of-kfd_ioctl_wait_events.patch b/0044-drm-amdkfd-Handle-restart-of-kfd_ioctl_wait_events.patch
deleted file mode 100644
index 98c1497dea94..000000000000
--- a/0044-drm-amdkfd-Handle-restart-of-kfd_ioctl_wait_events.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From 21e3891abc83f2d5482c67cca2fb7f228635daaf Mon Sep 17 00:00:00 2001
-From: Felix Kuehling <Felix.Kuehling@amd.com>
-Date: Thu, 4 Aug 2022 18:19:38 -0400
-Subject: [PATCH 44/73] drm/amdkfd: Handle restart of kfd_ioctl_wait_events
-
-[ Upstream commit bea9a56afbc4b5a41ea579b8b0dc5e189b439504 ]
-
-When kfd_ioctl_wait_events needs to restart due to a signal, we need to
-update the timeout to account for the time already elapsed. We also need
-to undo auto_reset of events that have signaled already, so that the
-restarted ioctl will be able to count those signals again.
-
-This fixes infinite hangs when kfd_ioctl_wait_events is interrupted by a
-signal.
-
-Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
-Reviewed-and-tested-by: Xiaogang Chen <Xiaogang.Chen@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 2 +-
- drivers/gpu/drm/amd/amdkfd/kfd_events.c | 24 ++++++++++++------------
- drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 2 +-
- 3 files changed, 14 insertions(+), 14 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
-index 1c7016958d6d..bfca17ca399c 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
-@@ -814,7 +814,7 @@ static int kfd_ioctl_wait_events(struct file *filp, struct kfd_process *p,
- err = kfd_wait_on_events(p, args->num_events,
- (void __user *)args->events_ptr,
- (args->wait_for_all != 0),
-- args->timeout, &args->wait_result);
-+ &args->timeout, &args->wait_result);
-
- return err;
- }
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_events.c b/drivers/gpu/drm/amd/amdkfd/kfd_events.c
-index 4df9c36146ba..cbc20d779e5a 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_events.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_events.c
-@@ -895,7 +895,8 @@ static long user_timeout_to_jiffies(uint32_t user_timeout_ms)
- return msecs_to_jiffies(user_timeout_ms) + 1;
- }
-
--static void free_waiters(uint32_t num_events, struct kfd_event_waiter *waiters)
-+static void free_waiters(uint32_t num_events, struct kfd_event_waiter *waiters,
-+ bool undo_auto_reset)
- {
- uint32_t i;
-
-@@ -904,6 +905,9 @@ static void free_waiters(uint32_t num_events, struct kfd_event_waiter *waiters)
- spin_lock(&waiters[i].event->lock);
- remove_wait_queue(&waiters[i].event->wq,
- &waiters[i].wait);
-+ if (undo_auto_reset && waiters[i].activated &&
-+ waiters[i].event && waiters[i].event->auto_reset)
-+ set_event(waiters[i].event);
- spin_unlock(&waiters[i].event->lock);
- }
-
-@@ -912,7 +916,7 @@ static void free_waiters(uint32_t num_events, struct kfd_event_waiter *waiters)
-
- int kfd_wait_on_events(struct kfd_process *p,
- uint32_t num_events, void __user *data,
-- bool all, uint32_t user_timeout_ms,
-+ bool all, uint32_t *user_timeout_ms,
- uint32_t *wait_result)
- {
- struct kfd_event_data __user *events =
-@@ -921,7 +925,7 @@ int kfd_wait_on_events(struct kfd_process *p,
- int ret = 0;
-
- struct kfd_event_waiter *event_waiters = NULL;
-- long timeout = user_timeout_to_jiffies(user_timeout_ms);
-+ long timeout = user_timeout_to_jiffies(*user_timeout_ms);
-
- event_waiters = alloc_event_waiters(num_events);
- if (!event_waiters) {
-@@ -971,15 +975,11 @@ int kfd_wait_on_events(struct kfd_process *p,
- }
-
- if (signal_pending(current)) {
-- /*
-- * This is wrong when a nonzero, non-infinite timeout
-- * is specified. We need to use
-- * ERESTARTSYS_RESTARTBLOCK, but struct restart_block
-- * contains a union with data for each user and it's
-- * in generic kernel code that I don't want to
-- * touch yet.
-- */
- ret = -ERESTARTSYS;
-+ if (*user_timeout_ms != KFD_EVENT_TIMEOUT_IMMEDIATE &&
-+ *user_timeout_ms != KFD_EVENT_TIMEOUT_INFINITE)
-+ *user_timeout_ms = jiffies_to_msecs(
-+ max(0l, timeout-1));
- break;
- }
-
-@@ -1020,7 +1020,7 @@ int kfd_wait_on_events(struct kfd_process *p,
- event_waiters, events);
-
- out_unlock:
-- free_waiters(num_events, event_waiters);
-+ free_waiters(num_events, event_waiters, ret == -ERESTARTSYS);
- mutex_unlock(&p->event_mutex);
- out:
- if (ret)
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
-index 2585d6e61d42..c6eec54b8102 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
-@@ -1314,7 +1314,7 @@ void kfd_event_free_process(struct kfd_process *p);
- int kfd_event_mmap(struct kfd_process *process, struct vm_area_struct *vma);
- int kfd_wait_on_events(struct kfd_process *p,
- uint32_t num_events, void __user *data,
-- bool all, uint32_t user_timeout_ms,
-+ bool all, uint32_t *user_timeout_ms,
- uint32_t *wait_result);
- void kfd_signal_event_interrupt(u32 pasid, uint32_t partial_id,
- uint32_t valid_id_bits);
---
-2.37.3
-
diff --git a/0045-drm-amd-pm-Fix-a-potential-gpu_metrics_table-memory-.patch b/0045-drm-amd-pm-Fix-a-potential-gpu_metrics_table-memory-.patch
deleted file mode 100644
index 5748b221b79d..000000000000
--- a/0045-drm-amd-pm-Fix-a-potential-gpu_metrics_table-memory-.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 4b25bdb54578f3b96ff055e5d27bc1cb82950e51 Mon Sep 17 00:00:00 2001
-From: Zhen Ni <nizhen@uniontech.com>
-Date: Wed, 3 Aug 2022 17:19:58 +0800
-Subject: [PATCH 45/73] drm/amd/pm: Fix a potential gpu_metrics_table memory
- leak
-
-[ Upstream commit 5afb76522a0af0513b6dc01f84128a73206b051b ]
-
-Memory is allocated for gpu_metrics_table in
-smu_v13_0_4_init_smc_tables(), but not freed in
-smu_v13_0_4_fini_smc_tables(). This may cause memory leaks, fix it.
-
-Reviewed-by: Evan Quan <evan.quan@amd.com>
-Signed-off-by: Zhen Ni <nizhen@uniontech.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_4_ppt.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_4_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_4_ppt.c
-index 5a17b51aa0f9..7df360c25d51 100644
---- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_4_ppt.c
-+++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_4_ppt.c
-@@ -190,6 +190,9 @@ static int smu_v13_0_4_fini_smc_tables(struct smu_context *smu)
- kfree(smu_table->watermarks_table);
- smu_table->watermarks_table = NULL;
-
-+ kfree(smu_table->gpu_metrics_table);
-+ smu_table->gpu_metrics_table = NULL;
-+
- return 0;
- }
-
---
-2.37.3
-
diff --git a/0046-ksmbd-return-STATUS_BAD_NETWORK_NAME-error-status-if.patch b/0046-ksmbd-return-STATUS_BAD_NETWORK_NAME-error-status-if.patch
deleted file mode 100644
index 111f96df5969..000000000000
--- a/0046-ksmbd-return-STATUS_BAD_NETWORK_NAME-error-status-if.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 40f424dc1ee328832ec86df29b8939e2e1618153 Mon Sep 17 00:00:00 2001
-From: Namjae Jeon <linkinjeon@kernel.org>
-Date: Mon, 8 Aug 2022 21:56:48 +0900
-Subject: [PATCH 46/73] ksmbd: return STATUS_BAD_NETWORK_NAME error status if
- share is not configured
-
-[ Upstream commit fe54833dc8d97ef387e86f7c80537d51c503ca75 ]
-
-If share is not configured in smb.conf, smb2 tree connect should return
-STATUS_BAD_NETWORK_NAME instead of STATUS_BAD_NETWORK_PATH.
-
-Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
-Reviewed-by: Hyunchul Lee <hyc.lee@gmail.com>
-Signed-off-by: Steve French <stfrench@microsoft.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- fs/ksmbd/mgmt/tree_connect.c | 2 +-
- fs/ksmbd/smb2pdu.c | 3 ++-
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/fs/ksmbd/mgmt/tree_connect.c b/fs/ksmbd/mgmt/tree_connect.c
-index 0d28e723a28c..940385c6a913 100644
---- a/fs/ksmbd/mgmt/tree_connect.c
-+++ b/fs/ksmbd/mgmt/tree_connect.c
-@@ -18,7 +18,7 @@
- struct ksmbd_tree_conn_status
- ksmbd_tree_conn_connect(struct ksmbd_session *sess, char *share_name)
- {
-- struct ksmbd_tree_conn_status status = {-EINVAL, NULL};
-+ struct ksmbd_tree_conn_status status = {-ENOENT, NULL};
- struct ksmbd_tree_connect_response *resp = NULL;
- struct ksmbd_share_config *sc;
- struct ksmbd_tree_connect *tree_conn = NULL;
-diff --git a/fs/ksmbd/smb2pdu.c b/fs/ksmbd/smb2pdu.c
-index a9c33d15ca1f..bbb3958b6469 100644
---- a/fs/ksmbd/smb2pdu.c
-+++ b/fs/ksmbd/smb2pdu.c
-@@ -1930,8 +1930,9 @@ int smb2_tree_connect(struct ksmbd_work *work)
- rsp->hdr.Status = STATUS_SUCCESS;
- rc = 0;
- break;
-+ case -ENOENT:
- case KSMBD_TREE_CONN_STATUS_NO_SHARE:
-- rsp->hdr.Status = STATUS_BAD_NETWORK_PATH;
-+ rsp->hdr.Status = STATUS_BAD_NETWORK_NAME;
- break;
- case -ENOMEM:
- case KSMBD_TREE_CONN_STATUS_NOMEM:
---
-2.37.3
-
diff --git a/0047-net-lan966x-fix-checking-for-return-value-of-platfor.patch b/0047-net-lan966x-fix-checking-for-return-value-of-platfor.patch
deleted file mode 100644
index 3470948aca6d..000000000000
--- a/0047-net-lan966x-fix-checking-for-return-value-of-platfor.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 0d462a681d7d98ecb1b48605f6625802acd85d31 Mon Sep 17 00:00:00 2001
-From: Li Qiong <liqiong@nfschina.com>
-Date: Fri, 12 Aug 2022 11:09:54 +0800
-Subject: [PATCH 47/73] net: lan966x: fix checking for return value of
- platform_get_irq_byname()
-
-[ Upstream commit 40b4ac880e21d917da7f3752332fa57564a4c202 ]
-
-The platform_get_irq_byname() returns non-zero IRQ number
-or negative error number. "if (irq)" always true, chang it
-to "if (irq > 0)"
-
-Signed-off-by: Li Qiong <liqiong@nfschina.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/net/ethernet/microchip/lan966x/lan966x_main.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
-index 1d6e3b641b2e..d928b75f3780 100644
---- a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
-+++ b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
-@@ -710,7 +710,7 @@ static void lan966x_cleanup_ports(struct lan966x *lan966x)
- disable_irq(lan966x->xtr_irq);
- lan966x->xtr_irq = -ENXIO;
-
-- if (lan966x->ana_irq) {
-+ if (lan966x->ana_irq > 0) {
- disable_irq(lan966x->ana_irq);
- lan966x->ana_irq = -ENXIO;
- }
-@@ -718,10 +718,10 @@ static void lan966x_cleanup_ports(struct lan966x *lan966x)
- if (lan966x->fdma)
- devm_free_irq(lan966x->dev, lan966x->fdma_irq, lan966x);
-
-- if (lan966x->ptp_irq)
-+ if (lan966x->ptp_irq > 0)
- devm_free_irq(lan966x->dev, lan966x->ptp_irq, lan966x);
-
-- if (lan966x->ptp_ext_irq)
-+ if (lan966x->ptp_ext_irq > 0)
- devm_free_irq(lan966x->dev, lan966x->ptp_ext_irq, lan966x);
- }
-
-@@ -1049,7 +1049,7 @@ static int lan966x_probe(struct platform_device *pdev)
- }
-
- lan966x->ana_irq = platform_get_irq_byname(pdev, "ana");
-- if (lan966x->ana_irq) {
-+ if (lan966x->ana_irq > 0) {
- err = devm_request_threaded_irq(&pdev->dev, lan966x->ana_irq, NULL,
- lan966x_ana_irq_handler, IRQF_ONESHOT,
- "ana irq", lan966x);
---
-2.37.3
-
diff --git a/0048-neigh-fix-possible-DoS-due-to-net-iface-start-stop-l.patch b/0048-neigh-fix-possible-DoS-due-to-net-iface-start-stop-l.patch
deleted file mode 100644
index 8e1a8dd0ecd3..000000000000
--- a/0048-neigh-fix-possible-DoS-due-to-net-iface-start-stop-l.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-From 2dd5ed474115150d8175825bc3b56c6385c3a83b Mon Sep 17 00:00:00 2001
-From: "Denis V. Lunev" <den@openvz.org>
-Date: Thu, 11 Aug 2022 18:20:11 +0300
-Subject: [PATCH 48/73] neigh: fix possible DoS due to net iface start/stop
- loop
-
-[ Upstream commit 66ba215cb51323e4e55e38fd5f250e0fae0cbc94 ]
-
-Normal processing of ARP request (usually this is Ethernet broadcast
-packet) coming to the host is looking like the following:
-* the packet comes to arp_process() call and is passed through routing
- procedure
-* the request is put into the queue using pneigh_enqueue() if
- corresponding ARP record is not local (common case for container
- records on the host)
-* the request is processed by timer (within 80 jiffies by default) and
- ARP reply is sent from the same arp_process() using
- NEIGH_CB(skb)->flags & LOCALLY_ENQUEUED condition (flag is set inside
- pneigh_enqueue())
-
-And here the problem comes. Linux kernel calls pneigh_queue_purge()
-which destroys the whole queue of ARP requests on ANY network interface
-start/stop event through __neigh_ifdown().
-
-This is actually not a problem within the original world as network
-interface start/stop was accessible to the host 'root' only, which
-could do more destructive things. But the world is changed and there
-are Linux containers available. Here container 'root' has an access
-to this API and could be considered as untrusted user in the hosting
-(container's) world.
-
-Thus there is an attack vector to other containers on node when
-container's root will endlessly start/stop interfaces. We have observed
-similar situation on a real production node when docker container was
-doing such activity and thus other containers on the node become not
-accessible.
-
-The patch proposed doing very simple thing. It drops only packets from
-the same namespace in the pneigh_queue_purge() where network interface
-state change is detected. This is enough to prevent the problem for the
-whole node preserving original semantics of the code.
-
-v2:
- - do del_timer_sync() if queue is empty after pneigh_queue_purge()
-v3:
- - rebase to net tree
-
-Cc: "David S. Miller" <davem@davemloft.net>
-Cc: Eric Dumazet <edumazet@google.com>
-Cc: Jakub Kicinski <kuba@kernel.org>
-Cc: Paolo Abeni <pabeni@redhat.com>
-Cc: Daniel Borkmann <daniel@iogearbox.net>
-Cc: David Ahern <dsahern@kernel.org>
-Cc: Yajun Deng <yajun.deng@linux.dev>
-Cc: Roopa Prabhu <roopa@nvidia.com>
-Cc: Christian Brauner <brauner@kernel.org>
-Cc: netdev@vger.kernel.org
-Cc: linux-kernel@vger.kernel.org
-Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
-Cc: Alexander Mikhalitsyn <alexander.mikhalitsyn@virtuozzo.com>
-Cc: Konstantin Khorenko <khorenko@virtuozzo.com>
-Cc: kernel@openvz.org
-Cc: devel@openvz.org
-Investigated-by: Alexander Mikhalitsyn <alexander.mikhalitsyn@virtuozzo.com>
-Signed-off-by: Denis V. Lunev <den@openvz.org>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- net/core/neighbour.c | 25 +++++++++++++++++--------
- 1 file changed, 17 insertions(+), 8 deletions(-)
-
-diff --git a/net/core/neighbour.c b/net/core/neighbour.c
-index 54625287ee5b..19d99d1eff53 100644
---- a/net/core/neighbour.c
-+++ b/net/core/neighbour.c
-@@ -307,14 +307,23 @@ static int neigh_del_timer(struct neighbour *n)
- return 0;
- }
-
--static void pneigh_queue_purge(struct sk_buff_head *list)
-+static void pneigh_queue_purge(struct sk_buff_head *list, struct net *net)
- {
-+ unsigned long flags;
- struct sk_buff *skb;
-
-- while ((skb = skb_dequeue(list)) != NULL) {
-- dev_put(skb->dev);
-- kfree_skb(skb);
-+ spin_lock_irqsave(&list->lock, flags);
-+ skb = skb_peek(list);
-+ while (skb != NULL) {
-+ struct sk_buff *skb_next = skb_peek_next(skb, list);
-+ if (net == NULL || net_eq(dev_net(skb->dev), net)) {
-+ __skb_unlink(skb, list);
-+ dev_put(skb->dev);
-+ kfree_skb(skb);
-+ }
-+ skb = skb_next;
- }
-+ spin_unlock_irqrestore(&list->lock, flags);
- }
-
- static void neigh_flush_dev(struct neigh_table *tbl, struct net_device *dev,
-@@ -385,9 +394,9 @@ static int __neigh_ifdown(struct neigh_table *tbl, struct net_device *dev,
- write_lock_bh(&tbl->lock);
- neigh_flush_dev(tbl, dev, skip_perm);
- pneigh_ifdown_and_unlock(tbl, dev);
--
-- del_timer_sync(&tbl->proxy_timer);
-- pneigh_queue_purge(&tbl->proxy_queue);
-+ pneigh_queue_purge(&tbl->proxy_queue, dev_net(dev));
-+ if (skb_queue_empty_lockless(&tbl->proxy_queue))
-+ del_timer_sync(&tbl->proxy_timer);
- return 0;
- }
-
-@@ -1787,7 +1796,7 @@ int neigh_table_clear(int index, struct neigh_table *tbl)
- cancel_delayed_work_sync(&tbl->managed_work);
- cancel_delayed_work_sync(&tbl->gc_work);
- del_timer_sync(&tbl->proxy_timer);
-- pneigh_queue_purge(&tbl->proxy_queue);
-+ pneigh_queue_purge(&tbl->proxy_queue, NULL);
- neigh_ifdown(tbl, NULL);
- if (atomic_read(&tbl->entries))
- pr_crit("neighbour leakage\n");
---
-2.37.3
-
diff --git a/0049-ALSA-hda-realtek-Add-quirks-for-ASUS-Zenbooks-using-.patch b/0049-ALSA-hda-realtek-Add-quirks-for-ASUS-Zenbooks-using-.patch
deleted file mode 100644
index 68f89b34c3a8..000000000000
--- a/0049-ALSA-hda-realtek-Add-quirks-for-ASUS-Zenbooks-using-.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 2432f152c175c149b6365b07d110701ca1df988e Mon Sep 17 00:00:00 2001
-From: Stefan Binding <sbinding@opensource.cirrus.com>
-Date: Mon, 15 Aug 2022 15:19:53 +0100
-Subject: [PATCH 49/73] ALSA: hda/realtek: Add quirks for ASUS Zenbooks using
- CS35L41
-
-[ Upstream commit 461122b999bda2ebef2086a35d8990f9ccac5ab8 ]
-
-These Asus Zenbook laptop use Realtek HDA codec combined with
-2xCS35L41 Amplifiers using SPI.
-
-Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
-Link: https://lore.kernel.org/r/20220815141953.25197-1-sbinding@opensource.cirrus.com
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- sound/pci/hda/patch_realtek.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
-index 1ae9674fa8a3..b44b882f8378 100644
---- a/sound/pci/hda/patch_realtek.c
-+++ b/sound/pci/hda/patch_realtek.c
-@@ -9248,6 +9248,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
- SND_PCI_QUIRK(0x1043, 0x1271, "ASUS X430UN", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE),
- SND_PCI_QUIRK(0x1043, 0x1290, "ASUS X441SA", ALC233_FIXUP_EAPD_COEF_AND_MIC_NO_PRESENCE),
- SND_PCI_QUIRK(0x1043, 0x12a0, "ASUS X441UV", ALC233_FIXUP_EAPD_COEF_AND_MIC_NO_PRESENCE),
-+ SND_PCI_QUIRK(0x1043, 0x12af, "ASUS UX582ZS", ALC245_FIXUP_CS35L41_SPI_2),
- SND_PCI_QUIRK(0x1043, 0x12e0, "ASUS X541SA", ALC256_FIXUP_ASUS_MIC),
- SND_PCI_QUIRK(0x1043, 0x12f0, "ASUS X541UV", ALC256_FIXUP_ASUS_MIC),
- SND_PCI_QUIRK(0x1043, 0x1313, "Asus K42JZ", ALC269VB_FIXUP_ASUS_MIC_NO_PRESENCE),
-@@ -9268,6 +9269,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
- SND_PCI_QUIRK(0x1043, 0x19e1, "ASUS UX581LV", ALC295_FIXUP_ASUS_MIC_NO_PRESENCE),
- SND_PCI_QUIRK(0x1043, 0x1a13, "Asus G73Jw", ALC269_FIXUP_ASUS_G73JW),
- SND_PCI_QUIRK(0x1043, 0x1a30, "ASUS X705UD", ALC256_FIXUP_ASUS_MIC),
-+ SND_PCI_QUIRK(0x1043, 0x1a8f, "ASUS UX582ZS", ALC245_FIXUP_CS35L41_SPI_2),
- SND_PCI_QUIRK(0x1043, 0x1b11, "ASUS UX431DA", ALC294_FIXUP_ASUS_COEF_1B),
- SND_PCI_QUIRK(0x1043, 0x1b13, "Asus U41SV", ALC269_FIXUP_INV_DMIC),
- SND_PCI_QUIRK(0x1043, 0x1bbd, "ASUS Z550MA", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE),
---
-2.37.3
-
diff --git a/0050-s390-hypfs-avoid-error-message-under-KVM.patch b/0050-s390-hypfs-avoid-error-message-under-KVM.patch
deleted file mode 100644
index 4c19b1c6fb88..000000000000
--- a/0050-s390-hypfs-avoid-error-message-under-KVM.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 895096784ab9eb17126e3099a6ef2649e96f8d84 Mon Sep 17 00:00:00 2001
-From: Juergen Gross <jgross@suse.com>
-Date: Mon, 20 Jun 2022 11:45:34 +0200
-Subject: [PATCH 50/73] s390/hypfs: avoid error message under KVM
-
-[ Upstream commit 7b6670b03641ac308aaa6fa2e6f964ac993b5ea3 ]
-
-When booting under KVM the following error messages are issued:
-
-hypfs.7f5705: The hardware system does not support hypfs
-hypfs.7a79f0: Initialization of hypfs failed with rc=-61
-
-Demote the severity of first message from "error" to "info" and issue
-the second message only in other error cases.
-
-Signed-off-by: Juergen Gross <jgross@suse.com>
-Acked-by: Heiko Carstens <hca@linux.ibm.com>
-Acked-by: Christian Borntraeger <borntraeger@linux.ibm.com>
-Link: https://lore.kernel.org/r/20220620094534.18967-1-jgross@suse.com
-[arch/s390/hypfs/hypfs_diag.c changed description]
-Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/s390/hypfs/hypfs_diag.c | 2 +-
- arch/s390/hypfs/inode.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/arch/s390/hypfs/hypfs_diag.c b/arch/s390/hypfs/hypfs_diag.c
-index f0bc4dc3e9bf..6511d15ace45 100644
---- a/arch/s390/hypfs/hypfs_diag.c
-+++ b/arch/s390/hypfs/hypfs_diag.c
-@@ -437,7 +437,7 @@ __init int hypfs_diag_init(void)
- int rc;
-
- if (diag204_probe()) {
-- pr_err("The hardware system does not support hypfs\n");
-+ pr_info("The hardware system does not support hypfs\n");
- return -ENODATA;
- }
-
-diff --git a/arch/s390/hypfs/inode.c b/arch/s390/hypfs/inode.c
-index 5c97f48cea91..ee919bfc8186 100644
---- a/arch/s390/hypfs/inode.c
-+++ b/arch/s390/hypfs/inode.c
-@@ -496,9 +496,9 @@ static int __init hypfs_init(void)
- hypfs_vm_exit();
- fail_hypfs_diag_exit:
- hypfs_diag_exit();
-+ pr_err("Initialization of hypfs failed with rc=%i\n", rc);
- fail_dbfs_exit:
- hypfs_dbfs_exit();
-- pr_err("Initialization of hypfs failed with rc=%i\n", rc);
- return rc;
- }
- device_initcall(hypfs_init)
---
-2.37.3
-
diff --git a/0051-ksmbd-don-t-remove-dos-attribute-xattr-on-O_TRUNC-op.patch b/0051-ksmbd-don-t-remove-dos-attribute-xattr-on-O_TRUNC-op.patch
deleted file mode 100644
index 33a4046babf4..000000000000
--- a/0051-ksmbd-don-t-remove-dos-attribute-xattr-on-O_TRUNC-op.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From dc441eda061720bab0117c45e30a2eb065b858ec Mon Sep 17 00:00:00 2001
-From: Namjae Jeon <linkinjeon@kernel.org>
-Date: Sun, 14 Aug 2022 22:40:25 +0900
-Subject: [PATCH 51/73] ksmbd: don't remove dos attribute xattr on O_TRUNC open
-
-[ Upstream commit 17661ecf6a64eb11ae7f1108fe88686388b2acd5 ]
-
-When smb client open file in ksmbd share with O_TRUNC, dos attribute
-xattr is removed as well as data in file. This cause the FSCTL_SET_SPARSE
-request from the client fails because ksmbd can't update the dos attribute
-after setting ATTR_SPARSE_FILE. And this patch fix xfstests generic/469
-test also.
-
-Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
-Reviewed-by: Hyunchul Lee <hyc.lee@gmail.com>
-Signed-off-by: Steve French <stfrench@microsoft.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- fs/ksmbd/smb2pdu.c | 18 +++++++++---------
- 1 file changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/fs/ksmbd/smb2pdu.c b/fs/ksmbd/smb2pdu.c
-index bbb3958b6469..35f5ea1c9dfc 100644
---- a/fs/ksmbd/smb2pdu.c
-+++ b/fs/ksmbd/smb2pdu.c
-@@ -2315,15 +2315,15 @@ static int smb2_remove_smb_xattrs(struct path *path)
- name += strlen(name) + 1) {
- ksmbd_debug(SMB, "%s, len %zd\n", name, strlen(name));
-
-- if (strncmp(name, XATTR_USER_PREFIX, XATTR_USER_PREFIX_LEN) &&
-- strncmp(&name[XATTR_USER_PREFIX_LEN], DOS_ATTRIBUTE_PREFIX,
-- DOS_ATTRIBUTE_PREFIX_LEN) &&
-- strncmp(&name[XATTR_USER_PREFIX_LEN], STREAM_PREFIX, STREAM_PREFIX_LEN))
-- continue;
--
-- err = ksmbd_vfs_remove_xattr(user_ns, path->dentry, name);
-- if (err)
-- ksmbd_debug(SMB, "remove xattr failed : %s\n", name);
-+ if (!strncmp(name, XATTR_USER_PREFIX, XATTR_USER_PREFIX_LEN) &&
-+ !strncmp(&name[XATTR_USER_PREFIX_LEN], STREAM_PREFIX,
-+ STREAM_PREFIX_LEN)) {
-+ err = ksmbd_vfs_remove_xattr(user_ns, path->dentry,
-+ name);
-+ if (err)
-+ ksmbd_debug(SMB, "remove xattr failed : %s\n",
-+ name);
-+ }
- }
- out:
- kvfree(xattr_list);
---
-2.37.3
-
diff --git a/0052-drm-amdgpu-disable-3DCGCG-CGLS-temporarily-due-to-st.patch b/0052-drm-amdgpu-disable-3DCGCG-CGLS-temporarily-due-to-st.patch
deleted file mode 100644
index 38f1c654cc52..000000000000
--- a/0052-drm-amdgpu-disable-3DCGCG-CGLS-temporarily-due-to-st.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From d9d70547cba1d88fe52bfb37655d09a12926a0f3 Mon Sep 17 00:00:00 2001
-From: Evan Quan <evan.quan@amd.com>
-Date: Wed, 3 Aug 2022 16:13:56 +0800
-Subject: [PATCH 52/73] drm/amdgpu: disable 3DCGCG/CGLS temporarily due to
- stability issue
-
-[ Upstream commit 1b586595df6d04c27088ef348b8202204ce26d45 ]
-
-Some stability issues were reported with these features.
-
-Signed-off-by: Evan Quan <evan.quan@amd.com>
-Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/amd/amdgpu/soc21.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/soc21.c b/drivers/gpu/drm/amd/amdgpu/soc21.c
-index 9e18a2b22607..8d5c452a9100 100644
---- a/drivers/gpu/drm/amd/amdgpu/soc21.c
-+++ b/drivers/gpu/drm/amd/amdgpu/soc21.c
-@@ -530,8 +530,10 @@ static int soc21_common_early_init(void *handle)
- case IP_VERSION(11, 0, 0):
- adev->cg_flags = AMD_CG_SUPPORT_GFX_CGCG |
- AMD_CG_SUPPORT_GFX_CGLS |
-+#if 0
- AMD_CG_SUPPORT_GFX_3D_CGCG |
- AMD_CG_SUPPORT_GFX_3D_CGLS |
-+#endif
- AMD_CG_SUPPORT_GFX_MGCG |
- AMD_CG_SUPPORT_REPEATER_FGCG |
- AMD_CG_SUPPORT_GFX_FGCG |
---
-2.37.3
-
diff --git a/0053-drm-amd-pm-add-missing-fini_microcode-interface-for-.patch b/0053-drm-amd-pm-add-missing-fini_microcode-interface-for-.patch
deleted file mode 100644
index 8c91cde44bd2..000000000000
--- a/0053-drm-amd-pm-add-missing-fini_microcode-interface-for-.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 4d21584ac6392aa66171b7efd647ecd1a447556b Mon Sep 17 00:00:00 2001
-From: Evan Quan <evan.quan@amd.com>
-Date: Wed, 10 Aug 2022 11:08:31 +0800
-Subject: [PATCH 53/73] drm/amd/pm: add missing ->fini_microcode interface for
- Sienna Cichlid
-
-[ Upstream commit 0a2d922a5618377cdf8fa476351362733ef55342 ]
-
-To avoid any potential memory leak.
-
-Signed-off-by: Evan Quan <evan.quan@amd.com>
-Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c
-index 78f3d9e722bb..32bb6b1d9526 100644
---- a/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c
-+++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c
-@@ -4281,6 +4281,7 @@ static const struct pptable_funcs sienna_cichlid_ppt_funcs = {
- .dump_pptable = sienna_cichlid_dump_pptable,
- .init_microcode = smu_v11_0_init_microcode,
- .load_microcode = smu_v11_0_load_microcode,
-+ .fini_microcode = smu_v11_0_fini_microcode,
- .init_smc_tables = sienna_cichlid_init_smc_tables,
- .fini_smc_tables = smu_v11_0_fini_smc_tables,
- .init_power = smu_v11_0_init_power,
---
-2.37.3
-
diff --git a/0054-drm-amd-pm-add-missing-fini_xxxx-interfaces-for-some.patch b/0054-drm-amd-pm-add-missing-fini_xxxx-interfaces-for-some.patch
deleted file mode 100644
index 1ec128ca27cf..000000000000
--- a/0054-drm-amd-pm-add-missing-fini_xxxx-interfaces-for-some.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 22a75c616f1971c23838506b14971a4ef4a66bd7 Mon Sep 17 00:00:00 2001
-From: Evan Quan <evan.quan@amd.com>
-Date: Wed, 10 Aug 2022 11:11:16 +0800
-Subject: [PATCH 54/73] drm/amd/pm: add missing ->fini_xxxx interfaces for some
- SMU13 asics
-
-[ Upstream commit 4bac1c846eff8042dd59ddecd0a43f3b9de5fd23 ]
-
-Without these, potential memory leak may be induced.
-
-Signed-off-by: Evan Quan <evan.quan@amd.com>
-Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c | 2 ++
- drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c | 2 ++
- 2 files changed, 4 insertions(+)
-
-diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
-index 7432b3e76d3d..201546c36994 100644
---- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
-+++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
-@@ -1583,7 +1583,9 @@ static const struct pptable_funcs smu_v13_0_0_ppt_funcs = {
- .dump_pptable = smu_v13_0_0_dump_pptable,
- .init_microcode = smu_v13_0_init_microcode,
- .load_microcode = smu_v13_0_load_microcode,
-+ .fini_microcode = smu_v13_0_fini_microcode,
- .init_smc_tables = smu_v13_0_0_init_smc_tables,
-+ .fini_smc_tables = smu_v13_0_fini_smc_tables,
- .init_power = smu_v13_0_init_power,
- .fini_power = smu_v13_0_fini_power,
- .check_fw_status = smu_v13_0_check_fw_status,
-diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
-index 4e1861fb2c6a..9cde13b07dd2 100644
---- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
-+++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
-@@ -1539,7 +1539,9 @@ static const struct pptable_funcs smu_v13_0_7_ppt_funcs = {
- .dump_pptable = smu_v13_0_7_dump_pptable,
- .init_microcode = smu_v13_0_init_microcode,
- .load_microcode = smu_v13_0_load_microcode,
-+ .fini_microcode = smu_v13_0_fini_microcode,
- .init_smc_tables = smu_v13_0_7_init_smc_tables,
-+ .fini_smc_tables = smu_v13_0_fini_smc_tables,
- .init_power = smu_v13_0_init_power,
- .check_fw_status = smu_v13_0_7_check_fw_status,
- .setup_pptable = smu_v13_0_7_setup_pptable,
---
-2.37.3
-
diff --git a/0055-drm-amd-display-Fix-pixel-clock-programming.patch b/0055-drm-amd-display-Fix-pixel-clock-programming.patch
deleted file mode 100644
index 569598780a71..000000000000
--- a/0055-drm-amd-display-Fix-pixel-clock-programming.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From db0669c9731b849dee3dcaa6a0b4a891a0055338 Mon Sep 17 00:00:00 2001
-From: Ilya Bakoulin <Ilya.Bakoulin@amd.com>
-Date: Tue, 26 Jul 2022 16:19:38 -0400
-Subject: [PATCH 55/73] drm/amd/display: Fix pixel clock programming
-
-[ Upstream commit 04fb918bf421b299feaee1006e82921d7d381f18 ]
-
-[Why]
-Some pixel clock values could cause HDMI TMDS SSCPs to be misaligned
-between different HDMI lanes when using YCbCr420 10-bit pixel format.
-
-BIOS functions for transmitter/encoder control take pixel clock in kHz
-increments, whereas the function for setting the pixel clock is in 100Hz
-increments. Setting pixel clock to a value that is not on a kHz boundary
-will cause the issue.
-
-[How]
-Round pixel clock down to nearest kHz in 10/12-bpc cases.
-
-Reviewed-by: Aric Cyr <Aric.Cyr@amd.com>
-Acked-by: Brian Chang <Brian.Chang@amd.com>
-Signed-off-by: Ilya Bakoulin <Ilya.Bakoulin@amd.com>
-Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c b/drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c
-index 845aa8a1027d..c4040adb88b0 100644
---- a/drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c
-+++ b/drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c
-@@ -545,9 +545,11 @@ static void dce112_get_pix_clk_dividers_helper (
- switch (pix_clk_params->color_depth) {
- case COLOR_DEPTH_101010:
- actual_pixel_clock_100hz = (actual_pixel_clock_100hz * 5) >> 2;
-+ actual_pixel_clock_100hz -= actual_pixel_clock_100hz % 10;
- break;
- case COLOR_DEPTH_121212:
- actual_pixel_clock_100hz = (actual_pixel_clock_100hz * 6) >> 2;
-+ actual_pixel_clock_100hz -= actual_pixel_clock_100hz % 10;
- break;
- case COLOR_DEPTH_161616:
- actual_pixel_clock_100hz = actual_pixel_clock_100hz * 2;
---
-2.37.3
-
diff --git a/0056-drm-amdgpu-Increase-tlb-flush-timeout-for-sriov.patch b/0056-drm-amdgpu-Increase-tlb-flush-timeout-for-sriov.patch
deleted file mode 100644
index d32af93acff5..000000000000
--- a/0056-drm-amdgpu-Increase-tlb-flush-timeout-for-sriov.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From db1d9deb84d7870486688a5d13602962443a5500 Mon Sep 17 00:00:00 2001
-From: Dusica Milinkovic <Dusica.Milinkovic@amd.com>
-Date: Wed, 10 Aug 2022 09:43:15 +0200
-Subject: [PATCH 56/73] drm/amdgpu: Increase tlb flush timeout for sriov
-
-[ Upstream commit 373008bfc9cdb0f050258947fa5a095f0657e1bc ]
-
-[Why]
-During multi-vf executing benchmark (Luxmark) observed kiq error timeout.
-It happenes because all of VFs do the tlb invalidation at the same time.
-Although each VF has the invalidate register set, from hardware side
-the invalidate requests are queue to execute.
-
-[How]
-In case of 12 VF increase timeout on 12*100ms
-
-Signed-off-by: Dusica Milinkovic <Dusica.Milinkovic@amd.com>
-Acked-by: Shaoyun Liu <shaoyun.liu@amd.com>
-Acked-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 +-
- drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c | 3 ++-
- drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 3 ++-
- 3 files changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
-index 30ce6bb6fa77..310754b1f670 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
-@@ -313,7 +313,7 @@ enum amdgpu_kiq_irq {
- AMDGPU_CP_KIQ_IRQ_DRIVER0 = 0,
- AMDGPU_CP_KIQ_IRQ_LAST
- };
--
-+#define SRIOV_USEC_TIMEOUT 1200000 /* wait 12 * 100ms for SRIOV */
- #define MAX_KIQ_REG_WAIT 5000 /* in usecs, 5ms */
- #define MAX_KIQ_REG_BAILOUT_INTERVAL 5 /* in msecs, 5ms */
- #define MAX_KIQ_REG_TRY 1000
-diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c
-index 9077dfccaf3c..809408c8c79a 100644
---- a/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c
-+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c
-@@ -416,6 +416,7 @@ static int gmc_v10_0_flush_gpu_tlb_pasid(struct amdgpu_device *adev,
- uint32_t seq;
- uint16_t queried_pasid;
- bool ret;
-+ u32 usec_timeout = amdgpu_sriov_vf(adev) ? SRIOV_USEC_TIMEOUT : adev->usec_timeout;
- struct amdgpu_ring *ring = &adev->gfx.kiq.ring;
- struct amdgpu_kiq *kiq = &adev->gfx.kiq;
-
-@@ -434,7 +435,7 @@ static int gmc_v10_0_flush_gpu_tlb_pasid(struct amdgpu_device *adev,
-
- amdgpu_ring_commit(ring);
- spin_unlock(&adev->gfx.kiq.ring_lock);
-- r = amdgpu_fence_wait_polling(ring, seq, adev->usec_timeout);
-+ r = amdgpu_fence_wait_polling(ring, seq, usec_timeout);
- if (r < 1) {
- dev_err(adev->dev, "wait for kiq fence error: %ld.\n", r);
- return -ETIME;
-diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
-index 22761a3bb818..566c1243c051 100644
---- a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
-+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
-@@ -896,6 +896,7 @@ static int gmc_v9_0_flush_gpu_tlb_pasid(struct amdgpu_device *adev,
- uint32_t seq;
- uint16_t queried_pasid;
- bool ret;
-+ u32 usec_timeout = amdgpu_sriov_vf(adev) ? SRIOV_USEC_TIMEOUT : adev->usec_timeout;
- struct amdgpu_ring *ring = &adev->gfx.kiq.ring;
- struct amdgpu_kiq *kiq = &adev->gfx.kiq;
-
-@@ -935,7 +936,7 @@ static int gmc_v9_0_flush_gpu_tlb_pasid(struct amdgpu_device *adev,
-
- amdgpu_ring_commit(ring);
- spin_unlock(&adev->gfx.kiq.ring_lock);
-- r = amdgpu_fence_wait_polling(ring, seq, adev->usec_timeout);
-+ r = amdgpu_fence_wait_polling(ring, seq, usec_timeout);
- if (r < 1) {
- dev_err(adev->dev, "wait for kiq fence error: %ld.\n", r);
- up_read(&adev->reset_domain->sem);
---
-2.37.3
-
diff --git a/0057-drm-amd-display-Fix-plug-unplug-external-monitor-wil.patch b/0057-drm-amd-display-Fix-plug-unplug-external-monitor-wil.patch
deleted file mode 100644
index dd055cd10378..000000000000
--- a/0057-drm-amd-display-Fix-plug-unplug-external-monitor-wil.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From bd71ef2c30244c25243d84b593ea0ba88164ebb6 Mon Sep 17 00:00:00 2001
-From: Tom Chung <chiahsuan.chung@amd.com>
-Date: Wed, 3 Aug 2022 15:15:17 +0800
-Subject: [PATCH 57/73] drm/amd/display: Fix plug/unplug external monitor will
- hang while playback MPO video
-
-[ Upstream commit e98459c06e3d45c2229b097f7b8cdd412357fa2f ]
-
-[Why]
-Pipes for MPO primary and overlay will be power down and power up during
-plug/unplug external monitor while MPO video playback.
-But the pipes were the same after plug/unplug and should not need to be
-power down and power up or it will make page flip interrupt disabled and
-cause hang issue.
-
-[How]
-Add pipe split change condition that not only check the top pipe pointer
-but also check the index of top pipe if both top pipes are available.
-
-Reviewed-by: Sun peng Li <Sunpeng.Li@amd.com>
-Acked-by: Brian Chang <Brian.Chang@amd.com>
-Signed-off-by: Tom Chung <chiahsuan.chung@amd.com>
-Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/amd/display/dc/core/dc.c | 11 +++++++++--
- 1 file changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
-index 7d69341acca0..9dbd965d8afb 100644
---- a/drivers/gpu/drm/amd/display/dc/core/dc.c
-+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
-@@ -1067,8 +1067,15 @@ static void disable_dangling_plane(struct dc *dc, struct dc_state *context)
- struct dc_stream_state *old_stream =
- dc->current_state->res_ctx.pipe_ctx[i].stream;
- bool should_disable = true;
-- bool pipe_split_change =
-- context->res_ctx.pipe_ctx[i].top_pipe != dc->current_state->res_ctx.pipe_ctx[i].top_pipe;
-+ bool pipe_split_change = false;
-+
-+ if ((context->res_ctx.pipe_ctx[i].top_pipe) &&
-+ (dc->current_state->res_ctx.pipe_ctx[i].top_pipe))
-+ pipe_split_change = context->res_ctx.pipe_ctx[i].top_pipe->pipe_idx !=
-+ dc->current_state->res_ctx.pipe_ctx[i].top_pipe->pipe_idx;
-+ else
-+ pipe_split_change = context->res_ctx.pipe_ctx[i].top_pipe !=
-+ dc->current_state->res_ctx.pipe_ctx[i].top_pipe;
-
- for (j = 0; j < context->stream_count; j++) {
- if (old_stream == context->streams[j]) {
---
-2.37.3
-
diff --git a/0058-drm-amd-display-avoid-doing-vm_init-multiple-time.patch b/0058-drm-amd-display-avoid-doing-vm_init-multiple-time.patch
deleted file mode 100644
index 6d4ca53ac968..000000000000
--- a/0058-drm-amd-display-avoid-doing-vm_init-multiple-time.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 4eb2be1d0827627b5878b26dfa21d68ffe677fd0 Mon Sep 17 00:00:00 2001
-From: Charlene Liu <Charlene.Liu@amd.com>
-Date: Fri, 5 Aug 2022 12:59:47 -0400
-Subject: [PATCH 58/73] drm/amd/display: avoid doing vm_init multiple time
-
-[ Upstream commit 5544a7b5a07480192eb5fd3536462faed2c21528 ]
-
-[why]
-this is to ensure that driver will not reprogram hvm_prefetch_req again if
-it is done.
-
-Reviewed-by: Martin Leung <Martin.Leung@amd.com>
-Acked-by: Brian Chang <Brian.Chang@amd.com>
-Signed-off-by: Charlene Liu <Charlene.Liu@amd.com>
-Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/amd/display/dc/dcn21/dcn21_hubbub.c | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_hubbub.c b/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_hubbub.c
-index c5e200d09038..5752271f22df 100644
---- a/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_hubbub.c
-+++ b/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_hubbub.c
-@@ -67,9 +67,15 @@ static uint32_t convert_and_clamp(
- void dcn21_dchvm_init(struct hubbub *hubbub)
- {
- struct dcn20_hubbub *hubbub1 = TO_DCN20_HUBBUB(hubbub);
-- uint32_t riommu_active;
-+ uint32_t riommu_active, prefetch_done;
- int i;
-
-+ REG_GET(DCHVM_RIOMMU_STAT0, HOSTVM_PREFETCH_DONE, &prefetch_done);
-+
-+ if (prefetch_done) {
-+ hubbub->riommu_active = true;
-+ return;
-+ }
- //Init DCHVM block
- REG_UPDATE(DCHVM_CTRL0, HOSTVM_INIT_REQ, 1);
-
---
-2.37.3
-
diff --git a/0059-drm-amdgpu-Add-decode_iv_ts-helper-for-ih_v6-block.patch b/0059-drm-amdgpu-Add-decode_iv_ts-helper-for-ih_v6-block.patch
deleted file mode 100644
index d65c9e46e9c8..000000000000
--- a/0059-drm-amdgpu-Add-decode_iv_ts-helper-for-ih_v6-block.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From d278f332d105d3340179965dc14d6f7157fb9450 Mon Sep 17 00:00:00 2001
-From: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
-Date: Fri, 5 Aug 2022 18:04:08 -0400
-Subject: [PATCH 59/73] drm/amdgpu: Add decode_iv_ts helper for ih_v6 block
-
-[ Upstream commit 1af9add1f1512b10d9ce44ec7137612bc81ff069 ]
-
-Was missing. Add it.
-
-Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
-Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/amd/amdgpu/ih_v6_0.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/ih_v6_0.c b/drivers/gpu/drm/amd/amdgpu/ih_v6_0.c
-index 92dc60a9d209..085e613f3646 100644
---- a/drivers/gpu/drm/amd/amdgpu/ih_v6_0.c
-+++ b/drivers/gpu/drm/amd/amdgpu/ih_v6_0.c
-@@ -727,6 +727,7 @@ static const struct amd_ip_funcs ih_v6_0_ip_funcs = {
- static const struct amdgpu_ih_funcs ih_v6_0_funcs = {
- .get_wptr = ih_v6_0_get_wptr,
- .decode_iv = amdgpu_ih_decode_iv_helper,
-+ .decode_iv_ts = amdgpu_ih_decode_iv_ts_helper,
- .set_rptr = ih_v6_0_set_rptr
- };
-
---
-2.37.3
-
diff --git a/0060-drm-amdgpu-Add-secure-display-TA-load-for-Renoir.patch b/0060-drm-amdgpu-Add-secure-display-TA-load-for-Renoir.patch
deleted file mode 100644
index 0c5d9486b20f..000000000000
--- a/0060-drm-amdgpu-Add-secure-display-TA-load-for-Renoir.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 09186eeffd3949a7e6ed39085bc151c1396a99a8 Mon Sep 17 00:00:00 2001
-From: Shane Xiao <shane.xiao@amd.com>
-Date: Mon, 15 Aug 2022 16:32:15 +0800
-Subject: [PATCH 60/73] drm/amdgpu: Add secure display TA load for Renoir
-
-[ Upstream commit e42dfa66d59240afbdd8d4b47b87486db39504aa ]
-
-Add secure display TA load for Renoir
-
-Signed-off-by: Shane Xiao <shane.xiao@amd.com>
-Reviewed-by: Aaron Liu <aaron.liu@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/amd/amdgpu/psp_v12_0.c | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v12_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v12_0.c
-index a2588200ea58..0b2ac418e4ac 100644
---- a/drivers/gpu/drm/amd/amdgpu/psp_v12_0.c
-+++ b/drivers/gpu/drm/amd/amdgpu/psp_v12_0.c
-@@ -101,6 +101,16 @@ static int psp_v12_0_init_microcode(struct psp_context *psp)
- adev->psp.dtm_context.context.bin_desc.start_addr =
- (uint8_t *)adev->psp.hdcp_context.context.bin_desc.start_addr +
- le32_to_cpu(ta_hdr->dtm.offset_bytes);
-+
-+ if (adev->apu_flags & AMD_APU_IS_RENOIR) {
-+ adev->psp.securedisplay_context.context.bin_desc.fw_version =
-+ le32_to_cpu(ta_hdr->securedisplay.fw_version);
-+ adev->psp.securedisplay_context.context.bin_desc.size_bytes =
-+ le32_to_cpu(ta_hdr->securedisplay.size_bytes);
-+ adev->psp.securedisplay_context.context.bin_desc.start_addr =
-+ (uint8_t *)adev->psp.hdcp_context.context.bin_desc.start_addr +
-+ le32_to_cpu(ta_hdr->securedisplay.offset_bytes);
-+ }
- }
-
- return 0;
---
-2.37.3
-
diff --git a/0061-drm-amdgpu-Fix-interrupt-handling-on-ih_soft-ring.patch b/0061-drm-amdgpu-Fix-interrupt-handling-on-ih_soft-ring.patch
deleted file mode 100644
index 7d913e5e08d5..000000000000
--- a/0061-drm-amdgpu-Fix-interrupt-handling-on-ih_soft-ring.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-From 933020e6d0572f9997e8faaed8c082fda0825718 Mon Sep 17 00:00:00 2001
-From: Mukul Joshi <mukul.joshi@amd.com>
-Date: Fri, 12 Aug 2022 15:23:51 -0400
-Subject: [PATCH 61/73] drm/amdgpu: Fix interrupt handling on ih_soft ring
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-[ Upstream commit de8341ee3ce7316883e836a2c4e9bf01ab651e0f ]
-
-There are no backing hardware registers for ih_soft ring.
-As a result, don't try to access hardware registers for read
-and write pointers when processing interrupts on the IH soft
-ring.
-
-Signed-off-by: Mukul Joshi <mukul.joshi@amd.com>
-Acked-by: Christian König <christian.koenig@amd.com>
-Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/amd/amdgpu/navi10_ih.c | 7 ++++++-
- drivers/gpu/drm/amd/amdgpu/vega10_ih.c | 7 ++++++-
- drivers/gpu/drm/amd/amdgpu/vega20_ih.c | 7 ++++++-
- 3 files changed, 18 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/navi10_ih.c b/drivers/gpu/drm/amd/amdgpu/navi10_ih.c
-index 4b5396d3e60f..eec13cb5bf75 100644
---- a/drivers/gpu/drm/amd/amdgpu/navi10_ih.c
-+++ b/drivers/gpu/drm/amd/amdgpu/navi10_ih.c
-@@ -409,9 +409,11 @@ static u32 navi10_ih_get_wptr(struct amdgpu_device *adev,
- u32 wptr, tmp;
- struct amdgpu_ih_regs *ih_regs;
-
-- if (ih == &adev->irq.ih) {
-+ if (ih == &adev->irq.ih || ih == &adev->irq.ih_soft) {
- /* Only ring0 supports writeback. On other rings fall back
- * to register-based code with overflow checking below.
-+ * ih_soft ring doesn't have any backing hardware registers,
-+ * update wptr and return.
- */
- wptr = le32_to_cpu(*ih->wptr_cpu);
-
-@@ -483,6 +485,9 @@ static void navi10_ih_set_rptr(struct amdgpu_device *adev,
- {
- struct amdgpu_ih_regs *ih_regs;
-
-+ if (ih == &adev->irq.ih_soft)
-+ return;
-+
- if (ih->use_doorbell) {
- /* XXX check if swapping is necessary on BE */
- *ih->rptr_cpu = ih->rptr;
-diff --git a/drivers/gpu/drm/amd/amdgpu/vega10_ih.c b/drivers/gpu/drm/amd/amdgpu/vega10_ih.c
-index cdd599a08125..03b7066471f9 100644
---- a/drivers/gpu/drm/amd/amdgpu/vega10_ih.c
-+++ b/drivers/gpu/drm/amd/amdgpu/vega10_ih.c
-@@ -334,9 +334,11 @@ static u32 vega10_ih_get_wptr(struct amdgpu_device *adev,
- u32 wptr, tmp;
- struct amdgpu_ih_regs *ih_regs;
-
-- if (ih == &adev->irq.ih) {
-+ if (ih == &adev->irq.ih || ih == &adev->irq.ih_soft) {
- /* Only ring0 supports writeback. On other rings fall back
- * to register-based code with overflow checking below.
-+ * ih_soft ring doesn't have any backing hardware registers,
-+ * update wptr and return.
- */
- wptr = le32_to_cpu(*ih->wptr_cpu);
-
-@@ -409,6 +411,9 @@ static void vega10_ih_set_rptr(struct amdgpu_device *adev,
- {
- struct amdgpu_ih_regs *ih_regs;
-
-+ if (ih == &adev->irq.ih_soft)
-+ return;
-+
- if (ih->use_doorbell) {
- /* XXX check if swapping is necessary on BE */
- *ih->rptr_cpu = ih->rptr;
-diff --git a/drivers/gpu/drm/amd/amdgpu/vega20_ih.c b/drivers/gpu/drm/amd/amdgpu/vega20_ih.c
-index 3b4eb8285943..2022ffbb8dba 100644
---- a/drivers/gpu/drm/amd/amdgpu/vega20_ih.c
-+++ b/drivers/gpu/drm/amd/amdgpu/vega20_ih.c
-@@ -385,9 +385,11 @@ static u32 vega20_ih_get_wptr(struct amdgpu_device *adev,
- u32 wptr, tmp;
- struct amdgpu_ih_regs *ih_regs;
-
-- if (ih == &adev->irq.ih) {
-+ if (ih == &adev->irq.ih || ih == &adev->irq.ih_soft) {
- /* Only ring0 supports writeback. On other rings fall back
- * to register-based code with overflow checking below.
-+ * ih_soft ring doesn't have any backing hardware registers,
-+ * update wptr and return.
- */
- wptr = le32_to_cpu(*ih->wptr_cpu);
-
-@@ -461,6 +463,9 @@ static void vega20_ih_set_rptr(struct amdgpu_device *adev,
- {
- struct amdgpu_ih_regs *ih_regs;
-
-+ if (ih == &adev->irq.ih_soft)
-+ return;
-+
- if (ih->use_doorbell) {
- /* XXX check if swapping is necessary on BE */
- *ih->rptr_cpu = ih->rptr;
---
-2.37.3
-
diff --git a/0062-netfilter-conntrack-NF_CONNTRACK_PROCFS-should-no-lo.patch b/0062-netfilter-conntrack-NF_CONNTRACK_PROCFS-should-no-lo.patch
deleted file mode 100644
index 77bce9429d7e..000000000000
--- a/0062-netfilter-conntrack-NF_CONNTRACK_PROCFS-should-no-lo.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 7d4bfe34b9cbb0395cb9508fa64324d4a1379e00 Mon Sep 17 00:00:00 2001
-From: Geert Uytterhoeven <geert@linux-m68k.org>
-Date: Mon, 15 Aug 2022 12:39:20 +0200
-Subject: [PATCH 62/73] netfilter: conntrack: NF_CONNTRACK_PROCFS should no
- longer default to y
-
-[ Upstream commit aa5762c34213aba7a72dc58e70601370805fa794 ]
-
-NF_CONNTRACK_PROCFS was marked obsolete in commit 54b07dca68557b09
-("netfilter: provide config option to disable ancient procfs parts") in
-v3.3.
-
-Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-Signed-off-by: Florian Westphal <fw@strlen.de>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- net/netfilter/Kconfig | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/net/netfilter/Kconfig b/net/netfilter/Kconfig
-index ddc54b6d18ee..8c0fea1bdc8d 100644
---- a/net/netfilter/Kconfig
-+++ b/net/netfilter/Kconfig
-@@ -144,7 +144,6 @@ config NF_CONNTRACK_ZONES
-
- config NF_CONNTRACK_PROCFS
- bool "Supply CT list in procfs (OBSOLETE)"
-- default y
- depends on PROC_FS
- help
- This option enables for the list of known conntrack entries
---
-2.37.3
-
diff --git a/0063-testing-selftests-nft_flowtable.sh-use-random-netns-.patch b/0063-testing-selftests-nft_flowtable.sh-use-random-netns-.patch
deleted file mode 100644
index f8796362ab4c..000000000000
--- a/0063-testing-selftests-nft_flowtable.sh-use-random-netns-.patch
+++ /dev/null
@@ -1,428 +0,0 @@
-From 503728838bdf9b8fd50ff1f89d47668e922880aa Mon Sep 17 00:00:00 2001
-From: Florian Westphal <fw@strlen.de>
-Date: Tue, 16 Aug 2022 14:15:21 +0200
-Subject: [PATCH 63/73] testing: selftests: nft_flowtable.sh: use random netns
- names
-
-[ Upstream commit b71b7bfeac38c7a21c423ddafb29aa6258949df8 ]
-
-"ns1" is a too generic name, use a random suffix to avoid
-errors when such a netns exists. Also allows to run multiple
-instances of the script in parallel.
-
-Signed-off-by: Florian Westphal <fw@strlen.de>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- .../selftests/netfilter/nft_flowtable.sh | 246 +++++++++---------
- 1 file changed, 128 insertions(+), 118 deletions(-)
-
-diff --git a/tools/testing/selftests/netfilter/nft_flowtable.sh b/tools/testing/selftests/netfilter/nft_flowtable.sh
-index d4ffebb989f8..c336e6c148d1 100755
---- a/tools/testing/selftests/netfilter/nft_flowtable.sh
-+++ b/tools/testing/selftests/netfilter/nft_flowtable.sh
-@@ -14,6 +14,11 @@
- # nft_flowtable.sh -o8000 -l1500 -r2000
- #
-
-+sfx=$(mktemp -u "XXXXXXXX")
-+ns1="ns1-$sfx"
-+ns2="ns2-$sfx"
-+nsr1="nsr1-$sfx"
-+nsr2="nsr2-$sfx"
-
- # Kselftest framework requirement - SKIP code is 4.
- ksft_skip=4
-@@ -36,18 +41,17 @@ checktool (){
- checktool "nft --version" "run test without nft tool"
- checktool "ip -Version" "run test without ip tool"
- checktool "which nc" "run test without nc (netcat)"
--checktool "ip netns add nsr1" "create net namespace"
-+checktool "ip netns add $nsr1" "create net namespace $nsr1"
-
--ip netns add ns1
--ip netns add ns2
--
--ip netns add nsr2
-+ip netns add $ns1
-+ip netns add $ns2
-+ip netns add $nsr2
-
- cleanup() {
-- for i in 1 2; do
-- ip netns del ns$i
-- ip netns del nsr$i
-- done
-+ ip netns del $ns1
-+ ip netns del $ns2
-+ ip netns del $nsr1
-+ ip netns del $nsr2
-
- rm -f "$ns1in" "$ns1out"
- rm -f "$ns2in" "$ns2out"
-@@ -59,22 +63,21 @@ trap cleanup EXIT
-
- sysctl -q net.netfilter.nf_log_all_netns=1
-
--ip link add veth0 netns nsr1 type veth peer name eth0 netns ns1
--ip link add veth1 netns nsr1 type veth peer name veth0 netns nsr2
-+ip link add veth0 netns $nsr1 type veth peer name eth0 netns $ns1
-+ip link add veth1 netns $nsr1 type veth peer name veth0 netns $nsr2
-
--ip link add veth1 netns nsr2 type veth peer name eth0 netns ns2
-+ip link add veth1 netns $nsr2 type veth peer name eth0 netns $ns2
-
- for dev in lo veth0 veth1; do
-- for i in 1 2; do
-- ip -net nsr$i link set $dev up
-- done
-+ ip -net $nsr1 link set $dev up
-+ ip -net $nsr2 link set $dev up
- done
-
--ip -net nsr1 addr add 10.0.1.1/24 dev veth0
--ip -net nsr1 addr add dead:1::1/64 dev veth0
-+ip -net $nsr1 addr add 10.0.1.1/24 dev veth0
-+ip -net $nsr1 addr add dead:1::1/64 dev veth0
-
--ip -net nsr2 addr add 10.0.2.1/24 dev veth1
--ip -net nsr2 addr add dead:2::1/64 dev veth1
-+ip -net $nsr2 addr add 10.0.2.1/24 dev veth1
-+ip -net $nsr2 addr add dead:2::1/64 dev veth1
-
- # set different MTUs so we need to push packets coming from ns1 (large MTU)
- # to ns2 (smaller MTU) to stack either to perform fragmentation (ip_no_pmtu_disc=1),
-@@ -106,49 +109,56 @@ do
- esac
- done
-
--if ! ip -net nsr1 link set veth0 mtu $omtu; then
-+if ! ip -net $nsr1 link set veth0 mtu $omtu; then
- exit 1
- fi
-
--ip -net ns1 link set eth0 mtu $omtu
-+ip -net $ns1 link set eth0 mtu $omtu
-
--if ! ip -net nsr2 link set veth1 mtu $rmtu; then
-+if ! ip -net $nsr2 link set veth1 mtu $rmtu; then
- exit 1
- fi
-
--ip -net ns2 link set eth0 mtu $rmtu
-+ip -net $ns2 link set eth0 mtu $rmtu
-
- # transfer-net between nsr1 and nsr2.
- # these addresses are not used for connections.
--ip -net nsr1 addr add 192.168.10.1/24 dev veth1
--ip -net nsr1 addr add fee1:2::1/64 dev veth1
--
--ip -net nsr2 addr add 192.168.10.2/24 dev veth0
--ip -net nsr2 addr add fee1:2::2/64 dev veth0
--
--for i in 1 2; do
-- ip netns exec nsr$i sysctl net.ipv4.conf.veth0.forwarding=1 > /dev/null
-- ip netns exec nsr$i sysctl net.ipv4.conf.veth1.forwarding=1 > /dev/null
--
-- ip -net ns$i link set lo up
-- ip -net ns$i link set eth0 up
-- ip -net ns$i addr add 10.0.$i.99/24 dev eth0
-- ip -net ns$i route add default via 10.0.$i.1
-- ip -net ns$i addr add dead:$i::99/64 dev eth0
-- ip -net ns$i route add default via dead:$i::1
-- if ! ip netns exec ns$i sysctl net.ipv4.tcp_no_metrics_save=1 > /dev/null; then
-+ip -net $nsr1 addr add 192.168.10.1/24 dev veth1
-+ip -net $nsr1 addr add fee1:2::1/64 dev veth1
-+
-+ip -net $nsr2 addr add 192.168.10.2/24 dev veth0
-+ip -net $nsr2 addr add fee1:2::2/64 dev veth0
-+
-+for i in 0 1; do
-+ ip netns exec $nsr1 sysctl net.ipv4.conf.veth$i.forwarding=1 > /dev/null
-+ ip netns exec $nsr2 sysctl net.ipv4.conf.veth$i.forwarding=1 > /dev/null
-+done
-+
-+for ns in $ns1 $ns2;do
-+ ip -net $ns link set lo up
-+ ip -net $ns link set eth0 up
-+
-+ if ! ip netns exec $ns sysctl net.ipv4.tcp_no_metrics_save=1 > /dev/null; then
- echo "ERROR: Check Originator/Responder values (problem during address addition)"
- exit 1
- fi
--
- # don't set ip DF bit for first two tests
-- ip netns exec ns$i sysctl net.ipv4.ip_no_pmtu_disc=1 > /dev/null
-+ ip netns exec $ns sysctl net.ipv4.ip_no_pmtu_disc=1 > /dev/null
- done
-
--ip -net nsr1 route add default via 192.168.10.2
--ip -net nsr2 route add default via 192.168.10.1
-+ip -net $ns1 addr add 10.0.1.99/24 dev eth0
-+ip -net $ns2 addr add 10.0.2.99/24 dev eth0
-+ip -net $ns1 route add default via 10.0.1.1
-+ip -net $ns2 route add default via 10.0.2.1
-+ip -net $ns1 addr add dead:1::99/64 dev eth0
-+ip -net $ns2 addr add dead:2::99/64 dev eth0
-+ip -net $ns1 route add default via dead:1::1
-+ip -net $ns2 route add default via dead:2::1
-+
-+ip -net $nsr1 route add default via 192.168.10.2
-+ip -net $nsr2 route add default via 192.168.10.1
-
--ip netns exec nsr1 nft -f - <<EOF
-+ip netns exec $nsr1 nft -f - <<EOF
- table inet filter {
- flowtable f1 {
- hook ingress priority 0
-@@ -197,18 +207,18 @@ if [ $? -ne 0 ]; then
- fi
-
- # test basic connectivity
--if ! ip netns exec ns1 ping -c 1 -q 10.0.2.99 > /dev/null; then
-- echo "ERROR: ns1 cannot reach ns2" 1>&2
-+if ! ip netns exec $ns1 ping -c 1 -q 10.0.2.99 > /dev/null; then
-+ echo "ERROR: $ns1 cannot reach ns2" 1>&2
- exit 1
- fi
-
--if ! ip netns exec ns2 ping -c 1 -q 10.0.1.99 > /dev/null; then
-- echo "ERROR: ns2 cannot reach ns1" 1>&2
-+if ! ip netns exec $ns2 ping -c 1 -q 10.0.1.99 > /dev/null; then
-+ echo "ERROR: $ns2 cannot reach $ns1" 1>&2
- exit 1
- fi
-
- if [ $ret -eq 0 ];then
-- echo "PASS: netns routing/connectivity: ns1 can reach ns2"
-+ echo "PASS: netns routing/connectivity: $ns1 can reach $ns2"
- fi
-
- ns1in=$(mktemp)
-@@ -312,24 +322,24 @@ make_file "$ns2in"
-
- # First test:
- # No PMTU discovery, nsr1 is expected to fragment packets from ns1 to ns2 as needed.
--if test_tcp_forwarding ns1 ns2; then
-+if test_tcp_forwarding $ns1 $ns2; then
- echo "PASS: flow offloaded for ns1/ns2"
- else
- echo "FAIL: flow offload for ns1/ns2:" 1>&2
-- ip netns exec nsr1 nft list ruleset
-+ ip netns exec $nsr1 nft list ruleset
- ret=1
- fi
-
- # delete default route, i.e. ns2 won't be able to reach ns1 and
- # will depend on ns1 being masqueraded in nsr1.
- # expect ns1 has nsr1 address.
--ip -net ns2 route del default via 10.0.2.1
--ip -net ns2 route del default via dead:2::1
--ip -net ns2 route add 192.168.10.1 via 10.0.2.1
-+ip -net $ns2 route del default via 10.0.2.1
-+ip -net $ns2 route del default via dead:2::1
-+ip -net $ns2 route add 192.168.10.1 via 10.0.2.1
-
- # Second test:
- # Same, but with NAT enabled.
--ip netns exec nsr1 nft -f - <<EOF
-+ip netns exec $nsr1 nft -f - <<EOF
- table ip nat {
- chain prerouting {
- type nat hook prerouting priority 0; policy accept;
-@@ -343,47 +353,47 @@ table ip nat {
- }
- EOF
-
--if test_tcp_forwarding_nat ns1 ns2; then
-+if test_tcp_forwarding_nat $ns1 $ns2; then
- echo "PASS: flow offloaded for ns1/ns2 with NAT"
- else
- echo "FAIL: flow offload for ns1/ns2 with NAT" 1>&2
-- ip netns exec nsr1 nft list ruleset
-+ ip netns exec $nsr1 nft list ruleset
- ret=1
- fi
-
- # Third test:
- # Same as second test, but with PMTU discovery enabled.
--handle=$(ip netns exec nsr1 nft -a list table inet filter | grep something-to-grep-for | cut -d \# -f 2)
-+handle=$(ip netns exec $nsr1 nft -a list table inet filter | grep something-to-grep-for | cut -d \# -f 2)
-
--if ! ip netns exec nsr1 nft delete rule inet filter forward $handle; then
-+if ! ip netns exec $nsr1 nft delete rule inet filter forward $handle; then
- echo "FAIL: Could not delete large-packet accept rule"
- exit 1
- fi
-
--ip netns exec ns1 sysctl net.ipv4.ip_no_pmtu_disc=0 > /dev/null
--ip netns exec ns2 sysctl net.ipv4.ip_no_pmtu_disc=0 > /dev/null
-+ip netns exec $ns1 sysctl net.ipv4.ip_no_pmtu_disc=0 > /dev/null
-+ip netns exec $ns2 sysctl net.ipv4.ip_no_pmtu_disc=0 > /dev/null
-
--if test_tcp_forwarding_nat ns1 ns2; then
-+if test_tcp_forwarding_nat $ns1 $ns2; then
- echo "PASS: flow offloaded for ns1/ns2 with NAT and pmtu discovery"
- else
- echo "FAIL: flow offload for ns1/ns2 with NAT and pmtu discovery" 1>&2
-- ip netns exec nsr1 nft list ruleset
-+ ip netns exec $nsr1 nft list ruleset
- fi
-
- # Another test:
- # Add bridge interface br0 to Router1, with NAT enabled.
--ip -net nsr1 link add name br0 type bridge
--ip -net nsr1 addr flush dev veth0
--ip -net nsr1 link set up dev veth0
--ip -net nsr1 link set veth0 master br0
--ip -net nsr1 addr add 10.0.1.1/24 dev br0
--ip -net nsr1 addr add dead:1::1/64 dev br0
--ip -net nsr1 link set up dev br0
-+ip -net $nsr1 link add name br0 type bridge
-+ip -net $nsr1 addr flush dev veth0
-+ip -net $nsr1 link set up dev veth0
-+ip -net $nsr1 link set veth0 master br0
-+ip -net $nsr1 addr add 10.0.1.1/24 dev br0
-+ip -net $nsr1 addr add dead:1::1/64 dev br0
-+ip -net $nsr1 link set up dev br0
-
--ip netns exec nsr1 sysctl net.ipv4.conf.br0.forwarding=1 > /dev/null
-+ip netns exec $nsr1 sysctl net.ipv4.conf.br0.forwarding=1 > /dev/null
-
- # br0 with NAT enabled.
--ip netns exec nsr1 nft -f - <<EOF
-+ip netns exec $nsr1 nft -f - <<EOF
- flush table ip nat
- table ip nat {
- chain prerouting {
-@@ -398,59 +408,59 @@ table ip nat {
- }
- EOF
-
--if test_tcp_forwarding_nat ns1 ns2; then
-+if test_tcp_forwarding_nat $ns1 $ns2; then
- echo "PASS: flow offloaded for ns1/ns2 with bridge NAT"
- else
- echo "FAIL: flow offload for ns1/ns2 with bridge NAT" 1>&2
-- ip netns exec nsr1 nft list ruleset
-+ ip netns exec $nsr1 nft list ruleset
- ret=1
- fi
-
- # Another test:
- # Add bridge interface br0 to Router1, with NAT and VLAN.
--ip -net nsr1 link set veth0 nomaster
--ip -net nsr1 link set down dev veth0
--ip -net nsr1 link add link veth0 name veth0.10 type vlan id 10
--ip -net nsr1 link set up dev veth0
--ip -net nsr1 link set up dev veth0.10
--ip -net nsr1 link set veth0.10 master br0
--
--ip -net ns1 addr flush dev eth0
--ip -net ns1 link add link eth0 name eth0.10 type vlan id 10
--ip -net ns1 link set eth0 up
--ip -net ns1 link set eth0.10 up
--ip -net ns1 addr add 10.0.1.99/24 dev eth0.10
--ip -net ns1 route add default via 10.0.1.1
--ip -net ns1 addr add dead:1::99/64 dev eth0.10
--
--if test_tcp_forwarding_nat ns1 ns2; then
-+ip -net $nsr1 link set veth0 nomaster
-+ip -net $nsr1 link set down dev veth0
-+ip -net $nsr1 link add link veth0 name veth0.10 type vlan id 10
-+ip -net $nsr1 link set up dev veth0
-+ip -net $nsr1 link set up dev veth0.10
-+ip -net $nsr1 link set veth0.10 master br0
-+
-+ip -net $ns1 addr flush dev eth0
-+ip -net $ns1 link add link eth0 name eth0.10 type vlan id 10
-+ip -net $ns1 link set eth0 up
-+ip -net $ns1 link set eth0.10 up
-+ip -net $ns1 addr add 10.0.1.99/24 dev eth0.10
-+ip -net $ns1 route add default via 10.0.1.1
-+ip -net $ns1 addr add dead:1::99/64 dev eth0.10
-+
-+if test_tcp_forwarding_nat $ns1 $ns2; then
- echo "PASS: flow offloaded for ns1/ns2 with bridge NAT and VLAN"
- else
- echo "FAIL: flow offload for ns1/ns2 with bridge NAT and VLAN" 1>&2
-- ip netns exec nsr1 nft list ruleset
-+ ip netns exec $nsr1 nft list ruleset
- ret=1
- fi
-
- # restore test topology (remove bridge and VLAN)
--ip -net nsr1 link set veth0 nomaster
--ip -net nsr1 link set veth0 down
--ip -net nsr1 link set veth0.10 down
--ip -net nsr1 link delete veth0.10 type vlan
--ip -net nsr1 link delete br0 type bridge
--ip -net ns1 addr flush dev eth0.10
--ip -net ns1 link set eth0.10 down
--ip -net ns1 link set eth0 down
--ip -net ns1 link delete eth0.10 type vlan
-+ip -net $nsr1 link set veth0 nomaster
-+ip -net $nsr1 link set veth0 down
-+ip -net $nsr1 link set veth0.10 down
-+ip -net $nsr1 link delete veth0.10 type vlan
-+ip -net $nsr1 link delete br0 type bridge
-+ip -net $ns1 addr flush dev eth0.10
-+ip -net $ns1 link set eth0.10 down
-+ip -net $ns1 link set eth0 down
-+ip -net $ns1 link delete eth0.10 type vlan
-
- # restore address in ns1 and nsr1
--ip -net ns1 link set eth0 up
--ip -net ns1 addr add 10.0.1.99/24 dev eth0
--ip -net ns1 route add default via 10.0.1.1
--ip -net ns1 addr add dead:1::99/64 dev eth0
--ip -net ns1 route add default via dead:1::1
--ip -net nsr1 addr add 10.0.1.1/24 dev veth0
--ip -net nsr1 addr add dead:1::1/64 dev veth0
--ip -net nsr1 link set up dev veth0
-+ip -net $ns1 link set eth0 up
-+ip -net $ns1 addr add 10.0.1.99/24 dev eth0
-+ip -net $ns1 route add default via 10.0.1.1
-+ip -net $ns1 addr add dead:1::99/64 dev eth0
-+ip -net $ns1 route add default via dead:1::1
-+ip -net $nsr1 addr add 10.0.1.1/24 dev veth0
-+ip -net $nsr1 addr add dead:1::1/64 dev veth0
-+ip -net $nsr1 link set up dev veth0
-
- KEY_SHA="0x"$(ps -xaf | sha1sum | cut -d " " -f 1)
- KEY_AES="0x"$(ps -xaf | md5sum | cut -d " " -f 1)
-@@ -480,23 +490,23 @@ do_esp() {
-
- }
-
--do_esp nsr1 192.168.10.1 192.168.10.2 10.0.1.0/24 10.0.2.0/24 $SPI1 $SPI2
-+do_esp $nsr1 192.168.10.1 192.168.10.2 10.0.1.0/24 10.0.2.0/24 $SPI1 $SPI2
-
--do_esp nsr2 192.168.10.2 192.168.10.1 10.0.2.0/24 10.0.1.0/24 $SPI2 $SPI1
-+do_esp $nsr2 192.168.10.2 192.168.10.1 10.0.2.0/24 10.0.1.0/24 $SPI2 $SPI1
-
--ip netns exec nsr1 nft delete table ip nat
-+ip netns exec $nsr1 nft delete table ip nat
-
- # restore default routes
--ip -net ns2 route del 192.168.10.1 via 10.0.2.1
--ip -net ns2 route add default via 10.0.2.1
--ip -net ns2 route add default via dead:2::1
-+ip -net $ns2 route del 192.168.10.1 via 10.0.2.1
-+ip -net $ns2 route add default via 10.0.2.1
-+ip -net $ns2 route add default via dead:2::1
-
--if test_tcp_forwarding ns1 ns2; then
-+if test_tcp_forwarding $ns1 $ns2; then
- echo "PASS: ipsec tunnel mode for ns1/ns2"
- else
- echo "FAIL: ipsec tunnel mode for ns1/ns2"
-- ip netns exec nsr1 nft list ruleset 1>&2
-- ip netns exec nsr1 cat /proc/net/xfrm_stat 1>&2
-+ ip netns exec $nsr1 nft list ruleset 1>&2
-+ ip netns exec $nsr1 cat /proc/net/xfrm_stat 1>&2
- fi
-
- exit $ret
---
-2.37.3
-
diff --git a/0064-platform-x86-serial-multi-instantiate-Add-CLSA0101-L.patch b/0064-platform-x86-serial-multi-instantiate-Add-CLSA0101-L.patch
deleted file mode 100644
index 3f9d9a1de53a..000000000000
--- a/0064-platform-x86-serial-multi-instantiate-Add-CLSA0101-L.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 0f31a350fd9a7c750bcde02f92eec3293b6bb667 Mon Sep 17 00:00:00 2001
-From: Lucas Tanure <tanureal@opensource.cirrus.com>
-Date: Wed, 27 Jul 2022 10:59:24 +0100
-Subject: [PATCH 64/73] platform/x86: serial-multi-instantiate: Add CLSA0101
- Laptop
-
-[ Upstream commit 88392a0dd0ab263edb4ca416ebdecabd8289158a ]
-
-The device CLSA0101 has two instances of CS35L41
-connected by I2C.
-
-Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
-Link: https://lore.kernel.org/r/20220727095924.80884-5-tanureal@opensource.cirrus.com
-Link: https://lore.kernel.org/r/20220816194639.13870-1-cam@neo-zeon.de
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/platform/x86/serial-multi-instantiate.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/drivers/platform/x86/serial-multi-instantiate.c b/drivers/platform/x86/serial-multi-instantiate.c
-index 1e8063b7c169..e98007197cf5 100644
---- a/drivers/platform/x86/serial-multi-instantiate.c
-+++ b/drivers/platform/x86/serial-multi-instantiate.c
-@@ -329,6 +329,7 @@ static const struct acpi_device_id smi_acpi_ids[] = {
- { "CSC3551", (unsigned long)&cs35l41_hda },
- /* Non-conforming _HID for Cirrus Logic already released */
- { "CLSA0100", (unsigned long)&cs35l41_hda },
-+ { "CLSA0101", (unsigned long)&cs35l41_hda },
- { }
- };
- MODULE_DEVICE_TABLE(acpi, smi_acpi_ids);
---
-2.37.3
-
diff --git a/0065-ALSA-hda-cs8409-Support-new-Dolphin-Variants.patch b/0065-ALSA-hda-cs8409-Support-new-Dolphin-Variants.patch
deleted file mode 100644
index 12997992dcb3..000000000000
--- a/0065-ALSA-hda-cs8409-Support-new-Dolphin-Variants.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 82af833b99dc51c8795d171dfd376b451506544a Mon Sep 17 00:00:00 2001
-From: Stefan Binding <sbinding@opensource.cirrus.com>
-Date: Tue, 16 Aug 2022 16:19:01 +0100
-Subject: [PATCH 65/73] ALSA: hda/cs8409: Support new Dolphin Variants
-
-[ Upstream commit 1ff954f9ab054675b9eb02dd14add8f7aa376d71 ]
-
-Add 4 new Dolphin Systems, same configuration as older systems.
-
-Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
-Link: https://lore.kernel.org/r/20220816151901.1398007-1-sbinding@opensource.cirrus.com
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- sound/pci/hda/patch_cs8409-tables.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/sound/pci/hda/patch_cs8409-tables.c b/sound/pci/hda/patch_cs8409-tables.c
-index 4f4cc8215917..5b140301ca66 100644
---- a/sound/pci/hda/patch_cs8409-tables.c
-+++ b/sound/pci/hda/patch_cs8409-tables.c
-@@ -546,6 +546,10 @@ const struct snd_pci_quirk cs8409_fixup_tbl[] = {
- SND_PCI_QUIRK(0x1028, 0x0BD6, "Dolphin", CS8409_DOLPHIN),
- SND_PCI_QUIRK(0x1028, 0x0BD7, "Dolphin", CS8409_DOLPHIN),
- SND_PCI_QUIRK(0x1028, 0x0BD8, "Dolphin", CS8409_DOLPHIN),
-+ SND_PCI_QUIRK(0x1028, 0x0C43, "Dolphin", CS8409_DOLPHIN),
-+ SND_PCI_QUIRK(0x1028, 0x0C50, "Dolphin", CS8409_DOLPHIN),
-+ SND_PCI_QUIRK(0x1028, 0x0C51, "Dolphin", CS8409_DOLPHIN),
-+ SND_PCI_QUIRK(0x1028, 0x0C52, "Dolphin", CS8409_DOLPHIN),
- {} /* terminator */
- };
-
---
-2.37.3
-
diff --git a/0066-btrfs-move-lockdep-class-helpers-to-locking.c.patch b/0066-btrfs-move-lockdep-class-helpers-to-locking.c.patch
deleted file mode 100644
index 2a42f10c05ba..000000000000
--- a/0066-btrfs-move-lockdep-class-helpers-to-locking.c.patch
+++ /dev/null
@@ -1,246 +0,0 @@
-From 98f803acf8ac18a1cc159473137d563db4df0aa8 Mon Sep 17 00:00:00 2001
-From: Josef Bacik <josef@toxicpanda.com>
-Date: Tue, 26 Jul 2022 16:24:03 -0400
-Subject: [PATCH 66/73] btrfs: move lockdep class helpers to locking.c
-
-[ Upstream commit 0a27a0474d146eb79e09ec88bf0d4229f4cfc1b8 ]
-
-These definitions exist in disk-io.c, which is not related to the
-locking. Move this over to locking.h/c where it makes more sense.
-
-Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
-Signed-off-by: Josef Bacik <josef@toxicpanda.com>
-Reviewed-by: David Sterba <dsterba@suse.com>
-Signed-off-by: David Sterba <dsterba@suse.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- fs/btrfs/disk-io.c | 82 ----------------------------------------------
- fs/btrfs/disk-io.h | 10 ------
- fs/btrfs/locking.c | 80 ++++++++++++++++++++++++++++++++++++++++++++
- fs/btrfs/locking.h | 9 +++++
- 4 files changed, 89 insertions(+), 92 deletions(-)
-
-diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
-index bc3030661583..a2505cfc6bc1 100644
---- a/fs/btrfs/disk-io.c
-+++ b/fs/btrfs/disk-io.c
-@@ -121,88 +121,6 @@ struct async_submit_bio {
- blk_status_t status;
- };
-
--/*
-- * Lockdep class keys for extent_buffer->lock's in this root. For a given
-- * eb, the lockdep key is determined by the btrfs_root it belongs to and
-- * the level the eb occupies in the tree.
-- *
-- * Different roots are used for different purposes and may nest inside each
-- * other and they require separate keysets. As lockdep keys should be
-- * static, assign keysets according to the purpose of the root as indicated
-- * by btrfs_root->root_key.objectid. This ensures that all special purpose
-- * roots have separate keysets.
-- *
-- * Lock-nesting across peer nodes is always done with the immediate parent
-- * node locked thus preventing deadlock. As lockdep doesn't know this, use
-- * subclass to avoid triggering lockdep warning in such cases.
-- *
-- * The key is set by the readpage_end_io_hook after the buffer has passed
-- * csum validation but before the pages are unlocked. It is also set by
-- * btrfs_init_new_buffer on freshly allocated blocks.
-- *
-- * We also add a check to make sure the highest level of the tree is the
-- * same as our lockdep setup here. If BTRFS_MAX_LEVEL changes, this code
-- * needs update as well.
-- */
--#ifdef CONFIG_DEBUG_LOCK_ALLOC
--# if BTRFS_MAX_LEVEL != 8
--# error
--# endif
--
--#define DEFINE_LEVEL(stem, level) \
-- .names[level] = "btrfs-" stem "-0" #level,
--
--#define DEFINE_NAME(stem) \
-- DEFINE_LEVEL(stem, 0) \
-- DEFINE_LEVEL(stem, 1) \
-- DEFINE_LEVEL(stem, 2) \
-- DEFINE_LEVEL(stem, 3) \
-- DEFINE_LEVEL(stem, 4) \
-- DEFINE_LEVEL(stem, 5) \
-- DEFINE_LEVEL(stem, 6) \
-- DEFINE_LEVEL(stem, 7)
--
--static struct btrfs_lockdep_keyset {
-- u64 id; /* root objectid */
-- /* Longest entry: btrfs-free-space-00 */
-- char names[BTRFS_MAX_LEVEL][20];
-- struct lock_class_key keys[BTRFS_MAX_LEVEL];
--} btrfs_lockdep_keysets[] = {
-- { .id = BTRFS_ROOT_TREE_OBJECTID, DEFINE_NAME("root") },
-- { .id = BTRFS_EXTENT_TREE_OBJECTID, DEFINE_NAME("extent") },
-- { .id = BTRFS_CHUNK_TREE_OBJECTID, DEFINE_NAME("chunk") },
-- { .id = BTRFS_DEV_TREE_OBJECTID, DEFINE_NAME("dev") },
-- { .id = BTRFS_CSUM_TREE_OBJECTID, DEFINE_NAME("csum") },
-- { .id = BTRFS_QUOTA_TREE_OBJECTID, DEFINE_NAME("quota") },
-- { .id = BTRFS_TREE_LOG_OBJECTID, DEFINE_NAME("log") },
-- { .id = BTRFS_TREE_RELOC_OBJECTID, DEFINE_NAME("treloc") },
-- { .id = BTRFS_DATA_RELOC_TREE_OBJECTID, DEFINE_NAME("dreloc") },
-- { .id = BTRFS_UUID_TREE_OBJECTID, DEFINE_NAME("uuid") },
-- { .id = BTRFS_FREE_SPACE_TREE_OBJECTID, DEFINE_NAME("free-space") },
-- { .id = 0, DEFINE_NAME("tree") },
--};
--
--#undef DEFINE_LEVEL
--#undef DEFINE_NAME
--
--void btrfs_set_buffer_lockdep_class(u64 objectid, struct extent_buffer *eb,
-- int level)
--{
-- struct btrfs_lockdep_keyset *ks;
--
-- BUG_ON(level >= ARRAY_SIZE(ks->keys));
--
-- /* find the matching keyset, id 0 is the default entry */
-- for (ks = btrfs_lockdep_keysets; ks->id; ks++)
-- if (ks->id == objectid)
-- break;
--
-- lockdep_set_class_and_name(&eb->lock,
-- &ks->keys[level], ks->names[level]);
--}
--
--#endif
--
- /*
- * Compute the csum of a btree block and store the result to provided buffer.
- */
-diff --git a/fs/btrfs/disk-io.h b/fs/btrfs/disk-io.h
-index 4ee8c42c9f78..b4962b7d7117 100644
---- a/fs/btrfs/disk-io.h
-+++ b/fs/btrfs/disk-io.h
-@@ -148,14 +148,4 @@ int btrfs_init_root_free_objectid(struct btrfs_root *root);
- int __init btrfs_end_io_wq_init(void);
- void __cold btrfs_end_io_wq_exit(void);
-
--#ifdef CONFIG_DEBUG_LOCK_ALLOC
--void btrfs_set_buffer_lockdep_class(u64 objectid,
-- struct extent_buffer *eb, int level);
--#else
--static inline void btrfs_set_buffer_lockdep_class(u64 objectid,
-- struct extent_buffer *eb, int level)
--{
--}
--#endif
--
- #endif
-diff --git a/fs/btrfs/locking.c b/fs/btrfs/locking.c
-index 33461b4f9c8b..5747c63929df 100644
---- a/fs/btrfs/locking.c
-+++ b/fs/btrfs/locking.c
-@@ -13,6 +13,86 @@
- #include "extent_io.h"
- #include "locking.h"
-
-+/*
-+ * Lockdep class keys for extent_buffer->lock's in this root. For a given
-+ * eb, the lockdep key is determined by the btrfs_root it belongs to and
-+ * the level the eb occupies in the tree.
-+ *
-+ * Different roots are used for different purposes and may nest inside each
-+ * other and they require separate keysets. As lockdep keys should be
-+ * static, assign keysets according to the purpose of the root as indicated
-+ * by btrfs_root->root_key.objectid. This ensures that all special purpose
-+ * roots have separate keysets.
-+ *
-+ * Lock-nesting across peer nodes is always done with the immediate parent
-+ * node locked thus preventing deadlock. As lockdep doesn't know this, use
-+ * subclass to avoid triggering lockdep warning in such cases.
-+ *
-+ * The key is set by the readpage_end_io_hook after the buffer has passed
-+ * csum validation but before the pages are unlocked. It is also set by
-+ * btrfs_init_new_buffer on freshly allocated blocks.
-+ *
-+ * We also add a check to make sure the highest level of the tree is the
-+ * same as our lockdep setup here. If BTRFS_MAX_LEVEL changes, this code
-+ * needs update as well.
-+ */
-+#ifdef CONFIG_DEBUG_LOCK_ALLOC
-+#if BTRFS_MAX_LEVEL != 8
-+#error
-+#endif
-+
-+#define DEFINE_LEVEL(stem, level) \
-+ .names[level] = "btrfs-" stem "-0" #level,
-+
-+#define DEFINE_NAME(stem) \
-+ DEFINE_LEVEL(stem, 0) \
-+ DEFINE_LEVEL(stem, 1) \
-+ DEFINE_LEVEL(stem, 2) \
-+ DEFINE_LEVEL(stem, 3) \
-+ DEFINE_LEVEL(stem, 4) \
-+ DEFINE_LEVEL(stem, 5) \
-+ DEFINE_LEVEL(stem, 6) \
-+ DEFINE_LEVEL(stem, 7)
-+
-+static struct btrfs_lockdep_keyset {
-+ u64 id; /* root objectid */
-+ /* Longest entry: btrfs-free-space-00 */
-+ char names[BTRFS_MAX_LEVEL][20];
-+ struct lock_class_key keys[BTRFS_MAX_LEVEL];
-+} btrfs_lockdep_keysets[] = {
-+ { .id = BTRFS_ROOT_TREE_OBJECTID, DEFINE_NAME("root") },
-+ { .id = BTRFS_EXTENT_TREE_OBJECTID, DEFINE_NAME("extent") },
-+ { .id = BTRFS_CHUNK_TREE_OBJECTID, DEFINE_NAME("chunk") },
-+ { .id = BTRFS_DEV_TREE_OBJECTID, DEFINE_NAME("dev") },
-+ { .id = BTRFS_CSUM_TREE_OBJECTID, DEFINE_NAME("csum") },
-+ { .id = BTRFS_QUOTA_TREE_OBJECTID, DEFINE_NAME("quota") },
-+ { .id = BTRFS_TREE_LOG_OBJECTID, DEFINE_NAME("log") },
-+ { .id = BTRFS_TREE_RELOC_OBJECTID, DEFINE_NAME("treloc") },
-+ { .id = BTRFS_DATA_RELOC_TREE_OBJECTID, DEFINE_NAME("dreloc") },
-+ { .id = BTRFS_UUID_TREE_OBJECTID, DEFINE_NAME("uuid") },
-+ { .id = BTRFS_FREE_SPACE_TREE_OBJECTID, DEFINE_NAME("free-space") },
-+ { .id = 0, DEFINE_NAME("tree") },
-+};
-+
-+#undef DEFINE_LEVEL
-+#undef DEFINE_NAME
-+
-+void btrfs_set_buffer_lockdep_class(u64 objectid, struct extent_buffer *eb, int level)
-+{
-+ struct btrfs_lockdep_keyset *ks;
-+
-+ BUG_ON(level >= ARRAY_SIZE(ks->keys));
-+
-+ /* Find the matching keyset, id 0 is the default entry */
-+ for (ks = btrfs_lockdep_keysets; ks->id; ks++)
-+ if (ks->id == objectid)
-+ break;
-+
-+ lockdep_set_class_and_name(&eb->lock, &ks->keys[level], ks->names[level]);
-+}
-+
-+#endif
-+
- /*
- * Extent buffer locking
- * =====================
-diff --git a/fs/btrfs/locking.h b/fs/btrfs/locking.h
-index bbc45534ae9a..b21372cab840 100644
---- a/fs/btrfs/locking.h
-+++ b/fs/btrfs/locking.h
-@@ -131,4 +131,13 @@ void btrfs_drew_write_unlock(struct btrfs_drew_lock *lock);
- void btrfs_drew_read_lock(struct btrfs_drew_lock *lock);
- void btrfs_drew_read_unlock(struct btrfs_drew_lock *lock);
-
-+#ifdef CONFIG_DEBUG_LOCK_ALLOC
-+void btrfs_set_buffer_lockdep_class(u64 objectid, struct extent_buffer *eb, int level);
-+#else
-+static inline void btrfs_set_buffer_lockdep_class(u64 objectid,
-+ struct extent_buffer *eb, int level)
-+{
-+}
-+#endif
-+
- #endif
---
-2.37.3
-
diff --git a/0067-btrfs-fix-lockdep-splat-with-reloc-root-extent-buffe.patch b/0067-btrfs-fix-lockdep-splat-with-reloc-root-extent-buffe.patch
deleted file mode 100644
index 51f5185f8596..000000000000
--- a/0067-btrfs-fix-lockdep-splat-with-reloc-root-extent-buffe.patch
+++ /dev/null
@@ -1,365 +0,0 @@
-From b83e1567af28055b9a0bb7b10fcdd58b02d00954 Mon Sep 17 00:00:00 2001
-From: Josef Bacik <josef@toxicpanda.com>
-Date: Tue, 26 Jul 2022 16:24:04 -0400
-Subject: [PATCH 67/73] btrfs: fix lockdep splat with reloc root extent buffers
-
-[ Upstream commit b40130b23ca4a08c5785d5a3559805916bddba3c ]
-
-We have been hitting the following lockdep splat with btrfs/187 recently
-
- WARNING: possible circular locking dependency detected
- 5.19.0-rc8+ #775 Not tainted
- ------------------------------------------------------
- btrfs/752500 is trying to acquire lock:
- ffff97e1875a97b8 (btrfs-treloc-02#2){+.+.}-{3:3}, at: __btrfs_tree_lock+0x24/0x110
-
- but task is already holding lock:
- ffff97e1875a9278 (btrfs-tree-01/1){+.+.}-{3:3}, at: __btrfs_tree_lock+0x24/0x110
-
- which lock already depends on the new lock.
-
- the existing dependency chain (in reverse order) is:
-
- -> #2 (btrfs-tree-01/1){+.+.}-{3:3}:
- down_write_nested+0x41/0x80
- __btrfs_tree_lock+0x24/0x110
- btrfs_init_new_buffer+0x7d/0x2c0
- btrfs_alloc_tree_block+0x120/0x3b0
- __btrfs_cow_block+0x136/0x600
- btrfs_cow_block+0x10b/0x230
- btrfs_search_slot+0x53b/0xb70
- btrfs_lookup_inode+0x2a/0xa0
- __btrfs_update_delayed_inode+0x5f/0x280
- btrfs_async_run_delayed_root+0x24c/0x290
- btrfs_work_helper+0xf2/0x3e0
- process_one_work+0x271/0x590
- worker_thread+0x52/0x3b0
- kthread+0xf0/0x120
- ret_from_fork+0x1f/0x30
-
- -> #1 (btrfs-tree-01){++++}-{3:3}:
- down_write_nested+0x41/0x80
- __btrfs_tree_lock+0x24/0x110
- btrfs_search_slot+0x3c3/0xb70
- do_relocation+0x10c/0x6b0
- relocate_tree_blocks+0x317/0x6d0
- relocate_block_group+0x1f1/0x560
- btrfs_relocate_block_group+0x23e/0x400
- btrfs_relocate_chunk+0x4c/0x140
- btrfs_balance+0x755/0xe40
- btrfs_ioctl+0x1ea2/0x2c90
- __x64_sys_ioctl+0x88/0xc0
- do_syscall_64+0x38/0x90
- entry_SYSCALL_64_after_hwframe+0x63/0xcd
-
- -> #0 (btrfs-treloc-02#2){+.+.}-{3:3}:
- __lock_acquire+0x1122/0x1e10
- lock_acquire+0xc2/0x2d0
- down_write_nested+0x41/0x80
- __btrfs_tree_lock+0x24/0x110
- btrfs_lock_root_node+0x31/0x50
- btrfs_search_slot+0x1cb/0xb70
- replace_path+0x541/0x9f0
- merge_reloc_root+0x1d6/0x610
- merge_reloc_roots+0xe2/0x260
- relocate_block_group+0x2c8/0x560
- btrfs_relocate_block_group+0x23e/0x400
- btrfs_relocate_chunk+0x4c/0x140
- btrfs_balance+0x755/0xe40
- btrfs_ioctl+0x1ea2/0x2c90
- __x64_sys_ioctl+0x88/0xc0
- do_syscall_64+0x38/0x90
- entry_SYSCALL_64_after_hwframe+0x63/0xcd
-
- other info that might help us debug this:
-
- Chain exists of:
- btrfs-treloc-02#2 --> btrfs-tree-01 --> btrfs-tree-01/1
-
- Possible unsafe locking scenario:
-
- CPU0 CPU1
- ---- ----
- lock(btrfs-tree-01/1);
- lock(btrfs-tree-01);
- lock(btrfs-tree-01/1);
- lock(btrfs-treloc-02#2);
-
- *** DEADLOCK ***
-
- 7 locks held by btrfs/752500:
- #0: ffff97e292fdf460 (sb_writers#12){.+.+}-{0:0}, at: btrfs_ioctl+0x208/0x2c90
- #1: ffff97e284c02050 (&fs_info->reclaim_bgs_lock){+.+.}-{3:3}, at: btrfs_balance+0x55f/0xe40
- #2: ffff97e284c00878 (&fs_info->cleaner_mutex){+.+.}-{3:3}, at: btrfs_relocate_block_group+0x236/0x400
- #3: ffff97e292fdf650 (sb_internal#2){.+.+}-{0:0}, at: merge_reloc_root+0xef/0x610
- #4: ffff97e284c02378 (btrfs_trans_num_writers){++++}-{0:0}, at: join_transaction+0x1a8/0x5a0
- #5: ffff97e284c023a0 (btrfs_trans_num_extwriters){++++}-{0:0}, at: join_transaction+0x1a8/0x5a0
- #6: ffff97e1875a9278 (btrfs-tree-01/1){+.+.}-{3:3}, at: __btrfs_tree_lock+0x24/0x110
-
- stack backtrace:
- CPU: 1 PID: 752500 Comm: btrfs Not tainted 5.19.0-rc8+ #775
- Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.13.0-2.fc32 04/01/2014
- Call Trace:
-
- dump_stack_lvl+0x56/0x73
- check_noncircular+0xd6/0x100
- ? lock_is_held_type+0xe2/0x140
- __lock_acquire+0x1122/0x1e10
- lock_acquire+0xc2/0x2d0
- ? __btrfs_tree_lock+0x24/0x110
- down_write_nested+0x41/0x80
- ? __btrfs_tree_lock+0x24/0x110
- __btrfs_tree_lock+0x24/0x110
- btrfs_lock_root_node+0x31/0x50
- btrfs_search_slot+0x1cb/0xb70
- ? lock_release+0x137/0x2d0
- ? _raw_spin_unlock+0x29/0x50
- ? release_extent_buffer+0x128/0x180
- replace_path+0x541/0x9f0
- merge_reloc_root+0x1d6/0x610
- merge_reloc_roots+0xe2/0x260
- relocate_block_group+0x2c8/0x560
- btrfs_relocate_block_group+0x23e/0x400
- btrfs_relocate_chunk+0x4c/0x140
- btrfs_balance+0x755/0xe40
- btrfs_ioctl+0x1ea2/0x2c90
- ? lock_is_held_type+0xe2/0x140
- ? lock_is_held_type+0xe2/0x140
- ? __x64_sys_ioctl+0x88/0xc0
- __x64_sys_ioctl+0x88/0xc0
- do_syscall_64+0x38/0x90
- entry_SYSCALL_64_after_hwframe+0x63/0xcd
-
-This isn't necessarily new, it's just tricky to hit in practice. There
-are two competing things going on here. With relocation we create a
-snapshot of every fs tree with a reloc tree. Any extent buffers that
-get initialized here are initialized with the reloc root lockdep key.
-However since it is a snapshot, any blocks that are currently in cache
-that originally belonged to the fs tree will have the normal tree
-lockdep key set. This creates the lock dependency of
-
- reloc tree -> normal tree
-
-for the extent buffer locking during the first phase of the relocation
-as we walk down the reloc root to relocate blocks.
-
-However this is problematic because the final phase of the relocation is
-merging the reloc root into the original fs root. This involves
-searching down to any keys that exist in the original fs root and then
-swapping the relocated block and the original fs root block. We have to
-search down to the fs root first, and then go search the reloc root for
-the block we need to replace. This creates the dependency of
-
- normal tree -> reloc tree
-
-which is why lockdep complains.
-
-Additionally even if we were to fix this particular mismatch with a
-different nesting for the merge case, we're still slotting in a block
-that has a owner of the reloc root objectid into a normal tree, so that
-block will have its lockdep key set to the tree reloc root, and create a
-lockdep splat later on when we wander into that block from the fs root.
-
-Unfortunately the only solution here is to make sure we do not set the
-lockdep key to the reloc tree lockdep key normally, and then reset any
-blocks we wander into from the reloc root when we're doing the merged.
-
-This solves the problem of having mixed tree reloc keys intermixed with
-normal tree keys, and then allows us to make sure in the merge case we
-maintain the lock order of
-
- normal tree -> reloc tree
-
-We handle this by setting a bit on the reloc root when we do the search
-for the block we want to relocate, and any block we search into or COW
-at that point gets set to the reloc tree key. This works correctly
-because we only ever COW down to the parent node, so we aren't resetting
-the key for the block we're linking into the fs root.
-
-With this patch we no longer have the lockdep splat in btrfs/187.
-
-Signed-off-by: Josef Bacik <josef@toxicpanda.com>
-Reviewed-by: David Sterba <dsterba@suse.com>
-Signed-off-by: David Sterba <dsterba@suse.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- fs/btrfs/ctree.c | 3 +++
- fs/btrfs/ctree.h | 2 ++
- fs/btrfs/extent-tree.c | 18 +++++++++++++++++-
- fs/btrfs/extent_io.c | 11 ++++++++++-
- fs/btrfs/locking.c | 11 +++++++++++
- fs/btrfs/locking.h | 5 +++++
- fs/btrfs/relocation.c | 2 ++
- 7 files changed, 50 insertions(+), 2 deletions(-)
-
-diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
-index 6e556031a8f3..ebfa35fe1c38 100644
---- a/fs/btrfs/ctree.c
-+++ b/fs/btrfs/ctree.c
-@@ -2075,6 +2075,9 @@ int btrfs_search_slot(struct btrfs_trans_handle *trans, struct btrfs_root *root,
-
- if (!p->skip_locking) {
- level = btrfs_header_level(b);
-+
-+ btrfs_maybe_reset_lockdep_class(root, b);
-+
- if (level <= write_lock_level) {
- btrfs_tree_lock(b);
- p->locks[level] = BTRFS_WRITE_LOCK;
-diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
-index 7d3ca3ea0bce..4d8acd7e63eb 100644
---- a/fs/btrfs/ctree.h
-+++ b/fs/btrfs/ctree.h
-@@ -1146,6 +1146,8 @@ enum {
- BTRFS_ROOT_ORPHAN_CLEANUP,
- /* This root has a drop operation that was started previously. */
- BTRFS_ROOT_UNFINISHED_DROP,
-+ /* This reloc root needs to have its buffers lockdep class reset. */
-+ BTRFS_ROOT_RESET_LOCKDEP_CLASS,
- };
-
- static inline void btrfs_wake_unfinished_drop(struct btrfs_fs_info *fs_info)
-diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
-index ced3fc76063f..92f3f5ed8bf1 100644
---- a/fs/btrfs/extent-tree.c
-+++ b/fs/btrfs/extent-tree.c
-@@ -4871,6 +4871,7 @@ btrfs_init_new_buffer(struct btrfs_trans_handle *trans, struct btrfs_root *root,
- {
- struct btrfs_fs_info *fs_info = root->fs_info;
- struct extent_buffer *buf;
-+ u64 lockdep_owner = owner;
-
- buf = btrfs_find_create_tree_block(fs_info, bytenr, owner, level);
- if (IS_ERR(buf))
-@@ -4889,12 +4890,27 @@ btrfs_init_new_buffer(struct btrfs_trans_handle *trans, struct btrfs_root *root,
- return ERR_PTR(-EUCLEAN);
- }
-
-+ /*
-+ * The reloc trees are just snapshots, so we need them to appear to be
-+ * just like any other fs tree WRT lockdep.
-+ *
-+ * The exception however is in replace_path() in relocation, where we
-+ * hold the lock on the original fs root and then search for the reloc
-+ * root. At that point we need to make sure any reloc root buffers are
-+ * set to the BTRFS_TREE_RELOC_OBJECTID lockdep class in order to make
-+ * lockdep happy.
-+ */
-+ if (lockdep_owner == BTRFS_TREE_RELOC_OBJECTID &&
-+ !test_bit(BTRFS_ROOT_RESET_LOCKDEP_CLASS, &root->state))
-+ lockdep_owner = BTRFS_FS_TREE_OBJECTID;
-+
- /*
- * This needs to stay, because we could allocate a freed block from an
- * old tree into a new tree, so we need to make sure this new block is
- * set to the appropriate level and owner.
- */
-- btrfs_set_buffer_lockdep_class(owner, buf, level);
-+ btrfs_set_buffer_lockdep_class(lockdep_owner, buf, level);
-+
- __btrfs_tree_lock(buf, nest);
- btrfs_clean_tree_block(buf);
- clear_bit(EXTENT_BUFFER_STALE, &buf->bflags);
-diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
-index cda25018ebd7..5785ed241f6f 100644
---- a/fs/btrfs/extent_io.c
-+++ b/fs/btrfs/extent_io.c
-@@ -6228,6 +6228,7 @@ struct extent_buffer *alloc_extent_buffer(struct btrfs_fs_info *fs_info,
- struct extent_buffer *exists = NULL;
- struct page *p;
- struct address_space *mapping = fs_info->btree_inode->i_mapping;
-+ u64 lockdep_owner = owner_root;
- int uptodate = 1;
- int ret;
-
-@@ -6252,7 +6253,15 @@ struct extent_buffer *alloc_extent_buffer(struct btrfs_fs_info *fs_info,
- eb = __alloc_extent_buffer(fs_info, start, len);
- if (!eb)
- return ERR_PTR(-ENOMEM);
-- btrfs_set_buffer_lockdep_class(owner_root, eb, level);
-+
-+ /*
-+ * The reloc trees are just snapshots, so we need them to appear to be
-+ * just like any other fs tree WRT lockdep.
-+ */
-+ if (lockdep_owner == BTRFS_TREE_RELOC_OBJECTID)
-+ lockdep_owner = BTRFS_FS_TREE_OBJECTID;
-+
-+ btrfs_set_buffer_lockdep_class(lockdep_owner, eb, level);
-
- num_pages = num_extent_pages(eb);
- for (i = 0; i < num_pages; i++, index++) {
-diff --git a/fs/btrfs/locking.c b/fs/btrfs/locking.c
-index 5747c63929df..9063072b399b 100644
---- a/fs/btrfs/locking.c
-+++ b/fs/btrfs/locking.c
-@@ -91,6 +91,13 @@ void btrfs_set_buffer_lockdep_class(u64 objectid, struct extent_buffer *eb, int
- lockdep_set_class_and_name(&eb->lock, &ks->keys[level], ks->names[level]);
- }
-
-+void btrfs_maybe_reset_lockdep_class(struct btrfs_root *root, struct extent_buffer *eb)
-+{
-+ if (test_bit(BTRFS_ROOT_RESET_LOCKDEP_CLASS, &root->state))
-+ btrfs_set_buffer_lockdep_class(root->root_key.objectid,
-+ eb, btrfs_header_level(eb));
-+}
-+
- #endif
-
- /*
-@@ -244,6 +251,8 @@ struct extent_buffer *btrfs_lock_root_node(struct btrfs_root *root)
-
- while (1) {
- eb = btrfs_root_node(root);
-+
-+ btrfs_maybe_reset_lockdep_class(root, eb);
- btrfs_tree_lock(eb);
- if (eb == root->node)
- break;
-@@ -265,6 +274,8 @@ struct extent_buffer *btrfs_read_lock_root_node(struct btrfs_root *root)
-
- while (1) {
- eb = btrfs_root_node(root);
-+
-+ btrfs_maybe_reset_lockdep_class(root, eb);
- btrfs_tree_read_lock(eb);
- if (eb == root->node)
- break;
-diff --git a/fs/btrfs/locking.h b/fs/btrfs/locking.h
-index b21372cab840..ab268be09bb5 100644
---- a/fs/btrfs/locking.h
-+++ b/fs/btrfs/locking.h
-@@ -133,11 +133,16 @@ void btrfs_drew_read_unlock(struct btrfs_drew_lock *lock);
-
- #ifdef CONFIG_DEBUG_LOCK_ALLOC
- void btrfs_set_buffer_lockdep_class(u64 objectid, struct extent_buffer *eb, int level);
-+void btrfs_maybe_reset_lockdep_class(struct btrfs_root *root, struct extent_buffer *eb);
- #else
- static inline void btrfs_set_buffer_lockdep_class(u64 objectid,
- struct extent_buffer *eb, int level)
- {
- }
-+static inline void btrfs_maybe_reset_lockdep_class(struct btrfs_root *root,
-+ struct extent_buffer *eb)
-+{
-+}
- #endif
-
- #endif
-diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c
-index 33411baf5c7a..45c02aba2492 100644
---- a/fs/btrfs/relocation.c
-+++ b/fs/btrfs/relocation.c
-@@ -1326,7 +1326,9 @@ int replace_path(struct btrfs_trans_handle *trans, struct reloc_control *rc,
- btrfs_release_path(path);
-
- path->lowest_level = level;
-+ set_bit(BTRFS_ROOT_RESET_LOCKDEP_CLASS, &src->state);
- ret = btrfs_search_slot(trans, src, &key, path, 0, 1);
-+ clear_bit(BTRFS_ROOT_RESET_LOCKDEP_CLASS, &src->state);
- path->lowest_level = 0;
- if (ret) {
- if (ret > 0)
---
-2.37.3
-
diff --git a/0068-btrfs-tree-checker-check-for-overlapping-extent-item.patch b/0068-btrfs-tree-checker-check-for-overlapping-extent-item.patch
deleted file mode 100644
index 26afc28bb264..000000000000
--- a/0068-btrfs-tree-checker-check-for-overlapping-extent-item.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 8a239dd886e25d03bb2581c8ab30e8a1a12446b1 Mon Sep 17 00:00:00 2001
-From: Josef Bacik <josef@toxicpanda.com>
-Date: Wed, 3 Aug 2022 14:28:47 -0400
-Subject: [PATCH 68/73] btrfs: tree-checker: check for overlapping extent items
-
-[ Upstream commit 899b7f69f244e539ea5df1b4d756046337de44a5 ]
-
-We're seeing a weird problem in production where we have overlapping
-extent items in the extent tree. It's unclear where these are coming
-from, and in debugging we realized there's no check in the tree checker
-for this sort of problem. Add a check to the tree-checker to make sure
-that the extents do not overlap each other.
-
-Reviewed-by: Qu Wenruo <wqu@suse.com>
-Signed-off-by: Josef Bacik <josef@toxicpanda.com>
-Reviewed-by: David Sterba <dsterba@suse.com>
-Signed-off-by: David Sterba <dsterba@suse.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- fs/btrfs/tree-checker.c | 25 +++++++++++++++++++++++--
- 1 file changed, 23 insertions(+), 2 deletions(-)
-
-diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c
-index 9e0e0ae2288c..43f905ab0a18 100644
---- a/fs/btrfs/tree-checker.c
-+++ b/fs/btrfs/tree-checker.c
-@@ -1233,7 +1233,8 @@ static void extent_err(const struct extent_buffer *eb, int slot,
- }
-
- static int check_extent_item(struct extent_buffer *leaf,
-- struct btrfs_key *key, int slot)
-+ struct btrfs_key *key, int slot,
-+ struct btrfs_key *prev_key)
- {
- struct btrfs_fs_info *fs_info = leaf->fs_info;
- struct btrfs_extent_item *ei;
-@@ -1453,6 +1454,26 @@ static int check_extent_item(struct extent_buffer *leaf,
- total_refs, inline_refs);
- return -EUCLEAN;
- }
-+
-+ if ((prev_key->type == BTRFS_EXTENT_ITEM_KEY) ||
-+ (prev_key->type == BTRFS_METADATA_ITEM_KEY)) {
-+ u64 prev_end = prev_key->objectid;
-+
-+ if (prev_key->type == BTRFS_METADATA_ITEM_KEY)
-+ prev_end += fs_info->nodesize;
-+ else
-+ prev_end += prev_key->offset;
-+
-+ if (unlikely(prev_end > key->objectid)) {
-+ extent_err(leaf, slot,
-+ "previous extent [%llu %u %llu] overlaps current extent [%llu %u %llu]",
-+ prev_key->objectid, prev_key->type,
-+ prev_key->offset, key->objectid, key->type,
-+ key->offset);
-+ return -EUCLEAN;
-+ }
-+ }
-+
- return 0;
- }
-
-@@ -1621,7 +1642,7 @@ static int check_leaf_item(struct extent_buffer *leaf,
- break;
- case BTRFS_EXTENT_ITEM_KEY:
- case BTRFS_METADATA_ITEM_KEY:
-- ret = check_extent_item(leaf, key, slot);
-+ ret = check_extent_item(leaf, key, slot, prev_key);
- break;
- case BTRFS_TREE_BLOCK_REF_KEY:
- case BTRFS_SHARED_DATA_REF_KEY:
---
-2.37.3
-
diff --git a/0069-android-binder-fix-lockdep-check-on-clearing-vma.patch b/0069-android-binder-fix-lockdep-check-on-clearing-vma.patch
deleted file mode 100644
index 175dbc128735..000000000000
--- a/0069-android-binder-fix-lockdep-check-on-clearing-vma.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From d25d6744c46b8289d61180bafb30f3140fef24a4 Mon Sep 17 00:00:00 2001
-From: Liam Howlett <liam.howlett@oracle.com>
-Date: Mon, 27 Jun 2022 15:18:59 +0000
-Subject: [PATCH 69/73] android: binder: fix lockdep check on clearing vma
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-commit b0cab80ecd54ae3b2356bb081af0bffd538c8265 upstream.
-
-When munmapping a vma, the mmap_lock can be degraded to a write before
-calling close() on the file handle. The binder close() function calls
-binder_alloc_set_vma() to clear the vma address, which now has a lock dep
-check for writing on the mmap_lock. Change the lockdep check to ensure
-the reading lock is held while clearing and keep the write check while
-writing.
-
-Link: https://lkml.kernel.org/r/20220627151857.2316964-1-Liam.Howlett@oracle.com
-Fixes: 472a68df605b ("android: binder: stop saving a pointer to the VMA")
-Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
-Reported-by: syzbot+da54fa8d793ca89c741f@syzkaller.appspotmail.com
-Acked-by: Todd Kjos <tkjos@google.com>
-Cc: "Arve Hjønnevåg" <arve@android.com>
-Cc: Christian Brauner (Microsoft) <brauner@kernel.org>
-Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Cc: Hridya Valsaraju <hridya@google.com>
-Cc: Joel Fernandes <joel@joelfernandes.org>
-Cc: Martijn Coenen <maco@android.com>
-Cc: Suren Baghdasaryan <surenb@google.com>
-Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/android/binder_alloc.c | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/android/binder_alloc.c b/drivers/android/binder_alloc.c
-index 7981a2598376..5d437c0c842c 100644
---- a/drivers/android/binder_alloc.c
-+++ b/drivers/android/binder_alloc.c
-@@ -315,12 +315,19 @@ static inline void binder_alloc_set_vma(struct binder_alloc *alloc,
- {
- unsigned long vm_start = 0;
-
-+ /*
-+ * Allow clearing the vma with holding just the read lock to allow
-+ * munmapping downgrade of the write lock before freeing and closing the
-+ * file using binder_alloc_vma_close().
-+ */
- if (vma) {
- vm_start = vma->vm_start;
- alloc->vma_vm_mm = vma->vm_mm;
-+ mmap_assert_write_locked(alloc->vma_vm_mm);
-+ } else {
-+ mmap_assert_locked(alloc->vma_vm_mm);
- }
-
-- mmap_assert_write_locked(alloc->vma_vm_mm);
- alloc->vma_addr = vm_start;
- }
-
---
-2.37.3
-
diff --git a/0070-net-af_packet-check-len-when-min_header_len-equals-t.patch b/0070-net-af_packet-check-len-when-min_header_len-equals-t.patch
deleted file mode 100644
index 3fca7bfd275d..000000000000
--- a/0070-net-af_packet-check-len-when-min_header_len-equals-t.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From ec274d8f1e649b12530bbba3f01478e20bf8bc23 Mon Sep 17 00:00:00 2001
-From: Zhengchao Shao <shaozhengchao@huawei.com>
-Date: Wed, 27 Jul 2022 17:33:12 +0800
-Subject: [PATCH 70/73] net/af_packet: check len when min_header_len equals to
- 0
-
-commit dc633700f00f726e027846a318c5ffeb8deaaeda upstream.
-
-User can use AF_PACKET socket to send packets with the length of 0.
-When min_header_len equals to 0, packet_snd will call __dev_queue_xmit
-to send packets, and sock->type can be any type.
-
-Reported-by: syzbot+5ea725c25d06fb9114c4@syzkaller.appspotmail.com
-Fixes: fd1894224407 ("bpf: Don't redirect packets with invalid pkt_len")
-Signed-off-by: Zhengchao Shao <shaozhengchao@huawei.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- net/packet/af_packet.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
-index ca6e92a22923..492bd35cccc0 100644
---- a/net/packet/af_packet.c
-+++ b/net/packet/af_packet.c
-@@ -3037,8 +3037,8 @@ static int packet_snd(struct socket *sock, struct msghdr *msg, size_t len)
- if (err)
- goto out_free;
-
-- if (sock->type == SOCK_RAW &&
-- !dev_validate_header(dev, skb->data, len)) {
-+ if ((sock->type == SOCK_RAW &&
-+ !dev_validate_header(dev, skb->data, len)) || !skb->len) {
- err = -EINVAL;
- goto out_free;
- }
---
-2.37.3
-
diff --git a/0071-net-neigh-don-t-call-kfree_skb-under-spin_lock_irqsa.patch b/0071-net-neigh-don-t-call-kfree_skb-under-spin_lock_irqsa.patch
deleted file mode 100644
index 91d931e50697..000000000000
--- a/0071-net-neigh-don-t-call-kfree_skb-under-spin_lock_irqsa.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 123bf15c1a15f8dc7b5aceb5186bed37f2e80af5 Mon Sep 17 00:00:00 2001
-From: Yang Yingliang <yangyingliang@huawei.com>
-Date: Mon, 22 Aug 2022 10:53:46 +0800
-Subject: [PATCH 71/73] net: neigh: don't call kfree_skb() under
- spin_lock_irqsave()
-
-commit d5485d9dd24e1d04e5509916515260186eb1455c upstream.
-
-It is not allowed to call kfree_skb() from hardware interrupt
-context or with interrupts being disabled. So add all skb to
-a tmp list, then free them after spin_unlock_irqrestore() at
-once.
-
-Fixes: 66ba215cb513 ("neigh: fix possible DoS due to net iface start/stop loop")
-Suggested-by: Denis V. Lunev <den@openvz.org>
-Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
-Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- net/core/neighbour.c | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/net/core/neighbour.c b/net/core/neighbour.c
-index 19d99d1eff53..fbaa557ed7ec 100644
---- a/net/core/neighbour.c
-+++ b/net/core/neighbour.c
-@@ -309,21 +309,27 @@ static int neigh_del_timer(struct neighbour *n)
-
- static void pneigh_queue_purge(struct sk_buff_head *list, struct net *net)
- {
-+ struct sk_buff_head tmp;
- unsigned long flags;
- struct sk_buff *skb;
-
-+ skb_queue_head_init(&tmp);
- spin_lock_irqsave(&list->lock, flags);
- skb = skb_peek(list);
- while (skb != NULL) {
- struct sk_buff *skb_next = skb_peek_next(skb, list);
- if (net == NULL || net_eq(dev_net(skb->dev), net)) {
- __skb_unlink(skb, list);
-- dev_put(skb->dev);
-- kfree_skb(skb);
-+ __skb_queue_tail(&tmp, skb);
- }
- skb = skb_next;
- }
- spin_unlock_irqrestore(&list->lock, flags);
-+
-+ while ((skb = __skb_dequeue(&tmp))) {
-+ dev_put(skb->dev);
-+ kfree_skb(skb);
-+ }
- }
-
- static void neigh_flush_dev(struct neigh_table *tbl, struct net_device *dev,
---
-2.37.3
-
diff --git a/0072-arm64-cacheinfo-Fix-incorrect-assignment-of-signed-e.patch b/0072-arm64-cacheinfo-Fix-incorrect-assignment-of-signed-e.patch
deleted file mode 100644
index 89ceb0132ccd..000000000000
--- a/0072-arm64-cacheinfo-Fix-incorrect-assignment-of-signed-e.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From a754ee1c66bd0a23e613f0bf865053b29cb90e16 Mon Sep 17 00:00:00 2001
-From: Sudeep Holla <sudeep.holla@arm.com>
-Date: Mon, 8 Aug 2022 09:46:40 +0100
-Subject: [PATCH 72/73] arm64: cacheinfo: Fix incorrect assignment of signed
- error value to unsigned fw_level
-
-commit e75d18cecbb3805895d8ed64da4f78575ec96043 upstream.
-
-Though acpi_find_last_cache_level() always returned signed value and the
-document states it will return any errors caused by lack of a PPTT table,
-it never returned negative values before.
-
-Commit 0c80f9e165f8 ("ACPI: PPTT: Leave the table mapped for the runtime usage")
-however changed it by returning -ENOENT if no PPTT was found. The value
-returned from acpi_find_last_cache_level() is then assigned to unsigned
-fw_level.
-
-It will result in the number of cache leaves calculated incorrectly as
-a huge value which will then cause the following warning from __alloc_pages
-as the order would be great than MAX_ORDER because of incorrect and huge
-cache leaves value.
-
- | WARNING: CPU: 0 PID: 1 at mm/page_alloc.c:5407 __alloc_pages+0x74/0x314
- | Modules linked in:
- | CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.19.0-10393-g7c2a8d3ac4c0 #73
- | pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
- | pc : __alloc_pages+0x74/0x314
- | lr : alloc_pages+0xe8/0x318
- | Call trace:
- | __alloc_pages+0x74/0x314
- | alloc_pages+0xe8/0x318
- | kmalloc_order_trace+0x68/0x1dc
- | __kmalloc+0x240/0x338
- | detect_cache_attributes+0xe0/0x56c
- | update_siblings_masks+0x38/0x284
- | store_cpu_topology+0x78/0x84
- | smp_prepare_cpus+0x48/0x134
- | kernel_init_freeable+0xc4/0x14c
- | kernel_init+0x2c/0x1b4
- | ret_from_fork+0x10/0x20
-
-Fix the same by changing fw_level to be signed integer and return the
-error from init_cache_level() early in case of error.
-
-Reported-and-Tested-by: Bruno Goncalves <bgoncalv@redhat.com>
-Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
-Link: https://lore.kernel.org/r/20220808084640.3165368-1-sudeep.holla@arm.com
-Signed-off-by: Will Deacon <will@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/arm64/kernel/cacheinfo.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/arch/arm64/kernel/cacheinfo.c b/arch/arm64/kernel/cacheinfo.c
-index 587543c6c51c..97c42be71338 100644
---- a/arch/arm64/kernel/cacheinfo.c
-+++ b/arch/arm64/kernel/cacheinfo.c
-@@ -45,7 +45,8 @@ static void ci_leaf_init(struct cacheinfo *this_leaf,
-
- int init_cache_level(unsigned int cpu)
- {
-- unsigned int ctype, level, leaves, fw_level;
-+ unsigned int ctype, level, leaves;
-+ int fw_level;
- struct cpu_cacheinfo *this_cpu_ci = get_cpu_cacheinfo(cpu);
-
- for (level = 1, leaves = 0; level <= MAX_CACHE_LEVEL; level++) {
-@@ -63,6 +64,9 @@ int init_cache_level(unsigned int cpu)
- else
- fw_level = acpi_find_last_cache_level(cpu);
-
-+ if (fw_level < 0)
-+ return fw_level;
-+
- if (level < fw_level) {
- /*
- * some external caches not specified in CLIDR_EL1
---
-2.37.3
-
diff --git a/PKGBUILD b/PKGBUILD
index cfe8e108a7d8..ca928b27d692 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -55,17 +55,17 @@ _BATCH_MODE=n # enable batch mode
##
-_major=5
-_minor=19
+_major=6
+_minor=0
#_patchlevel=0
#_subversion=1
-_basekernel=${_major}.${_minor}
_srcname=linux-pf
pkgbase=linux-pf
-_unpatched_sublevel=7
-_pfrel=3
+_unpatched_sublevel=2
+_pfrel=2
_kernelname=pf
_projectcpatchname=prjc_v5.15-r1.patch
+_basekernel=${_major}.${_minor}.${_unpatched_sublevel}
_CPUSUFFIXES_KBUILD=(
# AMD
K8 K8SSE3 K10 BARCELONA BOBCAT BULLDOZER PILEDRIVER STEAROLLER EXCAVATOR ZEN
@@ -81,14 +81,14 @@ pkgname=('linux-pf')
pkgdesc="Linux with the pf-kernel patch (uksm, ZSTD, FSGSBASE and more)"
pkgname=('linux-pf' 'linux-pf-headers-variant'
'linux-pf-headers')
-pkgver=${_basekernel}.${_unpatched_sublevel}.${_kernelname}${_pfrel}
+pkgver=${_basekernel}.${_kernelname}${_pfrel}
pkgrel=1
arch=('i686' 'x86_64')
url="https://codeberg.org/pf-kernel/linux/wiki/README"
license=('GPL2')
options=('!strip')
makedepends=('git' 'xmlto' 'docbook-xsl' 'xz' 'bc' 'kmod' 'elfutils' 'inetutils' 'pahole' 'cpio')
-source=("linux-pf::git+https://codeberg.org/pf-kernel/linux.git#tag=v${_major}.${_minor}-pf${_pfrel}"
+source=("linux-pf::git+https://codeberg.org/thaodan/linux.git#tag=v${_basekernel}.pf${_pfrel}.thao${pkgrel}"
'config.x86_64'
'config.i686'
'pf_defconfig'
@@ -97,221 +97,34 @@ source=("linux-pf::git+https://codeberg.org/pf-kernel/linux.git#tag=v${_major}.$
# "https://gitlab.com/alfredchen/projectc/raw/master/$_major.$_minor/$_projectcpatchname"
"90-linux.hook"
"60-linux.hook"
- # ZEN
- 0002-ZEN-Add-VHBA-driver.patch
- 0003-ZEN-Add-OpenRGB-patches.patch
- 0004-ZEN-Add-ACS-override-support.patch
- 0005-ZEN-PCI-Add-Intel-remapped-NVMe-device-support.patch
- 0008-ZEN-Disable-stack-conservation-for-GCC.patch
- 0009-ZEN-Initialize-ata-before-graphics.patch
- 0010-ZEN-Input-evdev-use-call_rcu-when-detaching-client.patch
- 0012-ZEN-cpufreq-Remove-schedutil-dependency-on-Intel-AMD.patch
- 0013-ZEN-intel-pstate-Implement-enable-parameter.patch
- 0014-ZEN-mm-Disable-watermark-boosting-by-default.patch
- 0015-ZEN-mm-Stop-kswapd-early-when-nothing-s-waiting-for-.patch
- 0016-ZEN-mm-Increment-kswapd_waiters-for-throttled-direct.patch
- 0017-ZEN-mm-Lower-the-non-hugetlbpage-pageblock-size-to-r.patch
- 0018-ZEN-mm-Don-t-hog-the-CPU-and-zone-lock-in-rmqueue_bu.patch
- 0019-ZEN-INTERACTIVE-Base-config-item.patch
- 0020-ZEN-INTERACTIVE-Use-BFQ-as-our-elevator.patch
- 0021-ZEN-INTERACTIVE-Use-Kyber-as-our-elevator-for-multi-.patch
- 0022-ZEN-INTERACTIVE-Enable-background-reclaim-of-hugepag.patch
- 0023-ZEN-INTERACTIVE-Add-help-text-for-the-MG-LRU-tweaks.patch
- 0024-ZEN-INTERACTIVE-Tune-CFS-for-interactivity.patch
- 0025-ZEN-INTERACTIVE-Tune-ondemand-governor-for-interacti.patch
- 0026-ZEN-INTERACTIVE-Document-PDS-BMQ-configuration.patch
- 0027-ZEN-INTERACTIVE-mm-Disable-unevictable-compaction.patch
- 0028-ZEN-INTERACTIVE-mm-Disable-proactive-compaction-by-d.patch
- 0029-ZEN-INTERACTIVE-dm-crypt-Disable-workqueues-for-cryp.patch
- # ZEN END
- # 5.19.7
- 0001-drm-vc4-hdmi-Rework-power-up.patch
- 0002-drm-vc4-hdmi-Depends-on-CONFIG_PM.patch
- 0003-firmware-tegra-bpmp-Do-only-aligned-access-to-IPC-me.patch
- 0004-crypto-lib-remove-unneeded-selection-of-XOR_BLOCKS.patch
- 0005-docs-kerneldoc-preamble-Test-xeCJK.sty-before-loadin.patch
- 0006-arm64-errata-Add-Cortex-A510-to-the-repeat-tlbi-list.patch
- 0007-Bluetooth-L2CAP-Fix-build-errors-in-some-archs.patch
- 0008-Revert-PCI-portdrv-Don-t-disable-AER-reporting-in-ge.patch
- 0009-HID-steam-Prevent-NULL-pointer-dereference-in-steam_.patch
- 0010-udmabuf-Set-the-DMA-mask-for-the-udmabuf-device-v2.patch
- 0011-media-pvrusb2-fix-memory-leak-in-pvr_probe.patch
- 0012-USB-gadget-Fix-use-after-free-Read-in-usb_udc_uevent.patch
- 0013-HID-hidraw-fix-memory-leak-in-hidraw_release.patch
- 0014-net-fix-refcount-bug-in-sk_psock_get-2.patch
- 0015-fbdev-fb_pm2fb-Avoid-potential-divide-by-zero-error.patch
- 0016-ftrace-Fix-NULL-pointer-dereference-in-is_ftrace_tra.patch
- 0017-bpf-Don-t-redirect-packets-with-invalid-pkt_len.patch
- 0018-mm-rmap-Fix-anon_vma-degree-ambiguity-leading-to-dou.patch
- 0019-ALSA-usb-audio-Add-quirk-for-LH-Labs-Geek-Out-HD-Aud.patch
- 0020-HID-input-fix-uclogic-tablets.patch
- 0021-HID-add-Lenovo-Yoga-C630-battery-quirk.patch
- 0022-HID-AMD_SFH-Add-a-DMI-quirk-entry-for-Chromebooks.patch
- 0023-HID-Add-Apple-Touchbar-on-T2-Macs-in-hid_have_specia.patch
- 0024-HID-asus-ROG-NKey-Ignore-portion-of-0x5a-report.patch
- 0025-HID-nintendo-fix-rumble-worker-null-pointer-deref.patch
- 0026-HID-thrustmaster-Add-sparco-wheel-and-fix-array-leng.patch
- 0027-HID-intel-ish-hid-ipc-Add-Meteor-Lake-PCI-device-ID.patch
- 0028-mmc-mtk-sd-Clear-interrupts-when-cqe-off-disable.patch
- 0029-mmc-sdhci-of-dwcmshc-add-reset-call-back-for-rockchi.patch
- 0030-mmc-sdhci-of-dwcmshc-rename-rk3568-to-rk35xx.patch
- 0031-mmc-sdhci-of-dwcmshc-Re-enable-support-for-the-BlueF.patch
- 0032-fs-ntfs3-Fix-work-with-fragmented-xattr.patch
- 0033-ASoC-sh-rz-ssi-Improve-error-handling-in-rz_ssi_prob.patch
- 0034-ASoC-rt5640-Fix-the-JD-voltage-dropping-issue.patch
- 0035-rtla-Fix-tracer-name.patch
- 0036-drm-amd-display-Add-a-missing-register-field-for-HPO.patch
- 0037-drm-amd-display-Device-flash-garbage-before-get-in-O.patch
- 0038-drm-amd-display-Avoid-MPC-infinite-loop.patch
- 0039-drm-amd-display-Fix-HDMI-VSIF-V3-incorrect-issue.patch
- 0040-drm-amd-display-For-stereo-keep-FLIP_ANY_FRAME.patch
- 0041-drm-amd-display-clear-optc-underflow-before-turn-off.patch
- 0042-drm-amd-display-Fix-TDR-eDP-and-USB4-display-light-u.patch
- 0043-drm-amd-pm-skip-pptable-override-for-smu_v13_0_7.patch
- 0044-drm-amdkfd-Handle-restart-of-kfd_ioctl_wait_events.patch
- 0045-drm-amd-pm-Fix-a-potential-gpu_metrics_table-memory-.patch
- 0046-ksmbd-return-STATUS_BAD_NETWORK_NAME-error-status-if.patch
- 0047-net-lan966x-fix-checking-for-return-value-of-platfor.patch
- 0048-neigh-fix-possible-DoS-due-to-net-iface-start-stop-l.patch
- 0049-ALSA-hda-realtek-Add-quirks-for-ASUS-Zenbooks-using-.patch
- 0050-s390-hypfs-avoid-error-message-under-KVM.patch
- 0051-ksmbd-don-t-remove-dos-attribute-xattr-on-O_TRUNC-op.patch
- 0052-drm-amdgpu-disable-3DCGCG-CGLS-temporarily-due-to-st.patch
- 0053-drm-amd-pm-add-missing-fini_microcode-interface-for-.patch
- 0054-drm-amd-pm-add-missing-fini_xxxx-interfaces-for-some.patch
- 0055-drm-amd-display-Fix-pixel-clock-programming.patch
- 0056-drm-amdgpu-Increase-tlb-flush-timeout-for-sriov.patch
- 0057-drm-amd-display-Fix-plug-unplug-external-monitor-wil.patch
- 0058-drm-amd-display-avoid-doing-vm_init-multiple-time.patch
- 0059-drm-amdgpu-Add-decode_iv_ts-helper-for-ih_v6-block.patch
- 0060-drm-amdgpu-Add-secure-display-TA-load-for-Renoir.patch
- 0061-drm-amdgpu-Fix-interrupt-handling-on-ih_soft-ring.patch
- 0062-netfilter-conntrack-NF_CONNTRACK_PROCFS-should-no-lo.patch
- 0063-testing-selftests-nft_flowtable.sh-use-random-netns-.patch
- 0064-platform-x86-serial-multi-instantiate-Add-CLSA0101-L.patch
- 0065-ALSA-hda-cs8409-Support-new-Dolphin-Variants.patch
- 0066-btrfs-move-lockdep-class-helpers-to-locking.c.patch
- 0067-btrfs-fix-lockdep-splat-with-reloc-root-extent-buffe.patch
- 0068-btrfs-tree-checker-check-for-overlapping-extent-item.patch
- 0069-android-binder-fix-lockdep-check-on-clearing-vma.patch
- 0070-net-af_packet-check-len-when-min_header_len-equals-t.patch
- 0071-net-neigh-don-t-call-kfree_skb-under-spin_lock_irqsa.patch
- 0072-arm64-cacheinfo-Fix-incorrect-assignment-of-signed-e.patch
- # 5.19.7 END
)
+sha256sums=('SKIP'
+ '4415388555aab8845e60f6b3996e3a75b8159d516b7b04a6adb8ade54de3ff9c'
+ '64632c7d7d68954da4ecfbd639878eea3041bbbad2d2621c7a6943d89950cb6e'
+ 'f016df0b9651b83bc72f955ca596b6a3d325b3118026a397ba36033c8026c86d'
+ '82d660caa11db0cd34fd550a049d7296b4a9dcd28f2a50c81418066d6e598864'
+ '75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919'
+ 'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21')
+
# 'cx23885_move_CI_AC_registration_to_a_separate_function.patch'
+export KBUILD_BUILD_HOST=archlinux
+export KBUILD_BUILD_USER=$pkgbase
+export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
+
prepare() {
cd "${srcdir}/${_srcname}"
- patch -p1 -i ${srcdir}/0002-ZEN-Add-VHBA-driver.patch
- patch -p1 -i ${srcdir}/0003-ZEN-Add-OpenRGB-patches.patch
- patch -p1 -i ${srcdir}/0004-ZEN-Add-ACS-override-support.patch
- patch -p1 -i ${srcdir}/0005-ZEN-PCI-Add-Intel-remapped-NVMe-device-support.patch
- # already applied by pf
- # patch -p1 -i ${srcdir}/0006-ZEN-Add-graysky-s-more-uarches.patch
- # already applied by pf
- # patch -p1 -i ${srcdir}/0007-ZEN-Unrestrict-CONFIG_OPTIMIZE_FOR_PERFORMANCE_O3.patch
- patch -p1 -i ${srcdir}/0008-ZEN-Disable-stack-conservation-for-GCC.patch
- patch -p1 -i ${srcdir}/0009-ZEN-Initialize-ata-before-graphics.patch
- patch -p1 -i ${srcdir}/0010-ZEN-Input-evdev-use-call_rcu-when-detaching-client.patch
- # already applied by pf
- # patch -p1 -i ${srcdir}/0011-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
- patch -p1 -i ${srcdir}/0012-ZEN-cpufreq-Remove-schedutil-dependency-on-Intel-AMD.patch
- patch -p1 -i ${srcdir}/0013-ZEN-intel-pstate-Implement-enable-parameter.patch
- patch -p1 -i ${srcdir}/0014-ZEN-mm-Disable-watermark-boosting-by-default.patch
- patch -p1 -i ${srcdir}/0015-ZEN-mm-Stop-kswapd-early-when-nothing-s-waiting-for-.patch
- patch -p1 -i ${srcdir}/0016-ZEN-mm-Increment-kswapd_waiters-for-throttled-direct.patch
- patch -p1 -i ${srcdir}/0017-ZEN-mm-Lower-the-non-hugetlbpage-pageblock-size-to-r.patch
- patch -p1 -i ${srcdir}/0018-ZEN-mm-Don-t-hog-the-CPU-and-zone-lock-in-rmqueue_bu.patch
- patch -p1 -i ${srcdir}/0019-ZEN-INTERACTIVE-Base-config-item.patch
- patch -p1 -i ${srcdir}/0020-ZEN-INTERACTIVE-Use-BFQ-as-our-elevator.patch
- patch -p1 -i ${srcdir}/0021-ZEN-INTERACTIVE-Use-Kyber-as-our-elevator-for-multi-.patch
- patch -p1 -i ${srcdir}/0022-ZEN-INTERACTIVE-Enable-background-reclaim-of-hugepag.patch
- patch -p1 -i ${srcdir}/0023-ZEN-INTERACTIVE-Add-help-text-for-the-MG-LRU-tweaks.patch
- patch -p1 -i ${srcdir}/0024-ZEN-INTERACTIVE-Tune-CFS-for-interactivity.patch
- patch -p1 -i ${srcdir}/0025-ZEN-INTERACTIVE-Tune-ondemand-governor-for-interacti.patch
- patch -p1 -i ${srcdir}/0026-ZEN-INTERACTIVE-Document-PDS-BMQ-configuration.patch
- patch -p1 -i ${srcdir}/0027-ZEN-INTERACTIVE-mm-Disable-unevictable-compaction.patch
- patch -p1 -i ${srcdir}/0028-ZEN-INTERACTIVE-mm-Disable-proactive-compaction-by-d.patch
- patch -p1 -i ${srcdir}/0029-ZEN-INTERACTIVE-dm-crypt-Disable-workqueues-for-cryp.patch
-
- # 5.19.7
- patch -p1 -i ${srcdir}/0001-drm-vc4-hdmi-Rework-power-up.patch
- patch -p1 -i ${srcdir}/0002-drm-vc4-hdmi-Depends-on-CONFIG_PM.patch
- patch -p1 -i ${srcdir}/0003-firmware-tegra-bpmp-Do-only-aligned-access-to-IPC-me.patch
- patch -p1 -i ${srcdir}/0004-crypto-lib-remove-unneeded-selection-of-XOR_BLOCKS.patch
- patch -p1 -i ${srcdir}/0005-docs-kerneldoc-preamble-Test-xeCJK.sty-before-loadin.patch
- patch -p1 -i ${srcdir}/0006-arm64-errata-Add-Cortex-A510-to-the-repeat-tlbi-list.patch
- patch -p1 -i ${srcdir}/0007-Bluetooth-L2CAP-Fix-build-errors-in-some-archs.patch
- patch -p1 -i ${srcdir}/0008-Revert-PCI-portdrv-Don-t-disable-AER-reporting-in-ge.patch
- patch -p1 -i ${srcdir}/0009-HID-steam-Prevent-NULL-pointer-dereference-in-steam_.patch
- patch -p1 -i ${srcdir}/0010-udmabuf-Set-the-DMA-mask-for-the-udmabuf-device-v2.patch
- patch -p1 -i ${srcdir}/0011-media-pvrusb2-fix-memory-leak-in-pvr_probe.patch
- patch -p1 -i ${srcdir}/0012-USB-gadget-Fix-use-after-free-Read-in-usb_udc_uevent.patch
- patch -p1 -i ${srcdir}/0013-HID-hidraw-fix-memory-leak-in-hidraw_release.patch
- patch -p1 -i ${srcdir}/0014-net-fix-refcount-bug-in-sk_psock_get-2.patch
- patch -p1 -i ${srcdir}/0015-fbdev-fb_pm2fb-Avoid-potential-divide-by-zero-error.patch
- patch -p1 -i ${srcdir}/0016-ftrace-Fix-NULL-pointer-dereference-in-is_ftrace_tra.patch
- patch -p1 -i ${srcdir}/0017-bpf-Don-t-redirect-packets-with-invalid-pkt_len.patch
- patch -p1 -i ${srcdir}/0018-mm-rmap-Fix-anon_vma-degree-ambiguity-leading-to-dou.patch
- patch -p1 -i ${srcdir}/0019-ALSA-usb-audio-Add-quirk-for-LH-Labs-Geek-Out-HD-Aud.patch
- patch -p1 -i ${srcdir}/0020-HID-input-fix-uclogic-tablets.patch
- patch -p1 -i ${srcdir}/0021-HID-add-Lenovo-Yoga-C630-battery-quirk.patch
- patch -p1 -i ${srcdir}/0022-HID-AMD_SFH-Add-a-DMI-quirk-entry-for-Chromebooks.patch
- patch -p1 -i ${srcdir}/0023-HID-Add-Apple-Touchbar-on-T2-Macs-in-hid_have_specia.patch
- patch -p1 -i ${srcdir}/0024-HID-asus-ROG-NKey-Ignore-portion-of-0x5a-report.patch
- patch -p1 -i ${srcdir}/0025-HID-nintendo-fix-rumble-worker-null-pointer-deref.patch
- patch -p1 -i ${srcdir}/0026-HID-thrustmaster-Add-sparco-wheel-and-fix-array-leng.patch
- patch -p1 -i ${srcdir}/0027-HID-intel-ish-hid-ipc-Add-Meteor-Lake-PCI-device-ID.patch
- patch -p1 -i ${srcdir}/0028-mmc-mtk-sd-Clear-interrupts-when-cqe-off-disable.patch
- patch -p1 -i ${srcdir}/0029-mmc-sdhci-of-dwcmshc-add-reset-call-back-for-rockchi.patch
- patch -p1 -i ${srcdir}/0030-mmc-sdhci-of-dwcmshc-rename-rk3568-to-rk35xx.patch
- patch -p1 -i ${srcdir}/0031-mmc-sdhci-of-dwcmshc-Re-enable-support-for-the-BlueF.patch
- patch -p1 -i ${srcdir}/0032-fs-ntfs3-Fix-work-with-fragmented-xattr.patch
- patch -p1 -i ${srcdir}/0033-ASoC-sh-rz-ssi-Improve-error-handling-in-rz_ssi_prob.patch
- patch -p1 -i ${srcdir}/0034-ASoC-rt5640-Fix-the-JD-voltage-dropping-issue.patch
- patch -p1 -i ${srcdir}/0035-rtla-Fix-tracer-name.patch
- patch -p1 -i ${srcdir}/0036-drm-amd-display-Add-a-missing-register-field-for-HPO.patch
- patch -p1 -i ${srcdir}/0037-drm-amd-display-Device-flash-garbage-before-get-in-O.patch
- patch -p1 -i ${srcdir}/0038-drm-amd-display-Avoid-MPC-infinite-loop.patch
- patch -p1 -i ${srcdir}/0039-drm-amd-display-Fix-HDMI-VSIF-V3-incorrect-issue.patch
- patch -p1 -i ${srcdir}/0040-drm-amd-display-For-stereo-keep-FLIP_ANY_FRAME.patch
- patch -p1 -i ${srcdir}/0041-drm-amd-display-clear-optc-underflow-before-turn-off.patch
- patch -p1 -i ${srcdir}/0042-drm-amd-display-Fix-TDR-eDP-and-USB4-display-light-u.patch
- patch -p1 -i ${srcdir}/0043-drm-amd-pm-skip-pptable-override-for-smu_v13_0_7.patch
- patch -p1 -i ${srcdir}/0044-drm-amdkfd-Handle-restart-of-kfd_ioctl_wait_events.patch
- patch -p1 -i ${srcdir}/0045-drm-amd-pm-Fix-a-potential-gpu_metrics_table-memory-.patch
- patch -p1 -i ${srcdir}/0046-ksmbd-return-STATUS_BAD_NETWORK_NAME-error-status-if.patch
- patch -p1 -i ${srcdir}/0047-net-lan966x-fix-checking-for-return-value-of-platfor.patch
- patch -p1 -i ${srcdir}/0048-neigh-fix-possible-DoS-due-to-net-iface-start-stop-l.patch
- patch -p1 -i ${srcdir}/0049-ALSA-hda-realtek-Add-quirks-for-ASUS-Zenbooks-using-.patch
- patch -p1 -i ${srcdir}/0050-s390-hypfs-avoid-error-message-under-KVM.patch
- patch -p1 -i ${srcdir}/0051-ksmbd-don-t-remove-dos-attribute-xattr-on-O_TRUNC-op.patch
- patch -p1 -i ${srcdir}/0052-drm-amdgpu-disable-3DCGCG-CGLS-temporarily-due-to-st.patch
- patch -p1 -i ${srcdir}/0053-drm-amd-pm-add-missing-fini_microcode-interface-for-.patch
- patch -p1 -i ${srcdir}/0054-drm-amd-pm-add-missing-fini_xxxx-interfaces-for-some.patch
- patch -p1 -i ${srcdir}/0055-drm-amd-display-Fix-pixel-clock-programming.patch
- patch -p1 -i ${srcdir}/0056-drm-amdgpu-Increase-tlb-flush-timeout-for-sriov.patch
- patch -p1 -i ${srcdir}/0057-drm-amd-display-Fix-plug-unplug-external-monitor-wil.patch
- patch -p1 -i ${srcdir}/0058-drm-amd-display-avoid-doing-vm_init-multiple-time.patch
- patch -p1 -i ${srcdir}/0059-drm-amdgpu-Add-decode_iv_ts-helper-for-ih_v6-block.patch
- patch -p1 -i ${srcdir}/0060-drm-amdgpu-Add-secure-display-TA-load-for-Renoir.patch
- patch -p1 -i ${srcdir}/0061-drm-amdgpu-Fix-interrupt-handling-on-ih_soft-ring.patch
- patch -p1 -i ${srcdir}/0062-netfilter-conntrack-NF_CONNTRACK_PROCFS-should-no-lo.patch
- patch -p1 -i ${srcdir}/0063-testing-selftests-nft_flowtable.sh-use-random-netns-.patch
- patch -p1 -i ${srcdir}/0064-platform-x86-serial-multi-instantiate-Add-CLSA0101-L.patch
- patch -p1 -i ${srcdir}/0065-ALSA-hda-cs8409-Support-new-Dolphin-Variants.patch
- patch -p1 -i ${srcdir}/0066-btrfs-move-lockdep-class-helpers-to-locking.c.patch
- patch -p1 -i ${srcdir}/0067-btrfs-fix-lockdep-splat-with-reloc-root-extent-buffe.patch
- patch -p1 -i ${srcdir}/0068-btrfs-tree-checker-check-for-overlapping-extent-item.patch
- patch -p1 -i ${srcdir}/0069-android-binder-fix-lockdep-check-on-clearing-vma.patch
- patch -p1 -i ${srcdir}/0070-net-af_packet-check-len-when-min_header_len-equals-t.patch
- patch -p1 -i ${srcdir}/0071-net-neigh-don-t-call-kfree_skb-under-spin_lock_irqsa.patch
- patch -p1 -i ${srcdir}/0072-arm64-cacheinfo-Fix-incorrect-assignment-of-signed-e.patch
- # 5.19.7 end
+ local src
+ for src in "${source[@]}"; do
+ src="${src%%::*}"
+ src="${src##*/}"
+ [[ $src = *.patch ]] || continue
+ echo "Applying patch $src..."
+ git am "../$src"
+ done
if [ "$CARCH" = "x86_64" ]; then
cat "${startdir}/config.x86_64" >| .config
@@ -320,7 +133,7 @@ prepare() {
fi
# Restore unpatched sublevel the current -pf is based on
- sed -ri "s|SUBLEVEL = 0|SUBLEVEL = $_unpatched_sublevel|" Makefile
+ #sed -ri "s|SUBLEVEL = 0|SUBLEVEL = $_unpatched_sublevel|" Makefile
_arch=$CARCH
@@ -345,7 +158,9 @@ prepare() {
# merge our changes to arches kernel config
./scripts/kconfig/merge_config.sh .config "$srcdir"/pf_defconfig
- # Set localversion to pkgrel
+ echo "Setting version..."
+ scripts/setlocalversion --save-scmversion
+
echo "-$pkgrel" > localversion.10-pkgrel
# get kernel version
@@ -504,7 +319,7 @@ build() {
make olddefconfig
# Build
- make all
+ make all V=1
}
@@ -922,108 +737,4 @@ eval "package_linux-pf-headers-variant${LCPU+-$LCPU}() {
_package-headers-variant
}"
-sha256sums=('SKIP'
- '49c471ab3cf341c6333f08957c0c3cfccc38a7cef2c9ca1895888f4674b441ec'
- '2b4b6887e75c9e6d40d1fa00e4405745da4c0649f7bf8c48e1bb35d511270443'
- '30566498a4f549e972fcd430d2fc44b2bd643c55bae20096f083f8837d8c43e4'
- '82d660caa11db0cd34fd550a049d7296b4a9dcd28f2a50c81418066d6e598864'
- '75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919'
- 'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21'
- 'f78b6b40cad97fd38b15e161d2dcfbdc98b2681a180c6a4f493b6ea362ad311b'
- '764bbbad55f251627f7c93a08a70f3a4004e03c74f162df349267686b2167a00'
- '28df2ac08a81fc720d46908f239e0e8bfd70d5ba7d6e576c8598c3982a9a2cc4'
- '7b2b7cd3846aeadefd5d1e9978078e3feaff53456378cb31489b9cf0971f958f'
- '1137f4d0d65ef8985307d1deccdc6fc47f68ef2a0d549ab5a27d5c9a45bec9a7'
- '39a6dafe65ae512d3802dd25976bce171826a947568c236ce382f8a12836c9b5'
- 'fd0ecbc2948a490ece2cbd90623c80e210c1674ea8d8f95642c6f67cef435c4a'
- 'cdeacc91b32801c2e46691f5f2bb3612bffd42619cb7b025f4ecba29dec9eaf1'
- '20892d64352398893920f48507709d0ff5494c3853c157b87917a086155ce723'
- 'f40434c60dee7731ae88107046dd1400ffe11c1ba4de58850a8319f9bb4847b9'
- '70d269b5e1d9b5259481f87e00f7b17d96fa5b389e4b500f1e6862c0116bfa4f'
- '8bef9463e0cebb578d4df15b06a447c3b4c850a5eef9ff80c59fb8e2cac81474'
- 'ec795347155a2f509491fb60c9f4e01704d86a2af432278d7bf5efd7db29f9a2'
- '07775d7a0e3ba474976f7a28f069aaf009cdc70576aabf861b630268df2ad469'
- 'f1828a4c636138bc53432a057922362399a72055f635a577b791449304d98afe'
- '5e6d6aee7f79c9c97c822d3eec8cfa3ca725bf01a60b249175dc0e3b0ca5390f'
- 'aa93dd01631204ac71b902662f58a48186049e2e573e06e6818ab72fa139bdd4'
- '854a432bdaf6f94baa92c03e78e10f00c53bc666c4b367adf2d5d330f872c8c5'
- 'f52b1703f39ab0b52978e48d129ec38ace74d3dec790cb87ca7030fd187354fd'
- '3d85f031166d16ebb41430b3f17ed4683b85e7640819b0fb61bd927e6cec5139'
- 'ca52bf43327f2c6b0941d3da8fd2a25055bf8f74564be331944c123d18e54330'
- '9676de79d5ab66565ab8e19de3f1f70c8ad5994eaf8d5ca1fb6e9ed8426787d9'
- '1a2598a00966da4e9985644edb900af7204409411464771c31d67d472595d817'
- '3d329b5153230184e270355f61697f5f7248787a4da045ac7b660e837c088630'
- 'c6730df729723340475fa64cf0ce4fee02ff0a1739f355166324bb2abeca5168'
- 'e44a5e123fb22092a009630a8d80c496b70feaf9f9e244d76760290608edf277'
- '54676e48e43b41351e3e7e195c5e752f855f44db7a3fe0d4bd66499344da8386'
- '33bc73315a5f5757a093bd21fcc68e7a37a9c86ee2b731a85ef3c5067729199a'
- 'f84e76eca884191d9abc0b1876f9d9587e8bfde6a19a4d194445528d5b084f9b'
- 'b5a2082541aeec7162c6e673ea2dd0098f36d97c5deb03059afbf723b6789faa'
- '20a3c119838e4487bcc7fc28d4301f39e016afc24c76a33c25a84b9c911e3eed'
- '0bbaaf956dcc460bafe874c23b8ed495a46ced76918b044764b172b5719c9d44'
- 'e9a7b6ef185818f1472a15a98bbeb7be020e38c4d25ad3d9fead11961602bc03'
- 'c15ea9caacb98a4d61de2e3c6ecf1fcd083a8ed5a5ee69dc6a05b4583463badc'
- '70353d1e4bec0bc3c895887c4b1557e2222b257c34cf0c303781e5ac6b0efec9'
- '84301e69155a2404c24f18d8f2cc4986f355a86b9c072d59df9aca787e1abac2'
- '9c405a65a4d5d532fc1517e8c67e5d6703cc5bad7daf4c38a3771216fc1719ad'
- '96766d4ec6bae908fe6048f39e93fbc8627531daf6b5986cec99edd056581fac'
- '05995c977c1cc77fbc49b220d95390147fa448aae2bfa9698a402e8a56b41877'
- '9e16ce1da7499d2351dac47649c44a57ac1ec813f2d678d6da270e98359a51e4'
- '0c99d880164142334e7b4e0eb87f073ff4d6d15ec7d4490ee5e046b44e20562d'
- '83967bcd17746052db9cd95c92456658e51b22a717dfee004a9f34dc7fa26dfb'
- 'a307e5269cee8ae850997b93c14a4e3abb220a553dd7ece5337422c2e8770cfb'
- '83c68bdd89892c9c1b747de8eaee210ae6578881a0d5c79431148e8712046493'
- '2adff7cf24c62c13343e4821627c0a482ca139166147a76a76f520632d526cff'
- 'e9579fe46b98590d61d89cff16f719fe2b7eae88509c1ee168d85639a3cf2c0e'
- '8dab0a83aafbd2374696ced71d8fd53db35423d6db52340c8991e4e1ba134249'
- 'a8f65f98ae26eb5039e4998634a11b6ef43d9f632596b5a291e2c9107bc45901'
- '492191b1cd02c7f30ef0c77fb8ac8658cc1571a8953b7dae115ff90932b7391e'
- '348c3d85a8942f3b9e9b7ba1e33ad33f5454277badfa17baede5e7ee0623a85a'
- '809ad3f9f8a3b7933a8f5a174273b81fbd7ca875790a862984550bd53f08379d'
- '244cce4734c37ba829580e21ca7f828433653d79260d9e20ebc524f05aa0fdb2'
- '2b8fca8395d936999a41d3a5ed1d58931222fabed89f8748dba0ef8ce6e3b51a'
- 'cf06c51563c0eb21e2596cb516ce6cf0dbf3ece5573259ea59291a9b5a8cc40d'
- 'a6d9099008a7d4e90f91a417bbb8d42b6ac8ae3c4dc1a713530a24c78b90b06f'
- '8a569cb9a6df4b6833234690931461620c4759c6f8591f163648a250bb97c2eb'
- '1cb5fadc9854b97419a909ebf72dae3a2def66ee316c73292d42d85a60604757'
- '2274585298c76b59dfb5b0f27d0e51f44e6dd0f0cd10627c5a3c51fa893d7bc0'
- '02567508d03043eee5a0b2c4fe00db21873fc280c29e75942233b522dafe7234'
- 'ad574f61903c6db66110f4c607cd1ead2ce173e3dd95c5287aa392cb550dc973'
- 'b17687196d098311e7cc58af9e7f434cbc96c7075e6c24ed36362a24473b547e'
- '150487680af2d7da5731b045d764d3501f6188e083cb5299a163edd894f9eb73'
- '34ba987a290a3779a47f92468e834275925abaa11b008a846e5689e173128844'
- '3267cf5af76e8253263220536b51c8203287148f2d1b564c41de151a9c3ff41e'
- 'dc6505ce152095aa7048977d2a4457918b8ba780bc4ae6d4188cf81321592068'
- '71a27a759b2a8b990386b4d52ca95417205bb1674123f874b89fd17a929370fa'
- 'e2f6cc6c4a3443d26b852e252438564fe1fa80ab02a93b1bd325204da67663ae'
- '6d87fb84681433d5508e1c225fbd54d9b606b1a0f4c6d54b1d3970fb69fae881'
- '29f17c6768ee91706d1772758ddfabc9242331efef8d8a7eecb4b8c04deae394'
- 'dd88a730ac985b8c015ced758c7445f966acb0509e61296448b45d65d8d630a2'
- '9fe796c6177a9faf99b1edc4656be8ec2303e8757600b557e9dde3258952bc7e'
- '9ef664c55663f953ffb37087da1f1ad4b9a9f2519c84b1ac1add97178169095a'
- '42ac5d9000ef8e2ff7ab5f88f6203c559ce727766cc2b2f4f089041b0d9e6ee8'
- '3bbd0a5869969297ec2d5d8f062e346978be47e43480daf8255c67fe4c661ccf'
- 'ba79c549d798540c50ed17912eacc1f1651293b345f6aae8bd59cbe9633b4d0c'
- '851f44e92b6266bfa79f4acdd860f44f95c6ab327b685998a9ae68e9e75a08cf'
- 'aa0d9b3c7225d664b5faa3385d3f3f736956d7f61052154c6b0ea0ec09bbbc89'
- '60fe115a02d56ef029df6313f9e1c14a98da34ad742968845fbeaebc9237140f'
- '17017d9d552d36e27cf11ac07c3ae678bb0c1f45761ef9796acf106c86234d95'
- '73416c7b125bd78ceab3b3c0bb213a666976f7db3208b52d8735f81669d16650'
- '6c7e2bcb0823892fffc1a6f86a01928e5931e1fc37cb3cfad911740d3f7d1854'
- 'f3dbd4095f7cbafb2f8f7407d6f5a2f592ef8aef1270f3c6ab10e0c666262ba9'
- '1e8a5eb92ac2b5ecc17fdbfc7b5885a5991cdb2af5300817954102f1c5bfb5ec'
- 'b308b21874ca0b86cfb95ddcc76432daa2d4cc6d0053981367ab66fdeea6a01c'
- 'e0956a1f8785fdae0b68e2ac79d9187499662e9f6b8347be8eecb36717f8a63d'
- '03bee283b4ec139b2722c1531ad566ff0d674e44a2ec49689686ca85a89c7f82'
- '154c5f66ae84300ab69a4c9502a5893d9563f8b774887bda6959b930e3bbc6e0'
- 'd73dda2abcc118ea197cc3a61b5487b28d0fc584b0eb9deecba7d4b98b19f4ae'
- '10c74ccc91d7b993c91dea5ec1f6d3710e642d35dce6001a27aa6d8bc4404dde'
- '7c734ed61313ec21dc1c2c5adc6b828fac60f5a6f67de8869d2e7acfccbf4867'
- 'cb21bf8906fa812e46405269bf7e78361d05082dc63dfbf1c9719205768e49ac'
- 'c1f7da7edfb26701817a1fb3bb9b592e8966cf4b79b6305a1a3761bc8a4d2ab7'
- '676cfac9acbf8ed66d2e90ff5127ae5920aaa0eece3f512d9e43fb06e6e83495'
- 'e151e8dc209e32a584a5b96752073f976acf823d758c34cbef5955e1172e50d5'
- 'd4903b81e4102ccaed88f7605c7208f57048cf087edbcc03a64e64580f404cae'
- '15ff60a67694331a54435a4bb8d75c60d4e1c2895bd4fdb82401fe76da87e45d'
- '08ba24891b0115a2b355b5b17da2b485c6e8c7fadabe08d7fb71716ae0d2d05e')
# vim:set ts=2 sw=2 tw=0 et:
diff --git a/asus_zenith_ii_map.patch b/asus_zenith_ii_map.patch
deleted file mode 100644
index 97a673fdd081..000000000000
--- a/asus_zenith_ii_map.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-diff --git a/sound/usb/card.c b/sound/usb/card.c
-index d731ca62d599..39a4cdb28499 100644
---- a/sound/usb/card.c
-+++ b/sound/usb/card.c
-@@ -380,6 +380,14 @@ static const struct usb_audio_device_name usb_audio_names[] = {
-
- DEVICE_NAME(0x046d, 0x0990, "Logitech, Inc.", "QuickCam Pro 9000"),
-
-+ /* ASUS ROG Zenith II: this machine has also two devices, one for
-+ * the front headphone and another for the rest
-+ */
-+ PROFILE_NAME(0x0b05, 0x1915, "ASUS", "Zenith II Front Headphone",
-+ "Zenith-II-Front-Headphone"),
-+ PROFILE_NAME(0x0b05, 0x1916, "ASUS", "Zenith II Main Audio",
-+ "Zenith-II-Main-Audio"),
-+
- /* ASUS ROG Strix */
- PROFILE_NAME(0x0b05, 0x1917,
- "Realtek", "ALC1220-VB-DT", "Realtek-ALC1220-VB-Desktop"),
-diff --git a/sound/usb/mixer_maps.c b/sound/usb/mixer_maps.c
-index a7212f16660e..0ce0f702ce3d 100644
---- a/sound/usb/mixer_maps.c
-+++ b/sound/usb/mixer_maps.c
-@@ -360,13 +360,28 @@ static const struct usbmix_name_map corsair_virtuoso_map[] = {
- { 0 }
- };
-
--/* Some mobos shipped with a dummy HD-audio show the invalid GET_MIN/GET_MAX
-- * response for Input Gain Pad (id=19, control=12) and the connector status
-- * for SPDIF terminal (id=18). Skip them.
-- */
--static const struct usbmix_name_map asus_rog_map[] = {
-- { 18, NULL }, /* OT, connector control */
-- { 19, NULL, 12 }, /* FU, Input Gain Pad */
-+/* ASUS ROG Zenith II with Realtek ALC1220-VB */
-+static const struct usbmix_name_map asus_zenith_ii_map[] = {
-+ { 19, NULL, 12 }, /* FU, Input Gain Pad - broken response, disabled */
-+ { 16, "Speaker" }, /* OT */
-+ { 22, "Speaker Playback" }, /* FU */
-+ { 7, "Line" }, /* IT */
-+ { 19, "Line Capture" }, /* FU */
-+ { 8, "Mic" }, /* IT */
-+ { 20, "Mic Capture" }, /* FU */
-+ { 9, "Front Mic" }, /* IT */
-+ { 21, "Front Mic Capture" }, /* FU */
-+ { 17, "IEC958" }, /* OT */
-+ { 23, "IEC958 Playback" }, /* FU */
-+ {}
-+};
-+
-+static const struct usbmix_connector_map asus_zenith_ii_connector_map[] = {
-+ { 10, 16 }, /* (Back) Speaker */
-+ { 11, 17 }, /* SPDIF */
-+ { 13, 7 }, /* Line */
-+ { 14, 8 }, /* Mic */
-+ { 15, 9 }, /* Front Mic */
- {}
- };
-
-@@ -555,9 +570,10 @@ static const struct usbmix_ctl_map usbmix_ctl_maps[] = {
- .map = trx40_mobo_map,
- .connector_map = trx40_mobo_connector_map,
- },
-- { /* ASUS ROG Zenith II */
-+ { /* ASUS ROG Zenith II (main audio) */
- .id = USB_ID(0x0b05, 0x1916),
-- .map = asus_rog_map,
-+ .map = asus_zenith_ii_map,
-+ .connector_map = asus_zenith_ii_connector_map,
- },
- { /* ASUS ROG Strix */
- .id = USB_ID(0x0b05, 0x1917),
diff --git a/config.i686 b/config.i686
index 6ccd01b8f123..e92d53466327 100644
--- a/config.i686
+++ b/config.i686
@@ -1,10 +1,10 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.18.9-zen1 Kernel Configuration
+# Linux/x86 5.19.12-zen1 Kernel Configuration
#
-CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.2.0"
+CONFIG_CC_VERSION_TEXT="gcc (GCC) 12.1.0"
CONFIG_CC_IS_GCC=y
-CONFIG_GCC_VERSION=110200
+CONFIG_GCC_VERSION=120100
CONFIG_CLANG_VERSION=0
CONFIG_AS_IS_GNU=y
CONFIG_AS_VERSION=23800
@@ -49,7 +49,6 @@ CONFIG_KERNEL_XZ=y
# CONFIG_KERNEL_ZSTD is not set
CONFIG_DEFAULT_INIT=""
CONFIG_DEFAULT_HOSTNAME="archlinux"
-CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
@@ -156,8 +155,11 @@ CONFIG_RCU_EXPERT=y
CONFIG_SRCU=y
CONFIG_TREE_SRCU=y
CONFIG_TASKS_RCU_GENERIC=y
+# CONFIG_FORCE_TASKS_RCU is not set
CONFIG_TASKS_RCU=y
+# CONFIG_FORCE_TASKS_RUDE_RCU is not set
CONFIG_TASKS_RUDE_RCU=y
+# CONFIG_FORCE_TASKS_TRACE_RCU is not set
CONFIG_TASKS_TRACE_RCU=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_NEED_SEGCBLIST=y
@@ -165,7 +167,8 @@ CONFIG_RCU_FANOUT=32
CONFIG_RCU_FANOUT_LEAF=16
CONFIG_RCU_BOOST=y
CONFIG_RCU_BOOST_DELAY=500
-# CONFIG_RCU_NOCB_CPU is not set
+# CONFIG_RCU_EXP_KTHREAD is not set
+CONFIG_RCU_NOCB_CPU=y
# CONFIG_TASKS_TRACE_RCU_READ_MB is not set
# end of RCU Subsystem
@@ -190,6 +193,7 @@ CONFIG_UCLAMP_BUCKETS_COUNT=5
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
CONFIG_GCC12_NO_ARRAY_BOUNDS=y
+CONFIG_CC_NO_ARRAY_BOUNDS=y
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
CONFIG_MEMCG=y
@@ -237,6 +241,8 @@ CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
CONFIG_RD_ZSTD=y
CONFIG_BOOT_CONFIG=y
+# CONFIG_BOOT_CONFIG_EMBED is not set
+CONFIG_INITRAMFS_PRESERVE_MTIME=y
# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -271,7 +277,6 @@ CONFIG_MEMBARRIER=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_BASE_RELATIVE=y
-# CONFIG_USERFAULTFD is not set
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
CONFIG_KCMP=y
CONFIG_RSEQ=y
@@ -286,16 +291,6 @@ CONFIG_PERF_EVENTS=y
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
# end of Kernel Performance Events And Counters
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_SLUB_DEBUG=y
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-CONFIG_SLUB=y
-CONFIG_SLAB_MERGE_DEFAULT=y
-CONFIG_SLAB_FREELIST_RANDOM=y
-CONFIG_SLAB_FREELIST_HARDENED=y
-CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
-CONFIG_SLUB_CPU_PARTIAL=y
CONFIG_SYSTEM_DATA_VERIFICATION=y
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
@@ -336,7 +331,6 @@ CONFIG_SMP=y
CONFIG_X86_FEATURE_NAMES=y
CONFIG_X86_MPPARSE=y
# CONFIG_GOLDFISH is not set
-CONFIG_RETPOLINE=y
CONFIG_X86_CPU_RESCTRL=y
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_EXTENDED_PLATFORM is not set
@@ -437,6 +431,7 @@ CONFIG_CPU_SUP_VORTEX_32=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
+CONFIG_BOOT_VESA_SUPPORT=y
CONFIG_NR_CPUS_RANGE_BEGIN=2
CONFIG_NR_CPUS_RANGE_END=8
CONFIG_NR_CPUS_DEFAULT=8
@@ -464,6 +459,7 @@ CONFIG_PERF_EVENTS_INTEL_RAPL=m
CONFIG_PERF_EVENTS_INTEL_CSTATE=m
CONFIG_PERF_EVENTS_AMD_POWER=m
CONFIG_PERF_EVENTS_AMD_UNCORE=m
+CONFIG_PERF_EVENTS_AMD_BRS=y
# end of Performance monitoring
# CONFIG_X86_LEGACY_VM86 is not set
@@ -475,7 +471,7 @@ CONFIG_X86_REBOOTFIXUPS=y
CONFIG_MICROCODE=y
CONFIG_MICROCODE_INTEL=y
CONFIG_MICROCODE_AMD=y
-# CONFIG_MICROCODE_OLD_INTERFACE is not set
+# CONFIG_MICROCODE_LATE_LOADING is not set
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
# CONFIG_NOHIGHMEM is not set
@@ -498,7 +494,6 @@ CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=0
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_ARCH_RANDOM=y
-CONFIG_X86_SMAP=y
CONFIG_X86_UMIP=y
CONFIG_CC_HAS_IBT=y
# CONFIG_X86_INTEL_TSX_MODE_OFF is not set
@@ -529,6 +524,11 @@ CONFIG_MODIFY_LDT_SYSCALL=y
# CONFIG_STRICT_SIGALTSTACK_SIZE is not set
# end of Processor type and features
+CONFIG_CC_HAS_SLS=y
+CONFIG_CC_HAS_RETURN_THUNK=y
+CONFIG_SPECULATION_MITIGATIONS=y
+CONFIG_RETPOLINE=y
+CONFIG_RETHUNK=y
CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
#
@@ -775,6 +775,7 @@ CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
CONFIG_HAVE_NMI=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
@@ -800,6 +801,7 @@ CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
CONFIG_MMU_GATHER_TABLE_FREE=y
CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
+CONFIG_MMU_GATHER_MERGE_VMAS=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
@@ -867,7 +869,6 @@ CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
CONFIG_HAVE_GCC_PLUGINS=y
CONFIG_GCC_PLUGINS=y
# CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set
-# CONFIG_GCC_PLUGIN_RANDSTRUCT is not set
# end of General architecture-dependent options
CONFIG_RT_MUTEXES=y
@@ -877,6 +878,7 @@ CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODULE_UNLOAD_TAINT_TRACKING=y
# CONFIG_MODVERSIONS is not set
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_MODULE_SIG=y
@@ -955,7 +957,6 @@ CONFIG_BLK_MQ_STACKING=y
# IO Schedulers
#
CONFIG_MQ_IOSCHED_DEADLINE=y
-# CONFIG_MQ_IOSCHED_DEADLINE_NODEFAULT is not set
CONFIG_MQ_IOSCHED_KYBER=y
CONFIG_IOSCHED_BFQ=y
CONFIG_BFQ_GROUP_IOSCHED=y
@@ -993,6 +994,40 @@ CONFIG_COREDUMP=y
#
# Memory Management options
#
+CONFIG_ZPOOL=y
+CONFIG_SWAP=y
+CONFIG_ZSWAP=y
+CONFIG_ZSWAP_DEFAULT_ON=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lz4"
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
+CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
+CONFIG_ZSWAP_ZPOOL_DEFAULT="z3fold"
+CONFIG_ZBUD=y
+CONFIG_Z3FOLD=y
+CONFIG_ZSMALLOC=y
+# CONFIG_ZSMALLOC_STAT is not set
+
+#
+# SLAB allocator options
+#
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+CONFIG_SLAB_MERGE_DEFAULT=y
+CONFIG_SLAB_FREELIST_RANDOM=y
+CONFIG_SLAB_FREELIST_HARDENED=y
+# CONFIG_SLUB_STATS is not set
+CONFIG_SLUB_CPU_PARTIAL=y
+# end of SLAB allocator options
+
+CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
+# CONFIG_COMPAT_BRK is not set
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_SPARSEMEM_MANUAL is not set
@@ -1016,10 +1051,11 @@ CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
CONFIG_MEMORY_FAILURE=y
CONFIG_HWPOISON_INJECT=m
+CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
-CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
+CONFIG_READ_ONLY_THP_FOR_FS=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
@@ -1029,41 +1065,24 @@ CONFIG_CMA=y
CONFIG_CMA_DEBUGFS=y
CONFIG_CMA_SYSFS=y
CONFIG_CMA_AREAS=7
-CONFIG_ZSWAP=y
-# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
-# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
-# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
-CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4=y
-# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
-# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
-CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lz4"
-# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
-CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=y
-# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
-CONFIG_ZSWAP_ZPOOL_DEFAULT="z3fold"
-CONFIG_ZSWAP_DEFAULT_ON=y
-CONFIG_ZPOOL=y
-CONFIG_ZBUD=y
-CONFIG_Z3FOLD=y
-CONFIG_ZSMALLOC=y
-# CONFIG_ZSMALLOC_STAT is not set
CONFIG_GENERIC_EARLY_IOREMAP=y
CONFIG_PAGE_IDLE_FLAG=y
CONFIG_IDLE_PAGE_TRACKING=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
-CONFIG_ARCH_HAS_FILTER_PGPROT=y
+CONFIG_ARCH_HAS_VM_GET_PAGE_PROT=y
CONFIG_ZONE_DMA=y
CONFIG_HMM_MIRROR=y
CONFIG_VMAP_PFN=y
+CONFIG_VM_EVENT_COUNTERS=y
# CONFIG_PERCPU_STATS is not set
# CONFIG_GUP_TEST is not set
-CONFIG_READ_ONLY_THP_FOR_FS=y
CONFIG_ARCH_HAS_PTE_SPECIAL=y
CONFIG_MAPPING_DIRTY_HELPERS=y
CONFIG_KMAP_LOCAL=y
CONFIG_SECRETMEM=y
CONFIG_ANON_VMA_NAME=y
+# CONFIG_USERFAULTFD is not set
CONFIG_LRU_GEN=y
CONFIG_LRU_GEN_ENABLED=y
# CONFIG_LRU_GEN_STATS is not set
@@ -1632,7 +1651,6 @@ CONFIG_LLC=m
CONFIG_LLC2=m
CONFIG_ATALK=m
CONFIG_DEV_APPLETALK=m
-# CONFIG_LTPC is not set
# CONFIG_COPS is not set
CONFIG_IPDDP=m
CONFIG_IPDDP_ENCAP=y
@@ -1870,6 +1888,9 @@ CONFIG_CAN_C_CAN_PCI=m
CONFIG_CAN_CC770=m
# CONFIG_CAN_CC770_ISA is not set
CONFIG_CAN_CC770_PLATFORM=m
+CONFIG_CAN_CTUCANFD=m
+CONFIG_CAN_CTUCANFD_PCI=m
+# CONFIG_CAN_CTUCANFD_PLATFORM is not set
CONFIG_CAN_IFI_CANFD=m
CONFIG_CAN_M_CAN=m
CONFIG_CAN_M_CAN_PCI=m
@@ -2191,6 +2212,7 @@ CONFIG_CXL_PCI=m
CONFIG_CXL_ACPI=m
CONFIG_CXL_MEM=m
CONFIG_CXL_PORT=m
+CONFIG_CXL_SUSPEND=y
CONFIG_PCCARD=m
CONFIG_PCMCIA=m
CONFIG_PCMCIA_LOAD_CIS=y
@@ -2229,10 +2251,14 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
#
CONFIG_FW_LOADER=y
CONFIG_FW_LOADER_PAGED_BUF=y
+CONFIG_FW_LOADER_SYSFS=y
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_FW_LOADER_USER_HELPER is not set
CONFIG_FW_LOADER_COMPRESS=y
+CONFIG_FW_LOADER_COMPRESS_XZ=y
+CONFIG_FW_LOADER_COMPRESS_ZSTD=y
CONFIG_FW_CACHE=y
+CONFIG_FW_UPLOAD=y
# end of Firmware loader
CONFIG_WANT_DEV_COREDUMP=y
@@ -2266,6 +2292,7 @@ CONFIG_DMA_SHARED_BUFFER=y
CONFIG_MHI_BUS=m
# CONFIG_MHI_BUS_DEBUG is not set
CONFIG_MHI_BUS_PCI_GENERIC=m
+CONFIG_MHI_BUS_EP=m
# end of Bus devices
CONFIG_CONNECTOR=y
@@ -2310,25 +2337,27 @@ CONFIG_EFI_VARS_PSTORE=y
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
CONFIG_EFI_RUNTIME_MAP=y
# CONFIG_EFI_FAKE_MEMMAP is not set
+CONFIG_EFI_DXE_MEM_ATTRIBUTES=y
CONFIG_EFI_RUNTIME_WRAPPERS=y
CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
CONFIG_EFI_BOOTLOADER_CONTROL=m
CONFIG_EFI_CAPSULE_LOADER=y
CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH=y
# CONFIG_EFI_TEST is not set
+CONFIG_EFI_DEV_PATH_PARSER=y
CONFIG_APPLE_PROPERTIES=y
# CONFIG_RESET_ATTACK_MITIGATION is not set
CONFIG_EFI_RCI2_TABLE=y
# CONFIG_EFI_DISABLE_PCI_DMA is not set
+CONFIG_EFI_EARLYCON=y
+CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
+# CONFIG_EFI_DISABLE_RUNTIME is not set
+CONFIG_EFI_COCO_SECRET=y
+CONFIG_EFI_EMBEDDED_FIRMWARE=y
# end of EFI (Extensible Firmware Interface) Support
-CONFIG_EFI_EMBEDDED_FIRMWARE=y
CONFIG_UEFI_CPER=y
CONFIG_UEFI_CPER_X86=y
-CONFIG_EFI_DEV_PATH_PARSER=y
-CONFIG_EFI_EARLYCON=y
-CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
-# CONFIG_EFI_DISABLE_RUNTIME is not set
#
# Tegra firmware driver
@@ -2624,6 +2653,7 @@ CONFIG_ALTERA_STAPL=m
CONFIG_INTEL_MEI=m
CONFIG_INTEL_MEI_ME=m
CONFIG_INTEL_MEI_TXE=m
+CONFIG_INTEL_MEI_GSC=m
CONFIG_INTEL_MEI_HDCP=m
CONFIG_INTEL_MEI_PXP=m
CONFIG_VMWARE_VMCI=m
@@ -2727,15 +2757,6 @@ CONFIG_SCSI_MPT3SAS_MAX_SGE=128
CONFIG_SCSI_MPT2SAS=m
CONFIG_SCSI_MPI3MR=m
CONFIG_SCSI_SMARTPQI=m
-CONFIG_SCSI_UFSHCD=m
-CONFIG_SCSI_UFSHCD_PCI=m
-# CONFIG_SCSI_UFS_DWC_TC_PCI is not set
-CONFIG_SCSI_UFSHCD_PLATFORM=m
-CONFIG_SCSI_UFS_CDNS_PLATFORM=m
-# CONFIG_SCSI_UFS_DWC_TC_PLATFORM is not set
-CONFIG_SCSI_UFS_BSG=y
-CONFIG_SCSI_UFS_HPB=y
-CONFIG_SCSI_UFS_HWMON=y
CONFIG_SCSI_HPTIOP=m
CONFIG_SCSI_BUSLOGIC=m
CONFIG_SCSI_FLASHPOINT=y
@@ -2960,7 +2981,7 @@ CONFIG_DM_UEVENT=y
CONFIG_DM_FLAKEY=m
CONFIG_DM_VERITY=m
CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG=y
-# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING is not set
+CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING=y
CONFIG_DM_VERITY_FEC=y
CONFIG_DM_SWITCH=m
CONFIG_DM_LOG_WRITES=m
@@ -3048,9 +3069,6 @@ CONFIG_ATM_LANAI=m
CONFIG_ATM_ENI=m
# CONFIG_ATM_ENI_DEBUG is not set
# CONFIG_ATM_ENI_TUNE_BURST is not set
-CONFIG_ATM_FIRESTREAM=m
-CONFIG_ATM_ZATM=m
-# CONFIG_ATM_ZATM_DEBUG is not set
CONFIG_ATM_NICSTAR=m
# CONFIG_ATM_NICSTAR_USE_SUNI is not set
# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
@@ -3058,10 +3076,6 @@ CONFIG_ATM_IDT77252=m
# CONFIG_ATM_IDT77252_DEBUG is not set
# CONFIG_ATM_IDT77252_RCV_ALL is not set
CONFIG_ATM_IDT77252_USE_SUNI=y
-CONFIG_ATM_AMBASSADOR=m
-# CONFIG_ATM_AMBASSADOR_DEBUG is not set
-CONFIG_ATM_HORIZON=m
-# CONFIG_ATM_HORIZON_DEBUG is not set
CONFIG_ATM_IA=m
# CONFIG_ATM_IA_DEBUG is not set
CONFIG_ATM_FORE200E=m
@@ -3145,7 +3159,6 @@ CONFIG_AMD8111_ETH=m
CONFIG_LANCE=m
CONFIG_PCNET32=m
CONFIG_PCMCIA_NMCLAN=m
-CONFIG_NI65=m
CONFIG_AMD_XGBE=m
CONFIG_AMD_XGBE_DCB=y
CONFIG_AMD_XGBE_HAVE_ECC=y
@@ -3214,7 +3227,6 @@ CONFIG_TULIP_MWI=y
CONFIG_TULIP_MMIO=y
CONFIG_TULIP_NAPI=y
CONFIG_TULIP_NAPI_HW_MITIGATION=y
-CONFIG_DE4X5=m
CONFIG_WINBOND_840=m
CONFIG_DM9102=m
CONFIG_ULI526X=m
@@ -3288,7 +3300,6 @@ CONFIG_MLX4_CORE=m
CONFIG_MLX4_DEBUG=y
CONFIG_MLX4_CORE_GEN2=y
CONFIG_MLX5_CORE=m
-CONFIG_MLX5_ACCEL=y
CONFIG_MLX5_FPGA=y
CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_EN_ARFS=y
@@ -3301,8 +3312,6 @@ CONFIG_MLX5_TC_CT=y
CONFIG_MLX5_TC_SAMPLE=y
CONFIG_MLX5_CORE_EN_DCB=y
CONFIG_MLX5_CORE_IPOIB=y
-CONFIG_MLX5_FPGA_IPSEC=y
-CONFIG_MLX5_IPSEC=y
CONFIG_MLX5_EN_IPSEC=y
CONFIG_MLX5_SW_STEERING=y
CONFIG_MLX5_SF=y
@@ -3415,6 +3424,11 @@ CONFIG_SFC_SRIOV=y
CONFIG_SFC_MCDI_LOGGING=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
+CONFIG_SFC_SIENA=m
+CONFIG_SFC_SIENA_MTD=y
+CONFIG_SFC_SIENA_MCDI_MON=y
+CONFIG_SFC_SIENA_SRIOV=y
+CONFIG_SFC_SIENA_MCDI_LOGGING=y
CONFIG_NET_VENDOR_SMSC=y
CONFIG_SMC9194=m
CONFIG_PCMCIA_SMC91C92=m
@@ -3481,6 +3495,7 @@ CONFIG_FIXED_PHY=m
#
CONFIG_AMD_PHY=m
CONFIG_ADIN_PHY=m
+CONFIG_ADIN1100_PHY=m
CONFIG_AQUANTIA_PHY=m
CONFIG_AX88796B_PHY=m
CONFIG_BROADCOM_PHY=m
@@ -3522,6 +3537,7 @@ CONFIG_DP83822_PHY=m
CONFIG_DP83848_PHY=m
CONFIG_DP83867_PHY=m
CONFIG_DP83869_PHY=m
+CONFIG_DP83TD510_PHY=m
CONFIG_VITESSE_PHY=m
CONFIG_XILINX_GMII2RGMII=m
CONFIG_MICREL_KS8995MA=m
@@ -3775,7 +3791,6 @@ CONFIG_IWLWIFI_DEBUGFS=y
CONFIG_IWLWIFI_DEVICE_TRACING=y
# end of Debugging Options
-CONFIG_IWLMEI=m
CONFIG_WLAN_VENDOR_INTERSIL=y
CONFIG_HOSTAP=m
CONFIG_HOSTAP_FIRMWARE=y
@@ -3846,6 +3861,8 @@ CONFIG_WILC1000=m
CONFIG_WILC1000_SDIO=m
CONFIG_WILC1000_SPI=m
# CONFIG_WILC1000_HW_OOB_INTR is not set
+CONFIG_WLAN_VENDOR_PURELIFI=y
+CONFIG_PLFXLC=m
CONFIG_WLAN_VENDOR_RALINK=y
CONFIG_RT2X00=m
CONFIG_RT2400PCI=m
@@ -3921,7 +3938,9 @@ CONFIG_RTW89=m
CONFIG_RTW89_CORE=m
CONFIG_RTW89_PCI=m
CONFIG_RTW89_8852A=m
+CONFIG_RTW89_8852C=m
CONFIG_RTW89_8852AE=m
+CONFIG_RTW89_8852CE=m
CONFIG_RTW89_DEBUG=y
CONFIG_RTW89_DEBUGMSG=y
CONFIG_RTW89_DEBUGFS=y
@@ -3931,6 +3950,8 @@ CONFIG_RSI_DEBUGFS=y
CONFIG_RSI_SDIO=m
CONFIG_RSI_USB=m
CONFIG_RSI_COEX=y
+CONFIG_WLAN_VENDOR_SILABS=y
+CONFIG_WFX=m
CONFIG_WLAN_VENDOR_ST=y
CONFIG_CW1200=m
CONFIG_CW1200_WLAN_SDIO=m
@@ -3961,7 +3982,6 @@ CONFIG_VIRT_WIFI=m
CONFIG_IEEE802154_DRIVERS=m
CONFIG_IEEE802154_FAKELB=m
CONFIG_IEEE802154_AT86RF230=m
-# CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set
CONFIG_IEEE802154_MRF24J40=m
CONFIG_IEEE802154_CC2520=m
CONFIG_IEEE802154_ATUSB=m
@@ -3981,6 +4001,7 @@ CONFIG_MHI_WWAN_CTRL=m
CONFIG_MHI_WWAN_MBIM=m
CONFIG_RPMSG_WWAN_CTRL=m
CONFIG_IOSM=m
+CONFIG_MTK_T7XX=m
# end of Wireless WAN
CONFIG_VMXNET3=m
@@ -4143,6 +4164,7 @@ CONFIG_JOYSTICK_WALKERA0701=m
CONFIG_JOYSTICK_PXRC=m
CONFIG_JOYSTICK_QWIIC=m
CONFIG_JOYSTICK_FSIA6B=m
+CONFIG_JOYSTICK_SENSEHAT=m
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=m
CONFIG_TABLET_USB_AIPTEK=m
@@ -4315,6 +4337,7 @@ CONFIG_INPUT_ADXL34X_SPI=m
CONFIG_INPUT_IMS_PCU=m
# CONFIG_INPUT_IQS269A is not set
CONFIG_INPUT_IQS626A=m
+CONFIG_INPUT_IQS7222=m
CONFIG_INPUT_CMA3000=m
CONFIG_INPUT_CMA3000_I2C=m
CONFIG_INPUT_IDEAPAD_SLIDEBAR=m
@@ -4752,7 +4775,7 @@ CONFIG_PINMUX=y
CONFIG_PINCONF=y
CONFIG_GENERIC_PINCONF=y
# CONFIG_DEBUG_PINCTRL is not set
-CONFIG_PINCTRL_AMD=m
+CONFIG_PINCTRL_AMD=y
# CONFIG_PINCTRL_AXP209 is not set
CONFIG_PINCTRL_DA9062=m
# CONFIG_PINCTRL_EQUILIBRIUM is not set
@@ -5109,7 +5132,7 @@ CONFIG_SENSORS_DRIVETEMP=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_DELL_SMM=m
-# CONFIG_I8K is not set
+CONFIG_I8K=y
CONFIG_SENSORS_DA9052_ADC=m
CONFIG_SENSORS_DA9055=m
CONFIG_SENSORS_I5K_AMB=m
@@ -5188,7 +5211,9 @@ CONFIG_SENSORS_PC87360=m
CONFIG_SENSORS_PC87427=m
CONFIG_SENSORS_NTC_THERMISTOR=m
CONFIG_SENSORS_NCT6683=m
+CONFIG_SENSORS_NCT6775_CORE=m
CONFIG_SENSORS_NCT6775=m
+CONFIG_SENSORS_NCT6775_I2C=m
CONFIG_SENSORS_NCT7802=m
CONFIG_SENSORS_NCT7904=m
CONFIG_SENSORS_NPCM7XX=m
@@ -5239,6 +5264,7 @@ CONFIG_SENSORS_TPS40422=m
CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_UCD9000=m
CONFIG_SENSORS_UCD9200=m
+CONFIG_SENSORS_XDPE152=m
CONFIG_SENSORS_XDPE122=m
CONFIG_SENSORS_XDPE122_REGULATOR=y
CONFIG_SENSORS_ZL6100=m
@@ -5717,6 +5743,7 @@ CONFIG_REGULATOR_RT4801=m
CONFIG_REGULATOR_RT4831=m
CONFIG_REGULATOR_RT5033=m
CONFIG_REGULATOR_RT5190A=m
+CONFIG_REGULATOR_RT5759=m
CONFIG_REGULATOR_RT6160=m
CONFIG_REGULATOR_RT6245=m
CONFIG_REGULATOR_RTQ2134=m
@@ -5789,7 +5816,7 @@ CONFIG_IR_WINBOND_CIR=m
CONFIG_RC_ATI_REMOTE=m
CONFIG_RC_LOOPBACK=m
CONFIG_RC_XBOX_DVD=m
-CONFIG_CEC_CORE=y
+CONFIG_CEC_CORE=m
CONFIG_CEC_NOTIFIER=y
CONFIG_CEC_PIN=y
@@ -6638,14 +6665,17 @@ CONFIG_VGA_SWITCHEROO=y
CONFIG_DRM=y
CONFIG_DRM_MIPI_DBI=m
CONFIG_DRM_MIPI_DSI=y
-CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DEBUG_MM is not set
# CONFIG_DRM_DEBUG_SELFTEST is not set
-CONFIG_DRM_DP_HELPER=m
CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
+CONFIG_DRM_DISPLAY_HELPER=m
+CONFIG_DRM_DISPLAY_DP_HELPER=y
+CONFIG_DRM_DISPLAY_HDCP_HELPER=y
+CONFIG_DRM_DISPLAY_HDMI_HELPER=y
+CONFIG_DRM_DP_AUX_CHARDEV=y
CONFIG_DRM_DP_CEC=y
CONFIG_DRM_TTM=m
CONFIG_DRM_BUDDY=m
@@ -6761,6 +6791,7 @@ CONFIG_DRM_PANEL=y
# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
+# CONFIG_DRM_PANEL_NEWVISION_NV3052C is not set
# CONFIG_DRM_PANEL_NOVATEK_NT35510 is not set
# CONFIG_DRM_PANEL_NOVATEK_NT35560 is not set
# CONFIG_DRM_PANEL_NOVATEK_NT35950 is not set
@@ -6818,6 +6849,7 @@ CONFIG_DRM_PANEL_BRIDGE=y
# CONFIG_DRM_DISPLAY_CONNECTOR is not set
# CONFIG_DRM_ITE_IT6505 is not set
# CONFIG_DRM_LONTIUM_LT8912B is not set
+# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
# CONFIG_DRM_LONTIUM_LT9611UXC is not set
# CONFIG_DRM_ITE_IT66121 is not set
@@ -6870,6 +6902,7 @@ CONFIG_DRM_VBOXVIDEO=m
CONFIG_DRM_GUD=m
CONFIG_DRM_SSD130X=m
CONFIG_DRM_SSD130X_I2C=m
+CONFIG_DRM_SSD130X_SPI=m
CONFIG_DRM_HYPERV=m
CONFIG_DRM_LEGACY=y
CONFIG_DRM_TDFX=m
@@ -6890,7 +6923,6 @@ CONFIG_FB_NOTIFY=y
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_DDC=m
-CONFIG_FB_BOOT_VESA_SUPPORT=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
@@ -7128,6 +7160,7 @@ CONFIG_SND_VIRMIDI=m
CONFIG_SND_MTPAV=m
CONFIG_SND_MTS64=m
CONFIG_SND_SERIAL_U16550=m
+# CONFIG_SND_SERIAL_GENERIC is not set
CONFIG_SND_MPU401=m
CONFIG_SND_PORTMAN2X4=m
CONFIG_SND_AC97_POWER_SAVE=y
@@ -7492,7 +7525,7 @@ CONFIG_SND_SOC_SOF_HDA_LINK=y
CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC=y
CONFIG_SND_SOC_SOF_HDA_LINK_BASELINE=m
CONFIG_SND_SOC_SOF_HDA=m
-CONFIG_SND_SOC_SOF_HDA_PROBES=y
+CONFIG_SND_SOC_SOF_HDA_PROBES=m
CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE=m
CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE=m
CONFIG_SND_SOC_SOF_XTENSA=m
@@ -7550,6 +7583,10 @@ CONFIG_SND_SOC_CS35L41_LIB=m
CONFIG_SND_SOC_CS35L41=m
CONFIG_SND_SOC_CS35L41_SPI=m
CONFIG_SND_SOC_CS35L41_I2C=m
+CONFIG_SND_SOC_CS35L45_TABLES=m
+CONFIG_SND_SOC_CS35L45=m
+CONFIG_SND_SOC_CS35L45_SPI=m
+CONFIG_SND_SOC_CS35L45_I2C=m
CONFIG_SND_SOC_CS42L42=m
CONFIG_SND_SOC_CS42L51=m
CONFIG_SND_SOC_CS42L51_I2C=m
@@ -7595,6 +7632,7 @@ CONFIG_SND_SOC_MAX98373=m
CONFIG_SND_SOC_MAX98373_I2C=m
CONFIG_SND_SOC_MAX98373_SDW=m
CONFIG_SND_SOC_MAX98390=m
+CONFIG_SND_SOC_MAX98396=m
CONFIG_SND_SOC_MAX9860=m
CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
CONFIG_SND_SOC_PCM1681=m
@@ -7713,6 +7751,8 @@ CONFIG_SND_SOC_WM8580=m
CONFIG_SND_SOC_WM8711=m
CONFIG_SND_SOC_WM8728=m
CONFIG_SND_SOC_WM8731=m
+CONFIG_SND_SOC_WM8731_I2C=m
+CONFIG_SND_SOC_WM8731_SPI=m
CONFIG_SND_SOC_WM8737=m
CONFIG_SND_SOC_WM8741=m
CONFIG_SND_SOC_WM8750=m
@@ -7725,6 +7765,7 @@ CONFIG_SND_SOC_WM8804_I2C=m
CONFIG_SND_SOC_WM8804_SPI=m
CONFIG_SND_SOC_WM8903=m
CONFIG_SND_SOC_WM8904=m
+CONFIG_SND_SOC_WM8940=m
CONFIG_SND_SOC_WM8960=m
CONFIG_SND_SOC_WM8962=m
CONFIG_SND_SOC_WM8974=m
@@ -7838,6 +7879,7 @@ CONFIG_LOGIWHEELS_FF=y
CONFIG_HID_MAGICMOUSE=m
CONFIG_HID_MALTRON=m
CONFIG_HID_MAYFLASH=m
+CONFIG_HID_MEGAWORLD_FF=m
# CONFIG_HID_REDRAGON is not set
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
@@ -8326,6 +8368,7 @@ CONFIG_TYPEC_WUSB3801=m
#
# USB Type-C Multiplexer/DeMultiplexer Switch support
#
+CONFIG_TYPEC_MUX_FSA4480=m
CONFIG_TYPEC_MUX_PI3USB30532=m
# end of USB Type-C Multiplexer/DeMultiplexer Switch support
@@ -8383,6 +8426,15 @@ CONFIG_MMC_MTK=m
CONFIG_MMC_SDHCI_XENON=m
# CONFIG_MMC_SDHCI_OMAP is not set
# CONFIG_MMC_SDHCI_AM654 is not set
+CONFIG_SCSI_UFSHCD=m
+CONFIG_SCSI_UFS_BSG=y
+CONFIG_SCSI_UFS_HPB=y
+CONFIG_SCSI_UFS_HWMON=y
+CONFIG_SCSI_UFSHCD_PCI=m
+# CONFIG_SCSI_UFS_DWC_TC_PCI is not set
+CONFIG_SCSI_UFSHCD_PLATFORM=m
+CONFIG_SCSI_UFS_CDNS_PLATFORM=m
+# CONFIG_SCSI_UFS_DWC_TC_PLATFORM is not set
CONFIG_MEMSTICK=m
# CONFIG_MEMSTICK_DEBUG is not set
@@ -8487,6 +8539,11 @@ CONFIG_LEDS_RT8515=m
# CONFIG_LEDS_SGM3140 is not set
#
+# RGB LED drivers
+#
+CONFIG_LEDS_PWM_MULTICOLOR=m
+
+#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
@@ -8816,6 +8873,7 @@ CONFIG_VIRT_DRIVERS=y
CONFIG_VMGENID=y
CONFIG_VBOXGUEST=m
CONFIG_NITRO_ENCLAVES=m
+CONFIG_VIRTIO_ANCHOR=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI_LIB=m
CONFIG_VIRTIO_PCI_LIB_LEGACY=m
@@ -8861,7 +8919,6 @@ CONFIG_HYPERV_BALLOON=m
# CONFIG_COMEDI is not set
CONFIG_STAGING=y
CONFIG_PRISM2_USB=m
-CONFIG_FB_OLPC_DCON=m
CONFIG_RTL8192U=m
CONFIG_RTLLIB=m
CONFIG_RTLLIB_CRYPTO_CCMP=m
@@ -8950,7 +9007,6 @@ CONFIG_LTE_GDM724X=m
CONFIG_FIREWIRE_SERIAL=m
CONFIG_FWTTY_MAX_TOTAL_PORTS=64
CONFIG_FWTTY_MAX_CARD_PORTS=32
-CONFIG_UNISYSSPAR=y
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
# CONFIG_FB_TFT is not set
CONFIG_MOST_COMPONENTS=m
@@ -8964,7 +9020,10 @@ CONFIG_PI433=m
CONFIG_FIELDBUS_DEV=m
# CONFIG_HMS_ANYBUSS_BUS is not set
CONFIG_QLGE=m
-CONFIG_WFX=m
+
+#
+# VME Device Drivers
+#
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACPI_WMI=m
CONFIG_WMI_BMOF=m
@@ -9075,8 +9134,10 @@ CONFIG_INTEL_IPS=m
# CONFIG_INTEL_SCU_PCI is not set
# CONFIG_INTEL_SCU_PLATFORM is not set
CONFIG_SIEMENS_SIMATIC_IPC=m
+CONFIG_WINMATE_FM07_KEYS=m
CONFIG_PMC_ATOM=y
CONFIG_CHROME_PLATFORMS=y
+CONFIG_CHROMEOS_ACPI=m
CONFIG_CHROMEOS_LAPTOP=m
CONFIG_CHROMEOS_PSTORE=m
# CONFIG_CHROMEOS_TBMC is not set
@@ -9105,6 +9166,7 @@ CONFIG_MELLANOX_PLATFORM=y
CONFIG_MLXREG_HOTPLUG=m
CONFIG_MLXREG_IO=m
CONFIG_MLXREG_LC=m
+CONFIG_NVSW_SN2201=m
CONFIG_OLPC_EC=y
CONFIG_SURFACE_PLATFORMS=y
CONFIG_SURFACE3_WMI=m
@@ -9341,7 +9403,7 @@ CONFIG_BMI088_ACCEL=m
CONFIG_BMI088_ACCEL_SPI=m
CONFIG_DA280=m
CONFIG_DA311=m
-# CONFIG_DMARD06 is not set
+CONFIG_DMARD06=m
CONFIG_DMARD09=m
CONFIG_DMARD10=m
CONFIG_FXLS8962AF=m
@@ -9458,7 +9520,7 @@ CONFIG_AD74413R=m
#
# Analog Front Ends
#
-# CONFIG_IIO_RESCALE is not set
+CONFIG_IIO_RESCALE=m
# end of Analog Front Ends
#
@@ -9556,7 +9618,7 @@ CONFIG_AD5791=m
CONFIG_AD7293=m
CONFIG_AD7303=m
CONFIG_AD8801=m
-# CONFIG_DPOT_DAC is not set
+CONFIG_DPOT_DAC=m
CONFIG_DS4424=m
CONFIG_LTC1660=m
CONFIG_LTC2632=m
@@ -9569,7 +9631,7 @@ CONFIG_TI_DAC082S085=m
# CONFIG_TI_DAC5571 is not set
CONFIG_TI_DAC7311=m
CONFIG_TI_DAC7612=m
-# CONFIG_VF610_DAC is not set
+CONFIG_VF610_DAC=m
# end of Digital to analog converters
#
@@ -9705,7 +9767,7 @@ CONFIG_BH1780=m
CONFIG_CM32181=m
CONFIG_CM3232=m
CONFIG_CM3323=m
-# CONFIG_CM3605 is not set
+CONFIG_CM3605=m
CONFIG_CM36651=m
CONFIG_IIO_CROS_EC_LIGHT_PROX=m
CONFIG_GP2AP002=m
@@ -9751,7 +9813,7 @@ CONFIG_ZOPT2201=m
#
# Magnetometer sensors
#
-# CONFIG_AK8974 is not set
+CONFIG_AK8974=m
CONFIG_AK8975=m
CONFIG_AK09911=m
CONFIG_BMC150_MAGN=m
@@ -9775,7 +9837,7 @@ CONFIG_YAMAHA_YAS530=m
#
# Multiplexers
#
-# CONFIG_IIO_MUX is not set
+CONFIG_IIO_MUX=m
# end of Multiplexers
#
@@ -9932,6 +9994,7 @@ CONFIG_PWM_LP3943=m
CONFIG_PWM_PCA9685=m
CONFIG_PWM_TWL=m
CONFIG_PWM_TWL_LED=m
+# CONFIG_PWM_XILINX is not set
#
# IRQ chip support
@@ -9939,6 +10002,7 @@ CONFIG_PWM_TWL_LED=m
CONFIG_IRQCHIP=y
# CONFIG_AL_FIC is not set
CONFIG_MADERA_IRQ=m
+# CONFIG_XILINX_INTC is not set
# end of IRQ chip support
CONFIG_IPACK_BUS=m
@@ -10061,12 +10125,6 @@ CONFIG_FPGA_DFL_NIOS_INTEL_PAC_N3000=m
CONFIG_FPGA_DFL_PCI=m
# CONFIG_FSI is not set
CONFIG_TEE=m
-
-#
-# TEE drivers
-#
-# end of TEE drivers
-
CONFIG_MULTIPLEXER=m
#
@@ -10094,6 +10152,7 @@ CONFIG_MOST_USB_HDM=m
CONFIG_MOST_CDEV=m
CONFIG_MOST_SND=m
# CONFIG_PECI is not set
+CONFIG_HTE=y
# end of Device Drivers
#
@@ -10208,6 +10267,7 @@ CONFIG_FSCACHE_STATS=y
CONFIG_CACHEFILES=m
# CONFIG_CACHEFILES_DEBUG is not set
# CONFIG_CACHEFILES_ERROR_INJECTION is not set
+CONFIG_CACHEFILES_ONDEMAND=y
# end of Caches
#
@@ -10356,6 +10416,7 @@ CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_ZIP=y
CONFIG_EROFS_FS_ZIP_LZMA=y
+CONFIG_EROFS_FS_ONDEMAND=y
CONFIG_VBOXSF_FS=m
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
@@ -10498,6 +10559,8 @@ CONFIG_KEYS=y
CONFIG_KEYS_REQUEST_CACHE=y
CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_TRUSTED_KEYS=m
+CONFIG_TRUSTED_KEYS_TPM=y
+CONFIG_TRUSTED_KEYS_TEE=y
CONFIG_ENCRYPTED_KEYS=m
# CONFIG_USER_DECRYPTED_DATA is not set
CONFIG_KEY_DH_OPERATIONS=y
@@ -10573,16 +10636,21 @@ CONFIG_LSM="landlock,lockdown,yama,integrity,bpf"
#
# Memory initialization
#
+CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y
+CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
CONFIG_INIT_STACK_NONE=y
-# CONFIG_GCC_PLUGIN_STRUCTLEAK_USER is not set
-# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF is not set
-# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL is not set
+# CONFIG_INIT_STACK_ALL_PATTERN is not set
+# CONFIG_INIT_STACK_ALL_ZERO is not set
# CONFIG_GCC_PLUGIN_STACKLEAK is not set
CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
# CONFIG_ZERO_CALL_USED_REGS is not set
# end of Memory initialization
+
+CONFIG_RANDSTRUCT_NONE=y
+# CONFIG_RANDSTRUCT_FULL is not set
+# CONFIG_RANDSTRUCT_PERFORMANCE is not set
# end of Kernel hardening options
# end of Security options
@@ -10684,7 +10752,6 @@ CONFIG_CRYPTO_CRC32=m
CONFIG_CRYPTO_CRC32_PCLMUL=m
CONFIG_CRYPTO_XXHASH=m
CONFIG_CRYPTO_BLAKE2B=m
-CONFIG_CRYPTO_BLAKE2S=m
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_CRC64_ROCKSOFT=y
CONFIG_CRYPTO_GHASH=m
@@ -10698,6 +10765,7 @@ CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_SHA3=m
CONFIG_CRYPTO_SM3=m
+CONFIG_CRYPTO_SM3_GENERIC=m
CONFIG_CRYPTO_STREEBOG=m
CONFIG_CRYPTO_WP512=m
@@ -10719,6 +10787,7 @@ CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_SERPENT_SSE2_586=m
CONFIG_CRYPTO_SM4=m
+CONFIG_CRYPTO_SM4_GENERIC=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m
CONFIG_CRYPTO_TWOFISH_586=m
@@ -10789,6 +10858,7 @@ CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
+# CONFIG_FIPS_SIGNATURE_SELFTEST is not set
#
# Certificates for signature checking
@@ -10804,6 +10874,7 @@ CONFIG_SYSTEM_BLACKLIST_KEYRING=y
CONFIG_SYSTEM_BLACKLIST_HASH_LIST=""
CONFIG_SYSTEM_REVOCATION_LIST=y
CONFIG_SYSTEM_REVOCATION_KEYS=""
+CONFIG_SYSTEM_BLACKLIST_AUTH_UPDATE=y
# end of Certificates for signature checking
CONFIG_BINARY_PRINTF=y
@@ -10843,8 +10914,6 @@ CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
CONFIG_CRYPTO_LIB_POLY1305=m
CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
CONFIG_CRYPTO_LIB_SHA256=y
-CONFIG_CRYPTO_LIB_SM3=m
-CONFIG_CRYPTO_LIB_SM4=m
# end of Crypto library routines
CONFIG_LIB_MEMNEQ=y
@@ -10965,6 +11034,8 @@ CONFIG_FONT_TER16x32=y
# CONFIG_FONT_6x8 is not set
CONFIG_SG_POOL=y
CONFIG_ARCH_STACKWALK=y
+CONFIG_STACKDEPOT=y
+CONFIG_STACK_HASH_ORDER=20
CONFIG_SBITMAP=y
CONFIG_PARMAN=m
CONFIG_OBJAGG=m
@@ -11045,6 +11116,7 @@ CONFIG_HAVE_KCSAN_COMPILER=y
#
# CONFIG_NET_DEV_REFCNT_TRACKER is not set
# CONFIG_NET_NS_REFCNT_TRACKER is not set
+# CONFIG_DEBUG_NET is not set
# end of Networking Debugging
#
@@ -11052,6 +11124,8 @@ CONFIG_HAVE_KCSAN_COMPILER=y
#
CONFIG_PAGE_EXTENSION=y
# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_SLUB_DEBUG=y
+# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_PAGE_OWNER is not set
CONFIG_PAGE_POISONING=y
# CONFIG_DEBUG_PAGE_REF is not set
@@ -11062,8 +11136,6 @@ CONFIG_GENERIC_PTDUMP=y
CONFIG_PTDUMP_CORE=y
# CONFIG_PTDUMP_DEBUGFS is not set
# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_SLUB_DEBUG_ON is not set
-# CONFIG_SLUB_STATS is not set
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_DEBUG_STACK_USAGE is not set
@@ -11102,15 +11174,12 @@ CONFIG_PANIC_TIMEOUT=0
CONFIG_LOCKUP_DETECTOR=y
CONFIG_SOFTLOCKUP_DETECTOR=y
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
-CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_HARDLOCKUP_DETECTOR_PERF=y
CONFIG_HARDLOCKUP_DETECTOR=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
-CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
-CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
# CONFIG_WQ_WATCHDOG is not set
# CONFIG_TEST_LOCKUP is not set
# end of Debug Oops, Lockups and Hangs
@@ -11169,6 +11238,7 @@ CONFIG_DEBUG_LIST=y
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_REF_SCALE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
+CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0
# CONFIG_RCU_TRACE is not set
# CONFIG_RCU_EQS_DEBUG is not set
# end of RCU Debugging
@@ -11257,7 +11327,6 @@ CONFIG_IO_STRICT_DEVMEM=y
#
# x86 Debugging
#
-CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
CONFIG_EARLY_PRINTK_USB=y
# CONFIG_X86_VERBOSE_BOOTUP is not set
CONFIG_EARLY_PRINTK=y
@@ -11333,7 +11402,7 @@ CONFIG_ASYNC_RAID6_TEST=m
# CONFIG_TEST_FPU is not set
# CONFIG_TEST_CLOCKSOURCE_WATCHDOG is not set
CONFIG_ARCH_USE_MEMTEST=y
-# CONFIG_MEMTEST is not set
+CONFIG_MEMTEST=y
# CONFIG_HYPERV_TESTING is not set
# end of Kernel Testing and Coverage
# end of Kernel hacking
diff --git a/config.x86_64 b/config.x86_64
index 5a0f8b3efabb..def02038e374 100644
--- a/config.x86_64
+++ b/config.x86_64
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.19.6-zen1 Kernel Configuration
+# Linux/x86 6.0.1-zen2 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (GCC) 12.2.0"
CONFIG_CC_IS_GCC=y
@@ -13,7 +13,6 @@ CONFIG_LD_VERSION=23900
CONFIG_LLD_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y
-CONFIG_CC_HAS_ASM_GOTO=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
CONFIG_CC_HAS_ASM_INLINE=y
@@ -95,6 +94,8 @@ CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_CONTEXT_TRACKING=y
+CONFIG_CONTEXT_TRACKING_IDLE=y
#
# Timers subsystem
@@ -104,8 +105,8 @@ CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
# CONFIG_NO_HZ_IDLE is not set
CONFIG_NO_HZ_FULL=y
-CONFIG_CONTEXT_TRACKING=y
-# CONFIG_CONTEXT_TRACKING_FORCE is not set
+CONFIG_CONTEXT_TRACKING_USER=y
+# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US=100
@@ -180,6 +181,8 @@ CONFIG_RCU_BOOST=y
CONFIG_RCU_BOOST_DELAY=500
# CONFIG_RCU_EXP_KTHREAD is not set
CONFIG_RCU_NOCB_CPU=y
+# CONFIG_RCU_NOCB_CPU_DEFAULT_ALL is not set
+# CONFIG_RCU_NOCB_CPU_CB_BOOST is not set
# CONFIG_TASKS_TRACE_RCU_READ_MB is not set
# end of RCU Subsystem
@@ -212,6 +215,7 @@ CONFIG_NUMA_BALANCING=y
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
+# CONFIG_CGROUP_FAVOR_DYNMODS is not set
CONFIG_MEMCG=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG_KMEM=y
@@ -511,7 +515,6 @@ CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=0
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
-CONFIG_ARCH_RANDOM=y
CONFIG_X86_UMIP=y
CONFIG_CC_HAS_IBT=y
CONFIG_X86_KERNEL_IBT=y
@@ -584,6 +587,7 @@ CONFIG_PM_STD_PARTITION=""
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
# CONFIG_PM_AUTOSLEEP is not set
+# CONFIG_PM_USERSPACE_AUTOSLEEP is not set
# CONFIG_PM_WAKELOCKS is not set
CONFIG_PM=y
CONFIG_PM_DEBUG=y
@@ -668,8 +672,8 @@ CONFIG_CHT_WC_PMIC_OPREGION=y
CONFIG_CHT_DC_TI_PMIC_OPREGION=y
CONFIG_TPS68470_PMIC_OPREGION=y
CONFIG_ACPI_VIOT=y
-CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_PRMT=y
+CONFIG_X86_PM_TIMER=y
#
# CPU Frequency scaling
@@ -847,8 +851,8 @@ CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
CONFIG_LTO_NONE=y
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
-CONFIG_HAVE_CONTEXT_TRACKING=y
-CONFIG_HAVE_CONTEXT_TRACKING_OFFSTACK=y
+CONFIG_HAVE_CONTEXT_TRACKING_USER=y
+CONFIG_HAVE_CONTEXT_TRACKING_USER_OFFSTACK=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_MOVE_PUD=y
@@ -863,6 +867,7 @@ CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_SOFTIRQ_ON_OWN_STACK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
CONFIG_HAVE_EXIT_THREAD=y
@@ -1109,7 +1114,6 @@ CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
CONFIG_ARCH_ENABLE_THP_MIGRATION=y
CONFIG_CONTIG_ALLOC=y
CONFIG_PHYS_ADDR_T_64BIT=y
-CONFIG_VIRT_TO_BUS=y
CONFIG_MMU_NOTIFIER=y
CONFIG_KSM=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
@@ -1140,12 +1144,12 @@ CONFIG_PAGE_IDLE_FLAG=y
CONFIG_IDLE_PAGE_TRACKING=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
-CONFIG_ARCH_HAS_VM_GET_PAGE_PROT=y
CONFIG_ARCH_HAS_PTE_DEVMAP=y
CONFIG_ZONE_DMA=y
CONFIG_ZONE_DMA32=y
CONFIG_ZONE_DEVICE=y
CONFIG_HMM_MIRROR=y
+CONFIG_GET_FREE_REGION=y
CONFIG_DEVICE_PRIVATE=y
CONFIG_VMAP_PFN=y
CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
@@ -1175,6 +1179,7 @@ CONFIG_DAMON_PADDR=y
CONFIG_DAMON_SYSFS=y
CONFIG_DAMON_DBGFS=y
CONFIG_DAMON_RECLAIM=y
+CONFIG_DAMON_LRU_SORT=y
# end of Data Access Monitoring
# end of Memory Management options
@@ -1403,6 +1408,7 @@ CONFIG_NFT_FIB_NETDEV=m
CONFIG_NFT_REJECT_NETDEV=m
CONFIG_NF_FLOW_TABLE_INET=m
CONFIG_NF_FLOW_TABLE=m
+CONFIG_NF_FLOW_TABLE_PROCFS=y
CONFIG_NETFILTER_XTABLES=m
CONFIG_NETFILTER_XTABLES_COMPAT=y
@@ -1722,6 +1728,7 @@ CONFIG_NET_DSA_TAG_OCELOT_8021Q=m
CONFIG_NET_DSA_TAG_QCA=m
CONFIG_NET_DSA_TAG_RTL4_A=m
CONFIG_NET_DSA_TAG_RTL8_4=m
+CONFIG_NET_DSA_TAG_RZN1_A5PSW=m
CONFIG_NET_DSA_TAG_LAN9303=m
CONFIG_NET_DSA_TAG_SJA1105=m
CONFIG_NET_DSA_TAG_TRAILER=m
@@ -1946,71 +1953,6 @@ CONFIG_CAN_BCM=m
CONFIG_CAN_GW=m
CONFIG_CAN_J1939=m
CONFIG_CAN_ISOTP=m
-
-#
-# CAN Device Drivers
-#
-CONFIG_CAN_VCAN=m
-CONFIG_CAN_VXCAN=m
-CONFIG_CAN_SLCAN=m
-CONFIG_CAN_DEV=m
-CONFIG_CAN_CALC_BITTIMING=y
-CONFIG_CAN_JANZ_ICAN3=m
-CONFIG_CAN_KVASER_PCIEFD=m
-CONFIG_CAN_C_CAN=m
-CONFIG_CAN_C_CAN_PLATFORM=m
-CONFIG_CAN_C_CAN_PCI=m
-CONFIG_CAN_CC770=m
-# CONFIG_CAN_CC770_ISA is not set
-CONFIG_CAN_CC770_PLATFORM=m
-CONFIG_CAN_CTUCANFD=m
-CONFIG_CAN_CTUCANFD_PCI=m
-CONFIG_CAN_IFI_CANFD=m
-CONFIG_CAN_M_CAN=m
-CONFIG_CAN_M_CAN_PCI=m
-CONFIG_CAN_M_CAN_PLATFORM=m
-CONFIG_CAN_M_CAN_TCAN4X5X=m
-CONFIG_CAN_PEAK_PCIEFD=m
-CONFIG_CAN_SJA1000=m
-CONFIG_CAN_EMS_PCI=m
-# CONFIG_CAN_EMS_PCMCIA is not set
-CONFIG_CAN_F81601=m
-CONFIG_CAN_KVASER_PCI=m
-CONFIG_CAN_PEAK_PCI=m
-CONFIG_CAN_PEAK_PCIEC=y
-CONFIG_CAN_PEAK_PCMCIA=m
-CONFIG_CAN_PLX_PCI=m
-# CONFIG_CAN_SJA1000_ISA is not set
-CONFIG_CAN_SJA1000_PLATFORM=m
-CONFIG_CAN_SOFTING=m
-CONFIG_CAN_SOFTING_CS=m
-
-#
-# CAN SPI interfaces
-#
-CONFIG_CAN_HI311X=m
-CONFIG_CAN_MCP251X=m
-CONFIG_CAN_MCP251XFD=m
-# CONFIG_CAN_MCP251XFD_SANITY is not set
-# end of CAN SPI interfaces
-
-#
-# CAN USB interfaces
-#
-CONFIG_CAN_8DEV_USB=m
-CONFIG_CAN_EMS_USB=m
-CONFIG_CAN_ESD_USB2=m
-CONFIG_CAN_ETAS_ES58X=m
-CONFIG_CAN_GS_USB=m
-CONFIG_CAN_KVASER_USB=m
-CONFIG_CAN_MCBA_USB=m
-CONFIG_CAN_PEAK_USB=m
-CONFIG_CAN_UCAN=m
-# end of CAN USB interfaces
-
-# CONFIG_CAN_DEBUG_DEVICES is not set
-# end of CAN Device Drivers
-
CONFIG_BT=m
CONFIG_BT_BREDR=y
CONFIG_BT_RFCOMM=m
@@ -2221,6 +2163,7 @@ CONFIG_PCI_STUB=y
CONFIG_PCI_PF_STUB=m
CONFIG_XEN_PCIDEV_FRONTEND=m
CONFIG_PCI_ATS=y
+CONFIG_PCI_DOE=y
CONFIG_PCI_LOCKLESS_CONFIG=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
@@ -2285,6 +2228,7 @@ CONFIG_CXL_PMEM=m
CONFIG_CXL_MEM=m
CONFIG_CXL_PORT=m
CONFIG_CXL_SUSPEND=y
+CONFIG_CXL_REGION=y
CONFIG_PCCARD=m
CONFIG_PCMCIA=m
CONFIG_PCMCIA_LOAD_CIS=y
@@ -2401,7 +2345,6 @@ CONFIG_GOOGLE_VPD=m
#
# EFI (Extensible Firmware Interface) Support
#
-# CONFIG_EFI_VARS is not set
CONFIG_EFI_ESRT=y
CONFIG_EFI_VARS_PSTORE=y
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
@@ -2612,7 +2555,6 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
CONFIG_BLK_DEV_DRBD=m
# CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NBD=m
-CONFIG_BLK_DEV_SX8=m
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=16384
@@ -2624,6 +2566,7 @@ CONFIG_XEN_BLKDEV_FRONTEND=m
CONFIG_XEN_BLKDEV_BACKEND=m
CONFIG_VIRTIO_BLK=m
CONFIG_BLK_DEV_RBD=m
+CONFIG_BLK_DEV_UBLK=m
CONFIG_BLK_DEV_RNBD=y
CONFIG_BLK_DEV_RNBD_CLIENT=m
CONFIG_BLK_DEV_RNBD_SERVER=m
@@ -2631,6 +2574,7 @@ CONFIG_BLK_DEV_RNBD_SERVER=m
#
# NVME Support
#
+CONFIG_NVME_COMMON=m
CONFIG_NVME_CORE=m
CONFIG_BLK_DEV_NVME=m
CONFIG_NVME_MULTIPATH=y
@@ -2640,6 +2584,7 @@ CONFIG_NVME_FABRICS=m
CONFIG_NVME_RDMA=m
CONFIG_NVME_FC=m
CONFIG_NVME_TCP=m
+CONFIG_NVME_AUTH=y
CONFIG_NVME_TARGET=m
CONFIG_NVME_TARGET_PASSTHRU=y
CONFIG_NVME_TARGET_LOOP=m
@@ -2647,6 +2592,7 @@ CONFIG_NVME_TARGET_RDMA=m
CONFIG_NVME_TARGET_FC=m
CONFIG_NVME_TARGET_FCLOOP=m
CONFIG_NVME_TARGET_TCP=m
+CONFIG_NVME_TARGET_AUTH=y
# end of NVME Support
#
@@ -2799,7 +2745,6 @@ CONFIG_SCSI_MVSAS=m
CONFIG_SCSI_MVSAS_DEBUG=y
CONFIG_SCSI_MVSAS_TASKLET=y
CONFIG_SCSI_MVUMI=m
-CONFIG_SCSI_DPT_I2O=m
CONFIG_SCSI_ADVANSYS=m
CONFIG_SCSI_ARCMSR=m
CONFIG_SCSI_ESAS2R=m
@@ -3025,7 +2970,7 @@ CONFIG_DM_UEVENT=y
CONFIG_DM_FLAKEY=m
CONFIG_DM_VERITY=m
CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG=y
-# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING is not set
+CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING=y
CONFIG_DM_VERITY_FEC=y
CONFIG_DM_SWITCH=m
CONFIG_DM_LOG_WRITES=m
@@ -3146,16 +3091,14 @@ CONFIG_NET_DSA_HIRSCHMANN_HELLCREEK=m
CONFIG_NET_DSA_MT7530=m
CONFIG_NET_DSA_MV88E6060=m
CONFIG_NET_DSA_MICROCHIP_KSZ_COMMON=m
-CONFIG_NET_DSA_MICROCHIP_KSZ9477=m
CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C=m
-CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m
-CONFIG_NET_DSA_MICROCHIP_KSZ8795=m
-CONFIG_NET_DSA_MICROCHIP_KSZ8795_SPI=m
+CONFIG_NET_DSA_MICROCHIP_KSZ_SPI=m
CONFIG_NET_DSA_MICROCHIP_KSZ8863_SMI=m
CONFIG_NET_DSA_MV88E6XXX=m
CONFIG_NET_DSA_MV88E6XXX_PTP=y
CONFIG_NET_DSA_MSCC_SEVILLE=m
CONFIG_NET_DSA_AR9331=m
+CONFIG_NET_DSA_QCA8K=m
CONFIG_NET_DSA_SJA1105=m
CONFIG_NET_DSA_SJA1105_PTP=y
CONFIG_NET_DSA_SJA1105_TAS=y
@@ -3163,7 +3106,6 @@ CONFIG_NET_DSA_SJA1105_VL=y
CONFIG_NET_DSA_XRS700X=m
CONFIG_NET_DSA_XRS700X_I2C=m
CONFIG_NET_DSA_XRS700X_MDIO=m
-CONFIG_NET_DSA_QCA8K=m
CONFIG_NET_DSA_REALTEK=m
# CONFIG_NET_DSA_REALTEK_MDIO is not set
# CONFIG_NET_DSA_REALTEK_SMI is not set
@@ -3328,6 +3270,8 @@ CONFIG_ICE_SWITCHDEV=y
CONFIG_ICE_HWTS=y
CONFIG_FM10K=m
CONFIG_IGC=m
+CONFIG_NET_VENDOR_WANGXUN=y
+CONFIG_TXGBE=m
CONFIG_JME=m
CONFIG_NET_VENDOR_LITEX=y
CONFIG_NET_VENDOR_MARVELL=y
@@ -3398,8 +3342,6 @@ CONFIG_NATSEMI=m
CONFIG_NS83820=m
CONFIG_NET_VENDOR_NETERION=y
CONFIG_S2IO=m
-CONFIG_VXGE=m
-# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
CONFIG_NET_VENDOR_NETRONOME=y
CONFIG_NFP=m
CONFIG_NFP_APP_FLOWER=y
@@ -3545,6 +3487,7 @@ CONFIG_BCM7XXX_PHY=m
CONFIG_BCM84881_PHY=m
CONFIG_BCM87XX_PHY=m
CONFIG_BCM_NET_PHYLIB=m
+CONFIG_BCM_NET_PHYPTP=m
CONFIG_CICADA_PHY=m
CONFIG_CORTINA_PHY=m
CONFIG_DAVICOM_PHY=m
@@ -3582,6 +3525,68 @@ CONFIG_DP83TD510_PHY=m
CONFIG_VITESSE_PHY=m
CONFIG_XILINX_GMII2RGMII=m
CONFIG_MICREL_KS8995MA=m
+CONFIG_CAN_DEV=m
+CONFIG_CAN_VCAN=m
+CONFIG_CAN_VXCAN=m
+CONFIG_CAN_NETLINK=y
+CONFIG_CAN_CALC_BITTIMING=y
+CONFIG_CAN_RX_OFFLOAD=y
+CONFIG_CAN_CAN327=m
+CONFIG_CAN_JANZ_ICAN3=m
+CONFIG_CAN_KVASER_PCIEFD=m
+CONFIG_CAN_SLCAN=m
+CONFIG_CAN_C_CAN=m
+CONFIG_CAN_C_CAN_PLATFORM=m
+CONFIG_CAN_C_CAN_PCI=m
+CONFIG_CAN_CC770=m
+# CONFIG_CAN_CC770_ISA is not set
+CONFIG_CAN_CC770_PLATFORM=m
+CONFIG_CAN_CTUCANFD=m
+CONFIG_CAN_CTUCANFD_PCI=m
+CONFIG_CAN_IFI_CANFD=m
+CONFIG_CAN_M_CAN=m
+CONFIG_CAN_M_CAN_PCI=m
+CONFIG_CAN_M_CAN_PLATFORM=m
+CONFIG_CAN_M_CAN_TCAN4X5X=m
+CONFIG_CAN_PEAK_PCIEFD=m
+CONFIG_CAN_SJA1000=m
+CONFIG_CAN_EMS_PCI=m
+# CONFIG_CAN_EMS_PCMCIA is not set
+CONFIG_CAN_F81601=m
+CONFIG_CAN_KVASER_PCI=m
+CONFIG_CAN_PEAK_PCI=m
+CONFIG_CAN_PEAK_PCIEC=y
+CONFIG_CAN_PEAK_PCMCIA=m
+CONFIG_CAN_PLX_PCI=m
+# CONFIG_CAN_SJA1000_ISA is not set
+CONFIG_CAN_SJA1000_PLATFORM=m
+CONFIG_CAN_SOFTING=m
+CONFIG_CAN_SOFTING_CS=m
+
+#
+# CAN SPI interfaces
+#
+CONFIG_CAN_HI311X=m
+CONFIG_CAN_MCP251X=m
+CONFIG_CAN_MCP251XFD=m
+# CONFIG_CAN_MCP251XFD_SANITY is not set
+# end of CAN SPI interfaces
+
+#
+# CAN USB interfaces
+#
+CONFIG_CAN_8DEV_USB=m
+CONFIG_CAN_EMS_USB=m
+CONFIG_CAN_ESD_USB=m
+CONFIG_CAN_ETAS_ES58X=m
+CONFIG_CAN_GS_USB=m
+CONFIG_CAN_KVASER_USB=m
+CONFIG_CAN_MCBA_USB=m
+CONFIG_CAN_PEAK_USB=m
+CONFIG_CAN_UCAN=m
+# end of CAN USB interfaces
+
+# CONFIG_CAN_DEBUG_DEVICES is not set
#
# MCTP Device Drivers
@@ -3827,7 +3832,6 @@ CONFIG_IWLWIFI_DEBUGFS=y
CONFIG_IWLWIFI_DEVICE_TRACING=y
# end of Debugging Options
-CONFIG_IWLMEI=m
CONFIG_WLAN_VENDOR_INTERSIL=y
CONFIG_HOSTAP=m
CONFIG_HOSTAP_FIRMWARE=y
@@ -4305,6 +4309,7 @@ CONFIG_TOUCHSCREEN_SX8654=m
CONFIG_TOUCHSCREEN_TPS6507X=m
CONFIG_TOUCHSCREEN_ZET6223=m
CONFIG_TOUCHSCREEN_ZFORCE=m
+CONFIG_TOUCHSCREEN_COLIBRI_VF50=m
CONFIG_TOUCHSCREEN_ROHM_BU21023=m
CONFIG_TOUCHSCREEN_IQS5XX=m
CONFIG_TOUCHSCREEN_ZINITIX=m
@@ -4548,6 +4553,7 @@ CONFIG_TCG_TIS_CORE=m
CONFIG_TCG_TIS=m
CONFIG_TCG_TIS_SPI=m
CONFIG_TCG_TIS_SPI_CR50=y
+CONFIG_TCG_TIS_I2C=m
CONFIG_TCG_TIS_I2C_CR50=m
CONFIG_TCG_TIS_I2C_ATMEL=m
CONFIG_TCG_TIS_I2C_INFINEON=m
@@ -4706,6 +4712,7 @@ CONFIG_SPI_INTEL=m
CONFIG_SPI_INTEL_PCI=m
CONFIG_SPI_INTEL_PLATFORM=m
CONFIG_SPI_LM70_LLP=m
+CONFIG_SPI_MICROCHIP_CORE=m
# CONFIG_SPI_LANTIQ_SSC is not set
CONFIG_SPI_OC_TINY=m
CONFIG_SPI_PXA2XX=m
@@ -4802,6 +4809,7 @@ CONFIG_PINCTRL_ICELAKE=y
CONFIG_PINCTRL_JASPERLAKE=y
CONFIG_PINCTRL_LAKEFIELD=y
CONFIG_PINCTRL_LEWISBURG=y
+CONFIG_PINCTRL_METEORLAKE=y
CONFIG_PINCTRL_SUNRISEPOINT=y
CONFIG_PINCTRL_TIGERLAKE=y
# end of Intel pinctrl drivers
@@ -5061,7 +5069,6 @@ CONFIG_SENSORS_ABITUGURU3=m
CONFIG_SENSORS_AD7314=m
CONFIG_SENSORS_AD7414=m
CONFIG_SENSORS_AD7418=m
-CONFIG_SENSORS_ADM1021=m
CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
@@ -5140,7 +5147,6 @@ CONFIG_SENSORS_MAX31730=m
CONFIG_SENSORS_MAX6620=m
CONFIG_SENSORS_MAX6621=m
CONFIG_SENSORS_MAX6639=m
-CONFIG_SENSORS_MAX6642=m
CONFIG_SENSORS_MAX6650=m
CONFIG_SENSORS_MAX6697=m
CONFIG_SENSORS_MAX31790=m
@@ -5199,6 +5205,7 @@ CONFIG_SENSORS_IRPS5401=m
CONFIG_SENSORS_ISL68137=m
CONFIG_SENSORS_LM25066=m
CONFIG_SENSORS_LM25066_REGULATOR=y
+CONFIG_SENSORS_LT7182S=m
CONFIG_SENSORS_LTC2978=m
# CONFIG_SENSORS_LTC2978_REGULATOR is not set
CONFIG_SENSORS_LTC3815=m
@@ -5860,7 +5867,6 @@ CONFIG_USB_PWC=m
# CONFIG_USB_PWC_DEBUG is not set
CONFIG_USB_PWC_INPUT_EVDEV=y
CONFIG_USB_S2255=m
-CONFIG_USB_STKWEBCAM=m
CONFIG_VIDEO_USBTV=m
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
@@ -6203,6 +6209,7 @@ CONFIG_VIDEO_IR_I2C=m
#
CONFIG_VIDEO_APTINA_PLL=m
CONFIG_VIDEO_CCS_PLL=m
+CONFIG_VIDEO_AR0521=m
CONFIG_VIDEO_HI556=m
CONFIG_VIDEO_HI846=m
CONFIG_VIDEO_HI847=m
@@ -6539,6 +6546,7 @@ CONFIG_DVB_DUMMY_FE=m
#
# Graphics support
#
+CONFIG_APERTURE_HELPERS=y
CONFIG_AGP=y
CONFIG_AGP_AMD64=m
CONFIG_AGP_INTEL=m
@@ -6855,10 +6863,12 @@ CONFIG_SND_MAX_CARDS=32
CONFIG_SND_PROC_FS=y
CONFIG_SND_VERBOSE_PROCFS=y
CONFIG_SND_VERBOSE_PRINTK=y
+CONFIG_SND_CTL_FAST_LOOKUP=y
CONFIG_SND_DEBUG=y
# CONFIG_SND_DEBUG_VERBOSE is not set
# CONFIG_SND_PCM_XRUN_DEBUG is not set
-# CONFIG_SND_CTL_VALIDATION is not set
+CONFIG_SND_CTL_INPUT_VALIDATION=y
+# CONFIG_SND_CTL_DEBUG is not set
# CONFIG_SND_JACK_INJECTION_DEBUG is not set
CONFIG_SND_VMASTER=y
CONFIG_SND_DMA_SGBUF=y
@@ -6975,6 +6985,7 @@ CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_SCODEC_CS35L41=m
+CONFIG_SND_HDA_CS_DSP_CONTROLS=m
CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m
CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m
CONFIG_SND_HDA_CODEC_REALTEK=m
@@ -7048,6 +7059,7 @@ CONFIG_SND_SOC_ADI_AXI_SPDIF=m
CONFIG_SND_SOC_AMD_ACP=m
CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m
CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m
+CONFIG_SND_SOC_AMD_ST_ES8336_MACH=m
CONFIG_SND_SOC_AMD_ACP3x=m
CONFIG_SND_SOC_AMD_RV_RT5682_MACH=m
CONFIG_SND_SOC_AMD_RENOIR=m
@@ -7063,9 +7075,11 @@ CONFIG_SND_SOC_AMD_ACP_I2S=m
CONFIG_SND_SOC_AMD_ACP_PCM=m
CONFIG_SND_SOC_AMD_ACP_PCI=m
CONFIG_SND_AMD_ASOC_RENOIR=m
+CONFIG_SND_AMD_ASOC_REMBRANDT=m
CONFIG_SND_SOC_AMD_MACH_COMMON=m
CONFIG_SND_SOC_AMD_LEGACY_MACH=m
CONFIG_SND_SOC_AMD_SOF_MACH=m
+CONFIG_SND_SOC_AMD_RPL_ACP6x=m
CONFIG_SND_ATMEL_SOC=m
# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
CONFIG_SND_DESIGNWARE_I2S=m
@@ -7119,6 +7133,28 @@ CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC=y
CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=m
CONFIG_SND_SOC_ACPI_INTEL_MATCH=m
CONFIG_SND_SOC_INTEL_AVS=m
+
+#
+# Intel AVS Machine drivers
+#
+
+#
+# Available DSP configurations
+#
+CONFIG_SND_SOC_INTEL_AVS_MACH_DA7219=m
+CONFIG_SND_SOC_INTEL_AVS_MACH_DMIC=m
+CONFIG_SND_SOC_INTEL_AVS_MACH_HDAUDIO=m
+CONFIG_SND_SOC_INTEL_AVS_MACH_I2S_TEST=m
+CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98357A=m
+CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98373=m
+CONFIG_SND_SOC_INTEL_AVS_MACH_NAU8825=m
+CONFIG_SND_SOC_INTEL_AVS_MACH_RT274=m
+CONFIG_SND_SOC_INTEL_AVS_MACH_RT286=m
+CONFIG_SND_SOC_INTEL_AVS_MACH_RT298=m
+CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682=m
+CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567=m
+# end of Intel AVS Machine drivers
+
CONFIG_SND_SOC_INTEL_MACH=y
CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES=y
CONFIG_SND_SOC_INTEL_HDA_DSP_COMMON=m
@@ -7177,6 +7213,8 @@ CONFIG_SND_SOC_SOF_DEBUG_PROBES=m
CONFIG_SND_SOC_SOF_CLIENT=m
CONFIG_SND_SOC_SOF=m
CONFIG_SND_SOC_SOF_PROBE_WORK_QUEUE=y
+CONFIG_SND_SOC_SOF_IPC3=y
+CONFIG_SND_SOC_SOF_INTEL_IPC4=y
CONFIG_SND_SOC_SOF_AMD_TOPLEVEL=m
CONFIG_SND_SOC_SOF_AMD_COMMON=m
CONFIG_SND_SOC_SOF_AMD_RENOIR=m
@@ -7201,6 +7239,8 @@ CONFIG_SND_SOC_SOF_INTEL_TGL=m
CONFIG_SND_SOC_SOF_TIGERLAKE=m
CONFIG_SND_SOC_SOF_ELKHARTLAKE=m
CONFIG_SND_SOC_SOF_ALDERLAKE=m
+CONFIG_SND_SOC_SOF_INTEL_MTL=m
+CONFIG_SND_SOC_SOF_METEORLAKE=m
CONFIG_SND_SOC_SOF_HDA_COMMON=m
CONFIG_SND_SOC_SOF_HDA_LINK=y
CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC=y
@@ -7300,6 +7340,7 @@ CONFIG_SND_SOC_ES8328_SPI=m
CONFIG_SND_SOC_GTM601=m
CONFIG_SND_SOC_HDAC_HDMI=m
CONFIG_SND_SOC_HDAC_HDA=m
+CONFIG_SND_SOC_HDA=m
CONFIG_SND_SOC_ICS43432=m
CONFIG_SND_SOC_INNO_RK3036=m
CONFIG_SND_SOC_MAX98088=m
@@ -7338,6 +7379,7 @@ CONFIG_SND_SOC_PCM512x_SPI=m
CONFIG_SND_SOC_RK3328=m
CONFIG_SND_SOC_RL6231=m
CONFIG_SND_SOC_RL6347A=m
+CONFIG_SND_SOC_RT274=m
CONFIG_SND_SOC_RT286=m
CONFIG_SND_SOC_RT298=m
CONFIG_SND_SOC_RT1011=m
@@ -7395,6 +7437,7 @@ CONFIG_SND_SOC_TAS2552=m
CONFIG_SND_SOC_TAS2562=m
CONFIG_SND_SOC_TAS2764=m
CONFIG_SND_SOC_TAS2770=m
+CONFIG_SND_SOC_TAS2780=m
CONFIG_SND_SOC_TAS5086=m
CONFIG_SND_SOC_TAS571X=m
CONFIG_SND_SOC_TAS5720=m
@@ -7453,6 +7496,7 @@ CONFIG_SND_SOC_WM8974=m
CONFIG_SND_SOC_WM8978=m
CONFIG_SND_SOC_WM8985=m
CONFIG_SND_SOC_WSA881X=m
+CONFIG_SND_SOC_WSA883X=m
CONFIG_SND_SOC_ZL38060=m
CONFIG_SND_SOC_MAX9759=m
CONFIG_SND_SOC_MT6351=m
@@ -8046,7 +8090,9 @@ CONFIG_TYPEC_WCOVE=m
CONFIG_TYPEC_UCSI=m
CONFIG_UCSI_CCG=m
CONFIG_UCSI_ACPI=m
+CONFIG_UCSI_STM32G0=m
CONFIG_TYPEC_TPS6598X=m
+CONFIG_TYPEC_ANX7411=m
CONFIG_TYPEC_RT1719=m
CONFIG_TYPEC_HD3SS3220=m
CONFIG_TYPEC_STUSB160X=m
@@ -8155,7 +8201,6 @@ CONFIG_LEDS_LP3944=m
CONFIG_LEDS_LP3952=m
CONFIG_LEDS_LP50XX=m
CONFIG_LEDS_LP8788=m
-CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_PCA955X=m
CONFIG_LEDS_PCA955X_GPIO=y
CONFIG_LEDS_PCA963X=m
@@ -8176,6 +8221,7 @@ CONFIG_LEDS_TLC591XX=m
CONFIG_LEDS_MAX8997=m
CONFIG_LEDS_LM355x=m
CONFIG_LEDS_MENF21BMC=m
+CONFIG_LEDS_IS31FL319X=m
#
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
@@ -8260,23 +8306,24 @@ CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y
CONFIG_INFINIBAND_VIRT_DMA=y
-CONFIG_INFINIBAND_MTHCA=m
-CONFIG_INFINIBAND_MTHCA_DEBUG=y
-CONFIG_INFINIBAND_QIB=m
-CONFIG_INFINIBAND_QIB_DCA=y
+CONFIG_INFINIBAND_BNXT_RE=m
CONFIG_INFINIBAND_CXGB4=m
CONFIG_INFINIBAND_EFA=m
+CONFIG_INFINIBAND_ERDMA=m
+CONFIG_INFINIBAND_HFI1=m
+# CONFIG_HFI1_DEBUG_SDMA_ORDER is not set
+# CONFIG_SDMA_VERBOSITY is not set
CONFIG_INFINIBAND_IRDMA=m
CONFIG_MLX4_INFINIBAND=m
CONFIG_MLX5_INFINIBAND=m
+CONFIG_INFINIBAND_MTHCA=m
+CONFIG_INFINIBAND_MTHCA_DEBUG=y
CONFIG_INFINIBAND_OCRDMA=m
-CONFIG_INFINIBAND_VMWARE_PVRDMA=m
-CONFIG_INFINIBAND_USNIC=m
-CONFIG_INFINIBAND_BNXT_RE=m
-CONFIG_INFINIBAND_HFI1=m
-# CONFIG_HFI1_DEBUG_SDMA_ORDER is not set
-# CONFIG_SDMA_VERBOSITY is not set
CONFIG_INFINIBAND_QEDR=m
+CONFIG_INFINIBAND_QIB=m
+CONFIG_INFINIBAND_QIB_DCA=y
+CONFIG_INFINIBAND_USNIC=m
+CONFIG_INFINIBAND_VMWARE_PVRDMA=m
CONFIG_INFINIBAND_RDMAVT=m
CONFIG_RDMA_RXE=m
CONFIG_RDMA_SIW=m
@@ -8714,13 +8761,14 @@ CONFIG_VIDEO_ATOMISP_GC0310=m
CONFIG_VIDEO_ATOMISP_OV2680=m
CONFIG_VIDEO_ATOMISP_OV5693=m
CONFIG_VIDEO_ATOMISP_LM3554=m
-# CONFIG_VIDEO_ZORAN is not set
-CONFIG_VIDEO_IPU3_IMGU=m
CONFIG_DVB_AV7110_IR=y
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
CONFIG_DVB_BUDGET_PATCH=m
CONFIG_DVB_SP8870=m
+CONFIG_VIDEO_IPU3_IMGU=m
+CONFIG_VIDEO_STKWEBCAM=m
+# CONFIG_VIDEO_ZORAN is not set
CONFIG_LTE_GDM724X=m
CONFIG_FIREWIRE_SERIAL=m
CONFIG_FWTTY_MAX_TOTAL_PORTS=64
@@ -8734,10 +8782,53 @@ CONFIG_KS7010=m
CONFIG_PI433=m
CONFIG_FIELDBUS_DEV=m
CONFIG_QLGE=m
-
-#
-# VME Device Drivers
-#
+# CONFIG_VME_BUS is not set
+CONFIG_CHROME_PLATFORMS=y
+CONFIG_CHROMEOS_ACPI=m
+CONFIG_CHROMEOS_LAPTOP=m
+CONFIG_CHROMEOS_PSTORE=m
+CONFIG_CHROMEOS_TBMC=m
+CONFIG_CROS_EC=m
+CONFIG_CROS_EC_I2C=m
+CONFIG_CROS_EC_ISHTP=m
+CONFIG_CROS_EC_SPI=m
+CONFIG_CROS_EC_LPC=m
+CONFIG_CROS_EC_PROTO=y
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
+CONFIG_CROS_EC_CHARDEV=m
+CONFIG_CROS_EC_LIGHTBAR=m
+CONFIG_CROS_EC_DEBUGFS=m
+CONFIG_CROS_EC_SENSORHUB=m
+CONFIG_CROS_EC_SYSFS=m
+CONFIG_CROS_EC_TYPEC=m
+CONFIG_CROS_USBPD_LOGGER=m
+CONFIG_CROS_USBPD_NOTIFY=m
+CONFIG_CHROMEOS_PRIVACY_SCREEN=m
+CONFIG_WILCO_EC=m
+CONFIG_WILCO_EC_DEBUGFS=m
+CONFIG_WILCO_EC_EVENTS=m
+CONFIG_WILCO_EC_TELEMETRY=m
+CONFIG_MELLANOX_PLATFORM=y
+CONFIG_MLXREG_HOTPLUG=m
+CONFIG_MLXREG_IO=m
+CONFIG_MLXREG_LC=m
+CONFIG_NVSW_SN2201=m
+CONFIG_SURFACE_PLATFORMS=y
+CONFIG_SURFACE3_WMI=m
+CONFIG_SURFACE_3_POWER_OPREGION=m
+CONFIG_SURFACE_ACPI_NOTIFY=m
+CONFIG_SURFACE_AGGREGATOR_CDEV=m
+CONFIG_SURFACE_AGGREGATOR_HUB=m
+CONFIG_SURFACE_AGGREGATOR_REGISTRY=m
+CONFIG_SURFACE_AGGREGATOR_TABLET_SWITCH=m
+CONFIG_SURFACE_DTX=m
+CONFIG_SURFACE_GPE=m
+CONFIG_SURFACE_HOTPLUG=m
+CONFIG_SURFACE_PLATFORM_PROFILE=m
+CONFIG_SURFACE_PRO3_BUTTON=m
+CONFIG_SURFACE_AGGREGATOR=m
+CONFIG_SURFACE_AGGREGATOR_BUS=y
+# CONFIG_SURFACE_AGGREGATOR_ERROR_INJECTION is not set
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACPI_WMI=m
CONFIG_WMI_BMOF=m
@@ -8869,51 +8960,7 @@ CONFIG_INTEL_SCU_PLATFORM=m
CONFIG_INTEL_SCU_IPC_UTIL=m
CONFIG_SIEMENS_SIMATIC_IPC=m
CONFIG_WINMATE_FM07_KEYS=m
-CONFIG_PMC_ATOM=y
-CONFIG_CHROME_PLATFORMS=y
-CONFIG_CHROMEOS_ACPI=m
-CONFIG_CHROMEOS_LAPTOP=m
-CONFIG_CHROMEOS_PSTORE=m
-CONFIG_CHROMEOS_TBMC=m
-CONFIG_CROS_EC=m
-CONFIG_CROS_EC_I2C=m
-CONFIG_CROS_EC_ISHTP=m
-CONFIG_CROS_EC_SPI=m
-CONFIG_CROS_EC_LPC=m
-CONFIG_CROS_EC_PROTO=y
-CONFIG_CROS_KBD_LED_BACKLIGHT=m
-CONFIG_CROS_EC_CHARDEV=m
-CONFIG_CROS_EC_LIGHTBAR=m
-CONFIG_CROS_EC_DEBUGFS=m
-CONFIG_CROS_EC_SENSORHUB=m
-CONFIG_CROS_EC_SYSFS=m
-CONFIG_CROS_EC_TYPEC=m
-CONFIG_CROS_USBPD_LOGGER=m
-CONFIG_CROS_USBPD_NOTIFY=m
-CONFIG_CHROMEOS_PRIVACY_SCREEN=m
-CONFIG_WILCO_EC=m
-CONFIG_WILCO_EC_DEBUGFS=m
-CONFIG_WILCO_EC_EVENTS=m
-CONFIG_WILCO_EC_TELEMETRY=m
-CONFIG_MELLANOX_PLATFORM=y
-CONFIG_MLXREG_HOTPLUG=m
-CONFIG_MLXREG_IO=m
-CONFIG_MLXREG_LC=m
-CONFIG_NVSW_SN2201=m
-CONFIG_SURFACE_PLATFORMS=y
-CONFIG_SURFACE3_WMI=m
-CONFIG_SURFACE_3_POWER_OPREGION=m
-CONFIG_SURFACE_ACPI_NOTIFY=m
-CONFIG_SURFACE_AGGREGATOR_CDEV=m
-CONFIG_SURFACE_AGGREGATOR_REGISTRY=m
-CONFIG_SURFACE_DTX=m
-CONFIG_SURFACE_GPE=m
-CONFIG_SURFACE_HOTPLUG=m
-CONFIG_SURFACE_PLATFORM_PROFILE=m
-CONFIG_SURFACE_PRO3_BUTTON=m
-CONFIG_SURFACE_AGGREGATOR=m
-CONFIG_SURFACE_AGGREGATOR_BUS=y
-# CONFIG_SURFACE_AGGREGATOR_ERROR_INJECTION is not set
+CONFIG_P2SB=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
@@ -9021,6 +9068,11 @@ CONFIG_SOUNDWIRE_GENERIC_ALLOCATION=m
# end of NXP/Freescale QorIQ SoC drivers
#
+# fujitsu SoC drivers
+#
+# end of fujitsu SoC drivers
+
+#
# i.MX SoC drivers
#
# end of i.MX SoC drivers
@@ -9190,6 +9242,7 @@ CONFIG_AXP288_ADC=m
CONFIG_CC10001_ADC=m
CONFIG_DA9150_GPADC=m
CONFIG_DLN2_ADC=m
+CONFIG_ENVELOPE_DETECTOR=m
CONFIG_HI8435=m
CONFIG_HX711=m
CONFIG_INA2XX_ADC=m
@@ -9213,6 +9266,7 @@ CONFIG_MEN_Z188_ADC=m
CONFIG_MP2629_ADC=m
CONFIG_NAU7802=m
CONFIG_PALMAS_GPADC=m
+CONFIG_SD_ADC_MODULATOR=m
CONFIG_TI_ADC081C=m
CONFIG_TI_ADC0832=m
CONFIG_TI_ADC084S021=m
@@ -9231,6 +9285,7 @@ CONFIG_TI_TLC4541=m
CONFIG_TI_TSC2046=m
CONFIG_TWL4030_MADC=m
CONFIG_TWL6030_GPADC=m
+CONFIG_VF610_ADC=m
CONFIG_VIPERBOARD_ADC=m
CONFIG_XILINX_XADC=m
# end of Analog to digital converters
@@ -9706,10 +9761,10 @@ CONFIG_NTB_SWITCHTEC=m
# CONFIG_NTB_PERF is not set
# CONFIG_NTB_MSI_TEST is not set
CONFIG_NTB_TRANSPORT=m
-# CONFIG_VME_BUS is not set
CONFIG_PWM=y
CONFIG_PWM_SYSFS=y
# CONFIG_PWM_DEBUG is not set
+CONFIG_PWM_CLK=m
CONFIG_PWM_CRC=y
CONFIG_PWM_CROS_EC=m
CONFIG_PWM_DWC=m
@@ -9733,6 +9788,7 @@ CONFIG_BOARD_TPCI200=m
CONFIG_SERIAL_IPOCTAL=m
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_TI_SYSCON=m
+CONFIG_RESET_TI_TPS380X=m
#
# PHY Subsystem
@@ -9780,7 +9836,6 @@ CONFIG_USB4=m
#
# Android
#
-CONFIG_ANDROID=y
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_ANDROID_BINDER_DEVICES=""
@@ -9844,6 +9899,8 @@ CONFIG_FPGA_DFL_FME_REGION=m
CONFIG_FPGA_DFL_AFU=m
CONFIG_FPGA_DFL_NIOS_INTEL_PAC_N3000=m
CONFIG_FPGA_DFL_PCI=m
+CONFIG_FPGA_M10_BMC_SEC_UPDATE=m
+CONFIG_FPGA_MGR_MICROCHIP_SPI=m
CONFIG_TEE=m
CONFIG_AMDTEE=m
CONFIG_MULTIPLEXER=m
@@ -10275,6 +10332,7 @@ CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m
CONFIG_DLM=m
+# CONFIG_DLM_DEPRECATED_API is not set
CONFIG_DLM_DEBUG=y
CONFIG_UNICODE=y
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
@@ -10327,9 +10385,12 @@ CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/usr/bin/tomoyo-init"
CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/usr/lib/systemd/systemd"
# CONFIG_SECURITY_TOMOYO_INSECURE_BUILTIN_SETTING is not set
CONFIG_SECURITY_APPARMOR=y
+# CONFIG_SECURITY_APPARMOR_DEBUG is not set
+CONFIG_SECURITY_APPARMOR_INTROSPECT_POLICY=y
CONFIG_SECURITY_APPARMOR_HASH=y
CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y
-# CONFIG_SECURITY_APPARMOR_DEBUG is not set
+CONFIG_SECURITY_APPARMOR_EXPORT_BINARY=y
+CONFIG_SECURITY_APPARMOR_PARANOID_LOAD=y
CONFIG_SECURITY_LOADPIN=y
CONFIG_SECURITY_LOADPIN_ENFORCE=y
CONFIG_SECURITY_YAMA=y
@@ -10367,6 +10428,7 @@ CONFIG_LSM="landlock,lockdown,yama,integrity,bpf"
# Memory initialization
#
CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y
+CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y
CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
# CONFIG_INIT_STACK_NONE is not set
# CONFIG_INIT_STACK_ALL_PATTERN is not set
@@ -10461,12 +10523,14 @@ CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_OFB=m
CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_XCTR=m
CONFIG_CRYPTO_XTS=m
CONFIG_CRYPTO_KEYWRAP=m
CONFIG_CRYPTO_NHPOLY1305=m
CONFIG_CRYPTO_NHPOLY1305_SSE2=m
CONFIG_CRYPTO_NHPOLY1305_AVX2=m
CONFIG_CRYPTO_ADIANTUM=m
+CONFIG_CRYPTO_HCTR2=m
CONFIG_CRYPTO_ESSIV=m
#
@@ -10491,6 +10555,8 @@ CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
CONFIG_CRYPTO_CRC64_ROCKSOFT=y
CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_POLYVAL=m
+CONFIG_CRYPTO_POLYVAL_CLMUL_NI=m
CONFIG_CRYPTO_POLY1305=m
CONFIG_CRYPTO_POLY1305_X86_64=m
CONFIG_CRYPTO_MD4=m
@@ -10534,6 +10600,7 @@ CONFIG_CRYPTO_DES3_EDE_X86_64=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20_X86_64=m
+CONFIG_CRYPTO_ARIA=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
@@ -10673,6 +10740,7 @@ CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m
CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
CONFIG_CRYPTO_LIB_POLY1305=m
CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_SHA1=y
CONFIG_CRYPTO_LIB_SHA256=y
# end of Crypto library routines
@@ -10800,7 +10868,6 @@ CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
CONFIG_ARCH_HAS_COPY_MC=y
CONFIG_ARCH_STACKWALK=y
CONFIG_STACKDEPOT=y
-CONFIG_STACK_HASH_ORDER=20
CONFIG_SBITMAP=y
CONFIG_PARMAN=m
CONFIG_OBJAGG=m
@@ -10808,6 +10875,7 @@ CONFIG_OBJAGG=m
CONFIG_PLDMFW=y
CONFIG_ASN1_ENCODER=m
+CONFIG_POLYNOMIAL=m
#
# Kernel hacking
@@ -10904,6 +10972,7 @@ CONFIG_GENERIC_PTDUMP=y
CONFIG_PTDUMP_CORE=y
# CONFIG_PTDUMP_DEBUGFS is not set
# CONFIG_DEBUG_OBJECTS is not set
+CONFIG_SHRINKER_DEBUG=y
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_DEBUG_STACK_USAGE is not set
@@ -11090,6 +11159,7 @@ CONFIG_HIST_TRIGGERS=y
# CONFIG_SYNTH_EVENT_GEN_TEST is not set
# CONFIG_KPROBE_EVENT_GEN_TEST is not set
# CONFIG_HIST_TRIGGERS_DEBUG is not set
+# CONFIG_RV is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y
diff --git a/fix_project_c.patch b/fix_project_c.patch
deleted file mode 100644
index cd662434c490..000000000000
--- a/fix_project_c.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 570d8c5b6f7439217b45906568adddb0a6cc2751 Mon Sep 17 00:00:00 2001
-From: Alfred Chen <cchalpha@gmail.com>
-Date: Tue, 15 Dec 2020 11:19:05 +0800
-Subject: [PATCH] sched/bmq: Fix compilation issue.
-
----
- kernel/sched/bmq_imp.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/kernel/sched/bmq_imp.h b/kernel/sched/bmq_imp.h
-index 83c2d019c446..3faba5f9bb69 100644
---- a/kernel/sched/bmq_imp.h
-+++ b/kernel/sched/bmq_imp.h
-@@ -62,7 +62,7 @@ static inline void time_slice_expired(struct task_struct *p, struct rq *rq)
- }
- }
-
--static inline int task_running_nice(struct task_struct *p)
-+inline int task_running_nice(struct task_struct *p)
- {
- return (p->prio + p->boost_prio > DEFAULT_PRIO + MAX_PRIORITY_ADJ);
- } \ No newline at end of file
diff --git a/pf_defconfig b/pf_defconfig
index 5f80ed32f982..3d48202879a9 100644
--- a/pf_defconfig
+++ b/pf_defconfig
@@ -1,5 +1,4 @@
# CONFIG_SCHED_BMQ=y
-# CONFIG_LOCALVERSION_AUTO is not set
# CONFIG_AUDIT is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y