├── .gitignore ├── LICENSES ├── deprecated │ ├── GFDL-1.1 │ ├── GFDL-1.2 │ ├── GPL-1.0 │ ├── ISC │ ├── Linux-OpenIB │ ├── X11 │ └── Zlib ├── dual │ ├── Apache-2.0 │ ├── CC-BY-4.0 │ ├── CDDL-1.0 │ ├── MPL-1.1 │ └── copyleft-next-0.3.1 ├── exceptions │ ├── GCC-exception-2.0 │ └── Linux-syscall-note ├── license-rules.rst └── preferred │ ├── BSD-2-Clause │ ├── BSD-3-Clause │ ├── BSD-3-Clause-Clear │ ├── GPL-2.0 │ ├── LGPL-2.0 │ ├── LGPL-2.1 │ └── MIT ├── README.md ├── build.sh ├── cmd-params ├── config.sh ├── kernel-config ├── base-os │ ├── centos.config-4.18.0-348.el8.x86_64 │ ├── centos.config-5.15.0-0.rc7.mainline.4.el8.x86_64 │ ├── centos.config-intel-next.x86_64 │ ├── hirsute.config-5.11.0-16-generic │ ├── jammy.config-5.15.0-46-generic │ └── noble.config-6.8.0-31-generic ├── features │ ├── camera.cfg │ ├── debug.cfg │ ├── drm.cfg │ ├── edac.cfg │ ├── features.cfg │ ├── idxd.cfg │ ├── intel-iommu.cfg │ ├── ipu.cfg │ ├── lpss.cfg │ ├── normal.cfg │ ├── perf.cfg │ ├── pks.cfg │ ├── pmc_core.cfg │ ├── pmt.cfg │ ├── rt.cfg │ ├── security.cfg │ ├── sof.cfg │ └── tgpio.cfg └── overlay │ └── overlay.cfg ├── kernel-patches └── patches │ ├── 0001-Add-security.md-file.misc │ ├── 0001-Added-spi_set_cs-for-more-stable-r-w-operations-in-S.lpss │ ├── 0001-EDAC-ie31200-Add-two-Intel-SoCs-for-EDAC-support.edac │ ├── 0001-Reapply-media-ipu6-not-override-the-dma_ops-of-devi.camera │ ├── 0001-Revert-bus-mhi-host-pci_generic-add-support-for-sc828.wwan │ ├── 0001-Revert-drivers-bus-mhi-host-fix-recovery-process-when.wwan │ ├── 0001-Revert-drm-i915-disable-dGPU-support-with-RT-kernel.drm │ ├── 0001-Revert-media-intel-ipu6-use-vc1-dma-for-MTL-and-ARL.camera │ ├── 0001-Revert-net-stmmac-add-FPE-preempt-setting-for-TxQ-pree.tsn │ ├── 0001-Revert-sched-core-Remove-the-unnecessary-need_resche.rt │ ├── 0001-Revert-timekeeping-Add-function-to-convert-realtime-.tgpio │ ├── 0001-drm-i915-CTB-TLB-invalidation-fix-on-VM.sriov │ ├── 0001-drm-i915-Fix-logic-for-GUC-Process.sriov │ ├── 0001-drm-i915-disable-a-couple-of-RT-functions-if-RT-is-d.drm │ ├── 0001-drm-i915-disable-dGPU-support-with-RT-kernel.drm │ ├── 0001-drm-i915-enable-guc-submission-for-ADLs-by-default.drm │ ├── 0001-drm-i915-mtl-Add-C10-table-for-HDMI-Clock-25175.sriov │ ├── 0001-drm-virtio-Use-drm_gem_plane_helper_prepare_fb.patch │ ├── 0001-hrtimer-Use-__raise_softirq_irqoff-to-raise-the-softirq.rt │ ├── 0001-i915-Enable-w-a-16026508708.sriov │ ├── 0001-i915-Update-GUC-to-v70.44.1-for-i915-platforms.drm │ ├── 0001-igc-Enable-HW-TX-Timestamp-for-AF_XDP-ZC.tsn │ ├── 0001-igc-Set-the-RX-packet-buffer-size-for-TSN-mode.tsn │ ├── 0001-media-i2c-Add-ar0234-camera-sensor-driver.camera │ ├── 0001-media-intel-ipu6-remove-buttress-ish-structure-1.camera │ ├── 0001-media-intel-ipu6-remove-buttress-ish-structure.camera │ ├── 0001-media-intel-ipu6-use-vc1-dma-for-MTL-and-ARL.camera │ ├── 0001-media-pci-update-IPU6-PSYS-driver.camera │ ├── 0001-mei-bus-add-api-to-query-capabilities-of-ME-clien.security │ ├── 0001-net-pcs-xpcs-enable-xpcs-reset-skipping.tsn │ ├── 0001-net-phy-Set-eee_cfg.eee_enabled-according-to-PHY.tsn │ ├── 0001-platform-x86-intel-pmc-Add-Arrow-Lake-U-H-support.pmc_core │ ├── 0001-powercap-intel_rapl-Add-support-for-Bartlett-Lake-pl.rapl │ ├── 0001-serial-8250-enable-original-console-by-default.rt │ ├── 0001-vfio-i915-Add-support-for-MMIO-save-restore.sriov │ ├── 0001-x86-mce-Add-MCACOD-code-for-generic-I-O-error.edac │ ├── 0002-EDAC-ie31200-Add-Kaby-Lake-S-dual-core-host-bridge-ID.edac │ ├── 0002-EDAC-ieh-Add-I-O-device-EDAC-driver-for-Intel-CPUs-wi.edac │ ├── 0002-Reapply-media-ipu6-remove-architecture-DMA-ops-depe.camera │ ├── 0002-Reapply-net-stmmac-move-stmmac_fpe_cfg-to-stmmac_priv-.tsn │ ├── 0002-Revert-drivers-net-wwan-add-simple-DTR-driver.wwan │ ├── 0002-Revert-x86-tsc-Remove-obsolete-ART-to-TSC-conversion.tgpio │ ├── 0002-drm-i915-SR-IOV-Save-Restore-Feature-support.sriov │ ├── 0002-drm-i915-gsc-mei-interrupt-top-half-should-be-in-irq-d.drm │ ├── 0002-drm-i915-mtl-Copy-c10-phy-pll-sw-state-from-master-t.sriov │ ├── 0002-ie31200-EDAC-Add-Intel-Bartlett-Lake-S-SoCs-support.edac │ ├── 0002-igc-Enable-trace-for-HW-TX-Timestamp-AF_XDP-ZC.tsn │ ├── 0002-igc-Only-dump-registers-if-configured-to-dump-HW-infor.tsn │ ├── 0002-media-i2c-add-support-for-lt6911uxe.camera │ ├── 0002-media-i2c-update-format-in-irq-for-lt6911uxe.camera │ ├── 0002-media-i2c-update-lt6911uxc-driver-to-fix-COV-issue.camera │ ├── 0002-media-ipu-Dma-sync-at-buffer_prepare-callback-as-DM.camera │ ├── 0002-media-pci-intel-include-psys-driver.camera │ ├── 0002-mei-virtio-virtualization-frontend-driver.security │ ├── 0002-mtd-core-Don-t-fail-mtd_device_parse_register-if-OTP.lpss │ ├── 0002-net-stmmac-Bugfix-on-stmmac_interrupt-for-WOL.tsn │ ├── 0002-platform-x86-intel-pmc-Add-Bartlett-Lake-support-to-.pmc_core │ ├── 0002-timers-Use-__raise_softirq_irqoff-to-raise-the-softirq.rt │ ├── 0002-vfio-i915-Add-vfio_pci-driver-for-Intel-graphics.sriov │ ├── 0002-wwan-add-SAHARA-device.wwan │ ├── 0003-EDAC-ieh-Add-I-O-device-EDAC-support-for-Intel-Tiger-.edac │ ├── 0003-INT3472-Support-LT6911UXE.camera │ ├── 0003-INTEL_DII-mei-avoid-reset-if-fw-is-down.security │ ├── 0003-Reapply-media-ipu6-use-the-IPU6-DMA-mapping-APIs-to.camera │ ├── 0003-Reapply-net-stmmac-drop-stmmac_fpe_handshake.tsn │ ├── 0003-Revert-drivers-bus-mhi-add-FN990-NMEA-and-DIAG-in-SBL.wwan │ ├── 0003-Revert-ice-ptp-Remove-convert_art_to_tsc.tgpio │ ├── 0003-Revert-media-ipu6-use-the-IPU6-DMA-mapping-APIs-to-.camera │ ├── 0003-Support-IPU6-ISYS-FW-trace-dump-for-upstream-driver.camera │ ├── 0003-bus-mhi-host-allow-SBL-as-initial-EE.wwan │ ├── 0003-drm-i915-guc-Define-MAX_DWORDS-for-CTB-HXG-Message.sriov │ ├── 0003-drm-i915-guc-Upgrade-GuC-fw-version-to-70.36.0.sriov │ ├── 0003-ethtool-Add-support-for-configuring-frame-preemption.tsn │ ├── 0003-igc-Remove-the-CONFIG_DEBUG_MISC-condition-for-trace.tsn │ ├── 0003-lt6911-2-pads-linked-to-ipu-2-ports-for-split-mode.camera │ ├── 0003-media-i2c-remove-unused-func-in-lt6911uxe.camera │ ├── 0003-net-phy-increase-gpy-loopback-test-delay.tsn │ ├── 0003-softirq-Use-a-dedicated-thread-for-timer-wakeups-on-PRE.rt │ ├── 0003-spi-intel-pci-Add-support-for-Arrow-Lake-H-SPI-seria.lpss │ ├── 0004-EDAC-igen6-Add-registration-APIs-for-In-Band-ECC-erro.edac │ ├── 0004-INTEL_DII-FIXME-mei-iaf-add-iaf-Intel-Accelerator.security │ ├── 0004-Reapply-net-stmmac-refactor-FPE-verification-process.tsn │ ├── 0004-Revert-ALSA-hda-Remove-convert_art_to_tsc.tgpio │ ├── 0004-Revert-drivers-bus-mhi-add-FN980-v2-support.wwan │ ├── 0004-Revert-media-ipu6-remove-architecture-DMA-ops-depen.camera │ ├── 0004-Support-IPU6-PSYS-FW-trace-dump-for-upstream-driver.camera │ ├── 0004-drivers-bus-mhi-let-userspace-manage-xfp-fw-update-st.wwan │ ├── 0004-drm-i915-call-taint_for_CI-on-FLR-failure.sriov │ ├── 0004-ethtool-Add-support-for-Frame-Preemption-verification.tsn │ ├── 0004-media-i2c-add-dv_timings-api-in-lt6911uxe.camera │ ├── 0004-net-stmmac-Resolve-poor-line-rate-after-switching-from.tsn │ ├── 0004-serial-8250-Switch-to-nbcon-console.rt │ ├── 0004-spi-intel-Add-protected-and-locked-attributes.lpss │ ├── 0004-upstream-Use-module-parameter-to-set-isys-freq.camera │ ├── 0005-EDAC-i10nm-Print-DRAM-rules-debug-purpose.edac │ ├── 0005-INTEL_DII-mei-add-check-for-offline-bit-in-every-.security │ ├── 0005-Reapply-net-stmmac-configure-FPE-via-ethtool-mm.tsn │ ├── 0005-Revert-media-ipu6-not-override-the-dma_ops-of-devic.camera │ ├── 0005-Revert-stmmac-intel-Remove-convert_art_to_tsc.tgpio │ ├── 0005-Revert-wwan-add-NMEA-type.wwan │ ├── 0005-drm-i915-huc-load-HuC-via-non-POR-GSC-engine-flow.sriov │ ├── 0005-igc-Add-support-for-enabling-frame-preemption-via-etht.tsn │ ├── 0005-media-intel-ipu6-use-vc1-dma-for-MTL-and-ARL.camera │ ├── 0005-media-pci-The-order-of-return-buffers-should-be-FIF.camera │ ├── 0005-net-phy-dp83867-perform-restart-AN-after-modifying-AN-.tsn │ ├── 0005-serial-8250-Revert-drop-lockdep-annotation-from-serial8.rt │ ├── 0005-upstream-Use-module-parameter-to-set-psys-freq.camera │ ├── 0005-wwan-add-NMEA-type.wwan │ ├── 0006-EDAC-ie31200-Fix-the-3rd-parameter-name-of-populate_d.edac │ ├── 0006-EDAC-skx_common-skx-i10nm-Make-skx_register_mci-indep.edac │ ├── 0006-INTEL_DII-mei-add-empty-handlers-for-ops-function.security │ ├── 0006-Reapply-net-stmmac-support-fp-parameter-of-tc-mqprio.tsn │ ├── 0006-Revert-drivers-bus-mhi-let-userspace-manage-xfp-fw-up.wwan │ ├── 0006-Revert-igc-Remove-convert_art_ns_to_tsc.tgpio │ ├── 0006-Revert-net-stmmac-set-initial-EEE-policy-configurati.tsn │ ├── 0006-drivers-bus-mhi-add-FN980-v2-support.wwan │ ├── 0006-drm-i915-SR-IOV-Enabling-and-Support.sriov │ ├── 0006-igc-Add-support-for-TC_SETUP_PREEMPT.tsn │ ├── 0006-locking-rt-Remove-one-__cond_lock-in-RT-s-spin_trylock_.rt │ ├── 0006-media-i2c-fix-power-on-issue-for-on-board-LT6911UXC.camera │ ├── 0006-media-i2c-some-changes-in-lt6911uxe.camera │ ├── 0006-media-pci-Enable-ISYS-reset.camera │ ├── 0006-stmmac-intel-Separate-ADL-N-and-RPL-P-device-ID-from-T.tsn │ ├── 0007-EDAC-ie31200-Simplify-the-pci_device_id-table.edac │ ├── 0007-EDAC-skx_common-Prepare-skx_get_edac_list.edac │ ├── 0007-INTEL_DII-mei-gsc-add-fields-to-support-force-wak.security │ ├── 0007-Reapply-net-stmmac-support-fp-parameter-of-tc-taprio.tsn │ ├── 0007-Revert-bus-mhi-host-allow-SBL-as-initial-EE.wwan │ ├── 0007-Revert-drm-i915-move-platform_engine_mask-and-memory.sriov │ ├── 0007-Revert-e1000e-Replace-convert_art_to_tsc.tgpio │ ├── 0007-drivers-bus-mhi-add-FN990-NMEA-and-DIAG-in-SBL-device.wwan │ ├── 0007-igc-Add-support-for-setting-frame-preemption-configura.tsn │ ├── 0007-locking-rt-Add-sparse-annotation-for-RCU.rt │ ├── 0007-media-i2c-add-support-for-ar0234-and-lt6911uxe.camera │ ├── 0007-media-i2c-fix-power-on-issue-for-on-board-LT6911UXE.camera │ ├── 0007-net-stmmac-Adjust-mac_capabilities-for-Intel-mGbE-2.5G.tsn │ ├── 0008-EDAC-ie31200-Make-the-memory-controller-resources-con.edac │ ├── 0008-EDAC-skx_common-Prepare-skx_set_hi_lo.edac │ ├── 0008-INTEL_DII-mei-add-waitqueue-for-device-state-chan.security │ ├── 0008-Reapply-net-stmmac-silence-FPE-kernel-logs.tsn │ ├── 0008-Revert-wwan-add-SAHARA-device.wwan │ ├── 0008-Revert-x86-tsc-Provide-ART-base-clock-information-fo.tgpio │ ├── 0008-driver-media-i2c-remove-useless-header-file.camera │ ├── 0008-drivers-net-wwan-add-simple-DTR-driver.wwan │ ├── 0008-drm-i915-gt-Enable-the-early-register-to-working-win.sriov │ ├── 0008-igc-Add-support-for-Frame-Preemption-verification.tsn │ ├── 0008-locking-rt-Annotate-unlock-followed-by-lock-for-sparse.rt │ ├── 0008-stmmac-intel-skip-xpcs-reset-for-2.5Gbps-on-Intel-Alde.tsn │ ├── 0009-EDAC-ie31200-Make-struct-dimm_data-contain-decoded-in.edac │ ├── 0009-EDAC-igen6-Add-Intel-Pnther-Lake-H-SoCs-support.edac │ ├── 0009-INTEL_DII-mei-add-force-wake-workaround-infra.security │ ├── 0009-Revert-Revert-bus-mhi-host-pci_generic-add-support-fo.wwan │ ├── 0009-Revert-timekeeping-Provide-infrastructure-for-conver.tgpio │ ├── 0009-drivers-bus-mhi-host-fix-recovery-process-when-modem-.wwan │ ├── 0009-drm-i915-Use-preempt_disable-enable_rt-where-recommende.rt │ ├── 0009-drm-i915-gt-Modify-the-adls-mocs-table-same-as-tgl-m.sriov │ ├── 0009-igc-Add-support-for-exposing-frame-preemption-stats-re.tsn │ ├── 0009-media-i2c-update-lt6911uxe-for-upstream-and-bug-fix.camera │ ├── 0009-net-stmmac-add-check-for-2.5G-mode-to-prevent-MAC-capa.tsn │ ├── 0010-EDAC-ie31200-Fold-the-two-channel-loops-into-one-loop.edac │ ├── 0010-INTEL_DII-mei-add-force-wake-workaround-in-init.security │ ├── 0010-drivers-ptp-Add-Enhanced-handling-of-reserve-fields.tgpio │ ├── 0010-drm-i915-Bypass-gem_set_tiling-and-gem_get_tiling.sriov │ ├── 0010-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-during-.rt │ ├── 0010-igc-Optimize-the-packet-buffer-utilization.tsn │ ├── 0010-media-i2c-add-support-for-lt6911uxc.camera │ ├── 0010-stmmac-intel-Enable-PHY-WoL-in-ADL-N.tsn │ ├── 0011-EDAC-ie31200-Break-up-ie31200_probe1.edac │ ├── 0011-INTEL_DII-mei-add-force-wake-workaround-on-sessio.security │ ├── 0011-drivers-ptp-Add-PEROUT2-ioctl-frequency-adjustment-i.tgpio │ ├── 0011-drm-i915-Don-t-check-for-atomic-context-on-PREEMPT_RT.rt │ ├── 0011-drm-i915-enable-CCS-on-DG1-and-TGL-for-testing.sriov │ ├── 0011-igc-Add-support-for-enabling-all-packets-to-be-receive.tsn │ ├── 0011-media-i2c-add-lt6911uxc-driver-and-enable-in-ipu-br.camera │ ├── 0011-net-phy-reconfigure-PHY-WoL-when-WoL-option-is-enabled.tsn │ ├── 0012-EDAC-ie31200-Add-Intel-Raptor-Lake-S-SoCs-support.edac │ ├── 0012-INTEL_DII-mei-add-force-wake-workaround-in-runtim.security │ ├── 0012-drivers-ptp-Add-user-space-input-polling-interface.tgpio │ ├── 0012-drm-i915-Disable-tracing-points-on-PREEMPT_RT.rt │ ├── 0012-drm-i915-force-VF-using-v70-GuC-API.sriov │ ├── 0012-igc-Add-support-for-DMA-timestamp-for-non-PTP-packets.tsn │ ├── 0012-media-pci-intel-psys-driver.camera │ ├── 0012-net-stmmac-fix-MAC-and-phylink-mismatch-issue-after-re.tsn │ ├── 0013-EDAC-ie31200-Switch-Raptor-Lake-S-to-interrupt-mode.edac │ ├── 0013-INTEL_DII-mei-add-force-wake-workaround-in-resume.security │ ├── 0013-bpf-add-btf-register-unregister-API.tsn │ ├── 0013-drm-i915-fix-regression-on-sriov-vf-failures-due-to-.sriov │ ├── 0013-drm-i915-gt-Use-spin_lock_irq-instead-of-local_irq_disa.rt │ ├── 0013-media-i2c-Remove-unused-variables-in-Lontium-driver.camera │ ├── 0013-net-stmmac-restructure-Rx-Tx-hardware-timestamping-fun.tsn │ ├── 0013-x86-tsc-Add-TSC-support-functions-to-support-ART-dri.tgpio │ ├── 0014-INTEL_DII-mei-disable-immediate-enum-if-forcewake.security │ ├── 0014-drivers-ptp-Add-support-for-PMC-Time-Aware-GPIO-Driv.tgpio │ ├── 0014-drm-i915-Drop-the-irqs_disabled-check.rt │ ├── 0014-drm-i915-add-null-pointer-protection-inside-intel_fb.sriov │ ├── 0014-net-core-XDP-metadata-BTF-netlink-API.tsn │ ├── 0014-net-stmmac-Add-per-packet-time-based-scheduling-for-XD.tsn │ ├── 0015-INTEL_DII-mei-put-force-wake-in-error-flows.security │ ├── 0015-drm-i915-guc-Consider-also-RCU-depth-in-busy-loop.rt │ ├── 0015-drm-i915-use-the-original-Wa_14010685332-for-PCH_ADP.sriov │ ├── 0015-net-stmmac-introduce-AF_XDP-ZC-RX-HW-timestamps.tsn │ ├── 0015-rtnetlink-Fix-unchecked-return-value-of-dev_xdp_query_.tsn │ ├── 0015-x86-core-TSC-reliable-kernel-arg-prevents-DQ-of-TSC-.tgpio │ ├── 0016-INTEL_DII-mei-add-force-wake-callbacks-to-empty-h.security │ ├── 0016-Revert-drm-i915-Depend-on-PREEMPT_RT.rt │ ├── 0016-drm-i915-fix-bitmap-clear-API-region-start-issue.sriov │ ├── 0016-mfd-intel-ehl-gpio-Introduce-MFD-framework-to-PSE-GP.tgpio │ ├── 0016-net-stmmac-add-fsleep-in-HW-Rx-timestamp-checking-loop.tsn │ ├── 0016-rtnetlink-Add-return-value-check.tsn │ ├── 0017-INTEL_DII-mei-optimize-force-wake-wait.security │ ├── 0017-TGPIO-Calling-power-management-calls-without-enterin.tgpio │ ├── 0017-drm-i915-iov-Expose-early-runtime-registers-for-MTL.sriov │ ├── 0017-net-stmmac-select-PCS-negotiation-mode-according-to-th.tsn │ ├── 0017-sched-Add-TIF_NEED_RESCHED_LAZY-infrastructure.rt │ ├── 0017-tools-bpf-Query-XDP-metadata-BTF-ID.tsn │ ├── 0018-TGPIO-Fix-PSE-TGPIO-PTP-driver-ioctls-fail.tgpio │ ├── 0018-drm-i915-gt-fix-empty-workaround-list-access-issue.sriov │ ├── 0018-mei-me-apply-GSC-error-supression-to-systems-with.security │ ├── 0018-net-pcs-xpcs-re-initiate-clause-37-Auto-negotiation.tsn │ ├── 0018-sched-Add-Lazy-preemption-model.rt │ ├── 0018-tools-bpf-Add-xdp-set-command-for-md-btf.tsn │ ├── 0019-INTEL_DII-mei-bus-fixup-disable-version-retrieval.security │ ├── 0019-Kernel-Argument-Bypassing-ART-Detection.tgpio │ ├── 0019-arch-x86-Add-IPC-mailbox-accessor-function-and-add-SoC.tsn │ ├── 0019-drm-i915-mtl-Add-module-parameter-override-for-Wa_16.sriov │ ├── 0019-igc-Add-BTF-based-metadata-for-XDP.tsn │ ├── 0019-sched-Enable-PREEMPT_DYNAMIC-for-PREEMPT_RT.rt │ ├── 0020-GPIO-Fix-for-PSE-GPIO-generating-only-one-event-as-i.tgpio │ ├── 0020-drm-i915-mtl-Provide-user-the-option-to-disable-ccs.sriov │ ├── 0020-igc-Enable-HW-RX-Timestamp-for-AF_XDP-ZC.tsn │ ├── 0020-net-stmmac-configure-SerDes-according-to-the-interface.tsn │ ├── 0020-sched-x86-Enable-Lazy-preemption.rt │ ├── 0021-Added-TGPIO-pin-check-before-input-event-read.tgpio │ ├── 0021-drm-i915-mtl-Turn-on-Wa_16019325821-Wa_14019159160-b.sriov │ ├── 0021-igc-Take-care-of-DMA-timestamp-rollover.tsn │ ├── 0021-sched-Add-laziest-preempt-model.rt │ ├── 0021-stmmac-intel-interface-switching-support-for-intel-pla.tsn │ ├── 0022-Added-an-Example-to-adjust-frequency-for-output.tgpio │ ├── 0022-drm-i915-pf-Use-GPU-to-set-PTE-owner.sriov │ ├── 0022-igc-Add-SO_TXTIME-for-AF_XDP-ZC.tsn │ ├── 0022-net-stmmac-Set-mac_managed_pm-flag-from-stmmac-to-reso.tsn │ ├── 0022-sched-Fixup-the-IS_ENABLED-check-for-PREEMPT_LAZY.rt │ ├── 0023-drm-i915-pf-Use-GPU-to-set-PTE-owner-on-platforms-wi.sriov │ ├── 0023-igc-Reodering-the-empty-packet-buffers-and-descriptors.tsn │ ├── 0023-net-phylink-Add-module_exit.tsn │ ├── 0023-ptp-tgpio-PSE-TGPIO-crosststamp-counttstamp.tgpio │ ├── 0023-tracing-Remove-TRACE_FLAG_IRQS_NOSUPPORT.rt │ ├── 0024-Revert-igc-Add-support-for-PTP-.getcyclesx64.tsn │ ├── 0024-drm-i915-access-ddc-pointer-only-if-it-is-available.sriov │ ├── 0024-net-stmmac-introduce-AF_XDP-ZC-TX-HW-timestamps.tsn │ ├── 0024-ptp-Fixed-read-issue-on-PHC-with-zero-n_pins.tgpio │ ├── 0024-tracing-Record-task-flag-NEED_RESCHED_LAZY.rt │ ├── 0025-core-Introduce-netdev_tc_map_to_queue_mask.tsn │ ├── 0025-drm-i915-guc-Upgrade-GuC-fw-version-to-70.20.0.sriov │ ├── 0025-net-sched-taprio-fix-too-early-schedules-switching.tsn │ ├── 0025-ptp-S-W-workaround-for-PMC-TGPIO-h-w-bug.tgpio │ ├── 0025-sysfs-Add-sys-kernel-realtime-entry.rt │ ├── 0026-drm-i915-iov-Adding-runtime-reg-for-MTL-HuC-status.sriov │ ├── 0026-net-sched-taprio-fix-cycle-time-adjustment-for-next-en.tsn │ ├── 0026-ptp-Fix-for-PSE-TGPIO-Oneshot-output-and-counttstamp.tgpio │ ├── 0026-taprio-Replace-tc_map_to_queue_mask.tsn │ ├── 0027-drm-i915-guc-Upgrade-GuC-fw-version-to-70.29.2.sriov │ ├── 0027-mqprio-Add-support-for-frame-preemption-offload.tsn │ ├── 0027-net-sched-taprio-fix-impacted-fields-value-during-cycl.tsn │ ├── 0027-ptp-Fix-for-PSE-TGPIO-frequency-Adjustment-issue.tgpio │ ├── 0028-drm-i915-Re-add-enable_rc6-modparam.sriov │ ├── 0028-net-sched-taprio-get-corrected-value-of-cycle_time-and.tsn │ ├── 0028-tgpio-Fix-compilation-errors-for-PSE-TGPIO.tgpio │ ├── 0029-Added-single-shot-output-mode-support-for-TGPIO.tgpio │ ├── 0029-xsk-add-txtime-field-in-xdp_desc-struct.tsn │ ├── 0030-Added-an-example-to-poll-for-edges.tgpio │ ├── 0030-Revert-net-stmmac-silence-FPE-kernel-logs.tsn │ ├── 0030-igc-Reduce-retry-count-to-a-more-reasonable-number.tsn │ ├── 0031-Added-support-to-get-TGPIO-System-Clock-Offset.tgpio │ ├── 0031-Revert-net-stmmac-support-fp-parameter-of-tc-taprio.tsn │ ├── 0032-Added-single-shot-output-mode-option-for-TGPIO-pin.tgpio │ ├── 0032-Revert-net-stmmac-support-fp-parameter-of-tc-mqprio.tsn │ ├── 0032-drm-virtio-freeze-and-restore-hooks-to-support-suspe.sriov │ ├── 0033-Revert-net-stmmac-configure-FPE-via-ethtool-mm.tsn │ ├── 0033-drm-virtio-save-and-restore-virtio_gpu_objects.sriov │ ├── 0033-selftests-ptp-Added-COMPV-GPIO-Input-Mode-for-TGPIO.tgpio │ ├── 0034-Revert-net-stmmac-refactor-FPE-verification-process.tsn │ ├── 0034-drm-i915-pf-Introduce-i915_ggtt_save_ptes-and-i915_g.sriov │ ├── 0034-ptp-Introduce-PTP_PINDESC_INPUTPOLL-for-Intel-PMC-TG.tgpio │ ├── 0035-Revert-net-stmmac-drop-stmmac_fpe_handshake.tsn │ ├── 0035-drivers-ptp-Add-COMPV-GPIO-Mode-for-PSE-TGPIO.tgpio │ ├── 0035-drm-i915-iov-Introduce-VFs-shadow-copy-of-GGTT-on-PF.sriov │ ├── 0036-Revert-net-stmmac-move-stmmac_fpe_cfg-to-stmmac_priv-d.tsn │ ├── 0036-drm-i915-iov-Shadow-GGTT-mock-selftestes.sriov │ ├── 0036-net-ice-fix-braces-around-scalar-initializer.tgpio │ ├── 0037-drm-i915-gt-Don-t-support-GGTT-save-restore-via-BAR-.sriov │ ├── 0037-net-stmmac-add-FPE-preempt-setting-for-TxQ-preemptible.tsn │ ├── 0037-ptp-Add-PTP_EVENT_COUNTER_MODE-in-v1-valid-flags.tgpio │ ├── 0038-drm-i915-pf-Add-helpers-for-saving-loading-GGTT-stat.sriov │ ├── 0038-ptp-Enable-preempt-if-it-is-disabled.tgpio │ ├── 0038-taprio-Add-support-for-frame-preemption-offload.tsn │ ├── 0039-drm-i915-pf-Handle-VF-pause-complete-notification.sriov │ ├── 0039-net-stmmac-set-initial-EEE-policy-configuration.tsn │ ├── 0039-ptp-Generate-sqaure-wave-on-PSE-TGPIO.tgpio │ ├── 0040-drm-i915-pf-Allow-to-save-restore-GuC-VF-state.sriov │ ├── 0040-net-phy-fix-phylib-s-dual-eee_enabled.tsn │ ├── 0040-ptp-tgpio-Add-an-edge-if-the-output-signal-ends-high.tgpio │ ├── 0041-drm-i915-pf-Save-and-restore-VFs-state-during-S2idle.sriov │ ├── 0041-net-phy-ensure-that-genphy_c45_an_config_eee_aneg-sees.tsn │ ├── 0041-ptp-pmc-tgpio-Initialize-variable-to-zero.tgpio │ ├── 0042-drm-i915-pf-Skip-VF-save-restore-on-S2idle-S3-S4-if-.sriov │ ├── 0042-net-phy-fix-phy_ethtool_set_eee-incorrectly-enabling-L.tsn │ ├── 0042-ptp-tgpio-Fix-return-type-of-remove-function-in-tgpi.tgpio │ ├── 0043-drm-i915-pf-Start-use-shadow-GGTT-to-save-restore-du.sriov │ ├── 0043-net-mlx5-reuse-convert_art_ns_to_tsc-to-convert-ART-.tgpio │ ├── 0044-drm-i915-pf-Export-API-to-be-used-by-i915-vfio-pci.sriov │ ├── 0045-drm-i915-iov-Flag-which-tells-whether-PAUSE-is-in-pr.sriov │ ├── 0046-drm-i915-iov-Remember-run-state-on-suspend-and-resto.sriov │ ├── 0047-drm-i915-pf-Pause-VF-before-restore-GuC-state-after-.sriov │ ├── 0048-drm-i915-iov-fix-i915-sriov-build-issue.sriov │ └── series └── security.md /.gitignore: -------------------------------------------------------------------------------- 1 | ./dpkg 2 | .pc 3 | ./dpkg-overlay/.pc 4 | -------------------------------------------------------------------------------- /LICENSES/deprecated/ISC: -------------------------------------------------------------------------------- 1 | Valid-License-Identifier: ISC 2 | SPDX-URL: https://spdx.org/licenses/ISC.html 3 | Usage-Guide: 4 | To use the ISC License put the following SPDX tag/value pair into a 5 | comment according to the placement guidelines in the licensing rules 6 | documentation: 7 | SPDX-License-Identifier: ISC 8 | License-Text: 9 | 10 | ISC License 11 | 12 | Copyright (c) 13 | 14 | Permission to use, copy, modify, and/or distribute this software for any 15 | purpose with or without fee is hereby granted, provided that the above 16 | copyright notice and this permission notice appear in all copies. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 19 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 20 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 21 | SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 22 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 23 | OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 24 | CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 25 | -------------------------------------------------------------------------------- /LICENSES/deprecated/Linux-OpenIB: -------------------------------------------------------------------------------- 1 | Valid-License-Identifier: Linux-OpenIB 2 | SPDX-URL: https://spdx.org/licenses/Linux-OpenIB.html 3 | Usage-Guide: 4 | To use the Linux Kernel Variant of OpenIB.org license put the following 5 | SPDX tag/value pair into a comment according to the placement guidelines 6 | in the licensing rules documentation: 7 | SPDX-License-Identifier: Linux-OpenIB 8 | License-Text: 9 | 10 | Redistribution and use in source and binary forms, with or without 11 | modification, are permitted provided that the following conditions are met: 12 | 13 | - Redistributions of source code must retain the above copyright 14 | notice, this list of conditions and the following disclaimer. 15 | 16 | - Redistributions in binary form must reproduce the above copyright 17 | notice, this list of conditions and the following disclaimer in the 18 | documentation and/or other materials provided with the distribution. 19 | 20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 25 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 26 | DEALINGS IN THE SOFTWARE. 27 | -------------------------------------------------------------------------------- /LICENSES/deprecated/X11: -------------------------------------------------------------------------------- 1 | Valid-License-Identifier: X11 2 | SPDX-URL: https://spdx.org/licenses/X11.html 3 | Usage-Guide: 4 | To use the X11 put the following SPDX tag/value pair into a comment 5 | according to the placement guidelines in the licensing rules 6 | documentation: 7 | SPDX-License-Identifier: X11 8 | License-Text: 9 | 10 | 11 | X11 License 12 | 13 | Copyright (C) 1996 X Consortium 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a 16 | copy of this software and associated documentation files (the "Software"), 17 | to deal in the Software without restriction, including without limitation 18 | the rights to use, copy, modify, merge, publish, distribute, sublicense, 19 | and/or sell copies of the Software, and to permit persons to whom the 20 | Software is furnished to do so, subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in 23 | all copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 28 | X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 29 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 30 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 31 | 32 | Except as contained in this notice, the name of the X Consortium shall not 33 | be used in advertising or otherwise to promote the sale, use or other 34 | dealings in this Software without prior written authorization from the X 35 | Consortium. 36 | 37 | X Window System is a trademark of X Consortium, Inc. 38 | -------------------------------------------------------------------------------- /LICENSES/deprecated/Zlib: -------------------------------------------------------------------------------- 1 | Valid-License-Identifier: Zlib 2 | SPDX-URL: https://spdx.org/licenses/Zlib.html 3 | Usage-Guide: 4 | To use the Zlib License put the following SPDX tag/value pair into a 5 | comment according to the placement guidelines in the licensing rules 6 | documentation: 7 | SPDX-License-Identifier: Zlib 8 | License-Text: 9 | 10 | zlib License 11 | 12 | Copyright (c) 13 | 14 | This software is provided 'as-is', without any express or implied warranty. In 15 | no event will the authors be held liable for any damages arising from the use 16 | of this software. 17 | 18 | Permission is granted to anyone to use this software for any purpose, including 19 | commercial applications, and to alter it and redistribute it freely, subject 20 | to the following restrictions: 21 | 1. The origin of this software must not be misrepresented; you must not 22 | claim that you wrote the original software. If you use this software in a 23 | product, an acknowledgment in the product documentation would be appreciated 24 | but is not required. 25 | 2. Altered source versions must be plainly marked as such, and must not be 26 | misrepresented as being the original software. 27 | 3. This notice may not be removed or altered from any source distribution. 28 | -------------------------------------------------------------------------------- /LICENSES/exceptions/GCC-exception-2.0: -------------------------------------------------------------------------------- 1 | SPDX-Exception-Identifier: GCC-exception-2.0 2 | SPDX-URL: https://spdx.org/licenses/GCC-exception-2.0.html 3 | SPDX-Licenses: GPL-2.0, GPL-2.0+, GPL-2.0-only, GPL-2.0-or-later 4 | Usage-Guide: 5 | This exception is used together with one of the above SPDX-Licenses to 6 | allow linking the compiled version of code to non GPL compliant code. 7 | To use this exception add it with the keyword WITH to one of the 8 | identifiers in the SPDX-Licenses tag: 9 | SPDX-License-Identifier: WITH GCC-exception-2.0 10 | License-Text: 11 | 12 | In addition to the permissions in the GNU Library General Public License, 13 | the Free Software Foundation gives you unlimited permission to link the 14 | compiled version of this file into combinations with other programs, and to 15 | distribute those programs without any restriction coming from the use of 16 | this file. (The General Public License restrictions do apply in other 17 | respects; for example, they cover modification of the file, and 18 | distribution when not linked into another program.) 19 | -------------------------------------------------------------------------------- /LICENSES/exceptions/Linux-syscall-note: -------------------------------------------------------------------------------- 1 | SPDX-Exception-Identifier: Linux-syscall-note 2 | SPDX-URL: https://spdx.org/licenses/Linux-syscall-note.html 3 | SPDX-Licenses: GPL-2.0, GPL-2.0+, GPL-1.0+, LGPL-2.0, LGPL-2.0+, LGPL-2.1, LGPL-2.1+, GPL-2.0-only, GPL-2.0-or-later 4 | Usage-Guide: 5 | This exception is used together with one of the above SPDX-Licenses 6 | to mark user space API (uapi) header files so they can be included 7 | into non GPL compliant user space application code. 8 | To use this exception add it with the keyword WITH to one of the 9 | identifiers in the SPDX-Licenses tag: 10 | SPDX-License-Identifier: WITH Linux-syscall-note 11 | License-Text: 12 | 13 | NOTE! This copyright does *not* cover user programs that use kernel 14 | services by normal system calls - this is merely considered normal use 15 | of the kernel, and does *not* fall under the heading of "derived work". 16 | Also note that the GPL below is copyrighted by the Free Software 17 | Foundation, but the instance of code that it refers to (the Linux 18 | kernel) is copyrighted by me and others who actually wrote it. 19 | 20 | Also note that the only valid version of the GPL as far as the kernel 21 | is concerned is _this_ particular version of the license (ie v2, not 22 | v2.2 or v3.x or whatever), unless explicitly otherwise stated. 23 | 24 | Linus Torvalds 25 | 26 | -------------------------------------------------------------------------------- /LICENSES/preferred/BSD-2-Clause: -------------------------------------------------------------------------------- 1 | Valid-License-Identifier: BSD-2-Clause 2 | SPDX-URL: https://spdx.org/licenses/BSD-2-Clause.html 3 | Usage-Guide: 4 | To use the BSD 2-clause "Simplified" License put the following SPDX 5 | tag/value pair into a comment according to the placement guidelines in 6 | the licensing rules documentation: 7 | SPDX-License-Identifier: BSD-2-Clause 8 | License-Text: 9 | 10 | Copyright (c) . All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | 1. Redistributions of source code must retain the above copyright notice, 16 | this list of conditions and the following disclaimer. 17 | 18 | 2. Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 24 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 26 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 27 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 28 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 29 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 30 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 31 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 32 | POSSIBILITY OF SUCH DAMAGE. 33 | -------------------------------------------------------------------------------- /LICENSES/preferred/BSD-3-Clause: -------------------------------------------------------------------------------- 1 | Valid-License-Identifier: BSD-3-Clause 2 | SPDX-URL: https://spdx.org/licenses/BSD-3-Clause.html 3 | Usage-Guide: 4 | To use the BSD 3-clause "New" or "Revised" License put the following SPDX 5 | tag/value pair into a comment according to the placement guidelines in 6 | the licensing rules documentation: 7 | SPDX-License-Identifier: BSD-3-Clause 8 | License-Text: 9 | 10 | Copyright (c) . All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | 1. Redistributions of source code must retain the above copyright notice, 16 | this list of conditions and the following disclaimer. 17 | 18 | 2. Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | 3. Neither the name of the copyright holder nor the names of its 23 | contributors may be used to endorse or promote products derived from this 24 | software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 27 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 28 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 29 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 30 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 33 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 34 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 35 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 36 | POSSIBILITY OF SUCH DAMAGE. 37 | -------------------------------------------------------------------------------- /LICENSES/preferred/BSD-3-Clause-Clear: -------------------------------------------------------------------------------- 1 | Valid-License-Identifier: BSD-3-Clause-Clear 2 | SPDX-URL: https://spdx.org/licenses/BSD-3-Clause-Clear.html 3 | Usage-Guide: 4 | To use the BSD 3-clause "Clear" License put the following SPDX 5 | tag/value pair into a comment according to the placement guidelines in 6 | the licensing rules documentation: 7 | SPDX-License-Identifier: BSD-3-Clause-Clear 8 | License-Text: 9 | 10 | The Clear BSD License 11 | 12 | Copyright (c) [xxxx]-[xxxx] [Owner Organization] 13 | All rights reserved. 14 | 15 | Redistribution and use in source and binary forms, with or without 16 | modification, are permitted (subject to the limitations in the disclaimer 17 | below) provided that the following conditions are met: 18 | 19 | * Redistributions of source code must retain the above copyright notice, 20 | this list of conditions and the following disclaimer. 21 | 22 | * Redistributions in binary form must reproduce the above copyright 23 | notice, this list of conditions and the following disclaimer in the 24 | documentation and/or other materials provided with the distribution. 25 | 26 | * Neither the name of [Owner Organization] nor the names of its 27 | contributors may be used to endorse or promote products derived from 28 | this software without specific prior written permission. 29 | 30 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY 31 | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 32 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 33 | NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 34 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER 35 | OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 36 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 37 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 38 | OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 39 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 40 | OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 41 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 42 | -------------------------------------------------------------------------------- /LICENSES/preferred/MIT: -------------------------------------------------------------------------------- 1 | Valid-License-Identifier: MIT 2 | SPDX-URL: https://spdx.org/licenses/MIT.html 3 | Usage-Guide: 4 | To use the MIT License put the following SPDX tag/value pair into a 5 | comment according to the placement guidelines in the licensing rules 6 | documentation: 7 | SPDX-License-Identifier: MIT 8 | License-Text: 9 | 10 | MIT License 11 | 12 | Copyright (c) 13 | 14 | Permission is hereby granted, free of charge, to any person obtaining a 15 | copy of this software and associated documentation files (the "Software"), 16 | to deal in the Software without restriction, including without limitation 17 | the rights to use, copy, modify, merge, publish, distribute, sublicense, 18 | and/or sell copies of the Software, and to permit persons to whom the 19 | Software is furnished to do so, subject to the following conditions: 20 | 21 | The above copyright notice and this permission notice shall be included in 22 | all copies or substantial portions of the Software. 23 | 24 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 25 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 26 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 27 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 28 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 29 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 30 | DEALINGS IN THE SOFTWARE. 31 | -------------------------------------------------------------------------------- /cmd-params: -------------------------------------------------------------------------------- 1 | i915.enable_guc=3 i915.max_vfs=7 i915.force_probe=* udmabuf.list_limit=8192 processor.max_cstate=0 intel.max_cstate=0 processor_idle.max_cstate=0 intel_idle.max_cstate=0 clocksource=tsc tsc=reliable nowatchdog intel_pstate=disable idle=poll nosmt isolcpus=2,3 rcu_nocbs=2,3 rcupdate.rcu_cpu_stall_suppress=1 rcu_nocb_poll irqaffinity=0 i915.enable_rc6=0 i915.enable_dc=0 i915.disable_power_well=0 mce=off hpet=disable numa_balancing=disable igb.blacklist=no noefi art=virtallow iommu=pt nmi_watchdog=0 nosoftlockup hugepages=1024 console=tty0 intel_iommu=on vt.handoff=7 nohz_full=2,3 2 | -------------------------------------------------------------------------------- /config.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -x 2 | # Global configurations which are used to build kernel overlay 3 | 4 | KVERSION=6 5 | KPATCHLEVEL=12 6 | KSUBLEVEL=36 7 | KEXTRAVERSION= 8 | KRTV= 9 | 10 | KSRC_MIRROR= 11 | 12 | 13 | KCFG_BASE_OS="base-os/noble.config-6.8.0-31-generic" 14 | KCFG_FEATURES_DIR="features/" 15 | KCFG_OVERLAY="overlay/overlay.cfg" 16 | 17 | KSRC_REPO=https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git 18 | -------------------------------------------------------------------------------- /kernel-config/features/camera.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_IPU_BRIDGE=m 2 | CONFIG_VIDEO_INTEL_IPU6_ISYS_RESET=y 3 | -------------------------------------------------------------------------------- /kernel-config/features/debug.cfg: -------------------------------------------------------------------------------- 1 | # include debug related kernel configs here 2 | 3 | #By GFX CoE request 4 | CONFIG_DRM_I915_SELFTEST=y 5 | 6 | # enable STMMAC test 7 | CONFIG_STMMAC_SELFTESTS=y 8 | -------------------------------------------------------------------------------- /kernel-config/features/drm.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_DRM_I915=m 2 | 3 | # For sriov save-restore feature 4 | CONFIG_I915_VFIO_PCI=m 5 | 6 | # Enable Xe for BMG and other platforms 7 | CONFIG_DRM_XE=m 8 | CONFIG_DRM_XE_DISPLAY=y 9 | CONFIG_DRM_XE_FORCE_PROBE="" 10 | 11 | # Simple DRM in module 12 | CONFIG_DRM_SIMPLEDRM=m 13 | -------------------------------------------------------------------------------- /kernel-config/features/edac.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_EDAC_IGEN6=m 2 | CONFIG_ACPI_ADXL=y 3 | CONFIG_EDAC_DEBUG=y 4 | CONFIG_EDAC_SKX=m 5 | CONFIG_EDAC_I10NM=m 6 | CONFIG_EDAC_IEH=m 7 | CONFIG_PCIEAER=y 8 | CONFIG_PCIE_PME=y 9 | CONFIG_PCIEAER_INJECT=m 10 | CONFIG_ACPI_APEI_PCIEAER=y 11 | CONFIG_ACPI_APEI_EINJ=m 12 | CONFIG_EDAC_IMH=m 13 | -------------------------------------------------------------------------------- /kernel-config/features/features.cfg: -------------------------------------------------------------------------------- 1 | # 0a4b5d1b add CONFIG_INTEL_MEI_DAL=m CONFIG_TCG_TPM=m from y 2 | CONFIG_INTEL_MEI_DAL=m 3 | CONFIG_TCG_TPM=m 4 | 5 | # 5d4da56b Enable CONFIG_INTEL_QEP=m 6 | CONFIG_INTEL_QEP=m 7 | 8 | # Enable Maxliner PHY 9 | CONFIG_MAXLINEAR_GPHY=m 10 | 11 | # Enable I2C HID driver for touch panel 12 | CONFIG_I2C_HID_ACPI=m 13 | CONFIG_I2C_HID_CORE=m 14 | 15 | # Enable X86_TCC_PTCM per TCC CoE request 16 | CONFIG_X86_TCC_PTCM=m 17 | 18 | # Enable CONFIG_SND_SOC_RT711_SDCA_SDW per Audio/SOF CoE request 19 | CONFIG_SND_SOC_RT711_SDCA_SDW=m 20 | 21 | # Enable Intel VPU 22 | # The kernel option CONFIG_DRM_IVPU is obsoleted 23 | CONFIG_DRM_ACCEL=y 24 | CONFIG_DRM_ACCEL_IVPU=m 25 | 26 | # Enable T7xx(MTK) driver. 27 | CONFIG_WWAN=y 28 | CONFIG_MTK_T7XX=m 29 | 30 | #Enable Telit FN990 5G driver. 31 | CONFIG_MHI_WWAN_CTRL=m 32 | CONFIG_MHI_WWAN_MBIM=m 33 | 34 | # MEI GSC/PXP 35 | CONFIG_INTEL_MEI_GSC=m 36 | CONFIG_INTEL_MEI_HDCP=m 37 | CONFIG_INTEL_MEI_PXP=m 38 | CONFIG_INTEL_MEI_GSC_PROXY=m 39 | -------------------------------------------------------------------------------- /kernel-config/features/idxd.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_INTEL_IDXD=m 2 | CONFIG_INTEL_IDXD_PERFMON=m 3 | CONFIG_INTEL_IDXD_BUS=m 4 | CONFIG_INTEL_IDXD_COMPAT=m 5 | CONFIG_INTEL_IDXD_SVM=m 6 | 7 | CONFIG_DMADEVICES=y 8 | CONFIG_PCI=y 9 | CONFIG_X86_64=y 10 | CONFIG_IOMMU_SVM=y 11 | CONFIG_PCI_PRI=y 12 | CONFIG_PASID=y 13 | -------------------------------------------------------------------------------- /kernel-config/features/intel-iommu.cfg: -------------------------------------------------------------------------------- 1 | # Intel IOMMU 2 | CONFIG_INTEL_IOMMU=y 3 | CONFIG_INTEL_IOMMU_SVM=y 4 | CONFIG_INTEL_IOMMU_DEFAULT_ON=y 5 | CONFIG_INTEL_IOMMU_FLOPPY_WA=y 6 | CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y 7 | CONFIG_IRQ_REMAP=y 8 | -------------------------------------------------------------------------------- /kernel-config/features/ipu.cfg: -------------------------------------------------------------------------------- 1 | # 2 | # Media digital TV PCI Adapters 3 | # 4 | CONFIG_VIDEO_INTEL_IPU6=m 5 | CONFIG_VIDEO_INTEL_IPU_SOC=y 6 | CONFIG_VIDEO_INTEL_IPU_USE_PLATFORMDATA=y 7 | # CONFIG_VIDEO_INTEL_IPU_PDATA_DYNAMIC_LOADING is not set 8 | 9 | # 10 | # Chips&Media media platform drivers 11 | # 12 | # CONFIG_INTEL_IPU6_TGLRVP_PDATA is not set 13 | # CONFIG_INTEL_IPU6_ADLRVP_PDATA is not set 14 | CONFIG_INTEL_IPU6_ACPI=m 15 | 16 | # 17 | # Miscellaneous helper chips 18 | # 19 | CONFIG_VIDEO_LT6911UXC=m 20 | CONFIG_VIDEO_LT6911UXE=m 21 | # end of Miscellaneous helper chips 22 | 23 | # 24 | # Camera sensor devices 25 | # 26 | CONFIG_VIDEO_AR0234=m 27 | CONFIG_VIDEO_D4XX=m 28 | CONFIG_VIDEO_TI960=m 29 | CONFIG_VIDEO_IMX390=m 30 | 31 | # 32 | # VME Device Drivers 33 | # 34 | CONFIG_INTEL_SKL_INT3472=m 35 | -------------------------------------------------------------------------------- /kernel-config/features/lpss.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_X86_INTEL_LPSS=y 2 | CONFIG_MFD_INTEL_LPSS_ACPI=y 3 | CONFIG_MFD_INTEL_LPSS_PCI=y 4 | CONFIG_SPI_INTEL=y 5 | CONFIG_SPI_INTEL_PCI=y 6 | CONFIG_SPI_INTEL_PLATFORM=y 7 | 8 | # 9 | CONFIG_PINCTRL_METEORLAKE=m 10 | CONFIG_PINCTRL_BAYTRAIL=m 11 | CONFIG_PINCTRL_CHERRYVIEW=m 12 | CONFIG_PINCTRL_LYNXPOINT=m 13 | CONFIG_PINCTRL_MERRIFIELD=m 14 | CONFIG_PINCTRL_MOOREFIELD=m 15 | CONFIG_PINCTRL_INTEL_PLATFORM=m 16 | CONFIG_PINCTRL_ALDERLAKE=m 17 | CONFIG_PINCTRL_BROXTON=m 18 | CONFIG_PINCTRL_CANNONLAKE=m 19 | CONFIG_PINCTRL_CEDARFORK=m 20 | CONFIG_PINCTRL_DENVERTON=m 21 | CONFIG_PINCTRL_ELKHARTLAKE=m 22 | CONFIG_PINCTRL_EMMITSBURG=m 23 | CONFIG_PINCTRL_GEMINILAKE=m 24 | CONFIG_PINCTRL_ICELAKE=m 25 | CONFIG_PINCTRL_JASPERLAKE=m 26 | CONFIG_PINCTRL_LAKEFIELD=m 27 | CONFIG_PINCTRL_LEWISBURG=m 28 | CONFIG_PINCTRL_METEORLAKE=m 29 | CONFIG_PINCTRL_METEORPOINT=m 30 | CONFIG_PINCTRL_SUNRISEPOINT=m 31 | CONFIG_PINCTRL_TIGERLAKE=m 32 | CONFIG_I3C=m 33 | CONFIG_MIPI_I3C_HCI=m 34 | CONFIG_MIPI_I3C_HCI_PCI=m 35 | CONFIG_MFD_CORE=y 36 | CONFIG_MFD_INTEL_LPSS_PCI=m 37 | CONFIG_SPI=y 38 | CONFIG_SPI_MASTER=y 39 | CONFIG_SPI_MEM=y 40 | CONFIG_SPI_INTEL_PCI=m 41 | CONFIG_SPI_INTEL_PLATFORM=m 42 | CONFIG_SPI_SPIDEV=y 43 | -------------------------------------------------------------------------------- /kernel-config/features/normal.cfg: -------------------------------------------------------------------------------- 1 | # For Non-rt kernel 2 | CONFIG_NO_HZ_IDLE=y 3 | # CONFIG_NO_HZ_FULL is not set 4 | # CONFIG_HZ_1000 is not set 5 | CONFIG_HZ_250=y 6 | CONFIG_HZ=250 7 | -------------------------------------------------------------------------------- /kernel-config/features/perf.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_PERF_EVENTS_INTEL_UNCORE=y 2 | CONFIG_CPU_SUP_INTEL=y 3 | -------------------------------------------------------------------------------- /kernel-config/features/pks.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_DEVMAP_ACCESS_PROTECTION=y 2 | CONFIG_NVDIMM_PFN=y 3 | CONFIG_ARCH_HAS_SUPERVISOR_PKEYS=y 4 | CONFIG_ARCH_ENABLE_SUPERVISOR_PKEYS=y 5 | -------------------------------------------------------------------------------- /kernel-config/features/pmc_core.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_INTEL_PMC_CORE=m 2 | CONFIG_X86_INTEL_PSTATE=y 3 | -------------------------------------------------------------------------------- /kernel-config/features/pmt.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_X86_PLATFORM_DEVICES=y 2 | CONFIG_INTEL_VSEC=y 3 | CONFIG_INTEL_PMT_CLASS=m 4 | CONFIG_INTEL_PMT_TELEMETRY=m 5 | CONFIG_INTEL_PMT_CRASHLOG=m 6 | CONFIG_INTEL_PMT_WATCHER=m 7 | CONFIG_INTEL_SDSI=m 8 | -------------------------------------------------------------------------------- /kernel-config/features/rt.cfg: -------------------------------------------------------------------------------- 1 | # 11fdde8f enable preempt rt and tcc 2 | # CONFIG_PREEMPT_VOLUNTARY is not set 3 | CONFIG_PREEMPT_RT=y 4 | CONFIG_X86_TCC_PTCM=m 5 | 6 | # 4b6a6ad enable rt related config 7 | # CONFIG_NO_HZ_IDLE is not set 8 | CONFIG_NO_HZ_FULL=y 9 | CONFIG_PREEMPT_RCU=y 10 | CONFIG_RCU_NOCB_CPU=y 11 | CONFIG_EXPERT=y 12 | CONFIG_ARCH_SUPPORTS_RT=y 13 | CONFIG_GENERIC_IRQ_MIGRATION=y 14 | CONFIG_NO_HZ_COMMON=y 15 | CONFIG_HZ_1000=y 16 | CONFIG_HZ=1000 17 | CONFIG_HIGH_RES_TIMERS=y 18 | CONFIG_CPU_ISOLATION=y 19 | CONFIG_SMP=y 20 | CONFIG_MIGRATION=y 21 | CONFIG_PCIEPORTBUS=y 22 | CONFIG_PCIE_PTM=y 23 | CONFIG_HUGETLBFS=y 24 | CONFIG_EFI=y 25 | # CONFIG_SCHED_MC_PRIO is not set 26 | # CONFIG_SCHED_MC is not set 27 | # CONFIG_ACPI_PROCESSOR is not set 28 | # CONFIG_X86_ACPI_CPUFREQ is not set 29 | -------------------------------------------------------------------------------- /kernel-config/features/security.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_INTEL_TDX_GUEST=y 2 | CONFIG_INTEL_TDX_HOST=y 3 | CONFIG_TDX_GUEST_DRIVER=y 4 | CONFIG_ARCH_HAS_CC_PLATFORM=y 5 | CONFIG_X86_MEM_ENCRYPT=y 6 | CONFIG_ALLOC=y 7 | CONFIG_KVM_GENERIC_MEMORY_ATTRIBUTES=y 8 | CONFIG_KVM_SW_PROTECTED_VM=y 9 | CONFIG_KVM_PRIVATE_MEM=y 10 | CONFIG_KVM=m 11 | COMPILE_TEST=y 12 | CONFIG_DRM_ETNAVIV=y 13 | # CONFIG_OF is not set 14 | CONFIG_CONTIG_ALLOC=y 15 | CONFIG_KVM_INTEL=m 16 | CONFIG_X86_X2APIC=y 17 | CONFIG_TSM_REPORTS=y 18 | CONFIG_VIRT_DRIVERS=y 19 | -------------------------------------------------------------------------------- /kernel-config/features/sof.cfg: -------------------------------------------------------------------------------- 1 | #Audio Domain configs for Ubuntu 2 | 3 | # 4 | #Enable CONFIG_SND_SOC_INTEL_SOUNDWIRE_SOF_MACH and dependent configs per CoE request: https://ikt.bj.intel.com/pullrequest/1291 5 | CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES=y 6 | CONFIG_SND_SOC_INTEL_SOUNDWIRE_SOF_MACH=m 7 | 8 | #Enable kernel config for SOF with amplifiers in I2S Mode per CoE request: https://ikt.bj.intel.com/pullrequest/1783 9 | #Linked source code pull request: https://github.com/intel-innersource/os.linux.kernel.mainline-tracking-staging/pull/400 10 | CONFIG_SND_SOC_INTEL_SOF_SSP_AMP_MACH=m 11 | 12 | 13 | #Enable Everest codec 14 | CONFIG_SND_SOC_ES8326=m 15 | CONFIG_SND_SOC_INTEL_SOF_ES8336_MACH=m 16 | -------------------------------------------------------------------------------- /kernel-config/features/tgpio.cfg: -------------------------------------------------------------------------------- 1 | #enable tgpio related kernel config 2 | CONFIG_PTP_INTEL_TGPIO_PLAT=m 3 | CONFIG_PTP_INTEL_PMC_TGPIO=m 4 | CONFIG_MFD_INTEL_EHL_PSE_GPIO=m 5 | CONFIG_GPIO_EHL_PSE_PLAT=m 6 | -------------------------------------------------------------------------------- /kernel-config/overlay/overlay.cfg: -------------------------------------------------------------------------------- 1 | # CONFIG_MODULE_SIG is not set 2 | # CONFIG_MODULE_SIG_FORMAT is not set 3 | CONFIG_MODULE_SIG_KEY="" 4 | # CONFIG_MODULE_SIG_ALL is not set 5 | CONFIG_SYSTEM_TRUSTED_KEYS="" 6 | CONFIG_SYSTEM_REVOCATION_KEYS="" 7 | 8 | # Turning this on expects presence of pahole tool, which will convert DWARF 9 | # type info into equivalent deduplicated BTF type info. 10 | # We disable it because dwarves is not available in the build server. 11 | # CONFIG_DEBUG_INFO_BTF is not set 12 | 13 | # For MTL-P change 8250_dw to built-in 14 | CONFIG_SERIAL_8250_DW=y 15 | 16 | #Enable DEBUG_GPIO for MTL-P Bronze test 17 | CONFIG_DEBUG_GPIO=y 18 | 19 | #Enable FW_LOADER_COMPRESS_ZSTD for Ubuntu Noble firmware loading 20 | CONFIG_FW_LOADER_COMPRESS_ZSTD=y 21 | 22 | -------------------------------------------------------------------------------- /kernel-patches/patches/0001-Add-security.md-file.misc: -------------------------------------------------------------------------------- 1 | From 3a01e64f0d80c5154743e5c304774066ceb10972 Mon Sep 17 00:00:00 2001 2 | From: Lili Li 3 | Date: Tue, 24 Oct 2023 10:33:36 +0800 4 | Subject: [PATCH] Add security.md file 5 | 6 | Add security.md file to open source repository. 7 | 8 | Signed-off-by: Lili Li 9 | --- 10 | security.md | 5 +++++ 11 | 1 file changed, 5 insertions(+) 12 | create mode 100644 security.md 13 | 14 | diff --git a/security.md b/security.md 15 | new file mode 100644 16 | index 0000000000000..b6eefdf389795 17 | --- /dev/null 18 | +++ b/security.md 19 | @@ -0,0 +1,5 @@ 20 | +Security Policy 21 | +Intel is committed to rapidly addressing security vulnerabilities affecting our customers and providing clear guidance on the solution, impact, severity and mitigation. 22 | + 23 | +Reporting a Vulnerability 24 | +Please report any security vulnerabilities in this project [utilizing the guidelines here](https://www.intel.com/content/www/us/en/security-center/vulnerability-handling-guidelines.html). 25 | -- 26 | 2.25.1 27 | 28 | -------------------------------------------------------------------------------- /kernel-patches/patches/0001-EDAC-ie31200-Add-two-Intel-SoCs-for-EDAC-support.edac: -------------------------------------------------------------------------------- 1 | From ed20e3ad5cce3759718c722b6b9f1589cf0656f3 Mon Sep 17 00:00:00 2001 2 | From: Qiuxu Zhuo 3 | Date: Tue, 22 Apr 2025 21:44:50 +0800 4 | Subject: [PATCH 1/2] EDAC/ie31200: Add two Intel SoCs for EDAC support 5 | 6 | Add two compute die IDs for Raptor Lake-S and Alder Lake-S for EDAC 7 | support. Note that because Alder Lake-S shares the same memory controller 8 | registers as Raptor Lake-S, it can reuse the configuration data of Raptor 9 | Lake-S for EDAC support. 10 | 11 | Tested-by: James Jernigan 12 | Signed-off-by: Qiuxu Zhuo 13 | --- 14 | drivers/edac/ie31200_edac.c | 6 ++++++ 15 | 1 file changed, 6 insertions(+) 16 | 17 | diff --git a/drivers/edac/ie31200_edac.c b/drivers/edac/ie31200_edac.c 18 | index 2048341495798..55cf54741aa0b 100644 19 | --- a/drivers/edac/ie31200_edac.c 20 | +++ b/drivers/edac/ie31200_edac.c 21 | @@ -89,6 +89,10 @@ 22 | #define PCI_DEVICE_ID_INTEL_IE31200_RPL_S_1 0xa703 23 | #define PCI_DEVICE_ID_INTEL_IE31200_RPL_S_2 0x4640 24 | #define PCI_DEVICE_ID_INTEL_IE31200_RPL_S_3 0x4630 25 | +#define PCI_DEVICE_ID_INTEL_IE31200_RPL_S_4 0xa700 26 | + 27 | +/* Alder Lake-S */ 28 | +#define PCI_DEVICE_ID_INTEL_IE31200_ADL_S_1 0x4660 29 | 30 | #define IE31200_RANKS_PER_CHANNEL 8 31 | #define IE31200_DIMMS_PER_CHANNEL 2 32 | @@ -734,6 +738,8 @@ static const struct pci_device_id ie31200_pci_tbl[] = { 33 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IE31200_RPL_S_1), (kernel_ulong_t)&rpl_s_cfg}, 34 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IE31200_RPL_S_2), (kernel_ulong_t)&rpl_s_cfg}, 35 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IE31200_RPL_S_3), (kernel_ulong_t)&rpl_s_cfg}, 36 | + { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IE31200_RPL_S_4), (kernel_ulong_t)&rpl_s_cfg}, 37 | + { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IE31200_ADL_S_1), (kernel_ulong_t)&rpl_s_cfg}, 38 | { 0, } /* 0 terminated list. */ 39 | }; 40 | MODULE_DEVICE_TABLE(pci, ie31200_pci_tbl); 41 | -- 42 | 2.34.1 43 | 44 | -------------------------------------------------------------------------------- /kernel-patches/patches/0001-Revert-bus-mhi-host-pci_generic-add-support-for-sc828.wwan: -------------------------------------------------------------------------------- 1 | From 4ee10246e0dd22818f20b3812c5ca74b3f0a1148 Mon Sep 17 00:00:00 2001 2 | From: Daniele Palmas 3 | Date: Thu, 16 Mar 2023 10:40:11 +0100 4 | Subject: [PATCH 1/9] Revert "bus: mhi: host: pci_generic: add support for 5 | sc8280xp-crd SDX55 variant" 6 | 7 | This reverts commit 46af287cd5d7de316f1afd7966b27fc4369c6c35. 8 | 9 | Removed since it binds FN980 V2 to MBIM. 10 | 11 | Signed-off-by: Daniele Palmas 12 | --- 13 | drivers/bus/mhi/host/pci_generic.c | 2 -- 14 | 1 file changed, 2 deletions(-) 15 | 16 | diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c 17 | index 9938bb034c1cb..f12d6d0d3e52d 100644 18 | --- a/drivers/bus/mhi/host/pci_generic.c 19 | +++ b/drivers/bus/mhi/host/pci_generic.c 20 | @@ -722,8 +722,6 @@ static const struct mhi_pci_dev_info mhi_netprisma_fcun69_info = { 21 | static const struct pci_device_id mhi_pci_id_table[] = { 22 | { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0304), 23 | .driver_data = (kernel_ulong_t) &mhi_qcom_sdx24_info }, 24 | - { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, PCI_VENDOR_ID_QCOM, 0x010c), 25 | - .driver_data = (kernel_ulong_t) &mhi_foxconn_sdx55_info }, 26 | /* EM919x (sdx55), use the same vid:pid as qcom-sdx55m */ 27 | { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, 0x18d7, 0x0200), 28 | .driver_data = (kernel_ulong_t) &mhi_sierra_em919x_info }, 29 | -- 30 | 2.25.1 31 | 32 | -------------------------------------------------------------------------------- /kernel-patches/patches/0001-Revert-drivers-bus-mhi-host-fix-recovery-process-when.wwan: -------------------------------------------------------------------------------- 1 | From c00c0de2715ec90dbbcdb8b7e60304d6975e8c53 Mon Sep 17 00:00:00 2001 2 | From: "Qiao, Wei" 3 | Date: Mon, 6 Jan 2025 16:53:51 +0800 4 | Subject: [PATCH 1/9] Revert "drivers: bus: mhi: host: fix recovery process 5 | when modem reboots" 6 | 7 | This reverts commit b4412bb81319acf5aa9334b91c917b1899ffd570. 8 | --- 9 | drivers/bus/mhi/host/pci_generic.c | 4 ---- 10 | 1 file changed, 4 deletions(-) 11 | 12 | diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c 13 | index 94027ec25c37a..0f3be0f73c5f1 100644 14 | --- a/drivers/bus/mhi/host/pci_generic.c 15 | +++ b/drivers/bus/mhi/host/pci_generic.c 16 | @@ -1097,10 +1097,6 @@ static void mhi_pci_recovery_work(struct work_struct *work) 17 | mhi_unprepare_after_power_down(mhi_cntrl); 18 | } 19 | 20 | - dev_dbg(&pdev->dev, "Waiting 40 seconds for allowing the modem to restore PCIe\n"); 21 | - msleep(40000); 22 | - dev_dbg(&pdev->dev, "Restoring PCI saved state\n"); 23 | - 24 | pci_set_power_state(pdev, PCI_D0); 25 | pci_load_saved_state(pdev, mhi_pdev->pci_state); 26 | pci_restore_state(pdev); 27 | -- 28 | 2.25.1 29 | 30 | -------------------------------------------------------------------------------- /kernel-patches/patches/0001-Revert-drm-i915-disable-dGPU-support-with-RT-kernel.drm: -------------------------------------------------------------------------------- 1 | From 95a15216d6a46221d4a434c737ebad91d3200ac7 Mon Sep 17 00:00:00 2001 2 | From: Junxiao Chang 3 | Date: Fri, 25 Apr 2025 17:02:11 +0800 4 | Subject: [PATCH 1/2] Revert "drm/i915: disable dGPU support with RT kernel" 5 | 6 | This reverts commit f5101e127d89c9b94fa7edf824cdd6bdcabe0ae9. 7 | 8 | Signed-off-by: Junxiao Chang 9 | --- 10 | drivers/gpu/drm/i915/i915_pci.c | 7 ------- 11 | 1 file changed, 7 deletions(-) 12 | 13 | diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c 14 | index a65ab2131a46..b5562d86eb07 100644 15 | --- a/drivers/gpu/drm/i915/i915_pci.c 16 | +++ b/drivers/gpu/drm/i915/i915_pci.c 17 | @@ -973,13 +973,6 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) 18 | (struct intel_device_info *) ent->driver_data; 19 | int err; 20 | 21 | -#ifdef CONFIG_PREEMPT_RT 22 | - if (intel_info->is_dgfx) { 23 | - dev_info(&pdev->dev, "dGPU is not supported with RT kernel\n"); 24 | - return -ENODEV; 25 | - } 26 | -#endif 27 | - 28 | if (intel_info->require_force_probe && !id_forced(pdev->device)) { 29 | dev_info(&pdev->dev, 30 | "Your graphics device %04x is not properly supported by i915 in this\n" 31 | -- 32 | 2.34.1 33 | 34 | -------------------------------------------------------------------------------- /kernel-patches/patches/0001-Revert-media-intel-ipu6-use-vc1-dma-for-MTL-and-ARL.camera: -------------------------------------------------------------------------------- 1 | From 9e886347eeb9978e780ee28615edc8db76feb1db Mon Sep 17 00:00:00 2001 2 | From: Julian Chen 3 | Date: Thu, 10 Apr 2025 13:38:24 +0800 4 | Subject: [PATCH 1/8] Revert "media: intel-ipu6: use vc1 dma for MTL and ARL" 5 | 6 | This reverts commit b5c10a818389f94e0365742f293bc87280c2dba0. 7 | 8 | Signed-off-by: Julian Chen 9 | --- 10 | drivers/media/pci/intel/ipu6/ipu6-fw-isys.h | 4 ++-- 11 | drivers/media/pci/intel/ipu6/ipu6-isys-video.c | 2 +- 12 | 2 files changed, 3 insertions(+), 3 deletions(-) 13 | 14 | diff --git a/drivers/media/pci/intel/ipu6/ipu6-fw-isys.h b/drivers/media/pci/intel/ipu6/ipu6-fw-isys.h 15 | index 545180c110cc1..e6ee161bd058f 100644 16 | --- a/drivers/media/pci/intel/ipu6/ipu6-fw-isys.h 17 | +++ b/drivers/media/pci/intel/ipu6/ipu6-fw-isys.h 18 | @@ -54,8 +54,8 @@ struct ipu6_isys; 19 | /* Max number of planes for frame formats supported by the FW */ 20 | #define IPU6_PIN_PLANES_MAX 4 21 | 22 | -#define IPU6_FW_ISYS_SENSOR_TYPE_START 1 23 | -#define IPU6_FW_ISYS_SENSOR_TYPE_END 10 24 | +#define IPU6_FW_ISYS_SENSOR_TYPE_START 14 25 | +#define IPU6_FW_ISYS_SENSOR_TYPE_END 19 26 | #define IPU6SE_FW_ISYS_SENSOR_TYPE_START 6 27 | #define IPU6SE_FW_ISYS_SENSOR_TYPE_END 11 28 | /* 29 | diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c b/drivers/media/pci/intel/ipu6/ipu6-isys-video.c 30 | index 8973f7b8ac3a2..6b5108b12aec9 100644 31 | --- a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c 32 | +++ b/drivers/media/pci/intel/ipu6/ipu6-isys-video.c 33 | @@ -530,7 +530,7 @@ static int ipu6_isys_fw_pin_cfg(struct ipu6_isys_video *av, 34 | output_pin->csi_be_soc_pixel_remapping = 35 | CSI_BE_SOC_PIXEL_REMAPPING_FLAG_NO_REMAPPING; 36 | 37 | - output_pin->snoopable = false; 38 | + output_pin->snoopable = true; 39 | output_pin->error_handling_enable = false; 40 | output_pin->sensor_type = isys->sensor_type++; 41 | if (isys->sensor_type > isys->pdata->ipdata->sensor_type_end) 42 | -- 43 | 2.34.1 44 | 45 | -------------------------------------------------------------------------------- /kernel-patches/patches/0001-Revert-sched-core-Remove-the-unnecessary-need_resche.rt: -------------------------------------------------------------------------------- 1 | From d67994065ae29855e19cf1fbfc202169a87d274d Mon Sep 17 00:00:00 2001 2 | From: "Zhou, Furong" 3 | Date: Tue, 27 May 2025 03:24:22 +0000 4 | Subject: [PATCH] Revert "sched/core: Remove the unnecessary need_resched() 5 | check in nohz_csd_func()" 6 | 7 | This reverts commit a39ad4f507bf5287a1fb82f1ef3ea64e93e645f1. 8 | --- 9 | kernel/sched/core.c | 2 +- 10 | 1 file changed, 1 insertion(+), 1 deletion(-) 11 | 12 | diff --git a/kernel/sched/core.c b/kernel/sched/core.c 13 | index 8ba19aa660f66..86cce0cda49b3 100644 14 | --- a/kernel/sched/core.c 15 | +++ b/kernel/sched/core.c 16 | @@ -1291,7 +1291,7 @@ static void nohz_csd_func(void *info) 17 | WARN_ON(!(flags & NOHZ_KICK_MASK)); 18 | 19 | rq->idle_balance = idle_cpu(cpu); 20 | - if (rq->idle_balance) { 21 | + if (rq->idle_balance && !need_resched()) { 22 | rq->nohz_idle_balance = flags; 23 | __raise_softirq_irqoff(SCHED_SOFTIRQ); 24 | } 25 | -- 26 | 2.34.1 27 | 28 | -------------------------------------------------------------------------------- /kernel-patches/patches/0001-drm-i915-Fix-logic-for-GUC-Process.sriov: -------------------------------------------------------------------------------- 1 | From b0277703fd4ae5cee7a813a078270eb7313a546f Mon Sep 17 00:00:00 2001 2 | From: "Kooran Paul, Princy" 3 | Date: Mon, 14 Apr 2025 14:16:05 +0800 4 | Subject: [PATCH 6/8] drm/i915: Fix logic for GUC Process 5 | 6 | This is to fix the incorrect GUC logic. 7 | It checks whether a field in the message is 0 or something else. 8 | 9 | Signed-off-by: Kooran Paul, Princy 10 | Signed-off-by: Zawawi, Muhammad Zul Husni 11 | --- 12 | drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 2 +- 13 | 1 file changed, 1 insertion(+), 1 deletion(-) 14 | 15 | diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c 16 | index c07ab3ce941bd..9a4171ba3209a 100644 17 | --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c 18 | +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c 19 | @@ -3116,7 +3116,7 @@ int intel_guc_process_set_engine_sched_done(struct intel_guc *guc, const u32 *ms 20 | if (len != GUC2HOST_SET_ENGINE_SCHED_DONE_MSG_LEN) 21 | return -EPROTO; 22 | 23 | - if (FIELD_GET(GUC2HOST_SET_ENGINE_SCHED_DONE_MSG_0_MBZ, msg[0] != 0)) 24 | + if (FIELD_GET(GUC2HOST_SET_ENGINE_SCHED_DONE_MSG_0_MBZ, msg[0]) != 0) 25 | return -EPROTO; 26 | 27 | decr_outstanding_submission_g2h(guc); 28 | -- 29 | 2.34.1 30 | 31 | -------------------------------------------------------------------------------- /kernel-patches/patches/0001-drm-i915-disable-a-couple-of-RT-functions-if-RT-is-d.drm: -------------------------------------------------------------------------------- 1 | From 648a46e1bebdc6cc2df86d58a5d8cd9a41125b78 Mon Sep 17 00:00:00 2001 2 | From: Junxiao Chang 3 | Date: Wed, 22 Jan 2025 13:38:09 +0800 4 | Subject: [PATCH 1/6] drm/i915: disable a couple of RT functions if RT is 5 | disabled 6 | 7 | intel_vblank_section_enter_irqf and intel_vblank_section_exit_irqf 8 | are for preempt rt kernel. If preempt rt option is disabled, these 9 | two API should be commented out as well. 10 | 11 | Signed-off-by: Junxiao Chang 12 | --- 13 | drivers/gpu/drm/i915/display/intel_vblank.c | 4 ++++ 14 | 1 file changed, 4 insertions(+) 15 | 16 | diff --git a/drivers/gpu/drm/i915/display/intel_vblank.c b/drivers/gpu/drm/i915/display/intel_vblank.c 17 | index afb4059582c77..b6b8e91dc0eeb 100644 18 | --- a/drivers/gpu/drm/i915/display/intel_vblank.c 19 | +++ b/drivers/gpu/drm/i915/display/intel_vblank.c 20 | @@ -309,6 +309,7 @@ static void intel_vblank_section_exit(struct intel_display *display) 21 | spin_unlock(&i915->uncore.lock); 22 | } 23 | 24 | +#ifdef CONFIG_PREEMPT_RT 25 | static void intel_vblank_section_enter_irqf(struct intel_display *display, unsigned long *flags) 26 | __acquires(i915->uncore.lock) 27 | { 28 | @@ -322,6 +323,7 @@ static void intel_vblank_section_exit_irqf(struct intel_display *display, unsign 29 | struct drm_i915_private *i915 = to_i915(display->drm); 30 | spin_unlock_irqrestore(&i915->uncore.lock, flags); 31 | } 32 | +#endif // CONFIG_PREEMPT_RT 33 | #else 34 | static void intel_vblank_section_enter(struct intel_display *display) 35 | { 36 | @@ -331,6 +333,7 @@ static void intel_vblank_section_exit(struct intel_display *display) 37 | { 38 | } 39 | 40 | +#ifdef CONFIG_PREEMPT_RT 41 | static void intel_vblank_section_enter_irqf(struct intel_display *display, unsigned long *flags) 42 | { 43 | *flags = 0; 44 | @@ -341,6 +344,7 @@ static void intel_vblank_section_exit_irqf(struct intel_display *display, unsign 45 | if (flags) 46 | return; 47 | } 48 | +#endif // CONFIG_PREEMPT_RT 49 | #endif 50 | 51 | static bool i915_get_crtc_scanoutpos(struct drm_crtc *_crtc, 52 | -- 53 | 2.25.1 54 | 55 | -------------------------------------------------------------------------------- /kernel-patches/patches/0001-drm-i915-disable-dGPU-support-with-RT-kernel.drm: -------------------------------------------------------------------------------- 1 | From f5101e127d89c9b94fa7edf824cdd6bdcabe0ae9 Mon Sep 17 00:00:00 2001 2 | From: Junxiao Chang 3 | Date: Fri, 21 Feb 2025 14:14:41 +0800 4 | Subject: [PATCH] drm/i915: disable dGPU support with RT kernel 5 | 6 | There might be boot issue on rt kernel with dGPU. Don't enable 7 | i915 driver if current device is dGPU. 8 | 9 | Signed-off-by: Junxiao Chang 10 | --- 11 | drivers/gpu/drm/i915/i915_pci.c | 7 +++++++ 12 | 1 file changed, 7 insertions(+) 13 | 14 | diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c 15 | index b5562d86eb07c..a65ab2131a467 100644 16 | --- a/drivers/gpu/drm/i915/i915_pci.c 17 | +++ b/drivers/gpu/drm/i915/i915_pci.c 18 | @@ -973,6 +973,13 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) 19 | (struct intel_device_info *) ent->driver_data; 20 | int err; 21 | 22 | +#ifdef CONFIG_PREEMPT_RT 23 | + if (intel_info->is_dgfx) { 24 | + dev_info(&pdev->dev, "dGPU is not supported with RT kernel\n"); 25 | + return -ENODEV; 26 | + } 27 | +#endif 28 | + 29 | if (intel_info->require_force_probe && !id_forced(pdev->device)) { 30 | dev_info(&pdev->dev, 31 | "Your graphics device %04x is not properly supported by i915 in this\n" 32 | -- 33 | 2.25.1 34 | 35 | -------------------------------------------------------------------------------- /kernel-patches/patches/0001-drm-i915-enable-guc-submission-for-ADLs-by-default.drm: -------------------------------------------------------------------------------- 1 | From c40e997809c11ec62a3bec6e59c29b3657999547 Mon Sep 17 00:00:00 2001 2 | From: Junxiao Chang 3 | Date: Tue, 17 Dec 2024 10:15:41 +0800 4 | Subject: [PATCH] drm/i915: enable guc submission for ADLs by default 5 | 6 | tlb invalidation needs guc submission. By default enable it. 7 | 8 | Signed-off-by: Junxiao Chang 9 | --- 10 | drivers/gpu/drm/i915/gt/uc/intel_uc.c | 6 ------ 11 | 1 file changed, 6 deletions(-) 12 | 13 | diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c 14 | index 517d644f407fd..31cb85cd89912 100644 15 | --- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c 16 | +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c 17 | @@ -46,12 +46,6 @@ static void uc_expand_default_options(struct intel_uc *uc) 18 | return; 19 | } 20 | 21 | - /* Intermediate platforms are HuC authentication only */ 22 | - if (IS_ALDERLAKE_S(i915) && !IS_RAPTORLAKE_S(i915)) { 23 | - i915->params.enable_guc = ENABLE_GUC_LOAD_HUC; 24 | - return; 25 | - } 26 | - 27 | /* Default: enable HuC authentication and GuC submission */ 28 | i915->params.enable_guc = ENABLE_GUC_LOAD_HUC | ENABLE_GUC_SUBMISSION; 29 | } 30 | -- 31 | 2.25.1 32 | 33 | -------------------------------------------------------------------------------- /kernel-patches/patches/0001-drm-virtio-Use-drm_gem_plane_helper_prepare_fb.patch: -------------------------------------------------------------------------------- 1 | From 8974716557325a593128b6b44693efe6e3186542 Mon Sep 17 00:00:00 2001 2 | From: Dongwon Kim 3 | Date: Mon, 21 Oct 2024 02:08:02 +0300 4 | Subject: [PATCH] drm/virtio: Use drm_gem_plane_helper_prepare_fb() 5 | 6 | Use drm_gem_plane_helper_prepare_fb() helper for explicit framebuffer 7 | synchronization. We need to wait for explicit fences in a case of 8 | Venus and native contexts when guest user space uses explicit fencing. 9 | 10 | Signed-off-by: Dongwon Kim 11 | [dmitry.osipenko@collabora.com: edit commit message] 12 | Signed-off-by: Dmitry Osipenko 13 | Acked-by: Vivek Kasireddy 14 | Reviewed-by: Rob Clark 15 | Link: https://patchwork.freedesktop.org/patch/msgid/20241020230803.247419-1-dmitry.osipenko@collabora.com 16 | --- 17 | drivers/gpu/drm/virtio/virtgpu_plane.c | 4 ++++ 18 | 1 file changed, 4 insertions(+) 19 | 20 | diff --git a/drivers/gpu/drm/virtio/virtgpu_plane.c b/drivers/gpu/drm/virtio/virtgpu_plane.c 21 | index 7acd38b962c62..2add67c6b66d9 100644 22 | --- a/drivers/gpu/drm/virtio/virtgpu_plane.c 23 | +++ b/drivers/gpu/drm/virtio/virtgpu_plane.c 24 | @@ -26,6 +26,7 @@ 25 | #include 26 | #include 27 | #include 28 | +#include 29 | 30 | #include "virtgpu_drv.h" 31 | 32 | @@ -273,6 +274,9 @@ static int virtio_gpu_plane_prepare_fb(struct drm_plane *plane, 33 | vgfb = to_virtio_gpu_framebuffer(new_state->fb); 34 | vgplane_st = to_virtio_gpu_plane_state(new_state); 35 | bo = gem_to_virtio_gpu_obj(vgfb->base.obj[0]); 36 | + 37 | + drm_gem_plane_helper_prepare_fb(plane, new_state); 38 | + 39 | if (!bo || (plane->type == DRM_PLANE_TYPE_PRIMARY && !bo->guest_blob)) 40 | return 0; 41 | 42 | -- 43 | 2.25.1 44 | 45 | -------------------------------------------------------------------------------- /kernel-patches/patches/0001-hrtimer-Use-__raise_softirq_irqoff-to-raise-the-softirq.rt: -------------------------------------------------------------------------------- 1 | From 422bd0885e1b9c020a506d7623be37124cc5d40e Mon Sep 17 00:00:00 2001 2 | From: Sebastian Andrzej Siewior 3 | Date: Wed, 23 Oct 2024 15:36:15 +0200 4 | Subject: [PATCH 01/25] hrtimer: Use __raise_softirq_irqoff() to raise the 5 | softirq. 6 | 7 | As an optimisation use __raise_softirq_irqoff() to raise the softirq. 8 | This is always called from an interrupt handler so it can be reduced to 9 | just or set softirq flag and let softirq be invoked on return from 10 | interrupt. 11 | 12 | Use __raise_softirq_irqoff() to raise the softirq. 13 | 14 | Signed-off-by: Sebastian Andrzej Siewior 15 | --- 16 | kernel/time/hrtimer.c | 4 ++-- 17 | 1 file changed, 2 insertions(+), 2 deletions(-) 18 | 19 | diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c 20 | index cddcd08ea827f..5402e0f242178 100644 21 | --- a/kernel/time/hrtimer.c 22 | +++ b/kernel/time/hrtimer.c 23 | @@ -1811,7 +1811,7 @@ void hrtimer_interrupt(struct clock_event_device *dev) 24 | if (!ktime_before(now, cpu_base->softirq_expires_next)) { 25 | cpu_base->softirq_expires_next = KTIME_MAX; 26 | cpu_base->softirq_activated = 1; 27 | - raise_softirq_irqoff(HRTIMER_SOFTIRQ); 28 | + __raise_softirq_irqoff(HRTIMER_SOFTIRQ); 29 | } 30 | 31 | __hrtimer_run_queues(cpu_base, now, flags, HRTIMER_ACTIVE_HARD); 32 | @@ -1906,7 +1906,7 @@ void hrtimer_run_queues(void) 33 | if (!ktime_before(now, cpu_base->softirq_expires_next)) { 34 | cpu_base->softirq_expires_next = KTIME_MAX; 35 | cpu_base->softirq_activated = 1; 36 | - raise_softirq_irqoff(HRTIMER_SOFTIRQ); 37 | + __raise_softirq_irqoff(HRTIMER_SOFTIRQ); 38 | } 39 | 40 | __hrtimer_run_queues(cpu_base, now, flags, HRTIMER_ACTIVE_HARD); 41 | -- 42 | 2.25.1 43 | 44 | -------------------------------------------------------------------------------- /kernel-patches/patches/0001-i915-Enable-w-a-16026508708.sriov: -------------------------------------------------------------------------------- 1 | From f498c312ba9a0b7f28fbb7e5b52e08cfc58d4390 Mon Sep 17 00:00:00 2001 2 | From: "Mazlan, Hazwan Arif" 3 | Date: Tue, 20 May 2025 17:02:59 +0800 4 | Subject: [PATCH] i915: Enable w/a 16026508708 5 | 6 | Enable workaround 16026508708 which is SRIOV only but applies to all 7 | current platforms. It is also implemented by GuC, so bump to the 8 | latest GuC release. 9 | 10 | Signed-off-by: John Harrison 11 | Reviewed-by: Daniele Ceraolo Spurio 12 | Rebased-by: Mazlan, Hazwan Arif 13 | --- 14 | drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h | 1 + 15 | drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c | 5 +++++ 16 | 2 files changed, 6 insertions(+) 17 | 18 | diff --git a/drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h b/drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h 19 | index 77a2fc3d3acdc..ed1eceec90922 100644 20 | --- a/drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h 21 | +++ b/drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h 22 | @@ -125,6 +125,7 @@ enum { 23 | GUC_WORKAROUND_KLV_SERIALIZED_RA_MODE = 0x9001, 24 | GUC_WORKAROUND_KLV_BLOCK_INTERRUPTS_WHEN_MGSR_BLOCKED = 0x9002, 25 | GUC_WORKAROUND_KLV_AVOID_GFX_CLEAR_WHILE_ACTIVE = 0x9006, 26 | + GUC_WORKAROUND_KLV_RESET_BB_STACK_PTR_ON_VF_SWITCH = 0x900b, 27 | }; 28 | /** 29 | * DOC: GuC VGT Policy KLVs 30 | diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c 31 | index 2717bb5f05cdc..1260c66312d79 100644 32 | --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c 33 | +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c 34 | @@ -868,6 +868,11 @@ static void guc_waklv_init(struct intel_guc *guc) 35 | guc_waklv_enable_simple(guc, &offset, &remain, 36 | GUC_WORKAROUND_KLV_BLOCK_INTERRUPTS_WHEN_MGSR_BLOCKED); 37 | 38 | + /* Wa_16026508708 */ 39 | + if (GUC_FIRMWARE_VER(guc) >= MAKE_GUC_VER(70, 44, 0)) 40 | + guc_waklv_enable_simple(guc, &offset, &remain, 41 | + GUC_WORKAROUND_KLV_RESET_BB_STACK_PTR_ON_VF_SWITCH); 42 | + 43 | size = guc_ads_waklv_size(guc) - remain; 44 | if (!size) 45 | return; 46 | -- 47 | 2.34.1 48 | 49 | -------------------------------------------------------------------------------- /kernel-patches/patches/0001-i915-Update-GUC-to-v70.44.1-for-i915-platforms.drm: -------------------------------------------------------------------------------- 1 | From 3c5a1154bf960a9bef74c1bfa8ae7e45c6a57410 Mon Sep 17 00:00:00 2001 2 | From: "Mazlan, Hazwan Arif" 3 | Date: Wed, 16 Apr 2025 17:21:57 +0800 4 | Subject: [PATCH 8/8] i915: Update GUC to v70.44.1 for i915 platforms 5 | 6 | Release latest recommended GUC firmware for DG1, DG2, TGL, ADL and MTL. 7 | 8 | Reference commit: 9 | https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/i915?id=a21b7f3e500b13ac168788ac638e85db66c338dc 10 | 11 | Signed-off-by: Mazlan, Hazwan Arif 12 | --- 13 | drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 8 ++++---- 14 | 1 file changed, 4 insertions(+), 4 deletions(-) 15 | 16 | diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c 17 | index 1bf99ada99b59..86afc6d175c48 100644 18 | --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c 19 | +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c 20 | @@ -88,12 +88,12 @@ void intel_uc_fw_change_status(struct intel_uc_fw *uc_fw, 21 | * security fixes, etc. to be enabled. 22 | */ 23 | #define INTEL_GUC_FIRMWARE_DEFS(fw_def, guc_maj, guc_mmp) \ 24 | - fw_def(METEORLAKE, 0, guc_maj(mtl, 70, 36, 0)) \ 25 | - fw_def(DG2, 0, guc_maj(dg2, 70, 36, 0)) \ 26 | - fw_def(ALDERLAKE_P, 0, guc_maj(adlp, 70, 36, 0)) \ 27 | + fw_def(METEORLAKE, 0, guc_maj(mtl, 70, 44, 1)) \ 28 | + fw_def(DG2, 0, guc_maj(dg2, 70, 44, 1)) \ 29 | + fw_def(ALDERLAKE_P, 0, guc_maj(adlp, 70, 44, 1)) \ 30 | fw_def(ALDERLAKE_P, 0, guc_mmp(adlp, 70, 1, 1)) \ 31 | fw_def(ALDERLAKE_P, 0, guc_mmp(adlp, 69, 0, 3)) \ 32 | - fw_def(ALDERLAKE_S, 0, guc_maj(tgl, 70, 36, 0)) \ 33 | + fw_def(ALDERLAKE_S, 0, guc_maj(tgl, 70, 44, 1)) \ 34 | fw_def(ALDERLAKE_S, 0, guc_mmp(tgl, 70, 1, 1)) \ 35 | fw_def(ALDERLAKE_S, 0, guc_mmp(tgl, 69, 0, 3)) \ 36 | fw_def(DG1, 0, guc_maj(dg1, 70, 5, 1)) \ 37 | -- 38 | 2.34.1 39 | 40 | -------------------------------------------------------------------------------- /kernel-patches/patches/0001-media-intel-ipu6-remove-buttress-ish-structure-1.camera: -------------------------------------------------------------------------------- 1 | From 4907ceecbefc5cc3913716fe87b598ca9ce3f53d Mon Sep 17 00:00:00 2001 2 | From: Julian Chen 3 | Date: Thu, 16 Jan 2025 17:05:11 +0800 4 | Subject: [PATCH 1/5] media: intel/ipu6: remove buttress ish structure 5 | 6 | missed content in remove buttress ish patch 7 | 8 | Signed-off-by: Julian Chen 9 | --- 10 | drivers/media/pci/intel/ipu6/ipu6-buttress.h | 6 ------ 11 | 1 file changed, 6 deletions(-) 12 | 13 | diff --git a/drivers/media/pci/intel/ipu6/ipu6-buttress.h b/drivers/media/pci/intel/ipu6/ipu6-buttress.h 14 | index 9b6f56958be7e..482978c2a09dc 100644 15 | --- a/drivers/media/pci/intel/ipu6/ipu6-buttress.h 16 | +++ b/drivers/media/pci/intel/ipu6/ipu6-buttress.h 17 | @@ -46,18 +46,12 @@ struct ipu6_buttress_ipc { 18 | struct ipu6_buttress { 19 | struct mutex power_mutex, auth_mutex, cons_mutex, ipc_mutex; 20 | struct ipu6_buttress_ipc cse; 21 | - struct ipu6_buttress_ipc ish; 22 | struct list_head constraints; 23 | u32 wdt_cached_value; 24 | bool force_suspend; 25 | u32 ref_clk; 26 | }; 27 | 28 | -enum ipu6_buttress_ipc_domain { 29 | - IPU6_BUTTRESS_IPC_CSE, 30 | - IPU6_BUTTRESS_IPC_ISH, 31 | -}; 32 | - 33 | struct ipu6_ipc_buttress_bulk_msg { 34 | u32 cmd; 35 | u32 expected_resp; 36 | -- 37 | 2.25.1 38 | 39 | -------------------------------------------------------------------------------- /kernel-patches/patches/0001-media-intel-ipu6-use-vc1-dma-for-MTL-and-ARL.camera: -------------------------------------------------------------------------------- 1 | From ebae1a8958575e7cee48328bb8027cb362515e56 Mon Sep 17 00:00:00 2001 2 | From: Chen Meng J 3 | Date: Fri, 1 Nov 2024 16:41:42 +0800 4 | Subject: [PATCH 1/7] media: intel-ipu6: use vc1 dma for MTL and ARL 5 | 6 | ipu6 use vc1 dma for MTL and ARL 7 | Signed-off-by: Chen Meng J 8 | --- 9 | drivers/media/pci/intel/ipu6/ipu6-fw-isys.h | 4 ++-- 10 | drivers/media/pci/intel/ipu6/ipu6-isys-video.c | 2 +- 11 | 2 files changed, 3 insertions(+), 3 deletions(-) 12 | 13 | diff --git a/drivers/media/pci/intel/ipu6/ipu6-fw-isys.h b/drivers/media/pci/intel/ipu6/ipu6-fw-isys.h 14 | index e6ee161bd058f..545180c110cc1 100644 15 | --- a/drivers/media/pci/intel/ipu6/ipu6-fw-isys.h 16 | +++ b/drivers/media/pci/intel/ipu6/ipu6-fw-isys.h 17 | @@ -54,8 +54,8 @@ struct ipu6_isys; 18 | /* Max number of planes for frame formats supported by the FW */ 19 | #define IPU6_PIN_PLANES_MAX 4 20 | 21 | -#define IPU6_FW_ISYS_SENSOR_TYPE_START 14 22 | -#define IPU6_FW_ISYS_SENSOR_TYPE_END 19 23 | +#define IPU6_FW_ISYS_SENSOR_TYPE_START 1 24 | +#define IPU6_FW_ISYS_SENSOR_TYPE_END 10 25 | #define IPU6SE_FW_ISYS_SENSOR_TYPE_START 6 26 | #define IPU6SE_FW_ISYS_SENSOR_TYPE_END 11 27 | /* 28 | diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c b/drivers/media/pci/intel/ipu6/ipu6-isys-video.c 29 | index e060bae8ff48f..2d1391e8c9336 100644 30 | --- a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c 31 | +++ b/drivers/media/pci/intel/ipu6/ipu6-isys-video.c 32 | @@ -530,7 +530,7 @@ static int ipu6_isys_fw_pin_cfg(struct ipu6_isys_video *av, 33 | output_pin->csi_be_soc_pixel_remapping = 34 | CSI_BE_SOC_PIXEL_REMAPPING_FLAG_NO_REMAPPING; 35 | 36 | - output_pin->snoopable = true; 37 | + output_pin->snoopable = false; 38 | output_pin->error_handling_enable = false; 39 | output_pin->sensor_type = isys->sensor_type++; 40 | if (isys->sensor_type > isys->pdata->ipdata->sensor_type_end) 41 | -- 42 | 2.34.1 43 | 44 | -------------------------------------------------------------------------------- /kernel-patches/patches/0001-net-phy-Set-eee_cfg.eee_enabled-according-to-PHY.tsn: -------------------------------------------------------------------------------- 1 | From fbfd161f0fe34ff68785158b6059025622fcd33b Mon Sep 17 00:00:00 2001 2 | From: KhaiWenTan 3 | Date: Thu, 23 Jan 2025 11:14:34 +0800 4 | Subject: [PATCH] net: phy: Set eee_cfg.eee_enabled according to PHY 5 | 6 | During the phy_probe function, the default value for eee_cfg.eee_enabled 7 | was configured based on the PHY hardware. However, forcing 8 | eee_cfg.eee_enabled to be true would cause the interface to be unable to 9 | ping and set speed. 10 | 11 | This patch removes the implementation that forces eee_cfg.eee_enabled 12 | to be true for EEE. This will make the eee_cfg.eee_enabled for EEE 13 | follow the PHY hardware's default behavior. 14 | 15 | Signed-off-by: Choong Yong Liang 16 | Signed-off-by: KhaiWenTan 17 | --- 18 | drivers/net/phy/phy_device.c | 1 - 19 | 1 file changed, 1 deletion(-) 20 | 21 | diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c 22 | index 5dfa2aa53c909..34944f1018cd9 100644 23 | --- a/drivers/net/phy/phy_device.c 24 | +++ b/drivers/net/phy/phy_device.c 25 | @@ -3012,7 +3012,6 @@ void phy_support_eee(struct phy_device *phydev) 26 | { 27 | linkmode_copy(phydev->advertising_eee, phydev->supported_eee); 28 | phydev->eee_cfg.tx_lpi_enabled = true; 29 | - phydev->eee_cfg.eee_enabled = true; 30 | } 31 | EXPORT_SYMBOL(phy_support_eee); 32 | 33 | -- 34 | 2.25.1 35 | 36 | -------------------------------------------------------------------------------- /kernel-patches/patches/0001-powercap-intel_rapl-Add-support-for-Bartlett-Lake-pl.rapl: -------------------------------------------------------------------------------- 1 | From 1694a0ed9cf013dbcf0eb558b3ef660c6700d6ed Mon Sep 17 00:00:00 2001 2 | From: "Qiao, Wei" 3 | Date: Wed, 2 Apr 2025 13:14:18 +0800 4 | Subject: [PATCH 7/8] powercap: intel_rapl: Add support for Bartlett Lake 5 | platform 6 | 7 | Add support for Bartlett Lake platform to the RAPL common driver. 8 | 9 | Signed-off-by: Qiao, Wei 10 | --- 11 | drivers/powercap/intel_rapl_common.c | 1 + 12 | 1 file changed, 1 insertion(+) 13 | 14 | diff --git a/drivers/powercap/intel_rapl_common.c b/drivers/powercap/intel_rapl_common.c 15 | index 5e793b80fd6b6..3290e0af884b5 100644 16 | --- a/drivers/powercap/intel_rapl_common.c 17 | +++ b/drivers/powercap/intel_rapl_common.c 18 | @@ -1260,6 +1260,7 @@ static const struct x86_cpu_id rapl_ids[] __initconst = { 19 | X86_MATCH_VFM(INTEL_RAPTORLAKE, &rapl_defaults_core), 20 | X86_MATCH_VFM(INTEL_RAPTORLAKE_P, &rapl_defaults_core), 21 | X86_MATCH_VFM(INTEL_RAPTORLAKE_S, &rapl_defaults_core), 22 | + X86_MATCH_VFM(INTEL_BARTLETTLAKE, &rapl_defaults_core), 23 | X86_MATCH_VFM(INTEL_METEORLAKE, &rapl_defaults_core), 24 | X86_MATCH_VFM(INTEL_METEORLAKE_L, &rapl_defaults_core), 25 | X86_MATCH_VFM(INTEL_SAPPHIRERAPIDS_X, &rapl_defaults_spr_server), 26 | -- 27 | 2.34.1 28 | 29 | -------------------------------------------------------------------------------- /kernel-patches/patches/0001-serial-8250-enable-original-console-by-default.rt: -------------------------------------------------------------------------------- 1 | From 40744e7656d1ce5931cefabe9feb1ec897e0b42c Mon Sep 17 00:00:00 2001 2 | From: Junxiao Chang 3 | Date: Wed, 15 Jan 2025 19:07:26 +0800 4 | Subject: [PATCH] serial:8250: enable original console by default 5 | 6 | By default, enable original kernel console instead of nbcon 7 | console. With RT kernel, it should be disabled. 8 | 9 | Signed-off-by: Junxiao Chang 10 | --- 11 | drivers/tty/serial/8250/Kconfig | 10 ++++++++++ 12 | 1 file changed, 10 insertions(+) 13 | 14 | diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig 15 | index 47ff50763c048..a15836d9a15e7 100644 16 | --- a/drivers/tty/serial/8250/Kconfig 17 | +++ b/drivers/tty/serial/8250/Kconfig 18 | @@ -576,3 +576,13 @@ config SERIAL_OF_PLATFORM 19 | are probed through devicetree, including Open Firmware based 20 | PowerPC systems and embedded systems on architectures using the 21 | flattened device tree format. 22 | + 23 | +config SERIAL_8250_LEGACY_CONSOLE 24 | + tristate "Enable original console instead of nbcon console" 25 | + default SERIAL_8250 26 | + depends on SERIAL_8250 && PCI && !PREEMPT_RT 27 | + help 28 | + This option is to enable original 8250 console instead of nb 29 | + console. With RT kernel, this option should be disabled. 30 | + For nbconsole, it is designed for async linux console, it could 31 | + improve kernel schedule performance. 32 | -- 33 | 2.25.1 34 | 35 | -------------------------------------------------------------------------------- /kernel-patches/patches/0001-x86-mce-Add-MCACOD-code-for-generic-I-O-error.edac: -------------------------------------------------------------------------------- 1 | From 4c9acd0a2b95f76f7f0df9a20aefefe9039383d4 Mon Sep 17 00:00:00 2001 2 | From: Qiuxu Zhuo 3 | Date: Sun, 27 Oct 2019 09:23:32 +0800 4 | Subject: [PATCH 1/9] x86/mce: Add MCACOD code for generic I/O error 5 | 6 | Errors of some I/O devices can be signaled by MCE and logged in 7 | IOMCA bank. Add MCACOD code of generic I/O error and related macros 8 | for MCi_MISC to support IOMCA logging. 9 | 10 | See Intel Software Developers' Manual, version 071, volume 3B, 11 | section "IOMCA". 12 | 13 | Signed-off-by: Qiuxu Zhuo 14 | --- 15 | arch/x86/include/asm/mce.h | 6 ++++++ 16 | 1 file changed, 6 insertions(+) 17 | 18 | diff --git a/arch/x86/include/asm/mce.h b/arch/x86/include/asm/mce.h 19 | index 3b9970117a0fa..d83bea2f7247c 100644 20 | --- a/arch/x86/include/asm/mce.h 21 | +++ b/arch/x86/include/asm/mce.h 22 | @@ -80,6 +80,7 @@ 23 | #define MCACOD_L3WB 0x017A /* L3 Explicit Writeback */ 24 | #define MCACOD_DATA 0x0134 /* Data Load */ 25 | #define MCACOD_INSTR 0x0150 /* Instruction Fetch */ 26 | +#define MCACOD_IOERR 0x0e0b /* Generic I/O error */ 27 | 28 | /* MCi_MISC register defines */ 29 | #define MCI_MISC_ADDR_LSB(m) ((m) & 0x3f) 30 | @@ -93,6 +94,11 @@ 31 | /* MCi_ADDR register defines */ 32 | #define MCI_ADDR_PHYSADDR GENMASK_ULL(boot_cpu_data.x86_phys_bits - 1, 0) 33 | 34 | +#define MCI_MISC_PCISEG_MASK GENMASK_ULL(39, 32) 35 | +#define MCI_MISC_PCISEG(m) (((m) & MCI_MISC_PCISEG_MASK) >> 32) 36 | +#define MCI_MISC_PCIRID_MASK GENMASK_ULL(31, 16) 37 | +#define MCI_MISC_PCIRID(m) (((m) & MCI_MISC_PCIRID_MASK) >> 16) 38 | + 39 | /* CTL2 register defines */ 40 | #define MCI_CTL2_CMCI_EN BIT_ULL(30) 41 | #define MCI_CTL2_CMCI_THRESHOLD_MASK 0x7fffULL 42 | -- 43 | 2.25.1 44 | 45 | -------------------------------------------------------------------------------- /kernel-patches/patches/0002-Reapply-media-ipu6-remove-architecture-DMA-ops-depe.camera: -------------------------------------------------------------------------------- 1 | From 9195975dea7335bb2e509a3d6192d8a6652e7ef7 Mon Sep 17 00:00:00 2001 2 | From: "Pan, Kris" 3 | Date: Fri, 28 Feb 2025 06:08:56 +0000 4 | Subject: [PATCH 2/3] Reapply "media: ipu6: remove architecture DMA ops 5 | dependency in Kconfig" 6 | 7 | This reverts commit 457a743c5d70f6848b4ecc58c1b92508de3a487a. 8 | --- 9 | drivers/media/pci/intel/ipu6/Kconfig | 6 ------ 10 | 1 file changed, 6 deletions(-) 11 | 12 | diff --git a/drivers/media/pci/intel/ipu6/Kconfig b/drivers/media/pci/intel/ipu6/Kconfig 13 | index b5d09f207cc9f..7176d16756fb2 100644 14 | --- a/drivers/media/pci/intel/ipu6/Kconfig 15 | +++ b/drivers/media/pci/intel/ipu6/Kconfig 16 | @@ -4,12 +4,6 @@ config VIDEO_INTEL_IPU6 17 | depends on VIDEO_DEV 18 | depends on X86 && X86_64 && HAS_DMA 19 | depends on IPU_BRIDGE || !IPU_BRIDGE 20 | - # 21 | - # This driver incorrectly tries to override the dma_ops. It should 22 | - # never have done that, but for now keep it working on architectures 23 | - # that use dma ops 24 | - # 25 | - depends on ARCH_HAS_DMA_OPS 26 | select AUXILIARY_BUS 27 | select IOMMU_IOVA 28 | select VIDEO_V4L2_SUBDEV_API 29 | -- 30 | 2.25.1 31 | 32 | -------------------------------------------------------------------------------- /kernel-patches/patches/0002-drm-i915-gsc-mei-interrupt-top-half-should-be-in-irq-d.drm: -------------------------------------------------------------------------------- 1 | From 402e1f8838ad6c4f06e050111eed1b7d649ff99f Mon Sep 17 00:00:00 2001 2 | From: Junxiao Chang 3 | Date: Mon, 21 Apr 2025 08:14:00 +0800 4 | Subject: [PATCH 2/2] drm/i915/gsc: mei interrupt top half should be in irq 5 | disabled context 6 | 7 | MEI GSC interrupt comes from i915. It has top half and bottom half. 8 | Top half is called from i915 interrupt handler. It should be in 9 | irq disabled context. 10 | 11 | With RT kernel, by default i915 IRQ handler is in threaded IRQ. MEI GSC 12 | top half might be in threaded IRQ context. generic_handle_irq_safe API 13 | could be called from either IRQ or process context, it disables local 14 | IRQ then calls MEI GSC interrupt top half. 15 | 16 | This change fixes A380/A770 GPU boot hang issue with RT kernel. 17 | 18 | Fixes: 1e3dc1d8622b ("drm/i915/gsc: add gsc as a mei auxiliary device") 19 | Tested-by: Furong Zhou 20 | Suggested-by: Sebastian Andrzej Siewior 21 | Signed-off-by: Junxiao Chang 22 | --- 23 | drivers/gpu/drm/i915/gt/intel_gsc.c | 2 +- 24 | 1 file changed, 1 insertion(+), 1 deletion(-) 25 | 26 | diff --git a/drivers/gpu/drm/i915/gt/intel_gsc.c b/drivers/gpu/drm/i915/gt/intel_gsc.c 27 | index 68c9e1f145cb..fd0fec5a98c7 100644 28 | --- a/drivers/gpu/drm/i915/gt/intel_gsc.c 29 | +++ b/drivers/gpu/drm/i915/gt/intel_gsc.c 30 | @@ -284,7 +284,7 @@ static void gsc_irq_handler(struct intel_gt *gt, unsigned int intf_id) 31 | if (gt->gsc.intf[intf_id].irq < 0) 32 | return; 33 | 34 | - ret = generic_handle_irq(gt->gsc.intf[intf_id].irq); 35 | + ret = generic_handle_irq_safe(gt->gsc.intf[intf_id].irq); 36 | if (ret) 37 | gt_err_ratelimited(gt, "error handling GSC irq: %d\n", ret); 38 | } 39 | -- 40 | 2.34.1 41 | 42 | -------------------------------------------------------------------------------- /kernel-patches/patches/0002-drm-i915-mtl-Copy-c10-phy-pll-sw-state-from-master-t.sriov: -------------------------------------------------------------------------------- 1 | From 944a77c91d8a9c7fb1196cf458580e26a41d417d Mon Sep 17 00:00:00 2001 2 | From: "Kooran Paul, Princy" 3 | Date: Tue, 30 Jul 2024 10:03:29 +0800 4 | Subject: [PATCH 02/48] drm/i915/mtl: Copy c10 phy pll sw state from master to 5 | slave for bigjoiner 6 | 7 | We try to verify pll registers in sw state for slave crtc with the hw state. 8 | However in case of bigjoiner we don't calculate those at all, so this verification 9 | will then always fail. 10 | So we should either skip the verification for Bigjoiner slave crtc or copy sw state 11 | from master crtc. 12 | 13 | Signed-off-by: Stanislav Lisovskiy 14 | --- 15 | drivers/gpu/drm/i915/display/intel_display.c | 1 + 16 | 1 file changed, 1 insertion(+) 17 | 18 | diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c 19 | index b4ef4d59da1ac..bd5322744ed2a 100644 20 | --- a/drivers/gpu/drm/i915/display/intel_display.c 21 | +++ b/drivers/gpu/drm/i915/display/intel_display.c 22 | @@ -4583,6 +4583,7 @@ copy_joiner_crtc_state_modeset(struct intel_atomic_state *state, 23 | drm_mode_copy(&secondary_crtc_state->hw.adjusted_mode, 24 | &primary_crtc_state->hw.adjusted_mode); 25 | secondary_crtc_state->hw.scaling_filter = primary_crtc_state->hw.scaling_filter; 26 | + secondary_crtc_state->dpll_hw_state.cx0pll = primary_crtc_state->dpll_hw_state.cx0pll; 27 | 28 | if (primary_crtc_state->dp_tunnel_ref.tunnel) 29 | drm_dp_tunnel_ref_get(primary_crtc_state->dp_tunnel_ref.tunnel, 30 | -- 31 | 2.25.1 32 | 33 | -------------------------------------------------------------------------------- /kernel-patches/patches/0002-igc-Enable-trace-for-HW-TX-Timestamp-AF_XDP-ZC.tsn: -------------------------------------------------------------------------------- 1 | From a4f7d084a122364aea1368bf8cbb768bb203ceb5 Mon Sep 17 00:00:00 2001 2 | From: Muhammad Husaini Zulkifli 3 | Date: Fri, 23 Jul 2021 21:27:36 +0800 4 | Subject: [PATCH 2/3] igc: Enable trace for HW TX Timestamp AF_XDP ZC 5 | 6 | This is a temporary solution as it uses trace_printk as a means to 7 | log tx timestamps. 8 | 9 | Future implementation should use xdp_frame's data_meta to let user 10 | applications retrieve it directly. 11 | 12 | Signed-off-by: Muhammad Husaini Zulkifli 13 | Signed-off-by: Aravindhan Gunasekaran 14 | --- 15 | drivers/net/ethernet/intel/igc/igc_main.c | 5 +++++ 16 | 1 file changed, 5 insertions(+) 17 | 18 | diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c 19 | index 70f59396a75e6..57efb7958df13 100644 20 | --- a/drivers/net/ethernet/intel/igc/igc_main.c 21 | +++ b/drivers/net/ethernet/intel/igc/igc_main.c 22 | @@ -3279,6 +3279,11 @@ static bool igc_clean_tx_irq(struct igc_q_vector *q_vector, int napi_budget) 23 | 24 | switch (tx_buffer->type) { 25 | case IGC_TX_BUFFER_TYPE_XSK: 26 | +#if defined(CONFIG_TRACING) && defined(CONFIG_DEBUG_MISC) 27 | + /* Only use for RTCP KPI Measurement on Q2 */ 28 | + if (tx_ring->queue_index == 2 && adapter->tstamp_config.tx_type == HWTSTAMP_TX_ON) 29 | + trace_printk("TX HW TS %lld\n", timestamp); 30 | +#endif 31 | xsk_frames++; 32 | break; 33 | case IGC_TX_BUFFER_TYPE_XDP: 34 | -- 35 | 2.25.1 36 | 37 | -------------------------------------------------------------------------------- /kernel-patches/patches/0002-igc-Only-dump-registers-if-configured-to-dump-HW-infor.tsn: -------------------------------------------------------------------------------- 1 | From d9a2418021ff08b29ea8f88971e2ade3500f53f5 Mon Sep 17 00:00:00 2001 2 | From: Malli C 3 | Date: Mon, 25 Jan 2021 17:43:51 -0800 4 | Subject: [PATCH 02/32] igc: Only dump registers if configured to dump HW 5 | information 6 | 7 | To avoid polluting the users logs with register dumps, only dump the 8 | adapter's registers if configured to do so. 9 | 10 | If users want to enable HW status messages they can do: 11 | 12 | $ ethtool -s IFACE msglvl hw on 13 | 14 | Signed-off-by: Vinicius Costa Gomes 15 | Signed-off-by: Malli C 16 | Signed-off-by: Muhammad Husaini Zulkifli 17 | Signed-off-by: Aravindhan Gunasekaran 18 | --- 19 | drivers/net/ethernet/intel/igc/igc_dump.c | 3 +++ 20 | 1 file changed, 3 insertions(+) 21 | 22 | diff --git a/drivers/net/ethernet/intel/igc/igc_dump.c b/drivers/net/ethernet/intel/igc/igc_dump.c 23 | index c09c95cc5f70e..4abbeb763374e 100644 24 | --- a/drivers/net/ethernet/intel/igc/igc_dump.c 25 | +++ b/drivers/net/ethernet/intel/igc/igc_dump.c 26 | @@ -308,6 +308,9 @@ void igc_regs_dump(struct igc_adapter *adapter) 27 | struct igc_hw *hw = &adapter->hw; 28 | struct igc_reg_info *reginfo; 29 | 30 | + if (!netif_msg_hw(adapter)) 31 | + return; 32 | + 33 | /* Print Registers */ 34 | netdev_info(adapter->netdev, "Register Dump\n"); 35 | netdev_info(adapter->netdev, "Register Name Value\n"); 36 | -- 37 | 2.25.1 38 | 39 | -------------------------------------------------------------------------------- /kernel-patches/patches/0002-media-ipu-Dma-sync-at-buffer_prepare-callback-as-DM.camera: -------------------------------------------------------------------------------- 1 | From d35a91614560464e277456a78e81bad3fdd18b8a Mon Sep 17 00:00:00 2001 2 | From: linya14x 3 | Date: Wed, 23 Apr 2025 11:30:56 +0800 4 | Subject: [PATCH 2/7] media: ipu: Dma sync at buffer_prepare callback as DMA is 5 | non-coherent 6 | 7 | Test Platform: 8 | MTL ARL LT6911UXE 9 | 10 | Signed-off-by: linya14x 11 | Signed-off-by: Bingbu Cao 12 | --- 13 | drivers/media/pci/intel/ipu6/ipu6-isys-queue.c | 5 +++++ 14 | 1 file changed, 5 insertions(+) 15 | 16 | diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c b/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c 17 | index 69fde84283d99..b931c43746940 100644 18 | --- a/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c 19 | +++ b/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c 20 | @@ -84,7 +84,9 @@ static int ipu6_isys_queue_setup(struct vb2_queue *q, unsigned int *num_buffers, 21 | static int ipu6_isys_buf_prepare(struct vb2_buffer *vb) 22 | { 23 | struct ipu6_isys_queue *aq = vb2_queue_to_isys_queue(vb->vb2_queue); 24 | + struct ipu6_isys *isys = vb2_get_drv_priv(vb->vb2_queue); 25 | struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq); 26 | + struct sg_table *sg = vb2_dma_sg_plane_desc(vb, 0); 27 | struct device *dev = &av->isys->adev->auxdev.dev; 28 | u32 bytesperline = ipu6_isys_get_bytes_per_line(av); 29 | u32 height = ipu6_isys_get_frame_height(av); 30 | @@ -98,6 +100,9 @@ static int ipu6_isys_buf_prepare(struct vb2_buffer *vb) 31 | 32 | vb2_set_plane_payload(vb, 0, bytesperline * height); 33 | 34 | + /* assume IPU is not DMA coherent */ 35 | + ipu6_dma_sync_sgtable(isys->adev, sg); 36 | + 37 | return 0; 38 | } 39 | 40 | -- 41 | 2.34.1 42 | 43 | -------------------------------------------------------------------------------- /kernel-patches/patches/0002-media-pci-intel-include-psys-driver.camera: -------------------------------------------------------------------------------- 1 | From e443c64fb942c1ad1c2383bd8c1136b6d1677ada Mon Sep 17 00:00:00 2001 2 | From: Julian Chen 3 | Date: Thu, 16 Jan 2025 17:16:58 +0800 4 | Subject: [PATCH 2/5] media: pci: intel: include psys driver 5 | 6 | Include psys folder for psys driver enable 7 | 8 | Signed-off-by: Julian Chen 9 | --- 10 | drivers/media/pci/intel/ipu6/Makefile | 1 + 11 | 1 file changed, 1 insertion(+) 12 | 13 | diff --git a/drivers/media/pci/intel/ipu6/Makefile b/drivers/media/pci/intel/ipu6/Makefile 14 | index a821b0a1567f4..8a4f4cd7610d2 100644 15 | --- a/drivers/media/pci/intel/ipu6/Makefile 16 | +++ b/drivers/media/pci/intel/ipu6/Makefile 17 | @@ -21,3 +21,4 @@ intel-ipu6-isys-y := ipu6-isys.o \ 18 | ipu6-isys-dwc-phy.o 19 | 20 | obj-$(CONFIG_VIDEO_INTEL_IPU6) += intel-ipu6-isys.o 21 | +obj-$(CONFIG_VIDEO_INTEL_IPU6) += psys/ 22 | -- 23 | 2.25.1 24 | 25 | -------------------------------------------------------------------------------- /kernel-patches/patches/0002-mtd-core-Don-t-fail-mtd_device_parse_register-if-OTP.lpss: -------------------------------------------------------------------------------- 1 | From 1248966b3134731af55f98160a55b01d44b05286 Mon Sep 17 00:00:00 2001 2 | From: Aapo Vienamo 3 | Date: Thu, 7 Mar 2024 15:04:18 +0200 4 | Subject: [PATCH 3/6] mtd: core: Don't fail mtd_device_parse_register() if OTP 5 | is unsupported 6 | 7 | Handle the case where -EOPNOTSUPP is returned from OTP driver. 8 | 9 | This addresses an issue that occurs with the Intel SPI flash controller, 10 | which has a limited supported opcode set. Whilst the OTP functionality 11 | is not available due to this restriction, other parts of the MTD 12 | functionality of the device are intact. This change allows the driver 13 | to gracefully handle the restriction by allowing the supported 14 | functionality to remain available instead of failing the probe 15 | altogether. 16 | 17 | Signed-off-by: Aapo Vienamo 18 | Reviewed-by: Mika Westerberg 19 | --- 20 | drivers/mtd/mtdcore.c | 8 +++++++- 21 | 1 file changed, 7 insertions(+), 1 deletion(-) 22 | 23 | diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c 24 | index 724f917f91bac..404600b1017e3 100644 25 | --- a/drivers/mtd/mtdcore.c 26 | +++ b/drivers/mtd/mtdcore.c 27 | @@ -1057,8 +1057,14 @@ int mtd_device_parse_register(struct mtd_info *mtd, const char * const *types, 28 | 29 | mtd_set_dev_defaults(mtd); 30 | 31 | + /* 32 | + * Don't abort MTD init if OTP functionality is unsupported. The 33 | + * cleanup of the OTP init is contained within mtd_otp_nvmem_add(). 34 | + * Omitting goto out here is safe since the cleanup code there 35 | + * should be no-ops. 36 | + */ 37 | ret = mtd_otp_nvmem_add(mtd); 38 | - if (ret) 39 | + if (ret && ret != -EOPNOTSUPP) 40 | goto out; 41 | 42 | if (IS_ENABLED(CONFIG_MTD_PARTITIONED_MASTER)) { 43 | -- 44 | 2.25.1 45 | 46 | -------------------------------------------------------------------------------- /kernel-patches/patches/0002-net-stmmac-Bugfix-on-stmmac_interrupt-for-WOL.tsn: -------------------------------------------------------------------------------- 1 | From 3e4a43bdd5246ef65554cfa823ff4ffebff46bfc Mon Sep 17 00:00:00 2001 2 | From: "Tan, Tee Min" 3 | Date: Mon, 25 Jun 2018 10:34:14 +0800 4 | Subject: [PATCH 02/42] net: stmmac: Bugfix on stmmac_interrupt() for WOL 5 | 6 | Modify pm_wakeup_event to pm_wakeup_hard_event. 7 | 8 | With the newly introduced pm_wakeup_hard_event function, 9 | WOL only able to functions properly with using this new 10 | function instead of pm_wakeup_event. 11 | 12 | Signed-off-by: Tan, Tee Min 13 | Signed-off-by: Voon Weifeng 14 | --- 15 | drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +- 16 | 1 file changed, 1 insertion(+), 1 deletion(-) 17 | 18 | diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 19 | index 7bf275f127c9d..4e2179dec9802 100644 20 | --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 21 | +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 22 | @@ -6007,7 +6007,7 @@ static void stmmac_common_interrupt(struct stmmac_priv *priv) 23 | queues_count = (rx_cnt > tx_cnt) ? rx_cnt : tx_cnt; 24 | 25 | if (priv->irq_wake) 26 | - pm_wakeup_event(priv->device, 0); 27 | + pm_wakeup_hard_event(priv->device); 28 | 29 | if (priv->dma_cap.estsel) 30 | stmmac_est_irq_status(priv, priv, priv->dev, 31 | -- 32 | 2.25.1 33 | 34 | -------------------------------------------------------------------------------- /kernel-patches/patches/0002-platform-x86-intel-pmc-Add-Bartlett-Lake-support-to-.pmc_core: -------------------------------------------------------------------------------- 1 | From b9b2ad1b85bf9f89f86622078a560511e365f56e Mon Sep 17 00:00:00 2001 2 | From: Li Yifan 3 | Date: Tue, 1 Apr 2025 02:36:07 -0400 4 | Subject: [PATCH 5/8] platform/x86/intel/pmc: Add Bartlett Lake support to 5 | intel_pmc_core 6 | 7 | Add Bartlett Lake P-core only product support to intel_pmc_core 8 | driver. Bartlett Lake hybrid product reuses Raptor Lake model name 9 | so it is already enabled. 10 | 11 | Signed-off-by: Li Yifan 12 | --- 13 | drivers/platform/x86/intel/pmc/core.c | 1 + 14 | 1 file changed, 1 insertion(+) 15 | 16 | diff --git a/drivers/platform/x86/intel/pmc/core.c b/drivers/platform/x86/intel/pmc/core.c 17 | index 27e3d003f2303..f4095c01842e7 100644 18 | --- a/drivers/platform/x86/intel/pmc/core.c 19 | +++ b/drivers/platform/x86/intel/pmc/core.c 20 | @@ -1365,6 +1365,7 @@ static const struct x86_cpu_id intel_pmc_core_ids[] = { 21 | X86_MATCH_VFM(INTEL_RAPTORLAKE_P, tgl_l_core_init), 22 | X86_MATCH_VFM(INTEL_RAPTORLAKE, adl_core_init), 23 | X86_MATCH_VFM(INTEL_RAPTORLAKE_S, adl_core_init), 24 | + X86_MATCH_VFM(INTEL_BARTLETTLAKE, adl_core_init), 25 | X86_MATCH_VFM(INTEL_METEORLAKE_L, mtl_core_init), 26 | X86_MATCH_VFM(INTEL_ARROWLAKE, arl_core_init), 27 | X86_MATCH_VFM(INTEL_ARROWLAKE_H, arl_h_core_init), 28 | -- 29 | 2.34.1 30 | 31 | -------------------------------------------------------------------------------- /kernel-patches/patches/0002-timers-Use-__raise_softirq_irqoff-to-raise-the-softirq.rt: -------------------------------------------------------------------------------- 1 | From 85fd661df822f0f208a89b1f7e2b41b3bd340ef9 Mon Sep 17 00:00:00 2001 2 | From: Sebastian Andrzej Siewior 3 | Date: Wed, 23 Oct 2024 13:02:37 +0200 4 | Subject: [PATCH 02/25] timers: Use __raise_softirq_irqoff() to raise the 5 | softirq. 6 | 7 | As an optimisation use __raise_softirq_irqoff() to raise the softirq. 8 | This is always called from an interrupt handler, interrupts are already 9 | disabled so it can be reduced to just or set softirq flag and let 10 | softirq be invoked on return from interrupt. 11 | 12 | Use __raise_softirq_irqoff() to raise the softirq. 13 | 14 | Signed-off-by: Sebastian Andrzej Siewior 15 | --- 16 | kernel/time/timer.c | 2 +- 17 | 1 file changed, 1 insertion(+), 1 deletion(-) 18 | 19 | diff --git a/kernel/time/timer.c b/kernel/time/timer.c 20 | index 7835f9b376e76..c26a0ebc5909c 100644 21 | --- a/kernel/time/timer.c 22 | +++ b/kernel/time/timer.c 23 | @@ -2500,7 +2500,7 @@ static void run_local_timers(void) 24 | */ 25 | if (time_after_eq(jiffies, READ_ONCE(base->next_expiry)) || 26 | (i == BASE_DEF && tmigr_requires_handle_remote())) { 27 | - raise_softirq(TIMER_SOFTIRQ); 28 | + __raise_softirq_irqoff(TIMER_SOFTIRQ); 29 | return; 30 | } 31 | } 32 | -- 33 | 2.25.1 34 | 35 | -------------------------------------------------------------------------------- /kernel-patches/patches/0002-wwan-add-SAHARA-device.wwan: -------------------------------------------------------------------------------- 1 | From 0cf6d20bf37608a778f0f72928761b4105ffdac3 Mon Sep 17 00:00:00 2001 2 | From: Daniele Palmas 3 | Date: Thu, 28 Jul 2022 15:54:12 +0200 4 | Subject: [PATCH 2/9] wwan: add SAHARA device 5 | 6 | Signed-off-by: Daniele Palmas 7 | --- 8 | drivers/net/wwan/mhi_wwan_ctrl.c | 1 + 9 | drivers/net/wwan/wwan_core.c | 4 ++++ 10 | include/linux/wwan.h | 1 + 11 | 3 files changed, 6 insertions(+) 12 | 13 | diff --git a/drivers/net/wwan/mhi_wwan_ctrl.c b/drivers/net/wwan/mhi_wwan_ctrl.c 14 | index e9f979d2d851f..79bf6ce48ad5d 100644 15 | --- a/drivers/net/wwan/mhi_wwan_ctrl.c 16 | +++ b/drivers/net/wwan/mhi_wwan_ctrl.c 17 | @@ -263,6 +263,7 @@ static const struct mhi_device_id mhi_wwan_ctrl_match_table[] = { 18 | { .chan = "QMI", .driver_data = WWAN_PORT_QMI }, 19 | { .chan = "DIAG", .driver_data = WWAN_PORT_QCDM }, 20 | { .chan = "FIREHOSE", .driver_data = WWAN_PORT_FIREHOSE }, 21 | + { .chan = "SAHARA", .driver_data = WWAN_PORT_SAHARA }, 22 | {}, 23 | }; 24 | MODULE_DEVICE_TABLE(mhi, mhi_wwan_ctrl_match_table); 25 | diff --git a/drivers/net/wwan/wwan_core.c b/drivers/net/wwan/wwan_core.c 26 | index 65a7ed4d67660..a25333580438e 100644 27 | --- a/drivers/net/wwan/wwan_core.c 28 | +++ b/drivers/net/wwan/wwan_core.c 29 | @@ -334,6 +334,10 @@ static const struct { 30 | .name = "FASTBOOT", 31 | .devsuf = "fastboot", 32 | }, 33 | + [WWAN_PORT_SAHARA] = { 34 | + .name = "SAHARA", 35 | + .devsuf = "sahara", 36 | + }, 37 | }; 38 | 39 | static ssize_t type_show(struct device *dev, struct device_attribute *attr, 40 | diff --git a/include/linux/wwan.h b/include/linux/wwan.h 41 | index 170fdee6339c7..739b90a1f216e 100644 42 | --- a/include/linux/wwan.h 43 | +++ b/include/linux/wwan.h 44 | @@ -30,6 +30,7 @@ enum wwan_port_type { 45 | WWAN_PORT_FIREHOSE, 46 | WWAN_PORT_XMMRPC, 47 | WWAN_PORT_FASTBOOT, 48 | + WWAN_PORT_SAHARA, 49 | 50 | /* Add new port types above this line */ 51 | 52 | -- 53 | 2.25.1 54 | 55 | -------------------------------------------------------------------------------- /kernel-patches/patches/0003-EDAC-ieh-Add-I-O-device-EDAC-support-for-Intel-Tiger-.edac: -------------------------------------------------------------------------------- 1 | From 2b2238e830c8f5f659616d5dddb164ee3c1dabcc Mon Sep 17 00:00:00 2001 2 | From: Qiuxu Zhuo 3 | Date: Fri, 20 Mar 2020 20:19:48 +0800 4 | Subject: [PATCH 3/9] EDAC/ieh: Add I/O device EDAC support for Intel Tiger 5 | Lake-H SoC 6 | 7 | Tiger Lake-H SoC shares the same Integrated Error Handler(IEH) architecture 8 | with Tiger Lake-U, so can use the same ieh_edac driver. 9 | 10 | Add Tiger Lake-H IEH device ID for I/O device EDAC support. 11 | 12 | Signed-off-by: Qiuxu Zhuo 13 | --- 14 | drivers/edac/ieh_edac.c | 11 ++++++++++- 15 | 1 file changed, 10 insertions(+), 1 deletion(-) 16 | 17 | diff --git a/drivers/edac/ieh_edac.c b/drivers/edac/ieh_edac.c 18 | index e4bff40baff5a..5a67b8486fec8 100644 19 | --- a/drivers/edac/ieh_edac.c 20 | +++ b/drivers/edac/ieh_edac.c 21 | @@ -36,7 +36,7 @@ 22 | 23 | #include "edac_mc.h" 24 | 25 | -#define IEH_REVISION "v1.7" 26 | +#define IEH_REVISION "v1.8" 27 | 28 | #define EDAC_MOD_STR "ieh_edac" 29 | #define IEH_NMI_NAME "ieh" 30 | @@ -179,6 +179,14 @@ static struct ieh_config tgl_u_cfg = { 31 | .action = RESTART, 32 | }; 33 | 34 | +/* Tiger Lake-H SoC */ 35 | +#define IEH_DID_TGL_H 0x43af 36 | + 37 | +static struct ieh_config tgl_h_cfg = { 38 | + .did = IEH_DID_TGL_H, 39 | + .action = RESTART, 40 | +}; 41 | + 42 | static const char * const severities[] = { 43 | [IEH_CORR_ERR] = "correctable", 44 | [IEH_NONFATAL_ERR] = "non-fatal uncorrectable", 45 | @@ -529,6 +537,7 @@ static struct notifier_block ieh_mce_dec = { 46 | 47 | static const struct x86_cpu_id ieh_cpuids[] = { 48 | X86_MATCH_VFM(INTEL_TIGERLAKE_L, &tgl_u_cfg), 49 | + X86_MATCH_VFM(INTEL_TIGERLAKE, &tgl_h_cfg), 50 | {} 51 | }; 52 | MODULE_DEVICE_TABLE(x86cpu, ieh_cpuids); 53 | -- 54 | 2.25.1 55 | 56 | -------------------------------------------------------------------------------- /kernel-patches/patches/0003-Revert-drivers-bus-mhi-add-FN990-NMEA-and-DIAG-in-SBL.wwan: -------------------------------------------------------------------------------- 1 | From 41f94dc8abe86a4ca6bdb1c0079136b4585586f5 Mon Sep 17 00:00:00 2001 2 | From: "Qiao, Wei" 3 | Date: Mon, 6 Jan 2025 16:54:12 +0800 4 | Subject: [PATCH 3/9] Revert "drivers: bus: mhi: add FN990 NMEA and DIAG in SBL 5 | devices" 6 | 7 | This reverts commit 051eefd21490337763af6c23a26defedc6bc378d. 8 | --- 9 | drivers/bus/mhi/host/pci_generic.c | 6 ++---- 10 | 1 file changed, 2 insertions(+), 4 deletions(-) 11 | 12 | diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c 13 | index e74dddb52897e..87891ed9a7f00 100644 14 | --- a/drivers/bus/mhi/host/pci_generic.c 15 | +++ b/drivers/bus/mhi/host/pci_generic.c 16 | @@ -728,16 +728,14 @@ static const struct mhi_pci_dev_info mhi_telit_fn980_hw_v2_info = { 17 | static const struct mhi_channel_config mhi_telit_fn990_channels[] = { 18 | MHI_CHANNEL_CONFIG_UL_SBL(2, "SAHARA", 32, 0), 19 | MHI_CHANNEL_CONFIG_DL_SBL(3, "SAHARA", 32, 0), 20 | - MHI_CHANNEL_CONFIG_AMSS_SBL_UL(4, "DIAG", 64, 1), 21 | - MHI_CHANNEL_CONFIG_AMSS_SBL_DL(5, "DIAG", 64, 1), 22 | + MHI_CHANNEL_CONFIG_UL(4, "DIAG", 64, 1), 23 | + MHI_CHANNEL_CONFIG_DL(5, "DIAG", 64, 1), 24 | MHI_CHANNEL_CONFIG_UL(12, "MBIM", 32, 0), 25 | MHI_CHANNEL_CONFIG_DL(13, "MBIM", 32, 0), 26 | MHI_CHANNEL_CONFIG_UL(32, "DUN", 32, 0), 27 | MHI_CHANNEL_CONFIG_DL(33, "DUN", 32, 0), 28 | MHI_CHANNEL_CONFIG_UL(92, "DUN2", 32, 1), 29 | MHI_CHANNEL_CONFIG_DL(93, "DUN2", 32, 1), 30 | - MHI_CHANNEL_CONFIG_UL(94, "NMEA", 8, 1), 31 | - MHI_CHANNEL_CONFIG_DL(95, "NMEA", 8, 1), 32 | MHI_CHANNEL_CONFIG_HW_UL(100, "IP_HW0_MBIM", 128, 2), 33 | MHI_CHANNEL_CONFIG_HW_DL(101, "IP_HW0_MBIM", 128, 3), 34 | }; 35 | -- 36 | 2.25.1 37 | 38 | -------------------------------------------------------------------------------- /kernel-patches/patches/0003-Revert-ice-ptp-Remove-convert_art_to_tsc.tgpio: -------------------------------------------------------------------------------- 1 | From 3f30ac91cd3c8371360f9188a0e11ae626bbd92c Mon Sep 17 00:00:00 2001 2 | From: Hao Li 3 | Date: Wed, 25 Sep 2024 12:37:47 +0800 4 | Subject: [PATCH 03/43] Revert "ice/ptp: Remove convert_art_to_tsc()" 5 | 6 | This reverts commit d4bea547ebb577a4b4c545a4a81d495cec7eefe1. 7 | 8 | Signed-off-by: Hao Li 9 | --- 10 | drivers/net/ethernet/intel/ice/ice_ptp.c | 3 +-- 11 | 1 file changed, 1 insertion(+), 2 deletions(-) 12 | 13 | diff --git a/drivers/net/ethernet/intel/ice/ice_ptp.c b/drivers/net/ethernet/intel/ice/ice_ptp.c 14 | index ef2e858f49bb0..6c7921261ff57 100644 15 | --- a/drivers/net/ethernet/intel/ice/ice_ptp.c 16 | +++ b/drivers/net/ethernet/intel/ice/ice_ptp.c 17 | @@ -2221,8 +2221,7 @@ ice_ptp_get_syncdevicetime(ktime_t *device, 18 | hh_ts_lo = rd32(hw, GLHH_ART_TIME_L); 19 | hh_ts_hi = rd32(hw, GLHH_ART_TIME_H); 20 | hh_ts = ((u64)hh_ts_hi << 32) | hh_ts_lo; 21 | - system->cycles = hh_ts; 22 | - system->cs_id = CSID_X86_ART; 23 | + *system = convert_art_ns_to_tsc(hh_ts); 24 | /* Read Device source clock time */ 25 | hh_ts_lo = rd32(hw, GLTSYN_HHTIME_L(tmr_idx)); 26 | hh_ts_hi = rd32(hw, GLTSYN_HHTIME_H(tmr_idx)); 27 | -- 28 | 2.25.1 29 | 30 | -------------------------------------------------------------------------------- /kernel-patches/patches/0003-drm-i915-guc-Upgrade-GuC-fw-version-to-70.36.0.sriov: -------------------------------------------------------------------------------- 1 | From e5247e8df469b81bea0d59bde9faf0e99e3bb259 Mon Sep 17 00:00:00 2001 2 | From: "Kooran Paul, Princy" 3 | Date: Wed, 8 Jan 2025 11:33:14 +0800 4 | Subject: [PATCH 3/3] drm/i915/guc: Upgrade GuC fw version to 70.36.0 5 | 6 | Update GuC for ALDERLAKE_S , ALDERLAKE_P, MTL and DG2 to version 7 | GuC v70.36.0. 8 | 9 | Suggested-by: Mazlan, Hazwan Arif 10 | Signed-off-by: Kooran Paul, Princy 11 | Signed-off-by: Junxiao Chang 12 | --- 13 | drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 8 ++++---- 14 | 1 file changed, 4 insertions(+), 4 deletions(-) 15 | 16 | diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c 17 | index d4911c87733e7..1bf99ada99b59 100644 18 | --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c 19 | +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c 20 | @@ -88,12 +88,12 @@ void intel_uc_fw_change_status(struct intel_uc_fw *uc_fw, 21 | * security fixes, etc. to be enabled. 22 | */ 23 | #define INTEL_GUC_FIRMWARE_DEFS(fw_def, guc_maj, guc_mmp) \ 24 | - fw_def(METEORLAKE, 0, guc_maj(mtl, 70, 29, 2)) \ 25 | - fw_def(DG2, 0, guc_maj(dg2, 70, 29, 2)) \ 26 | - fw_def(ALDERLAKE_P, 0, guc_maj(adlp, 70, 29, 2)) \ 27 | + fw_def(METEORLAKE, 0, guc_maj(mtl, 70, 36, 0)) \ 28 | + fw_def(DG2, 0, guc_maj(dg2, 70, 36, 0)) \ 29 | + fw_def(ALDERLAKE_P, 0, guc_maj(adlp, 70, 36, 0)) \ 30 | fw_def(ALDERLAKE_P, 0, guc_mmp(adlp, 70, 1, 1)) \ 31 | fw_def(ALDERLAKE_P, 0, guc_mmp(adlp, 69, 0, 3)) \ 32 | - fw_def(ALDERLAKE_S, 0, guc_maj(tgl, 70, 29, 2)) \ 33 | + fw_def(ALDERLAKE_S, 0, guc_maj(tgl, 70, 36, 0)) \ 34 | fw_def(ALDERLAKE_S, 0, guc_mmp(tgl, 70, 1, 1)) \ 35 | fw_def(ALDERLAKE_S, 0, guc_mmp(tgl, 69, 0, 3)) \ 36 | fw_def(DG1, 0, guc_maj(dg1, 70, 5, 1)) \ 37 | -- 38 | 2.25.1 39 | 40 | -------------------------------------------------------------------------------- /kernel-patches/patches/0003-igc-Remove-the-CONFIG_DEBUG_MISC-condition-for-trace.tsn: -------------------------------------------------------------------------------- 1 | From bf6076e42b81f49c9e944087a4370bb5f6045b34 Mon Sep 17 00:00:00 2001 2 | From: Muhammad Husaini Zulkifli 3 | Date: Fri, 30 Jul 2021 10:17:52 +0800 4 | Subject: [PATCH 3/3] igc: Remove the CONFIG_DEBUG_MISC condition for trace 5 | 6 | This patch is to remove the CONFIG_DEBUG_MISC for trace_printk. 7 | CONFIG_DEBUG_MISC was enabled in ER89 config but not enable in 8 | latest config. 9 | 10 | Signed-off-by: Muhammad Husaini Zulkifli 11 | Signed-off-by: Aravindhan Gunasekaran 12 | --- 13 | drivers/net/ethernet/intel/igc/igc_main.c | 2 +- 14 | 1 file changed, 1 insertion(+), 1 deletion(-) 15 | 16 | diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c 17 | index 57efb7958df13..b65d667c6312c 100644 18 | --- a/drivers/net/ethernet/intel/igc/igc_main.c 19 | +++ b/drivers/net/ethernet/intel/igc/igc_main.c 20 | @@ -3279,7 +3279,7 @@ static bool igc_clean_tx_irq(struct igc_q_vector *q_vector, int napi_budget) 21 | 22 | switch (tx_buffer->type) { 23 | case IGC_TX_BUFFER_TYPE_XSK: 24 | -#if defined(CONFIG_TRACING) && defined(CONFIG_DEBUG_MISC) 25 | +#if defined(CONFIG_TRACING) 26 | /* Only use for RTCP KPI Measurement on Q2 */ 27 | if (tx_ring->queue_index == 2 && adapter->tstamp_config.tx_type == HWTSTAMP_TX_ON) 28 | trace_printk("TX HW TS %lld\n", timestamp); 29 | -- 30 | 2.25.1 31 | 32 | -------------------------------------------------------------------------------- /kernel-patches/patches/0003-media-i2c-remove-unused-func-in-lt6911uxe.camera: -------------------------------------------------------------------------------- 1 | From f122c8ce458c133c3e9281d082303807a5b2eae1 Mon Sep 17 00:00:00 2001 2 | From: Dongcheng Yan 3 | Date: Wed, 19 Mar 2025 10:53:53 +0800 4 | Subject: [PATCH 3/8] media: i2c: remove unused func in lt6911uxe 5 | 6 | restore ".reserved = { 0 }" for compatibility with CLANG 7 | 8 | Signed-off-by: Dongcheng Yan 9 | --- 10 | drivers/media/i2c/lt6911uxe.c | 16 ++-------------- 11 | 1 file changed, 2 insertions(+), 14 deletions(-) 12 | 13 | diff --git a/drivers/media/i2c/lt6911uxe.c b/drivers/media/i2c/lt6911uxe.c 14 | index d874febfdd9b5..87258af399a0e 100644 15 | --- a/drivers/media/i2c/lt6911uxe.c 16 | +++ b/drivers/media/i2c/lt6911uxe.c 17 | @@ -42,6 +42,8 @@ 18 | 19 | static const struct v4l2_dv_timings_cap lt6911uxe_timings_cap_4kp30 = { 20 | .type = V4L2_DV_BT_656_1120, 21 | + /* keep this initialization for compatibility with CLANG */ 22 | + .reserved = { 0 }, 23 | /* Pixel clock from REF_01 p. 20. Min/max height/width are unknown */ 24 | V4L2_INIT_BT_TIMINGS(160, 3840, /* min/max width */ 25 | 120, 2160, /* min/max height */ 26 | @@ -411,20 +413,6 @@ static int lt6911uxe_set_format(struct v4l2_subdev *sd, 27 | return 0; 28 | } 29 | 30 | -static int lt6911uxe_get_format(struct v4l2_subdev *sd, 31 | - struct v4l2_subdev_state *sd_state, 32 | - struct v4l2_subdev_format *fmt) 33 | -{ 34 | - struct lt6911uxe *lt6911uxe = to_lt6911uxe(sd); 35 | - 36 | - if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) 37 | - fmt->format = *v4l2_subdev_state_get_format(sd_state, fmt->pad); 38 | - else 39 | - lt6911uxe_update_pad_format(<6911uxe->cur_mode, &fmt->format); 40 | - 41 | - return 0; 42 | -} 43 | - 44 | static int lt6911uxe_enum_mbus_code(struct v4l2_subdev *sd, 45 | struct v4l2_subdev_state *sd_state, 46 | struct v4l2_subdev_mbus_code_enum *code) 47 | -- 48 | 2.34.1 49 | 50 | -------------------------------------------------------------------------------- /kernel-patches/patches/0003-net-phy-increase-gpy-loopback-test-delay.tsn: -------------------------------------------------------------------------------- 1 | From e7eeb3cea2cd09e940481b7c62602f32c5991724 Mon Sep 17 00:00:00 2001 2 | From: Michael Sit Wei Hong 3 | Date: Tue, 18 Oct 2022 17:12:48 +0800 4 | Subject: [PATCH 03/42] net: phy: increase gpy loopback test delay 5 | 6 | Increase the gpy loopback delay to avoid phy getting stuck in an unknown 7 | state. 8 | 9 | Signed-off-by: Michael Sit Wei Hong 10 | --- 11 | drivers/net/phy/mxl-gpy.c | 2 +- 12 | 1 file changed, 1 insertion(+), 1 deletion(-) 13 | 14 | diff --git a/drivers/net/phy/mxl-gpy.c b/drivers/net/phy/mxl-gpy.c 15 | index e5f8ac4b4604b..d6ce43e918049 100644 16 | --- a/drivers/net/phy/mxl-gpy.c 17 | +++ b/drivers/net/phy/mxl-gpy.c 18 | @@ -814,7 +814,7 @@ static int gpy_loopback(struct phy_device *phydev, bool enable) 19 | /* It takes some time for PHY device to switch into 20 | * loopback mode. 21 | */ 22 | - msleep(100); 23 | + msleep(600); 24 | } else { 25 | priv->lb_dis_to = get_jiffies_64() + HZ * 3; 26 | } 27 | -- 28 | 2.25.1 29 | 30 | -------------------------------------------------------------------------------- /kernel-patches/patches/0003-spi-intel-pci-Add-support-for-Arrow-Lake-H-SPI-seria.lpss: -------------------------------------------------------------------------------- 1 | From 879d7efb4ad75215bd082abdaace96d5a72a9c7d Mon Sep 17 00:00:00 2001 2 | From: Mika Westerberg 3 | Date: Wed, 25 Oct 2023 11:30:29 +0300 4 | Subject: [PATCH 4/6] spi: intel-pci: Add support for Arrow Lake-H SPI serial 5 | flash 6 | 7 | Add Intel Arrow Lake-H PCI ID to the driver list of supported devices. 8 | This is the same controller found in previous generations. 9 | 10 | Signed-off-by: Mika Westerberg 11 | --- 12 | drivers/spi/spi-intel-pci.c | 1 + 13 | 1 file changed, 1 insertion(+) 14 | 15 | diff --git a/drivers/spi/spi-intel-pci.c b/drivers/spi/spi-intel-pci.c 16 | index 5c0dec90eec1d..39e7ed7191ef2 100644 17 | --- a/drivers/spi/spi-intel-pci.c 18 | +++ b/drivers/spi/spi-intel-pci.c 19 | @@ -73,6 +73,7 @@ static const struct pci_device_id intel_spi_pci_ids[] = { 20 | { PCI_VDEVICE(INTEL, 0x51a4), (unsigned long)&cnl_info }, 21 | { PCI_VDEVICE(INTEL, 0x54a4), (unsigned long)&cnl_info }, 22 | { PCI_VDEVICE(INTEL, 0x5794), (unsigned long)&cnl_info }, 23 | + { PCI_VDEVICE(INTEL, 0x7723), (unsigned long)&cnl_info }, 24 | { PCI_VDEVICE(INTEL, 0x7a24), (unsigned long)&cnl_info }, 25 | { PCI_VDEVICE(INTEL, 0x7aa4), (unsigned long)&cnl_info }, 26 | { PCI_VDEVICE(INTEL, 0x7e23), (unsigned long)&cnl_info }, 27 | -- 28 | 2.25.1 29 | 30 | -------------------------------------------------------------------------------- /kernel-patches/patches/0004-Revert-ALSA-hda-Remove-convert_art_to_tsc.tgpio: -------------------------------------------------------------------------------- 1 | From 628d13ae61c3f6fcbffccbb65d9d66742a601f29 Mon Sep 17 00:00:00 2001 2 | From: Hao Li 3 | Date: Wed, 25 Sep 2024 12:38:01 +0800 4 | Subject: [PATCH 04/43] Revert "ALSA: hda: Remove convert_art_to_tsc()" 5 | 6 | This reverts commit b3266ed85f77047a9674100f0da8058750e5bc62. 7 | 8 | Signed-off-by: Hao Li 9 | --- 10 | sound/pci/hda/hda_controller.c | 3 +-- 11 | 1 file changed, 1 insertion(+), 2 deletions(-) 12 | 13 | diff --git a/sound/pci/hda/hda_controller.c b/sound/pci/hda/hda_controller.c 14 | index f3330b7e0fcfc..954ba867be095 100644 15 | --- a/sound/pci/hda/hda_controller.c 16 | +++ b/sound/pci/hda/hda_controller.c 17 | @@ -462,8 +462,7 @@ static int azx_get_sync_time(ktime_t *device, 18 | *device = ktime_add_ns(*device, (wallclk_cycles * NSEC_PER_SEC) / 19 | ((HDA_MAX_CYCLE_VALUE + 1) * runtime->rate)); 20 | 21 | - system->cycles = tsc_counter; 22 | - system->cs_id = CSID_X86_ART; 23 | + *system = convert_art_to_tsc(tsc_counter); 24 | 25 | return 0; 26 | } 27 | -- 28 | 2.25.1 29 | 30 | -------------------------------------------------------------------------------- /kernel-patches/patches/0004-Revert-media-ipu6-remove-architecture-DMA-ops-depen.camera: -------------------------------------------------------------------------------- 1 | From 457a743c5d70f6848b4ecc58c1b92508de3a487a Mon Sep 17 00:00:00 2001 2 | From: "Pan, Kris" 3 | Date: Fri, 17 Jan 2025 05:18:09 +0000 4 | Subject: [PATCH 4/5] Revert "media: ipu6: remove architecture DMA ops 5 | dependency in Kconfig" 6 | 7 | This reverts commit 11b0543efe54357b94dccb88dac2099c59358cd4. 8 | --- 9 | drivers/media/pci/intel/ipu6/Kconfig | 6 ++++++ 10 | 1 file changed, 6 insertions(+) 11 | 12 | diff --git a/drivers/media/pci/intel/ipu6/Kconfig b/drivers/media/pci/intel/ipu6/Kconfig 13 | index 7176d16756fb2..b5d09f207cc9f 100644 14 | --- a/drivers/media/pci/intel/ipu6/Kconfig 15 | +++ b/drivers/media/pci/intel/ipu6/Kconfig 16 | @@ -4,6 +4,12 @@ config VIDEO_INTEL_IPU6 17 | depends on VIDEO_DEV 18 | depends on X86 && X86_64 && HAS_DMA 19 | depends on IPU_BRIDGE || !IPU_BRIDGE 20 | + # 21 | + # This driver incorrectly tries to override the dma_ops. It should 22 | + # never have done that, but for now keep it working on architectures 23 | + # that use dma ops 24 | + # 25 | + depends on ARCH_HAS_DMA_OPS 26 | select AUXILIARY_BUS 27 | select IOMMU_IOVA 28 | select VIDEO_V4L2_SUBDEV_API 29 | -- 30 | 2.25.1 31 | 32 | -------------------------------------------------------------------------------- /kernel-patches/patches/0004-upstream-Use-module-parameter-to-set-isys-freq.camera: -------------------------------------------------------------------------------- 1 | From 09076a389a25c8f79c6b978e3e0055846c157a22 Mon Sep 17 00:00:00 2001 2 | From: Dongcheng Yan 3 | Date: Tue, 30 Jul 2024 11:03:10 +0800 4 | Subject: [PATCH 04/13] upstream: Use module parameter to set isys freq 5 | 6 | Signed-off-by: Hongju Wang 7 | Signed-off-by: Dongcheng Yan 8 | Signed-off-by: zouxiaoh 9 | --- 10 | drivers/media/pci/intel/ipu6/ipu6.c | 12 ++++++++++++ 11 | 1 file changed, 12 insertions(+) 12 | 13 | diff --git a/drivers/media/pci/intel/ipu6/ipu6.c b/drivers/media/pci/intel/ipu6/ipu6.c 14 | index 91718eabd74e5..60327577e0ded 100644 15 | --- a/drivers/media/pci/intel/ipu6/ipu6.c 16 | +++ b/drivers/media/pci/intel/ipu6/ipu6.c 17 | @@ -33,6 +33,10 @@ 18 | #include "ipu6-platform-isys-csi2-reg.h" 19 | #include "ipu6-platform-regs.h" 20 | 21 | +static unsigned int isys_freq_override; 22 | +module_param(isys_freq_override, uint, 0660); 23 | +MODULE_PARM_DESC(isys_freq_override, "Override ISYS freq(mhz)"); 24 | + 25 | #define IPU6_PCI_BAR 0 26 | 27 | struct ipu6_cell_program { 28 | @@ -387,6 +391,14 @@ ipu6_isys_init(struct pci_dev *pdev, struct device *parent, 29 | pdata->base = base; 30 | pdata->ipdata = ipdata; 31 | 32 | + /* Override the isys freq */ 33 | + if (isys_freq_override >= BUTTRESS_MIN_FORCE_IS_FREQ && 34 | + isys_freq_override <= BUTTRESS_MAX_FORCE_IS_FREQ) { 35 | + ctrl->ratio = isys_freq_override / BUTTRESS_IS_FREQ_STEP; 36 | + dev_dbg(&pdev->dev, "Override the isys freq:%u(mhz)\n", 37 | + isys_freq_override); 38 | + } 39 | + 40 | isys_adev = ipu6_bus_initialize_device(pdev, parent, pdata, ctrl, 41 | IPU6_ISYS_NAME); 42 | if (IS_ERR(isys_adev)) { 43 | -- 44 | 2.25.1 45 | 46 | -------------------------------------------------------------------------------- /kernel-patches/patches/0005-EDAC-i10nm-Print-DRAM-rules-debug-purpose.edac: -------------------------------------------------------------------------------- 1 | From be64e6158421569dbdd2e3a1b6d8ff753ccd869d Mon Sep 17 00:00:00 2001 2 | From: Qiuxu Zhuo 3 | Date: Thu, 8 Aug 2024 13:11:53 +0800 4 | Subject: [PATCH 5/9] EDAC/i10nm: Print DRAM rules (debug purpose) 5 | 6 | Print DRAM rules to check the type of system memory configuration: 7 | 1LM, 2LM, Flat2LM, 1LM+{2LM, Flat2LM}. For debugging purposes only, 8 | do not up_strem. 9 | 10 | Signed-off-by: Qiuxu Zhuo 11 | --- 12 | drivers/edac/i10nm_base.c | 10 ++++++++-- 13 | 1 file changed, 8 insertions(+), 2 deletions(-) 14 | 15 | diff --git a/drivers/edac/i10nm_base.c b/drivers/edac/i10nm_base.c 16 | index 51556c72a9674..26932f2339789 100644 17 | --- a/drivers/edac/i10nm_base.c 18 | +++ b/drivers/edac/i10nm_base.c 19 | @@ -406,7 +406,9 @@ static int i10nm_get_imc_num(struct res_config *cfg) 20 | 21 | static bool i10nm_check_2lm(struct res_config *cfg) 22 | { 23 | + bool two_level = false; 24 | struct skx_dev *d; 25 | + u64 limit; 26 | u32 reg; 27 | int i; 28 | 29 | @@ -421,12 +423,16 @@ static bool i10nm_check_2lm(struct res_config *cfg) 30 | I10NM_GET_SAD(d, cfg->sad_all_offset, i, reg); 31 | if (I10NM_SAD_ENABLE(reg) && I10NM_SAD_NM_CACHEABLE(reg)) { 32 | edac_dbg(2, "2-level memory configuration.\n"); 33 | - return true; 34 | + two_level = true; 35 | } 36 | + 37 | + limit = GET_BITFIELD(reg, 6, 31) << 26; 38 | + edac_dbg(2, "dram rule cfg %02d (reg 0x%08x), enabled %llu, top limit 0x%016llx, cacheable %llu\n", 39 | + i, reg, I10NM_SAD_ENABLE(reg), limit, I10NM_SAD_NM_CACHEABLE(reg)); 40 | } 41 | } 42 | 43 | - return false; 44 | + return two_level; 45 | } 46 | 47 | /* 48 | -- 49 | 2.25.1 50 | 51 | -------------------------------------------------------------------------------- /kernel-patches/patches/0005-Revert-stmmac-intel-Remove-convert_art_to_tsc.tgpio: -------------------------------------------------------------------------------- 1 | From 1e81fddaf9f66ea55259d1288613875ea2ff59d9 Mon Sep 17 00:00:00 2001 2 | From: Hao Li 3 | Date: Wed, 25 Sep 2024 12:38:21 +0800 4 | Subject: [PATCH 05/43] Revert "stmmac: intel: Remove convert_art_to_tsc()" 5 | 6 | This reverts commit f5e1d0db3f02b11a0d1ef433da1fa2c869176c82. 7 | 8 | Signed-off-by: Hao Li 9 | --- 10 | drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c | 3 +-- 11 | 1 file changed, 1 insertion(+), 2 deletions(-) 12 | 13 | diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c 14 | index 83ad7c7935e31..2dbfbca606af8 100644 15 | --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c 16 | +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c 17 | @@ -390,11 +390,10 @@ static int intel_crosststamp(ktime_t *device, 18 | *device = ns_to_ktime(ptp_time); 19 | read_unlock_irqrestore(&priv->ptp_lock, flags); 20 | get_arttime(priv->mii, intel_priv->mdio_adhoc_addr, &art_time); 21 | - system->cycles = art_time; 22 | + *system = convert_art_to_tsc(art_time); 23 | } 24 | 25 | system->cycles *= intel_priv->crossts_adj; 26 | - system->cs_id = CSID_X86_ART; 27 | priv->plat->flags &= ~STMMAC_FLAG_INT_SNAPSHOT_EN; 28 | 29 | return 0; 30 | -- 31 | 2.25.1 32 | 33 | -------------------------------------------------------------------------------- /kernel-patches/patches/0005-Revert-wwan-add-NMEA-type.wwan: -------------------------------------------------------------------------------- 1 | From 4a563eb1c4e43fd10878c600f6e5a9bb2b87039d Mon Sep 17 00:00:00 2001 2 | From: "Qiao, Wei" 3 | Date: Mon, 6 Jan 2025 16:54:33 +0800 4 | Subject: [PATCH 5/9] Revert "wwan: add NMEA type" 5 | 6 | This reverts commit ef2afddce75ec3edad3c69561f9af32e9d5aca8e. 7 | --- 8 | drivers/net/wwan/mhi_wwan_ctrl.c | 1 - 9 | drivers/net/wwan/wwan_core.c | 4 ---- 10 | include/linux/wwan.h | 1 - 11 | 3 files changed, 6 deletions(-) 12 | 13 | diff --git a/drivers/net/wwan/mhi_wwan_ctrl.c b/drivers/net/wwan/mhi_wwan_ctrl.c 14 | index 9dd70f9cb6e36..290510489d673 100644 15 | --- a/drivers/net/wwan/mhi_wwan_ctrl.c 16 | +++ b/drivers/net/wwan/mhi_wwan_ctrl.c 17 | @@ -266,7 +266,6 @@ static const struct mhi_device_id mhi_wwan_ctrl_match_table[] = { 18 | { .chan = "DIAG", .driver_data = WWAN_PORT_QCDM }, 19 | { .chan = "FIREHOSE", .driver_data = WWAN_PORT_FIREHOSE }, 20 | { .chan = "SAHARA", .driver_data = WWAN_PORT_SAHARA }, 21 | - { .chan = "NMEA", .driver_data = WWAN_PORT_NMEA }, 22 | {}, 23 | }; 24 | MODULE_DEVICE_TABLE(mhi, mhi_wwan_ctrl_match_table); 25 | diff --git a/drivers/net/wwan/wwan_core.c b/drivers/net/wwan/wwan_core.c 26 | index 80d93ded93c26..d524bec8286ae 100644 27 | --- a/drivers/net/wwan/wwan_core.c 28 | +++ b/drivers/net/wwan/wwan_core.c 29 | @@ -338,10 +338,6 @@ static const struct { 30 | .name = "SAHARA", 31 | .devsuf = "sahara", 32 | }, 33 | - [WWAN_PORT_NMEA] = { 34 | - .name = "NMEA", 35 | - .devsuf = "nmea", 36 | - }, 37 | }; 38 | 39 | static ssize_t type_show(struct device *dev, struct device_attribute *attr, 40 | diff --git a/include/linux/wwan.h b/include/linux/wwan.h 41 | index 4306b87c46bbe..ef4dd4f3757e3 100644 42 | --- a/include/linux/wwan.h 43 | +++ b/include/linux/wwan.h 44 | @@ -31,7 +31,6 @@ enum wwan_port_type { 45 | WWAN_PORT_XMMRPC, 46 | WWAN_PORT_FASTBOOT, 47 | WWAN_PORT_SAHARA, 48 | - WWAN_PORT_NMEA, 49 | 50 | /* Add new port types above this line */ 51 | 52 | -- 53 | 2.25.1 54 | 55 | -------------------------------------------------------------------------------- /kernel-patches/patches/0005-media-intel-ipu6-use-vc1-dma-for-MTL-and-ARL.camera: -------------------------------------------------------------------------------- 1 | From b5c10a818389f94e0365742f293bc87280c2dba0 Mon Sep 17 00:00:00 2001 2 | From: Chen Meng J 3 | Date: Fri, 1 Nov 2024 16:41:42 +0800 4 | Subject: [PATCH 5/6] media: intel-ipu6: use vc1 dma for MTL and ARL 5 | 6 | Signed-off-by: Chen Meng J 7 | --- 8 | drivers/media/pci/intel/ipu6/ipu6-fw-isys.h | 4 ++-- 9 | drivers/media/pci/intel/ipu6/ipu6-isys-video.c | 2 +- 10 | 2 files changed, 3 insertions(+), 3 deletions(-) 11 | 12 | diff --git a/drivers/media/pci/intel/ipu6/ipu6-fw-isys.h b/drivers/media/pci/intel/ipu6/ipu6-fw-isys.h 13 | index e6ee161bd058f..545180c110cc1 100644 14 | --- a/drivers/media/pci/intel/ipu6/ipu6-fw-isys.h 15 | +++ b/drivers/media/pci/intel/ipu6/ipu6-fw-isys.h 16 | @@ -54,8 +54,8 @@ struct ipu6_isys; 17 | /* Max number of planes for frame formats supported by the FW */ 18 | #define IPU6_PIN_PLANES_MAX 4 19 | 20 | -#define IPU6_FW_ISYS_SENSOR_TYPE_START 14 21 | -#define IPU6_FW_ISYS_SENSOR_TYPE_END 19 22 | +#define IPU6_FW_ISYS_SENSOR_TYPE_START 1 23 | +#define IPU6_FW_ISYS_SENSOR_TYPE_END 10 24 | #define IPU6SE_FW_ISYS_SENSOR_TYPE_START 6 25 | #define IPU6SE_FW_ISYS_SENSOR_TYPE_END 11 26 | /* 27 | diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c b/drivers/media/pci/intel/ipu6/ipu6-isys-video.c 28 | index 6b5108b12aec9..8973f7b8ac3a2 100644 29 | --- a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c 30 | +++ b/drivers/media/pci/intel/ipu6/ipu6-isys-video.c 31 | @@ -530,7 +530,7 @@ static int ipu6_isys_fw_pin_cfg(struct ipu6_isys_video *av, 32 | output_pin->csi_be_soc_pixel_remapping = 33 | CSI_BE_SOC_PIXEL_REMAPPING_FLAG_NO_REMAPPING; 34 | 35 | - output_pin->snoopable = true; 36 | + output_pin->snoopable = false; 37 | output_pin->error_handling_enable = false; 38 | output_pin->sensor_type = isys->sensor_type++; 39 | if (isys->sensor_type > isys->pdata->ipdata->sensor_type_end) 40 | -- 41 | 2.25.1 42 | 43 | -------------------------------------------------------------------------------- /kernel-patches/patches/0005-net-phy-dp83867-perform-restart-AN-after-modifying-AN-.tsn: -------------------------------------------------------------------------------- 1 | From 043014deb06a4f5d1325383313bed05d19e1cfeb Mon Sep 17 00:00:00 2001 2 | From: Gan Yi Fang 3 | Date: Mon, 21 Nov 2022 01:28:57 -0500 4 | Subject: [PATCH 05/42] net: phy: dp83867: perform restart AN after modifying 5 | AN setting 6 | 7 | When changing link speed, the MAC side is not ready when the PHY 8 | side is up. This is causing the configuration is not updated at 9 | the MAC side. By restarting the auto negotiation, MAC side is able 10 | to update the in-band message. 11 | 12 | Fixes: 50ca4e7f91ff ("net: phy: dp83867: retrigger SGMII AN when link change") 13 | Signed-off-by: Gan Yi Fang 14 | --- 15 | drivers/net/phy/Kconfig | 1 + 16 | drivers/net/phy/dp83867.c | 4 ++++ 17 | 2 files changed, 5 insertions(+) 18 | 19 | diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig 20 | index 01b235b3bb7e8..5464a08b8dc1b 100644 21 | --- a/drivers/net/phy/Kconfig 22 | +++ b/drivers/net/phy/Kconfig 23 | @@ -407,6 +407,7 @@ config DP83848_PHY 24 | 25 | config DP83867_PHY 26 | tristate "Texas Instruments DP83867 Gigabit PHY" 27 | + depends on PHYLINK 28 | help 29 | Currently supports the DP83867 PHY. 30 | 31 | diff --git a/drivers/net/phy/dp83867.c b/drivers/net/phy/dp83867.c 32 | index 4120385c5a79d..c5e44d72392dc 100644 33 | --- a/drivers/net/phy/dp83867.c 34 | +++ b/drivers/net/phy/dp83867.c 35 | @@ -15,6 +15,7 @@ 36 | #include 37 | #include 38 | #include 39 | +#include 40 | 41 | #include 42 | 43 | @@ -1007,6 +1008,9 @@ static void dp83867_link_change_notify(struct phy_device *phydev) 44 | phy_set_bits(phydev, DP83867_CFG2, 45 | DP83867_SGMII_AUTONEG_EN); 46 | } 47 | + 48 | + if (phydev->state == PHY_NOLINK) 49 | + phylink_mii_c22_pcs_an_restart(&phydev->mdio); 50 | } 51 | 52 | static int dp83867_loopback(struct phy_device *phydev, bool enable) 53 | -- 54 | 2.25.1 55 | 56 | -------------------------------------------------------------------------------- /kernel-patches/patches/0005-serial-8250-Revert-drop-lockdep-annotation-from-serial8.rt: -------------------------------------------------------------------------------- 1 | From 45dc2371dc3a498d3dff4f9e1f39955d4f30f4d6 Mon Sep 17 00:00:00 2001 2 | From: John Ogness 3 | Date: Mon, 2 Oct 2023 15:30:43 +0000 4 | Subject: [PATCH 05/25] serial: 8250: Revert "drop lockdep annotation from 5 | serial8250_clear_IER()" 6 | 7 | The 8250 driver no longer depends on @oops_in_progress and 8 | will no longer violate the port->lock locking constraints. 9 | 10 | This reverts commit 3d9e6f556e235ddcdc9f73600fdd46fe1736b090. 11 | 12 | Signed-off-by: John Ogness 13 | Signed-off-by: Sebastian Andrzej Siewior 14 | --- 15 | drivers/tty/serial/8250/8250_port.c | 3 +++ 16 | 1 file changed, 3 insertions(+) 17 | 18 | diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c 19 | index 6282315664dd2..2cdfc737835a1 100644 20 | --- a/drivers/tty/serial/8250/8250_port.c 21 | +++ b/drivers/tty/serial/8250/8250_port.c 22 | @@ -712,6 +712,9 @@ static void __serial8250_clear_IER(struct uart_8250_port *up) 23 | 24 | static inline void serial8250_clear_IER(struct uart_8250_port *up) 25 | { 26 | + /* Port locked to synchronize UART_IER access against the console. */ 27 | + lockdep_assert_held_once(&up->port.lock); 28 | + 29 | __serial8250_clear_IER(up); 30 | } 31 | 32 | -- 33 | 2.25.1 34 | 35 | -------------------------------------------------------------------------------- /kernel-patches/patches/0005-upstream-Use-module-parameter-to-set-psys-freq.camera: -------------------------------------------------------------------------------- 1 | From 73d934339af389cb7bc018e5a8701fcccd8e9e78 Mon Sep 17 00:00:00 2001 2 | From: Dongcheng Yan 3 | Date: Tue, 30 Jul 2024 16:50:07 +0800 4 | Subject: [PATCH 05/13] upstream: Use module parameter to set psys freq 5 | 6 | Signed-off-by: Dongcheng Yan 7 | Signed-off-by: zouxiaoh 8 | --- 9 | drivers/media/pci/intel/ipu6/ipu6.c | 13 +++++++++++++ 10 | 1 file changed, 13 insertions(+) 11 | 12 | diff --git a/drivers/media/pci/intel/ipu6/ipu6.c b/drivers/media/pci/intel/ipu6/ipu6.c 13 | index 60327577e0ded..39a4bb2cdaa73 100644 14 | --- a/drivers/media/pci/intel/ipu6/ipu6.c 15 | +++ b/drivers/media/pci/intel/ipu6/ipu6.c 16 | @@ -37,6 +37,10 @@ static unsigned int isys_freq_override; 17 | module_param(isys_freq_override, uint, 0660); 18 | MODULE_PARM_DESC(isys_freq_override, "Override ISYS freq(mhz)"); 19 | 20 | +static unsigned int psys_freq_override; 21 | +module_param(psys_freq_override, uint, 0660); 22 | +MODULE_PARM_DESC(psys_freq_override, "Override PSYS freq(mhz)"); 23 | + 24 | #define IPU6_PCI_BAR 0 25 | 26 | struct ipu6_cell_program { 27 | @@ -443,6 +447,15 @@ ipu6_psys_init(struct pci_dev *pdev, struct device *parent, 28 | pdata->base = base; 29 | pdata->ipdata = ipdata; 30 | 31 | + /* Override the isys freq */ 32 | + if (psys_freq_override >= BUTTRESS_MIN_FORCE_PS_FREQ && 33 | + psys_freq_override <= BUTTRESS_MAX_FORCE_PS_FREQ) { 34 | + ctrl->ratio = psys_freq_override / BUTTRESS_PS_FREQ_STEP; 35 | + ctrl->qos_floor = psys_freq_override; 36 | + dev_dbg(&pdev->dev, "Override the psys freq:%u(mhz)\n", 37 | + psys_freq_override); 38 | + } 39 | + 40 | psys_adev = ipu6_bus_initialize_device(pdev, parent, pdata, ctrl, 41 | IPU6_PSYS_NAME); 42 | if (IS_ERR(psys_adev)) { 43 | -- 44 | 2.25.1 45 | 46 | -------------------------------------------------------------------------------- /kernel-patches/patches/0005-wwan-add-NMEA-type.wwan: -------------------------------------------------------------------------------- 1 | From ef2afddce75ec3edad3c69561f9af32e9d5aca8e Mon Sep 17 00:00:00 2001 2 | From: Daniele Palmas 3 | Date: Thu, 28 Jul 2022 16:37:26 +0200 4 | Subject: [PATCH 5/9] wwan: add NMEA type 5 | 6 | Signed-off-by: Daniele Palmas 7 | --- 8 | drivers/net/wwan/mhi_wwan_ctrl.c | 1 + 9 | drivers/net/wwan/wwan_core.c | 4 ++++ 10 | include/linux/wwan.h | 1 + 11 | 3 files changed, 6 insertions(+) 12 | 13 | diff --git a/drivers/net/wwan/mhi_wwan_ctrl.c b/drivers/net/wwan/mhi_wwan_ctrl.c 14 | index 290510489d673..9dd70f9cb6e36 100644 15 | --- a/drivers/net/wwan/mhi_wwan_ctrl.c 16 | +++ b/drivers/net/wwan/mhi_wwan_ctrl.c 17 | @@ -266,6 +266,7 @@ static const struct mhi_device_id mhi_wwan_ctrl_match_table[] = { 18 | { .chan = "DIAG", .driver_data = WWAN_PORT_QCDM }, 19 | { .chan = "FIREHOSE", .driver_data = WWAN_PORT_FIREHOSE }, 20 | { .chan = "SAHARA", .driver_data = WWAN_PORT_SAHARA }, 21 | + { .chan = "NMEA", .driver_data = WWAN_PORT_NMEA }, 22 | {}, 23 | }; 24 | MODULE_DEVICE_TABLE(mhi, mhi_wwan_ctrl_match_table); 25 | diff --git a/drivers/net/wwan/wwan_core.c b/drivers/net/wwan/wwan_core.c 26 | index d524bec8286ae..80d93ded93c26 100644 27 | --- a/drivers/net/wwan/wwan_core.c 28 | +++ b/drivers/net/wwan/wwan_core.c 29 | @@ -338,6 +338,10 @@ static const struct { 30 | .name = "SAHARA", 31 | .devsuf = "sahara", 32 | }, 33 | + [WWAN_PORT_NMEA] = { 34 | + .name = "NMEA", 35 | + .devsuf = "nmea", 36 | + }, 37 | }; 38 | 39 | static ssize_t type_show(struct device *dev, struct device_attribute *attr, 40 | diff --git a/include/linux/wwan.h b/include/linux/wwan.h 41 | index ef4dd4f3757e3..4306b87c46bbe 100644 42 | --- a/include/linux/wwan.h 43 | +++ b/include/linux/wwan.h 44 | @@ -31,6 +31,7 @@ enum wwan_port_type { 45 | WWAN_PORT_XMMRPC, 46 | WWAN_PORT_FASTBOOT, 47 | WWAN_PORT_SAHARA, 48 | + WWAN_PORT_NMEA, 49 | 50 | /* Add new port types above this line */ 51 | 52 | -- 53 | 2.25.1 54 | 55 | -------------------------------------------------------------------------------- /kernel-patches/patches/0006-Revert-igc-Remove-convert_art_ns_to_tsc.tgpio: -------------------------------------------------------------------------------- 1 | From a7a0d14514f912253e15dd8501188f92c3c8e5a4 Mon Sep 17 00:00:00 2001 2 | From: Hao Li 3 | Date: Wed, 25 Sep 2024 12:38:33 +0800 4 | Subject: [PATCH 06/43] Revert "igc: Remove convert_art_ns_to_tsc()" 5 | 6 | This reverts commit fcb05911e5832364c5f154b519a471225b34855e. 7 | 8 | Signed-off-by: Hao Li 9 | --- 10 | drivers/net/ethernet/intel/igc/igc_ptp.c | 6 +----- 11 | 1 file changed, 1 insertion(+), 5 deletions(-) 12 | 13 | diff --git a/drivers/net/ethernet/intel/igc/igc_ptp.c b/drivers/net/ethernet/intel/igc/igc_ptp.c 14 | index 946edbad43022..1bb026232efce 100644 15 | --- a/drivers/net/ethernet/intel/igc/igc_ptp.c 16 | +++ b/drivers/net/ethernet/intel/igc/igc_ptp.c 17 | @@ -938,11 +938,7 @@ static bool igc_is_crosststamp_supported(struct igc_adapter *adapter) 18 | static struct system_counterval_t igc_device_tstamp_to_system(u64 tstamp) 19 | { 20 | #if IS_ENABLED(CONFIG_X86_TSC) && !defined(CONFIG_UML) 21 | - return (struct system_counterval_t) { 22 | - .cs_id = CSID_X86_ART, 23 | - .cycles = tstamp, 24 | - .use_nsecs = true, 25 | - }; 26 | + return convert_art_ns_to_tsc(tstamp); 27 | #else 28 | return (struct system_counterval_t) { }; 29 | #endif 30 | -- 31 | 2.25.1 32 | 33 | -------------------------------------------------------------------------------- /kernel-patches/patches/0006-Revert-net-stmmac-set-initial-EEE-policy-configurati.tsn: -------------------------------------------------------------------------------- 1 | From f90d04942b56016c8b10b96b7ee22e548ecf24cf Mon Sep 17 00:00:00 2001 2 | From: Choong Yong Liang 3 | Date: Wed, 22 Jan 2025 17:43:08 +0800 4 | Subject: [PATCH 6/6] Revert "net: stmmac: set initial EEE policy 5 | configuration" 6 | 7 | This reverts commit 93d89d8a7e3615d77f6091ff44e942317fc12cfd. 8 | --- 9 | drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 3 --- 10 | 1 file changed, 3 deletions(-) 11 | 12 | diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 13 | index 5d830cfcce2cc..a76f4cda93da1 100644 14 | --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 15 | +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 16 | @@ -1224,9 +1224,6 @@ static int stmmac_init_phy(struct net_device *dev) 17 | if (priv->dma_cap.eee) 18 | phy_support_eee(phydev); 19 | 20 | - if (priv->dma_cap.eee) 21 | - phy_support_eee(phydev); 22 | - 23 | ret = phylink_connect_phy(priv->phylink, phydev); 24 | } else { 25 | fwnode_handle_put(phy_fwnode); 26 | -- 27 | 2.25.1 28 | 29 | -------------------------------------------------------------------------------- /kernel-patches/patches/0006-locking-rt-Remove-one-__cond_lock-in-RT-s-spin_trylock_.rt: -------------------------------------------------------------------------------- 1 | From 50c8889e29e596e7e188bcf4e09bf2ab2e4a4ea5 Mon Sep 17 00:00:00 2001 2 | From: Sebastian Andrzej Siewior 3 | Date: Mon, 12 Aug 2024 12:39:03 +0200 4 | Subject: [PATCH 06/25] locking/rt: Remove one __cond_lock() in RT's 5 | spin_trylock_irqsave() 6 | 7 | spin_trylock_irqsave() has a __cond_lock() wrapper which points to 8 | __spin_trylock_irqsave(). The function then invokes spin_trylock() which 9 | has another __cond_lock() finally pointing to rt_spin_trylock(). 10 | 11 | The compiler has no problem to parse this but sparse does not recognise 12 | that users of spin_trylock_irqsave() acquire a conditional lock and 13 | complains. 14 | 15 | Remove one layer of __cond_lock() so that sparse recognises conditional 16 | locking. 17 | 18 | Link: https://lore.kernel.org/r/20240812104200.2239232-3-bigeasy@linutronix.de 19 | Signed-off-by: Sebastian Andrzej Siewior 20 | --- 21 | include/linux/spinlock_rt.h | 5 +---- 22 | 1 file changed, 1 insertion(+), 4 deletions(-) 23 | 24 | diff --git a/include/linux/spinlock_rt.h b/include/linux/spinlock_rt.h 25 | index 6175cd682ca0d..f6499c37157df 100644 26 | --- a/include/linux/spinlock_rt.h 27 | +++ b/include/linux/spinlock_rt.h 28 | @@ -131,7 +131,7 @@ static __always_inline void spin_unlock_irqrestore(spinlock_t *lock, 29 | #define spin_trylock_irq(lock) \ 30 | __cond_lock(lock, rt_spin_trylock(lock)) 31 | 32 | -#define __spin_trylock_irqsave(lock, flags) \ 33 | +#define spin_trylock_irqsave(lock, flags) \ 34 | ({ \ 35 | int __locked; \ 36 | \ 37 | @@ -141,9 +141,6 @@ static __always_inline void spin_unlock_irqrestore(spinlock_t *lock, 38 | __locked; \ 39 | }) 40 | 41 | -#define spin_trylock_irqsave(lock, flags) \ 42 | - __cond_lock(lock, __spin_trylock_irqsave(lock, flags)) 43 | - 44 | #define spin_is_contended(lock) (((void)(lock), 0)) 45 | 46 | static inline int spin_is_locked(spinlock_t *lock) 47 | -- 48 | 2.25.1 49 | 50 | -------------------------------------------------------------------------------- /kernel-patches/patches/0006-media-i2c-fix-power-on-issue-for-on-board-LT6911UXC.camera: -------------------------------------------------------------------------------- 1 | From d0cd0e3fdec5e34d5057d9549ecdd162c1432b3a Mon Sep 17 00:00:00 2001 2 | From: hepengpx 3 | Date: Wed, 21 May 2025 10:26:12 +0800 4 | Subject: [PATCH 6/7] media: i2c: fix power-on issue for on board LT6911UXC 5 | 6 | [media][i2c] fix power on issue for on board LT6911UXC 7 | Signed-off-by: hepengpx 8 | --- 9 | drivers/media/i2c/lt6911uxc.c | 2 +- 10 | 1 file changed, 1 insertion(+), 1 deletion(-) 11 | 12 | diff --git a/drivers/media/i2c/lt6911uxc.c b/drivers/media/i2c/lt6911uxc.c 13 | index eb8ff57471009..c84de5a3c139e 100644 14 | --- a/drivers/media/i2c/lt6911uxc.c 15 | +++ b/drivers/media/i2c/lt6911uxc.c 16 | @@ -553,7 +553,7 @@ static int lt6911uxc_identify_module(struct lt6911uxc *lt6911uxc, 17 | 18 | static int lt6911uxc_parse_gpio(struct lt6911uxc *lt6911uxc, struct device *dev) 19 | { 20 | - lt6911uxc->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_IN); 21 | + lt6911uxc->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW); 22 | if (IS_ERR(lt6911uxc->reset_gpio)) { 23 | lt6911uxc->auxiliary_port = true; 24 | return dev_err_probe(dev, PTR_ERR(lt6911uxc->reset_gpio), 25 | -- 26 | 2.34.1 27 | 28 | -------------------------------------------------------------------------------- /kernel-patches/patches/0007-Revert-bus-mhi-host-allow-SBL-as-initial-EE.wwan: -------------------------------------------------------------------------------- 1 | From bd774a54a45e9fbfcca5477fe57e49f1a0ca744d Mon Sep 17 00:00:00 2001 2 | From: "Qiao, Wei" 3 | Date: Mon, 6 Jan 2025 16:54:51 +0800 4 | Subject: [PATCH 7/9] Revert "bus: mhi: host: allow SBL as initial EE" 5 | 6 | This reverts commit 32f346ee23bcf98937fab2356321563d1640c839. 7 | --- 8 | drivers/bus/mhi/host/internal.h | 2 +- 9 | drivers/bus/mhi/host/pm.c | 3 +-- 10 | 2 files changed, 2 insertions(+), 3 deletions(-) 11 | 12 | diff --git a/drivers/bus/mhi/host/internal.h b/drivers/bus/mhi/host/internal.h 13 | index 304870cb7611e..d057e877932e3 100644 14 | --- a/drivers/bus/mhi/host/internal.h 15 | +++ b/drivers/bus/mhi/host/internal.h 16 | @@ -67,7 +67,7 @@ extern const char * const mhi_ee_str[MHI_EE_MAX]; 17 | 18 | #define MHI_IN_PBL(ee) (ee == MHI_EE_PBL || ee == MHI_EE_PTHRU || \ 19 | ee == MHI_EE_EDL) 20 | -#define MHI_POWER_UP_CAPABLE(ee) (MHI_IN_PBL(ee) || ee == MHI_EE_AMSS || ee == MHI_EE_SBL) 21 | +#define MHI_POWER_UP_CAPABLE(ee) (MHI_IN_PBL(ee) || ee == MHI_EE_AMSS) 22 | #define MHI_FW_LOAD_CAPABLE(ee) (ee == MHI_EE_PBL || ee == MHI_EE_EDL) 23 | #define MHI_IN_MISSION_MODE(ee) (ee == MHI_EE_AMSS || ee == MHI_EE_WFW || \ 24 | ee == MHI_EE_FP) 25 | diff --git a/drivers/bus/mhi/host/pm.c b/drivers/bus/mhi/host/pm.c 26 | index a69d21075e98a..11c0e751f2239 100644 27 | --- a/drivers/bus/mhi/host/pm.c 28 | +++ b/drivers/bus/mhi/host/pm.c 29 | @@ -1263,11 +1263,10 @@ int mhi_sync_power_up(struct mhi_controller *mhi_cntrl) 30 | mhi_cntrl->ready_timeout_ms : mhi_cntrl->timeout_ms; 31 | wait_event_timeout(mhi_cntrl->state_event, 32 | MHI_IN_MISSION_MODE(mhi_cntrl->ee) || 33 | - mhi_cntrl->ee == MHI_EE_SBL || 34 | MHI_PM_IN_ERROR_STATE(mhi_cntrl->pm_state), 35 | msecs_to_jiffies(timeout_ms)); 36 | 37 | - ret = (MHI_IN_MISSION_MODE(mhi_cntrl->ee) || mhi_cntrl->ee == MHI_EE_SBL) ? 0 : -ETIMEDOUT; 38 | + ret = (MHI_IN_MISSION_MODE(mhi_cntrl->ee)) ? 0 : -ETIMEDOUT; 39 | if (ret) 40 | mhi_power_down(mhi_cntrl, false); 41 | 42 | -- 43 | 2.25.1 44 | 45 | -------------------------------------------------------------------------------- /kernel-patches/patches/0007-Revert-e1000e-Replace-convert_art_to_tsc.tgpio: -------------------------------------------------------------------------------- 1 | From a9d46fce9ad7e02bd24d6e3667d77afb884dc957 Mon Sep 17 00:00:00 2001 2 | From: Hao Li 3 | Date: Wed, 25 Sep 2024 12:38:49 +0800 4 | Subject: [PATCH 07/43] Revert "e1000e: Replace convert_art_to_tsc()" 5 | 6 | This reverts commit bd48b50be50ac5678a7e26c39f6779d7fadf128b. 7 | 8 | Signed-off-by: Hao Li 9 | --- 10 | drivers/net/ethernet/intel/e1000e/ptp.c | 3 +-- 11 | 1 file changed, 1 insertion(+), 2 deletions(-) 12 | 13 | diff --git a/drivers/net/ethernet/intel/e1000e/ptp.c b/drivers/net/ethernet/intel/e1000e/ptp.c 14 | index 89d57dd911dc8..bbcfd529399b0 100644 15 | --- a/drivers/net/ethernet/intel/e1000e/ptp.c 16 | +++ b/drivers/net/ethernet/intel/e1000e/ptp.c 17 | @@ -124,8 +124,7 @@ static int e1000e_phc_get_syncdevicetime(ktime_t *device, 18 | sys_cycles = er32(PLTSTMPH); 19 | sys_cycles <<= 32; 20 | sys_cycles |= er32(PLTSTMPL); 21 | - system->cycles = sys_cycles; 22 | - system->cs_id = CSID_X86_ART; 23 | + *system = convert_art_to_tsc(sys_cycles); 24 | 25 | return 0; 26 | } 27 | -- 28 | 2.25.1 29 | 30 | -------------------------------------------------------------------------------- /kernel-patches/patches/0007-drivers-bus-mhi-add-FN990-NMEA-and-DIAG-in-SBL-device.wwan: -------------------------------------------------------------------------------- 1 | From 051eefd21490337763af6c23a26defedc6bc378d Mon Sep 17 00:00:00 2001 2 | From: Daniele Palmas 3 | Date: Fri, 30 Sep 2022 09:07:06 +0200 4 | Subject: [PATCH 7/9] drivers: bus: mhi: add FN990 NMEA and DIAG in SBL devices 5 | 6 | Signed-off-by: Daniele Palmas 7 | --- 8 | drivers/bus/mhi/host/pci_generic.c | 6 ++++-- 9 | 1 file changed, 4 insertions(+), 2 deletions(-) 10 | 11 | diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c 12 | index 87891ed9a7f00..e74dddb52897e 100644 13 | --- a/drivers/bus/mhi/host/pci_generic.c 14 | +++ b/drivers/bus/mhi/host/pci_generic.c 15 | @@ -728,14 +728,16 @@ static const struct mhi_pci_dev_info mhi_telit_fn980_hw_v2_info = { 16 | static const struct mhi_channel_config mhi_telit_fn990_channels[] = { 17 | MHI_CHANNEL_CONFIG_UL_SBL(2, "SAHARA", 32, 0), 18 | MHI_CHANNEL_CONFIG_DL_SBL(3, "SAHARA", 32, 0), 19 | - MHI_CHANNEL_CONFIG_UL(4, "DIAG", 64, 1), 20 | - MHI_CHANNEL_CONFIG_DL(5, "DIAG", 64, 1), 21 | + MHI_CHANNEL_CONFIG_AMSS_SBL_UL(4, "DIAG", 64, 1), 22 | + MHI_CHANNEL_CONFIG_AMSS_SBL_DL(5, "DIAG", 64, 1), 23 | MHI_CHANNEL_CONFIG_UL(12, "MBIM", 32, 0), 24 | MHI_CHANNEL_CONFIG_DL(13, "MBIM", 32, 0), 25 | MHI_CHANNEL_CONFIG_UL(32, "DUN", 32, 0), 26 | MHI_CHANNEL_CONFIG_DL(33, "DUN", 32, 0), 27 | MHI_CHANNEL_CONFIG_UL(92, "DUN2", 32, 1), 28 | MHI_CHANNEL_CONFIG_DL(93, "DUN2", 32, 1), 29 | + MHI_CHANNEL_CONFIG_UL(94, "NMEA", 8, 1), 30 | + MHI_CHANNEL_CONFIG_DL(95, "NMEA", 8, 1), 31 | MHI_CHANNEL_CONFIG_HW_UL(100, "IP_HW0_MBIM", 128, 2), 32 | MHI_CHANNEL_CONFIG_HW_DL(101, "IP_HW0_MBIM", 128, 3), 33 | }; 34 | -- 35 | 2.25.1 36 | 37 | -------------------------------------------------------------------------------- /kernel-patches/patches/0007-media-i2c-fix-power-on-issue-for-on-board-LT6911UXE.camera: -------------------------------------------------------------------------------- 1 | From 9cb5af739bf84341d10fe810e745d9bb89bf98ff Mon Sep 17 00:00:00 2001 2 | From: hepengpx 3 | Date: Mon, 12 May 2025 18:19:49 +0800 4 | Subject: [PATCH 7/7] media: i2c: fix power-on issue for on-board LT6911UXE 5 | 6 | For on board LT6911UXE, RESET GPIO should be output type. 7 | 8 | Signed-off-by: hepengpx 9 | --- 10 | drivers/media/i2c/lt6911uxe.c | 2 +- 11 | 1 file changed, 1 insertion(+), 1 deletion(-) 12 | 13 | diff --git a/drivers/media/i2c/lt6911uxe.c b/drivers/media/i2c/lt6911uxe.c 14 | index 87258af399a0e..5d7cd56ee013f 100644 15 | --- a/drivers/media/i2c/lt6911uxe.c 16 | +++ b/drivers/media/i2c/lt6911uxe.c 17 | @@ -595,7 +595,7 @@ static int lt6911uxe_probe(struct i2c_client *client) 18 | 19 | v4l2_i2c_subdev_init(<6911uxe->sd, client, <6911uxe_subdev_ops); 20 | 21 | - lt6911uxe->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_IN); 22 | + lt6911uxe->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW); 23 | if (IS_ERR(lt6911uxe->reset_gpio)) 24 | return dev_err_probe(dev, PTR_ERR(lt6911uxe->reset_gpio), 25 | "failed to get reset gpio\n"); 26 | -- 27 | 2.34.1 28 | 29 | -------------------------------------------------------------------------------- /kernel-patches/patches/0008-EDAC-skx_common-Prepare-skx_set_hi_lo.edac: -------------------------------------------------------------------------------- 1 | From 3c630511f3386acfcb23f64f025297626f8388e5 Mon Sep 17 00:00:00 2001 2 | From: Qiuxu Zhuo 3 | Date: Mon, 24 Jun 2024 16:37:47 +0800 4 | Subject: [PATCH 8/9] EDAC/skx_common: Prepare skx_set_hi_lo() 5 | 6 | The upcoming imh_edac for Intel Diamnd Rpids EDAC driver cannot 7 | use skx_get_hi_lo() in skx_common to retrieve the TOHM (Top of High 8 | Memory) and TOLM (Top of Low Memory) parameters. Instead, it obtains 9 | these parameters within its own EDAC driver. To accommodate this, 10 | prepare skx_set_hi_lo() to allow the driver to notify skx_common of 11 | these parameters. 12 | 13 | Signed-off-by: Qiuxu Zhuo 14 | --- 15 | drivers/edac/skx_common.c | 7 +++++++ 16 | drivers/edac/skx_common.h | 1 + 17 | 2 files changed, 8 insertions(+) 18 | 19 | diff --git a/drivers/edac/skx_common.c b/drivers/edac/skx_common.c 20 | index 7c5e61af8025b..b0a29f4954f4a 100644 21 | --- a/drivers/edac/skx_common.c 22 | +++ b/drivers/edac/skx_common.c 23 | @@ -361,6 +361,13 @@ int skx_get_hi_lo(unsigned int did, int off[], u64 *tolm, u64 *tohm) 24 | } 25 | EXPORT_SYMBOL_GPL(skx_get_hi_lo); 26 | 27 | +void skx_set_hi_lo(u64 tolm, u64 tohm) 28 | +{ 29 | + skx_tolm = tolm; 30 | + skx_tohm = tohm; 31 | +} 32 | +EXPORT_SYMBOL_GPL(skx_set_hi_lo); 33 | + 34 | static int skx_get_dimm_attr(u32 reg, int lobit, int hibit, int add, 35 | int minval, int maxval, const char *name) 36 | { 37 | diff --git a/drivers/edac/skx_common.h b/drivers/edac/skx_common.h 38 | index bc1e368f03908..81d593ecb1b74 100644 39 | --- a/drivers/edac/skx_common.h 40 | +++ b/drivers/edac/skx_common.h 41 | @@ -251,6 +251,7 @@ int skx_get_all_bus_mappings(struct res_config *cfg, struct list_head **list); 42 | struct list_head *skx_get_edac_list(void); 43 | 44 | int skx_get_hi_lo(unsigned int did, int off[], u64 *tolm, u64 *tohm); 45 | +void skx_set_hi_lo(u64 tolm, u64 tohm); 46 | 47 | int skx_get_dimm_info(u32 mtr, u32 mcmtr, u32 amap, struct dimm_info *dimm, 48 | struct skx_imc *imc, int chan, int dimmno, 49 | -- 50 | 2.25.1 51 | 52 | -------------------------------------------------------------------------------- /kernel-patches/patches/0008-Revert-wwan-add-SAHARA-device.wwan: -------------------------------------------------------------------------------- 1 | From 3d3595f5edba4281f577588debf0eb496b2ad089 Mon Sep 17 00:00:00 2001 2 | From: "Qiao, Wei" 3 | Date: Mon, 6 Jan 2025 16:55:00 +0800 4 | Subject: [PATCH 8/9] Revert "wwan: add SAHARA device" 5 | 6 | This reverts commit 0cf6d20bf37608a778f0f72928761b4105ffdac3. 7 | --- 8 | drivers/net/wwan/mhi_wwan_ctrl.c | 1 - 9 | drivers/net/wwan/wwan_core.c | 4 ---- 10 | include/linux/wwan.h | 1 - 11 | 3 files changed, 6 deletions(-) 12 | 13 | diff --git a/drivers/net/wwan/mhi_wwan_ctrl.c b/drivers/net/wwan/mhi_wwan_ctrl.c 14 | index 79bf6ce48ad5d..e9f979d2d851f 100644 15 | --- a/drivers/net/wwan/mhi_wwan_ctrl.c 16 | +++ b/drivers/net/wwan/mhi_wwan_ctrl.c 17 | @@ -263,7 +263,6 @@ static const struct mhi_device_id mhi_wwan_ctrl_match_table[] = { 18 | { .chan = "QMI", .driver_data = WWAN_PORT_QMI }, 19 | { .chan = "DIAG", .driver_data = WWAN_PORT_QCDM }, 20 | { .chan = "FIREHOSE", .driver_data = WWAN_PORT_FIREHOSE }, 21 | - { .chan = "SAHARA", .driver_data = WWAN_PORT_SAHARA }, 22 | {}, 23 | }; 24 | MODULE_DEVICE_TABLE(mhi, mhi_wwan_ctrl_match_table); 25 | diff --git a/drivers/net/wwan/wwan_core.c b/drivers/net/wwan/wwan_core.c 26 | index a25333580438e..65a7ed4d67660 100644 27 | --- a/drivers/net/wwan/wwan_core.c 28 | +++ b/drivers/net/wwan/wwan_core.c 29 | @@ -334,10 +334,6 @@ static const struct { 30 | .name = "FASTBOOT", 31 | .devsuf = "fastboot", 32 | }, 33 | - [WWAN_PORT_SAHARA] = { 34 | - .name = "SAHARA", 35 | - .devsuf = "sahara", 36 | - }, 37 | }; 38 | 39 | static ssize_t type_show(struct device *dev, struct device_attribute *attr, 40 | diff --git a/include/linux/wwan.h b/include/linux/wwan.h 41 | index 739b90a1f216e..170fdee6339c7 100644 42 | --- a/include/linux/wwan.h 43 | +++ b/include/linux/wwan.h 44 | @@ -30,7 +30,6 @@ enum wwan_port_type { 45 | WWAN_PORT_FIREHOSE, 46 | WWAN_PORT_XMMRPC, 47 | WWAN_PORT_FASTBOOT, 48 | - WWAN_PORT_SAHARA, 49 | 50 | /* Add new port types above this line */ 51 | 52 | -- 53 | 2.25.1 54 | 55 | -------------------------------------------------------------------------------- /kernel-patches/patches/0008-driver-media-i2c-remove-useless-header-file.camera: -------------------------------------------------------------------------------- 1 | From e45b26aff9ad81fcab4d449cc192f6735d2f71ec Mon Sep 17 00:00:00 2001 2 | From: zouxiaoh 3 | Date: Tue, 8 Oct 2024 11:25:07 +0800 4 | Subject: [PATCH 08/13] driver: media: i2c: remove useless header file 5 | 6 | Signed-off-by: zouxiaoh 7 | --- 8 | drivers/media/i2c/ar0234.c | 1 - 9 | 1 file changed, 1 deletion(-) 10 | 11 | diff --git a/drivers/media/i2c/ar0234.c b/drivers/media/i2c/ar0234.c 12 | index 80fe5ffd1c64a..ab7628c69664f 100644 13 | --- a/drivers/media/i2c/ar0234.c 14 | +++ b/drivers/media/i2c/ar0234.c 15 | @@ -7,7 +7,6 @@ 16 | #include 17 | #include 18 | #include 19 | -#include 20 | 21 | #include 22 | #include 23 | -- 24 | 2.25.1 25 | 26 | -------------------------------------------------------------------------------- /kernel-patches/patches/0008-drm-i915-gt-Enable-the-early-register-to-working-win.sriov: -------------------------------------------------------------------------------- 1 | From 458b58137f9dfec8a6f5089794f5c1b5d2c416e0 Mon Sep 17 00:00:00 2001 2 | From: "Zawawi, Muhammad Zul Husni" 3 | Date: Wed, 9 Feb 2022 16:40:13 +0800 4 | Subject: [PATCH 08/48] drm/i915/gt: Enable the early register to working winVM 5 | YB issue 6 | 7 | Window VM required this early register to load it's GFX driver 8 | properly. 9 | 10 | Signed-off-by: Zawawi, Muhammad Zul Husni 11 | --- 12 | drivers/gpu/drm/i915/gt/iov/intel_iov_service.c | 1 + 13 | 1 file changed, 1 insertion(+) 14 | 15 | diff --git a/drivers/gpu/drm/i915/gt/iov/intel_iov_service.c b/drivers/gpu/drm/i915/gt/iov/intel_iov_service.c 16 | index dae4f88a95705..f002b5c1b4b92 100644 17 | --- a/drivers/gpu/drm/i915/gt/iov/intel_iov_service.c 18 | +++ b/drivers/gpu/drm/i915/gt/iov/intel_iov_service.c 19 | @@ -35,6 +35,7 @@ static const i915_reg_t tgl_runtime_regs[] = { 20 | GEN11_GT_SLICE_ENABLE, /* _MMIO(0x9138) */ 21 | GEN12_GT_GEOMETRY_DSS_ENABLE, /* _MMIO(0x913C) */ 22 | GEN11_GT_VEBOX_VDBOX_DISABLE, /* _MMIO(0x9140) */ 23 | + GEN12_GT_COMPUTE_DSS_ENABLE, /* _MMIO(0x9144) */ 24 | CTC_MODE, /* _MMIO(0xA26C) */ 25 | GEN11_HUC_KERNEL_LOAD_INFO, /* _MMIO(0xC1DC) */ 26 | GEN9_TIMESTAMP_OVERRIDE, /* _MMIO(0x44074) */ 27 | -- 28 | 2.25.1 29 | 30 | -------------------------------------------------------------------------------- /kernel-patches/patches/0008-locking-rt-Annotate-unlock-followed-by-lock-for-sparse.rt: -------------------------------------------------------------------------------- 1 | From 18edb2d1aa403fdec493d98b7aafb757580d67d2 Mon Sep 17 00:00:00 2001 2 | From: Sebastian Andrzej Siewior 3 | Date: Mon, 12 Aug 2024 12:39:05 +0200 4 | Subject: [PATCH 08/25] locking/rt: Annotate unlock followed by lock for 5 | sparse. 6 | 7 | rt_mutex_slowlock_block() and rtlock_slowlock_locked() both unlock 8 | lock::wait_lock and then lock it later. This is unusual and sparse 9 | complains about it. 10 | 11 | Add __releases() + __acquires() annotation to mark that it is expected. 12 | 13 | Link: https://lore.kernel.org/r/20240812104200.2239232-5-bigeasy@linutronix.de 14 | Signed-off-by: Sebastian Andrzej Siewior 15 | --- 16 | kernel/locking/rtmutex.c | 2 ++ 17 | 1 file changed, 2 insertions(+) 18 | 19 | diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c 20 | index ebebd0eec7f63..d3b72c2f983f7 100644 21 | --- a/kernel/locking/rtmutex.c 22 | +++ b/kernel/locking/rtmutex.c 23 | @@ -1601,6 +1601,7 @@ static int __sched rt_mutex_slowlock_block(struct rt_mutex_base *lock, 24 | unsigned int state, 25 | struct hrtimer_sleeper *timeout, 26 | struct rt_mutex_waiter *waiter) 27 | + __releases(&lock->wait_lock) __acquires(&lock->wait_lock) 28 | { 29 | struct rt_mutex *rtm = container_of(lock, struct rt_mutex, rtmutex); 30 | struct task_struct *owner; 31 | @@ -1805,6 +1806,7 @@ static __always_inline int __rt_mutex_lock(struct rt_mutex_base *lock, 32 | * @lock: The underlying RT mutex 33 | */ 34 | static void __sched rtlock_slowlock_locked(struct rt_mutex_base *lock) 35 | + __releases(&lock->wait_lock) __acquires(&lock->wait_lock) 36 | { 37 | struct rt_mutex_waiter waiter; 38 | struct task_struct *owner; 39 | -- 40 | 2.25.1 41 | 42 | -------------------------------------------------------------------------------- /kernel-patches/patches/0008-stmmac-intel-skip-xpcs-reset-for-2.5Gbps-on-Intel-Alde.tsn: -------------------------------------------------------------------------------- 1 | From df91c82f11861d900c4dd9599e88a418745c4a68 Mon Sep 17 00:00:00 2001 2 | From: Michael Sit Wei Hong 3 | Date: Fri, 4 Jun 2021 11:03:50 +0800 4 | Subject: [PATCH 08/42] stmmac: intel: skip xpcs reset for 2.5Gbps on Intel 5 | AlderLake 6 | 7 | Unlike any other platforms, Intel AlderLake has most of the SerDes 8 | PLL clock configuration done in the BIOS. Hence, we need to avoid 9 | performing a xPCS soft reset on driver load. 10 | 11 | Signed-off-by: Michael Sit Wei Hong 12 | --- 13 | drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c | 2 ++ 14 | 1 file changed, 2 insertions(+) 15 | 16 | diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c 17 | index 3f8378a174a5e..d34e075313128 100644 18 | --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c 19 | +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c 20 | @@ -812,6 +812,7 @@ static int adls_sgmii_phy0_data(struct pci_dev *pdev, 21 | { 22 | plat->bus_id = 1; 23 | plat->phy_interface = PHY_INTERFACE_MODE_SGMII; 24 | + plat->skip_reset = 1; 25 | 26 | /* SerDes power up and power down are done in BIOS for ADL */ 27 | 28 | @@ -827,6 +828,7 @@ static int adls_sgmii_phy1_data(struct pci_dev *pdev, 29 | { 30 | plat->bus_id = 2; 31 | plat->phy_interface = PHY_INTERFACE_MODE_SGMII; 32 | + plat->skip_reset = 1; 33 | 34 | /* SerDes power up and power down are done in BIOS for ADL */ 35 | 36 | -- 37 | 2.25.1 38 | 39 | -------------------------------------------------------------------------------- /kernel-patches/patches/0009-EDAC-igen6-Add-Intel-Pnther-Lake-H-SoCs-support.edac: -------------------------------------------------------------------------------- 1 | From 30ba787735dc4dbabd98e5e2942f09ddf2493bfd Mon Sep 17 00:00:00 2001 2 | From: Lili Li 3 | Date: Sat, 12 Oct 2024 15:14:39 +0800 4 | Subject: [PATCH 9/9] EDAC/igen6: Add Intel Pnther Lake-H SoCs support 5 | 6 | Pnther Lake-H SoCs share the same IBECC registers with Meteor Lake-P 7 | SoCs. Add Pnther Lake-H SoC compute die IDs for EDAC support. 8 | 9 | Signed-off-by: Lili Li 10 | Signed-off-by: Qiuxu Zhuo 11 | Signed-off-by: Tony Luck 12 | Reviewed-by: Qiuxu Zhuo 13 | Link: https://lore.kernel.org/r/20241012071439.54165-1-qiuxu.zhuo@intel.com 14 | --- 15 | drivers/edac/igen6_edac.c | 8 ++++++++ 16 | 1 file changed, 8 insertions(+) 17 | 18 | diff --git a/drivers/edac/igen6_edac.c b/drivers/edac/igen6_edac.c 19 | index c25790a9da2de..77f8e003b5b27 100644 20 | --- a/drivers/edac/igen6_edac.c 21 | +++ b/drivers/edac/igen6_edac.c 22 | @@ -264,6 +264,11 @@ static struct work_struct ecclog_work; 23 | #define DID_ARL_UH_SKU2 0x7d20 24 | #define DID_ARL_UH_SKU3 0x7d30 25 | 26 | +/* Compute die IDs for Pan ther Lake-H with IBECC */ 27 | +#define DID_PTL_H_SKU1 0xb000 28 | +#define DID_PTL_H_SKU2 0xb001 29 | +#define DID_PTL_H_SKU3 0xb002 30 | + 31 | static int get_mchbar(struct pci_dev *pdev, u64 *mchbar) 32 | { 33 | union { 34 | @@ -606,6 +611,9 @@ static const struct pci_device_id igen6_pci_tbl[] = { 35 | { PCI_VDEVICE(INTEL, DID_ARL_UH_SKU1), (kernel_ulong_t)&mtl_p_cfg }, 36 | { PCI_VDEVICE(INTEL, DID_ARL_UH_SKU2), (kernel_ulong_t)&mtl_p_cfg }, 37 | { PCI_VDEVICE(INTEL, DID_ARL_UH_SKU3), (kernel_ulong_t)&mtl_p_cfg }, 38 | + { PCI_VDEVICE(INTEL, DID_PTL_H_SKU1), (kernel_ulong_t)&mtl_p_cfg }, 39 | + { PCI_VDEVICE(INTEL, DID_PTL_H_SKU2), (kernel_ulong_t)&mtl_p_cfg }, 40 | + { PCI_VDEVICE(INTEL, DID_PTL_H_SKU3), (kernel_ulong_t)&mtl_p_cfg }, 41 | { }, 42 | }; 43 | MODULE_DEVICE_TABLE(pci, igen6_pci_tbl); 44 | -- 45 | 2.25.1 46 | 47 | -------------------------------------------------------------------------------- /kernel-patches/patches/0009-Revert-Revert-bus-mhi-host-pci_generic-add-support-fo.wwan: -------------------------------------------------------------------------------- 1 | From 1ac0cec27d85c9c7177934d82de7dfa56aaf1a9e Mon Sep 17 00:00:00 2001 2 | From: "Qiao, Wei" 3 | Date: Mon, 6 Jan 2025 16:55:07 +0800 4 | Subject: [PATCH 9/9] Revert "Revert "bus: mhi: host: pci_generic: add support 5 | for sc8280xp-crd SDX55 variant"" 6 | 7 | This reverts commit 4ee10246e0dd22818f20b3812c5ca74b3f0a1148. 8 | --- 9 | drivers/bus/mhi/host/pci_generic.c | 2 ++ 10 | 1 file changed, 2 insertions(+) 11 | 12 | diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c 13 | index f12d6d0d3e52d..9938bb034c1cb 100644 14 | --- a/drivers/bus/mhi/host/pci_generic.c 15 | +++ b/drivers/bus/mhi/host/pci_generic.c 16 | @@ -722,6 +722,8 @@ static const struct mhi_pci_dev_info mhi_netprisma_fcun69_info = { 17 | static const struct pci_device_id mhi_pci_id_table[] = { 18 | { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0304), 19 | .driver_data = (kernel_ulong_t) &mhi_qcom_sdx24_info }, 20 | + { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, PCI_VENDOR_ID_QCOM, 0x010c), 21 | + .driver_data = (kernel_ulong_t) &mhi_foxconn_sdx55_info }, 22 | /* EM919x (sdx55), use the same vid:pid as qcom-sdx55m */ 23 | { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, 0x18d7, 0x0200), 24 | .driver_data = (kernel_ulong_t) &mhi_sierra_em919x_info }, 25 | -- 26 | 2.25.1 27 | 28 | -------------------------------------------------------------------------------- /kernel-patches/patches/0009-drivers-bus-mhi-host-fix-recovery-process-when-modem-.wwan: -------------------------------------------------------------------------------- 1 | From b4412bb81319acf5aa9334b91c917b1899ffd570 Mon Sep 17 00:00:00 2001 2 | From: Daniele Palmas 3 | Date: Fri, 14 Oct 2022 11:25:56 +0200 4 | Subject: [PATCH 9/9] drivers: bus: mhi: host: fix recovery process when modem 5 | reboots 6 | 7 | It could happen that when the modem reboots it is not immediately 8 | able to cope with PCIe requests. 9 | 10 | Add a delay in the recovery procedure as a safe guard. 11 | 12 | Signed-off-by: Daniele Palmas 13 | --- 14 | drivers/bus/mhi/host/pci_generic.c | 4 ++++ 15 | 1 file changed, 4 insertions(+) 16 | 17 | diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c 18 | index 0f3be0f73c5f1..94027ec25c37a 100644 19 | --- a/drivers/bus/mhi/host/pci_generic.c 20 | +++ b/drivers/bus/mhi/host/pci_generic.c 21 | @@ -1097,6 +1097,10 @@ static void mhi_pci_recovery_work(struct work_struct *work) 22 | mhi_unprepare_after_power_down(mhi_cntrl); 23 | } 24 | 25 | + dev_dbg(&pdev->dev, "Waiting 40 seconds for allowing the modem to restore PCIe\n"); 26 | + msleep(40000); 27 | + dev_dbg(&pdev->dev, "Restoring PCI saved state\n"); 28 | + 29 | pci_set_power_state(pdev, PCI_D0); 30 | pci_load_saved_state(pdev, mhi_pdev->pci_state); 31 | pci_restore_state(pdev); 32 | -- 33 | 2.25.1 34 | 35 | -------------------------------------------------------------------------------- /kernel-patches/patches/0009-drm-i915-gt-Modify-the-adls-mocs-table-same-as-tgl-m.sriov: -------------------------------------------------------------------------------- 1 | From e9266990900b0b519a71b34030c4512d694a938f Mon Sep 17 00:00:00 2001 2 | From: "Chew, Tong Liang" 3 | Date: Fri, 14 Jan 2022 02:42:31 +0800 4 | Subject: [PATCH 09/48] drm/i915/gt: Modify the adls mocs table same as tgl 5 | mocs table. 6 | 7 | ADL-S using the same mocs table as TGL. 8 | 9 | Signed-off-by: Chew, Tong Liang 10 | Signed-off-by: Zawawi, Muhammad Zul Husni 11 | --- 12 | drivers/gpu/drm/i915/gt/intel_mocs.c | 2 +- 13 | 1 file changed, 1 insertion(+), 1 deletion(-) 14 | 15 | diff --git a/drivers/gpu/drm/i915/gt/intel_mocs.c b/drivers/gpu/drm/i915/gt/intel_mocs.c 16 | index 9602480c64319..b39202aa76ec4 100644 17 | --- a/drivers/gpu/drm/i915/gt/intel_mocs.c 18 | +++ b/drivers/gpu/drm/i915/gt/intel_mocs.c 19 | @@ -477,7 +477,7 @@ static unsigned int get_mocs_settings(struct drm_i915_private *i915, 20 | table->n_entries = GEN9_NUM_MOCS_ENTRIES; 21 | table->uc_index = 1; 22 | table->unused_entries_index = 5; 23 | - } else if (IS_TIGERLAKE(i915) || IS_ROCKETLAKE(i915)) { 24 | + } else if (IS_TIGERLAKE(i915) || IS_ALDERLAKE_S(i915) || IS_ROCKETLAKE(i915)) { 25 | /* For TGL/RKL, Can't be changed now for ABI reasons */ 26 | table->size = ARRAY_SIZE(tgl_mocs_table); 27 | table->table = tgl_mocs_table; 28 | -- 29 | 2.25.1 30 | 31 | -------------------------------------------------------------------------------- /kernel-patches/patches/0009-net-stmmac-add-check-for-2.5G-mode-to-prevent-MAC-capa.tsn: -------------------------------------------------------------------------------- 1 | From 64030a7bcc6001a8c5c20c631df333a58bfb0d86 Mon Sep 17 00:00:00 2001 2 | From: Michael Sit Wei Hong 3 | Date: Tue, 23 Aug 2022 12:05:21 +0800 4 | Subject: [PATCH 09/42] net: stmmac: add check for 2.5G mode to prevent MAC 5 | capability update 6 | 7 | Checking the 2.5G capabilities to prevent other capabilities 8 | from turning on, since we cannot switch from 2.5G to other 9 | speeds dynamically. 10 | 11 | Signed-off-by: Michael Sit Wei Hong 12 | --- 13 | drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c | 3 ++- 14 | 1 file changed, 2 insertions(+), 1 deletion(-) 15 | 16 | diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c 17 | index e65a65666cc1d..b7d28daeb46f6 100644 18 | --- a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c 19 | +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c 20 | @@ -67,7 +67,8 @@ static void dwmac4_core_init(struct mac_device_info *hw, 21 | 22 | static void dwmac4_update_caps(struct stmmac_priv *priv) 23 | { 24 | - if (priv->plat->tx_queues_to_use > 1) 25 | + if (priv->plat->tx_queues_to_use > 1 && 26 | + !priv->plat->fixed_2G5_clock_rate) 27 | priv->hw->link.caps &= ~(MAC_10HD | MAC_100HD | MAC_1000HD); 28 | else 29 | priv->hw->link.caps |= (MAC_10HD | MAC_100HD | MAC_1000HD); 30 | -- 31 | 2.25.1 32 | 33 | -------------------------------------------------------------------------------- /kernel-patches/patches/0010-drm-i915-Bypass-gem_set_tiling-and-gem_get_tiling.sriov: -------------------------------------------------------------------------------- 1 | From fc37ff0ccffd38e82194fe9157b0da404331b124 Mon Sep 17 00:00:00 2001 2 | From: "Kooran Paul, Princy" 3 | Date: Thu, 16 May 2024 07:51:40 +0800 4 | Subject: [PATCH 10/48] drm/i915: Bypass gem_set_tiling and gem_get_tiling 5 | 6 | gem_set_tiling and gem_get_tiling are deprecated. However this 7 | check is still required for legacy user space process to avoid 8 | getting KMS error. 9 | 10 | Add SRIOV check to ensure sriov is not getting error on vf. 11 | 12 | Signed-off-by: Chew, Tong Liang 13 | Signed-off-by: Zawawi, Muhammad Zul Husni 14 | --- 15 | drivers/gpu/drm/i915/gem/i915_gem_tiling.c | 4 ++-- 16 | 1 file changed, 2 insertions(+), 2 deletions(-) 17 | 18 | diff --git a/drivers/gpu/drm/i915/gem/i915_gem_tiling.c b/drivers/gpu/drm/i915/gem/i915_gem_tiling.c 19 | index d9eb84c1d2f11..86023c2540c38 100644 20 | --- a/drivers/gpu/drm/i915/gem/i915_gem_tiling.c 21 | +++ b/drivers/gpu/drm/i915/gem/i915_gem_tiling.c 22 | @@ -348,7 +348,7 @@ i915_gem_set_tiling_ioctl(struct drm_device *dev, void *data, 23 | struct drm_i915_gem_object *obj; 24 | int err; 25 | 26 | - if (!to_gt(i915)->ggtt->num_fences) 27 | + if (!to_gt(i915)->ggtt->num_fences && !IS_SRIOV_VF(i915)) 28 | return -EOPNOTSUPP; 29 | 30 | obj = i915_gem_object_lookup(file, args->handle); 31 | @@ -431,7 +431,7 @@ i915_gem_get_tiling_ioctl(struct drm_device *dev, void *data, 32 | struct drm_i915_gem_object *obj; 33 | int err = -ENOENT; 34 | 35 | - if (!to_gt(i915)->ggtt->num_fences) 36 | + if (!to_gt(i915)->ggtt->num_fences && !IS_SRIOV_VF(i915)) 37 | return -EOPNOTSUPP; 38 | 39 | rcu_read_lock(); 40 | -- 41 | 2.25.1 42 | 43 | -------------------------------------------------------------------------------- /kernel-patches/patches/0010-igc-Optimize-the-packet-buffer-utilization.tsn: -------------------------------------------------------------------------------- 1 | From 765741d8057b73a0339acca3b1baa00f2302f564 Mon Sep 17 00:00:00 2001 2 | From: Vinicius Costa Gomes 3 | Date: Wed, 24 Mar 2021 16:51:57 -0700 4 | Subject: [PATCH 10/32] igc: Optimize the packet buffer utilization 5 | 6 | Packet buffers (RX + TX) total 64KB. Neither RX or TX buffers can be 7 | larger than 34KB. So divide the buffer equally, 32KB for each. 8 | 9 | Signed-off-by: Vinicius Costa Gomes 10 | Signed-off-by: Muhammad Husaini Zulkifli 11 | Signed-off-by: Aravindhan Gunasekaran 12 | --- 13 | drivers/net/ethernet/intel/igc/igc_defines.h | 5 +++-- 14 | 1 file changed, 3 insertions(+), 2 deletions(-) 15 | 16 | diff --git a/drivers/net/ethernet/intel/igc/igc_defines.h b/drivers/net/ethernet/intel/igc/igc_defines.h 17 | index 45da4ffd4ec75..597625dfe1271 100644 18 | --- a/drivers/net/ethernet/intel/igc/igc_defines.h 19 | +++ b/drivers/net/ethernet/intel/igc/igc_defines.h 20 | @@ -413,8 +413,9 @@ 21 | #define I225_TXPBSIZE_DEFAULT 0x04000014 /* TXPBSIZE default */ 22 | #define IGC_RXPBS_CFG_TS_EN 0x80000000 /* Timestamp in Rx buffer */ 23 | 24 | -#define IGC_TXPBSIZE_TSN 0x04145145 /* 5k bytes buffer for each queue */ 25 | -#define IGC_RXPBSIZE_TSN 0x00010090 /* 16KB for EXP + 16KB for BE + 2KB for BMC */ 26 | +/* The total (RX + TX) packet buffers must sum to less than 64KB */ 27 | +#define IGC_TXPBSIZE_TSN 0x041c71c7 /* 7k bytes buffer for each queue + 4KB for BMC*/ 28 | +#define IGC_RXPBSIZE_TSN 0x0000f08f /* 15KB for EXP + 15KB for BE + 2KB for BMC */ 29 | #define IGC_RXPBSIZE_SIZE_MASK 0x0001FFFF 30 | 31 | #define IGC_DTXMXPKTSZ_TSN 0x19 /* 1600 bytes of max TX DMA packet size */ 32 | -- 33 | 2.25.1 34 | 35 | -------------------------------------------------------------------------------- /kernel-patches/patches/0010-media-i2c-add-support-for-lt6911uxc.camera: -------------------------------------------------------------------------------- 1 | From fdae832dd01b9702b97c9e2f39c8d3617bc92c0a Mon Sep 17 00:00:00 2001 2 | From: linya14x 3 | Date: Wed, 27 Nov 2024 16:47:51 +0800 4 | Subject: [PATCH 10/13] media: i2c: add support for lt6911uxc 5 | 6 | Signed-off-by: linya14x 7 | --- 8 | drivers/media/i2c/Kconfig | 11 +++++++++++ 9 | drivers/media/i2c/Makefile | 1 + 10 | 2 files changed, 12 insertions(+) 11 | 12 | diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig 13 | index 0d314a92ea4f7..7c8ff44afd8c1 100644 14 | --- a/drivers/media/i2c/Kconfig 15 | +++ b/drivers/media/i2c/Kconfig 16 | @@ -51,6 +51,17 @@ config VIDEO_ALVIUM_CSI2 17 | To compile this driver as a module, choose M here: the 18 | module will be called alvium-csi2. 19 | 20 | +config VIDEO_LT6911UXC 21 | + tristate "Lontium LT6911UXC decoder" 22 | + depends on ACPI || COMPILE_TEST 23 | + select V4L2_CCI_I2C 24 | + help 25 | + This is a Video4Linux2 sensor-level driver for the Lontium 26 | + LT6911UXC HDMI to MIPI CSI-2 bridge. 27 | + 28 | + To compile this driver as a module, choose M here: the 29 | + module will be called lt6911uxc. 30 | + 31 | config VIDEO_LT6911UXE 32 | tristate "Lontium LT6911UXE decoder" 33 | depends on ACPI || COMPILE_TEST 34 | diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile 35 | index bf06c7fb08f63..e78f0d8771942 100644 36 | --- a/drivers/media/i2c/Makefile 37 | +++ b/drivers/media/i2c/Makefile 38 | @@ -19,6 +19,7 @@ obj-$(CONFIG_VIDEO_AK7375) += ak7375.o 39 | obj-$(CONFIG_VIDEO_AK881X) += ak881x.o 40 | obj-$(CONFIG_VIDEO_ALVIUM_CSI2) += alvium-csi2.o 41 | obj-$(CONFIG_VIDEO_APTINA_PLL) += aptina-pll.o 42 | +obj-$(CONFIG_VIDEO_LT6911UXE) += lt6911uxc.o 43 | obj-$(CONFIG_VIDEO_LT6911UXE) += lt6911uxe.o 44 | obj-$(CONFIG_VIDEO_AR0234) += ar0234.o 45 | obj-$(CONFIG_VIDEO_AR0521) += ar0521.o 46 | -- 47 | 2.25.1 48 | 49 | -------------------------------------------------------------------------------- /kernel-patches/patches/0010-stmmac-intel-Enable-PHY-WoL-in-ADL-N.tsn: -------------------------------------------------------------------------------- 1 | From 6760e7fd0ca260f1773cac3ba5e344d44dcaf7ac Mon Sep 17 00:00:00 2001 2 | From: Gan Yi Fang 3 | Date: Thu, 22 Jun 2023 21:27:11 -0400 4 | Subject: [PATCH 10/42] stmmac: intel: Enable PHY WoL in ADL-N 5 | 6 | Enable PHY Wake On LAN in ADL-N Intel platform. 7 | 8 | Signed-off-by: Gan Yi Fang 9 | --- 10 | drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c | 1 + 11 | 1 file changed, 1 insertion(+) 12 | 13 | diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c 14 | index d34e075313128..0f05608595bbe 100644 15 | --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c 16 | +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c 17 | @@ -846,6 +846,7 @@ static int adln_common_data(struct pci_dev *pdev, 18 | plat->tx_queues_to_use = 4; 19 | plat->clk_ptp_rate = 204800000; 20 | plat->speed_mode_2500 = intel_speed_mode_2500; 21 | + plat->flags |= STMMAC_FLAG_USE_PHY_WOL; 22 | 23 | plat->safety_feat_cfg->tsoee = 1; 24 | plat->safety_feat_cfg->mrxpee = 0; 25 | -- 26 | 2.25.1 27 | 28 | -------------------------------------------------------------------------------- /kernel-patches/patches/0011-drm-i915-Don-t-check-for-atomic-context-on-PREEMPT_RT.rt: -------------------------------------------------------------------------------- 1 | From 01f3f9e5ee3b74c602ed8d3fc875118c44ed3c6c Mon Sep 17 00:00:00 2001 2 | From: Sebastian Andrzej Siewior 3 | Date: Mon, 25 Oct 2021 15:05:18 +0200 4 | Subject: [PATCH 11/25] drm/i915: Don't check for atomic context on PREEMPT_RT 5 | 6 | The !in_atomic() check in _wait_for_atomic() triggers on PREEMPT_RT 7 | because the uncore::lock is a spinlock_t and does not disable 8 | preemption or interrupts. 9 | 10 | Changing the uncore:lock to a raw_spinlock_t doubles the worst case 11 | latency on an otherwise idle testbox during testing. 12 | 13 | Ignore _WAIT_FOR_ATOMIC_CHECK() on PREEMPT_RT. 14 | 15 | Reviewed-by: Tvrtko Ursulin 16 | Link: https://lore.kernel.org/all/20211006164628.s2mtsdd2jdbfyf7g@linutronix.de/ 17 | Signed-off-by: Sebastian Andrzej Siewior 18 | --- 19 | drivers/gpu/drm/i915/i915_utils.h | 9 +++++++-- 20 | 1 file changed, 7 insertions(+), 2 deletions(-) 21 | 22 | diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h 23 | index 135e318484dea..b056b173a54ab 100644 24 | --- a/drivers/gpu/drm/i915/i915_utils.h 25 | +++ b/drivers/gpu/drm/i915/i915_utils.h 26 | @@ -280,8 +280,13 @@ wait_remaining_ms_from_jiffies(unsigned long timestamp_jiffies, int to_wait_ms) 27 | (Wmax)) 28 | #define wait_for(COND, MS) _wait_for((COND), (MS) * 1000, 10, 1000) 29 | 30 | -/* If CONFIG_PREEMPT_COUNT is disabled, in_atomic() always reports false. */ 31 | -#if defined(CONFIG_DRM_I915_DEBUG) && defined(CONFIG_PREEMPT_COUNT) 32 | +/* 33 | + * If CONFIG_PREEMPT_COUNT is disabled, in_atomic() always reports false. 34 | + * On PREEMPT_RT the context isn't becoming atomic because it is used in an 35 | + * interrupt handler or because a spinlock_t is acquired. This leads to 36 | + * warnings which don't occur otherwise and therefore the check is disabled. 37 | + */ 38 | +#if defined(CONFIG_DRM_I915_DEBUG) && defined(CONFIG_PREEMPT_COUNT) && !defined(CONFIG_PREEMPT_RT) 39 | # define _WAIT_FOR_ATOMIC_CHECK(ATOMIC) WARN_ON_ONCE((ATOMIC) && !in_atomic()) 40 | #else 41 | # define _WAIT_FOR_ATOMIC_CHECK(ATOMIC) do { } while (0) 42 | -- 43 | 2.25.1 44 | 45 | -------------------------------------------------------------------------------- /kernel-patches/patches/0011-igc-Add-support-for-enabling-all-packets-to-be-receive.tsn: -------------------------------------------------------------------------------- 1 | From 6ed7fcef5f68427c29cf89dd29bc43f77e9c0222 Mon Sep 17 00:00:00 2001 2 | From: Muhammad Husaini Zulkifli 3 | Date: Wed, 7 Apr 2021 00:39:25 +0800 4 | Subject: [PATCH 11/32] igc: Add support for enabling all packets to be 5 | received 6 | 7 | Allows all packets (the packets in which errors were detected 8 | inclusive) to be received. 9 | 10 | Signed-off-by: Vinicius Costa Gomes 11 | Signed-off-by: Muhammad Husaini Zulkifli 12 | Signed-off-by: Aravindhan Gunasekaran 13 | --- 14 | drivers/net/ethernet/intel/igc/igc_main.c | 1 + 15 | 1 file changed, 1 insertion(+) 16 | 17 | diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c 18 | index a81e9240cf6c8..487a356ca0370 100644 19 | --- a/drivers/net/ethernet/intel/igc/igc_main.c 20 | +++ b/drivers/net/ethernet/intel/igc/igc_main.c 21 | @@ -7278,6 +7278,7 @@ static int igc_probe(struct pci_dev *pdev, 22 | 23 | /* copy netdev features into list of user selectable features */ 24 | netdev->hw_features |= NETIF_F_NTUPLE; 25 | + netdev->hw_features |= NETIF_F_RXALL; 26 | netdev->hw_features |= NETIF_F_HW_VLAN_CTAG_TX; 27 | netdev->hw_features |= NETIF_F_HW_VLAN_CTAG_RX; 28 | netdev->hw_features |= netdev->features; 29 | -- 30 | 2.25.1 31 | 32 | -------------------------------------------------------------------------------- /kernel-patches/patches/0012-drm-i915-force-VF-using-v70-GuC-API.sriov: -------------------------------------------------------------------------------- 1 | From 32acb0dfc8e248ab0dce5fedf988e6c2fab1c454 Mon Sep 17 00:00:00 2001 2 | From: "Zawawi, Muhammad Zul Husni" 3 | Date: Fri, 17 Mar 2023 15:31:56 +0800 4 | Subject: [PATCH 12/48] drm/i915: force VF using v70 GuC API 5 | 6 | Signed-off-by: Zawawi, Muhammad Zul Husni 7 | --- 8 | drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 2 +- 9 | 1 file changed, 1 insertion(+), 1 deletion(-) 10 | 11 | diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c 12 | index 4c1bd90715d07..a95447378385c 100644 13 | --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c 14 | +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c 15 | @@ -2604,7 +2604,7 @@ static int register_context(struct intel_context *ce, bool loop) 16 | GEM_BUG_ON(intel_context_is_child(ce)); 17 | trace_intel_context_register(ce); 18 | 19 | - if (GUC_SUBMIT_VER(guc) >= MAKE_GUC_VER(1, 0, 0)) 20 | + if (GUC_SUBMIT_VER(guc) >= MAKE_GUC_VER(1, 0, 0) || IS_SRIOV_VF(guc_to_gt(guc)->i915)) 21 | ret = register_context_v70(guc, ce, loop); 22 | else 23 | ret = register_context_v69(guc, ce, loop); 24 | -- 25 | 2.25.1 26 | 27 | -------------------------------------------------------------------------------- /kernel-patches/patches/0013-INTEL_DII-mei-add-force-wake-workaround-in-resume.security: -------------------------------------------------------------------------------- 1 | From 1cdf80c793e2e5e26d43b8ddb00c6c80a9a44872 Mon Sep 17 00:00:00 2001 2 | From: Alexander Usyskin 3 | Date: Thu, 6 Oct 2022 14:04:00 +0300 4 | Subject: [PATCH 13/19] INTEL_DII: mei: add force wake workaround in resume 5 | 6 | Upon force wake assert the firmware goes into reset. 7 | Forcew ake FW on resume to allow uninterrupted 8 | init flow on resume. 9 | 10 | Co-developed-by: Tomas Winkler 11 | Signed-off-by: Alexander Usyskin 12 | --- 13 | drivers/misc/mei/gsc-me.c | 15 +++++++++++---- 14 | 1 file changed, 11 insertions(+), 4 deletions(-) 15 | 16 | diff --git a/drivers/misc/mei/gsc-me.c b/drivers/misc/mei/gsc-me.c 17 | index bce5dacbce857..e3a5eddc4668b 100644 18 | --- a/drivers/misc/mei/gsc-me.c 19 | +++ b/drivers/misc/mei/gsc-me.c 20 | @@ -485,6 +485,7 @@ static int mei_gsc_probe(struct auxiliary_device *aux_dev, 21 | 22 | pm_runtime_set_autosuspend_delay(device, MEI_GSC_RPM_TIMEOUT); 23 | pm_runtime_use_autosuspend(device); 24 | + dev_pm_set_driver_flags(device, DPM_FLAG_NO_DIRECT_COMPLETE); 25 | 26 | ret = mei_register(dev, device); 27 | if (ret) 28 | @@ -550,9 +551,15 @@ static int __maybe_unused mei_gsc_pm_resume(struct device *device) 29 | struct mei_device *dev = dev_get_drvdata(device); 30 | struct auxiliary_device *aux_dev; 31 | struct mei_aux_device *adev; 32 | - int err; 33 | + int ret; 34 | struct mei_me_hw *hw; 35 | 36 | + mutex_lock(&dev->device_lock); 37 | + ret = mei_gsc_forcewake_get_and_wait(dev, false); 38 | + mutex_unlock(&dev->device_lock); 39 | + if (ret) 40 | + return ret; 41 | + 42 | hw = to_me_hw(dev); 43 | aux_dev = to_auxiliary_dev(device); 44 | adev = auxiliary_dev_to_mei_aux_dev(aux_dev); 45 | @@ -561,9 +568,9 @@ static int __maybe_unused mei_gsc_pm_resume(struct device *device) 46 | dev->pxp_mode = MEI_DEV_PXP_INIT; 47 | } 48 | 49 | - err = mei_restart(dev); 50 | - if (err) 51 | - return err; 52 | + ret = mei_restart(dev); 53 | + if (ret) 54 | + return ret; 55 | 56 | /* Start timer if stopped in suspend */ 57 | schedule_delayed_work(&dev->timer_work, HZ); 58 | -- 59 | 2.25.1 60 | 61 | -------------------------------------------------------------------------------- /kernel-patches/patches/0014-INTEL_DII-mei-disable-immediate-enum-if-forcewake.security: -------------------------------------------------------------------------------- 1 | From e652da2303cb29fda30ef7fd117fc3f9c1dcd054 Mon Sep 17 00:00:00 2001 2 | From: Alexander Usyskin 3 | Date: Sun, 30 Oct 2022 16:32:04 +0200 4 | Subject: [PATCH 14/19] INTEL_DII: mei: disable immediate enum if forcewake is 5 | enabled 6 | 7 | The immediate enum allows firmware to immediately answer to the 8 | enumeration request without waiting for all client initialization. 9 | The force-wake workaround requires that all client be ready 10 | when enumeration finishes. 11 | Thus the immediate enum is not compatible with force-wake workaround. 12 | Disable immediate enum if forcewake is enabled. 13 | 14 | Co-developed-by: Tomas Winkler 15 | Signed-off-by: Alexander Usyskin 16 | --- 17 | drivers/misc/mei/hbm.c | 3 ++- 18 | 1 file changed, 2 insertions(+), 1 deletion(-) 19 | 20 | diff --git a/drivers/misc/mei/hbm.c b/drivers/misc/mei/hbm.c 21 | index 026b1f686c162..35a6c7bf34c75 100644 22 | --- a/drivers/misc/mei/hbm.c 23 | +++ b/drivers/misc/mei/hbm.c 24 | @@ -1169,7 +1169,8 @@ static void mei_hbm_config_features(struct mei_device *dev) 25 | dev->hbm_f_dc_supported = 1; 26 | 27 | dev->hbm_f_ie_supported = 0; 28 | - if (dev->version.major_version >= HBM_MAJOR_VERSION_IE) 29 | + if (!dev->forcewake_needed && 30 | + dev->version.major_version >= HBM_MAJOR_VERSION_IE) 31 | dev->hbm_f_ie_supported = 1; 32 | 33 | /* disconnect on connect timeout instead of link reset */ 34 | -- 35 | 2.25.1 36 | 37 | -------------------------------------------------------------------------------- /kernel-patches/patches/0014-drm-i915-Drop-the-irqs_disabled-check.rt: -------------------------------------------------------------------------------- 1 | From fcc696c71fc730004d91de469fabdcb1dd647c77 Mon Sep 17 00:00:00 2001 2 | From: Sebastian Andrzej Siewior 3 | Date: Fri, 1 Oct 2021 20:01:03 +0200 4 | Subject: [PATCH 14/25] drm/i915: Drop the irqs_disabled() check 5 | 6 | The !irqs_disabled() check triggers on PREEMPT_RT even with 7 | i915_sched_engine::lock acquired. The reason is the lock is transformed 8 | into a sleeping lock on PREEMPT_RT and does not disable interrupts. 9 | 10 | There is no need to check for disabled interrupts. The lockdep 11 | annotation below already check if the lock has been acquired by the 12 | caller and will yell if the interrupts are not disabled. 13 | 14 | Remove the !irqs_disabled() check. 15 | 16 | Reported-by: Maarten Lankhorst 17 | Acked-by: Tvrtko Ursulin 18 | Signed-off-by: Sebastian Andrzej Siewior 19 | Signed-off-by: Junxiao Chang 20 | --- 21 | drivers/gpu/drm/i915/i915_request.c | 4 ++++ 22 | 1 file changed, 4 insertions(+) 23 | 24 | diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c 25 | index 92cd023ed08e1..2dd4595936f90 100644 26 | --- a/drivers/gpu/drm/i915/i915_request.c 27 | +++ b/drivers/gpu/drm/i915/i915_request.c 28 | @@ -608,7 +608,9 @@ bool __i915_request_submit(struct i915_request *request) 29 | 30 | RQ_TRACE(request, "\n"); 31 | 32 | +#ifndef CONFIG_PREEMPT_RT 33 | GEM_BUG_ON(!irqs_disabled()); 34 | +#endif 35 | lockdep_assert_held(&engine->sched_engine->lock); 36 | 37 | /* 38 | @@ -717,7 +719,9 @@ void __i915_request_unsubmit(struct i915_request *request) 39 | */ 40 | RQ_TRACE(request, "\n"); 41 | 42 | +#ifndef CONFIG_PREEMPT_RT 43 | GEM_BUG_ON(!irqs_disabled()); 44 | +#endif 45 | lockdep_assert_held(&engine->sched_engine->lock); 46 | 47 | /* 48 | -- 49 | 2.25.1 50 | 51 | -------------------------------------------------------------------------------- /kernel-patches/patches/0014-drm-i915-add-null-pointer-protection-inside-intel_fb.sriov: -------------------------------------------------------------------------------- 1 | From 67f6306bc29ef0587b311b3dd9290023dadb4701 Mon Sep 17 00:00:00 2001 2 | From: "Abdul Halim, Mohd Syazwan" 3 | Date: Fri, 23 Dec 2022 05:44:07 +0800 4 | Subject: [PATCH 14/48] drm/i915: add null pointer protection inside 5 | intel_fbdev_hpd_set_suspend 6 | 7 | add null pointer protection inside intel_fbdev_hpd_set_suspend to resolve 8 | suspend issues on vF. 9 | 10 | Signed-off-by: Abdul Halim, Mohd Syazwan 11 | --- 12 | drivers/gpu/drm/i915/display/intel_fbdev.c | 3 +++ 13 | 1 file changed, 3 insertions(+) 14 | 15 | diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c b/drivers/gpu/drm/i915/display/intel_fbdev.c 16 | index 49a1ac4f54919..5c6a0c4975d60 100644 17 | --- a/drivers/gpu/drm/i915/display/intel_fbdev.c 18 | +++ b/drivers/gpu/drm/i915/display/intel_fbdev.c 19 | @@ -470,6 +470,9 @@ static void intel_fbdev_hpd_set_suspend(struct drm_i915_private *i915, int state 20 | struct intel_fbdev *ifbdev = i915->display.fbdev.fbdev; 21 | bool send_hpd = false; 22 | 23 | + if (!ifbdev) 24 | + return; 25 | + 26 | mutex_lock(&ifbdev->hpd_lock); 27 | ifbdev->hpd_suspended = state == FBINFO_STATE_SUSPENDED; 28 | send_hpd = !ifbdev->hpd_suspended && ifbdev->hpd_waiting; 29 | -- 30 | 2.25.1 31 | 32 | -------------------------------------------------------------------------------- /kernel-patches/patches/0014-net-stmmac-Add-per-packet-time-based-scheduling-for-XD.tsn: -------------------------------------------------------------------------------- 1 | From 5ffc9869a3b5c3eb2a4ab62b939138c290e98667 Mon Sep 17 00:00:00 2001 2 | From: "Song, Yoong Siang" 3 | Date: Fri, 9 Apr 2021 14:43:36 +0800 4 | Subject: [PATCH 14/42] net: stmmac: Add per-packet time-based scheduling for 5 | XDP ZC 6 | 7 | Add per-packet time-based scheduling for XDP zero copy via 8 | struct xdp_desc's launch time field. 9 | 10 | Signed-off-by: Song, Yoong Siang 11 | --- 12 | drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 8 ++++++++ 13 | 1 file changed, 8 insertions(+) 14 | 15 | diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 16 | index 5932552950ad6..84e97ae49df6b 100644 17 | --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 18 | +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 19 | @@ -2566,6 +2566,14 @@ static bool stmmac_xdp_xmit_zc(struct stmmac_priv *priv, u32 queue, u32 budget) 20 | true, priv->mode, true, true, 21 | xdp_desc.len); 22 | 23 | + if (tx_q->tbs & STMMAC_TBS_EN && xdp_desc.txtime > 0) { 24 | + struct dma_edesc *edesc = &tx_q->dma_entx[entry]; 25 | + struct timespec64 ts = 26 | + ns_to_timespec64(xdp_desc.txtime); 27 | + 28 | + stmmac_set_desc_tbs(priv, edesc, ts.tv_sec, ts.tv_nsec); 29 | + } 30 | + 31 | stmmac_enable_dma_transmission(priv, priv->ioaddr, queue); 32 | 33 | xsk_tx_metadata_to_compl(meta, 34 | -- 35 | 2.25.1 36 | 37 | -------------------------------------------------------------------------------- /kernel-patches/patches/0015-drm-i915-guc-Consider-also-RCU-depth-in-busy-loop.rt: -------------------------------------------------------------------------------- 1 | From 6382f19880b44b9cc20f6e0d5fb71fe592d8d2d3 Mon Sep 17 00:00:00 2001 2 | From: Sebastian Andrzej Siewior 3 | Date: Tue, 3 Oct 2023 21:37:21 +0200 4 | Subject: [PATCH 15/25] drm/i915/guc: Consider also RCU depth in busy loop. 5 | 6 | intel_guc_send_busy_loop() looks at in_atomic() and irqs_disabled() to 7 | decide if it should busy-spin while waiting or if it may sleep. 8 | Both checks will report false on PREEMPT_RT if sleeping spinlocks are 9 | acquired leading to RCU splats while the function sleeps. 10 | 11 | Check also if RCU has been disabled. 12 | 13 | Reported-by: "John B. Wyatt IV" 14 | Reviewed-by: Rodrigo Vivi 15 | Signed-off-by: Sebastian Andrzej Siewior 16 | Signed-off-by: Junxiao Chang 17 | --- 18 | drivers/gpu/drm/i915/gt/uc/intel_guc.h | 4 ++++ 19 | 1 file changed, 4 insertions(+) 20 | 21 | diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.h b/drivers/gpu/drm/i915/gt/uc/intel_guc.h 22 | index 07a48e6759dfb..f06b2b7c9b0a0 100644 23 | --- a/drivers/gpu/drm/i915/gt/uc/intel_guc.h 24 | +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.h 25 | @@ -370,7 +370,11 @@ static inline int intel_guc_send_busy_loop(struct intel_guc *guc, 26 | { 27 | int err; 28 | unsigned int sleep_period_ms = 1; 29 | +#ifdef CONFIG_PREEMPT_RT 30 | + bool not_atomic = !in_atomic() && !irqs_disabled() && !rcu_preempt_depth(); 31 | +#else 32 | bool not_atomic = !in_atomic() && !irqs_disabled(); 33 | +#endif 34 | 35 | /* 36 | * FIXME: Have caller pass in if we are in an atomic context to avoid 37 | -- 38 | 2.25.1 39 | 40 | -------------------------------------------------------------------------------- /kernel-patches/patches/0015-rtnetlink-Fix-unchecked-return-value-of-dev_xdp_query_.tsn: -------------------------------------------------------------------------------- 1 | From d422faba40f2b00b944ed5ffa9c365bf904c950b Mon Sep 17 00:00:00 2001 2 | From: Muhammad Husaini Zulkifli 3 | Date: Fri, 30 Jul 2021 08:33:53 +0800 4 | Subject: [PATCH 15/32] rtnetlink: Fix unchecked return value of 5 | dev_xdp_query_md_btf() 6 | 7 | This patch is to check the return value of dev_xdp_query_md_btf() 8 | whether it contain a valid btf id or vice versa. 9 | 10 | Signed-off-by: Muhammad Husaini Zulkifli 11 | Signed-off-by: Aravindhan Gunasekaran 12 | --- 13 | net/core/rtnetlink.c | 3 +++ 14 | 1 file changed, 3 insertions(+) 15 | 16 | diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c 17 | index 5ec6dcea18bbe..28c24a4e06c38 100644 18 | --- a/net/core/rtnetlink.c 19 | +++ b/net/core/rtnetlink.c 20 | @@ -1589,6 +1589,9 @@ static int rtnl_xdp_fill(struct sk_buff *skb, struct net_device *dev) 21 | } 22 | 23 | md_btf_id = dev_xdp_query_md_btf(dev, &md_btf_enabled); 24 | + if (!md_btf_id) 25 | + goto err_cancel; 26 | + 27 | nla_put_u32(skb, IFLA_XDP_MD_BTF_ID, md_btf_id); 28 | nla_put_u8(skb, IFLA_XDP_MD_BTF_STATE, md_btf_enabled); 29 | 30 | -- 31 | 2.25.1 32 | 33 | -------------------------------------------------------------------------------- /kernel-patches/patches/0015-x86-core-TSC-reliable-kernel-arg-prevents-DQ-of-TSC-.tgpio: -------------------------------------------------------------------------------- 1 | From 3024fdc416eb809ad0893a8b18b0f3c290e04c72 Mon Sep 17 00:00:00 2001 2 | From: Christopher Hall 3 | Date: Wed, 2 Oct 2019 09:58:30 -0700 4 | Subject: [PATCH 15/43] x86/core: TSC reliable kernel arg prevents DQ of TSC 5 | early 6 | 7 | TSC reliable kernel arg prevents DQ of TSC early. 8 | 9 | Signed-off-by: Christopher Hall 10 | Signed-off-by: Lakshmi Sowjanya D 11 | --- 12 | arch/x86/kernel/tsc.c | 5 +++++ 13 | 1 file changed, 5 insertions(+) 14 | 15 | diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c 16 | index fa2fed66ddd3e..02bb16e6bd3a5 100644 17 | --- a/arch/x86/kernel/tsc.c 18 | +++ b/arch/x86/kernel/tsc.c 19 | @@ -1693,6 +1693,11 @@ void __init tsc_init(void) 20 | if (x86_platform.calibrate_cpu == native_calibrate_cpu_early) 21 | x86_platform.calibrate_cpu = native_calibrate_cpu; 22 | 23 | + if (tsc_clocksource_reliable || no_tsc_watchdog) { 24 | + clocksource_tsc.flags &= ~CLOCK_SOURCE_MUST_VERIFY; 25 | + clocksource_tsc_early.flags &= ~CLOCK_SOURCE_MUST_VERIFY; 26 | + } 27 | + 28 | if (!tsc_khz) { 29 | /* We failed to determine frequencies earlier, try again */ 30 | if (!determine_cpu_tsc_frequencies(false)) { 31 | -- 32 | 2.25.1 33 | 34 | -------------------------------------------------------------------------------- /kernel-patches/patches/0016-Revert-drm-i915-Depend-on-PREEMPT_RT.rt: -------------------------------------------------------------------------------- 1 | From d0c16cc743c4bb02f70ff97b1dcb5f3d6e77f7ad Mon Sep 17 00:00:00 2001 2 | From: Sebastian Andrzej Siewior 3 | Date: Mon, 21 Feb 2022 17:59:14 +0100 4 | Subject: [PATCH 16/25] Revert "drm/i915: Depend on !PREEMPT_RT." 5 | 6 | Once the known issues are addressed, it should be safe to enable the 7 | driver. 8 | 9 | Acked-by: Tvrtko Ursulin 10 | Signed-off-by: Sebastian Andrzej Siewior 11 | --- 12 | drivers/gpu/drm/i915/Kconfig | 1 - 13 | 1 file changed, 1 deletion(-) 14 | 15 | diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig 16 | index 14ac351fd76db..610969840e3bc 100644 17 | --- a/drivers/gpu/drm/i915/Kconfig 18 | +++ b/drivers/gpu/drm/i915/Kconfig 19 | @@ -3,7 +3,6 @@ config DRM_I915 20 | tristate "Intel 8xx/9xx/G3x/G4x/HD Graphics" 21 | depends on DRM 22 | depends on X86 && PCI 23 | - depends on !PREEMPT_RT 24 | select INTEL_GTT if X86 25 | select INTERVAL_TREE 26 | # we need shmfs for the swappable backing store, and in particular 27 | -- 28 | 2.25.1 29 | 30 | -------------------------------------------------------------------------------- /kernel-patches/patches/0016-drm-i915-fix-bitmap-clear-API-region-start-issue.sriov: -------------------------------------------------------------------------------- 1 | From 20b5eb3d24cd79fa6771b9b5b1400fab36076058 Mon Sep 17 00:00:00 2001 2 | From: Junxiao Chang 3 | Date: Thu, 8 Dec 2022 18:56:55 +0800 4 | Subject: [PATCH 16/48] drm/i915: fix bitmap clear API region start issue 5 | 6 | start should be initialized to zero. 7 | 8 | Signed-off-by: Junxiao Chang 9 | --- 10 | drivers/gpu/drm/i915/gt/iov/intel_iov_provisioning.c | 8 ++++---- 11 | 1 file changed, 4 insertions(+), 4 deletions(-) 12 | 13 | diff --git a/drivers/gpu/drm/i915/gt/iov/intel_iov_provisioning.c b/drivers/gpu/drm/i915/gt/iov/intel_iov_provisioning.c 14 | index 554fc7700d5ef..ba67c0022ba9d 100644 15 | --- a/drivers/gpu/drm/i915/gt/iov/intel_iov_provisioning.c 16 | +++ b/drivers/gpu/drm/i915/gt/iov/intel_iov_provisioning.c 17 | @@ -996,7 +996,7 @@ static int pf_alloc_vf_ctxs_range(struct intel_iov *iov, unsigned int id, u16 nu 18 | u16 max_size = U16_MAX; 19 | u16 index = U16_MAX; 20 | u16 last_equal = 0; 21 | - unsigned int rs, re; 22 | + unsigned int rs = 0, re; 23 | 24 | if (unlikely(!ctxs_bitmap)) 25 | return -ENOMEM; 26 | @@ -1179,7 +1179,7 @@ static u16 pf_get_ctxs_free(struct intel_iov *iov) 27 | { 28 | u16 reserved = encode_vf_ctxs_count(pf_reserved_ctxs(iov)); 29 | unsigned long *ctxs_bitmap = pf_get_ctxs_bitmap(iov); 30 | - unsigned int rs, re; 31 | + unsigned int rs = 0, re; 32 | u16 sum = 0; 33 | 34 | if (unlikely(!ctxs_bitmap)) 35 | @@ -1219,7 +1219,7 @@ static u16 pf_get_ctxs_max_quota(struct intel_iov *iov) 36 | { 37 | u16 reserved = encode_vf_ctxs_count(pf_reserved_ctxs(iov)); 38 | unsigned long *ctxs_bitmap = pf_get_ctxs_bitmap(iov); 39 | - unsigned int rs, re; 40 | + unsigned int rs = 0, re; 41 | u16 max = 0; 42 | 43 | if (unlikely(!ctxs_bitmap)) 44 | @@ -1523,7 +1523,7 @@ u16 intel_iov_provisioning_query_free_dbs(struct intel_iov *iov) 45 | static u16 pf_get_max_dbs(struct intel_iov *iov) 46 | { 47 | unsigned long *dbs_bitmap = pf_get_dbs_bitmap(iov); 48 | - unsigned int rs, re; 49 | + unsigned int rs = 0, re; 50 | u16 limit = 0; 51 | 52 | if (unlikely(!dbs_bitmap)) 53 | -- 54 | 2.25.1 55 | 56 | -------------------------------------------------------------------------------- /kernel-patches/patches/0016-rtnetlink-Add-return-value-check.tsn: -------------------------------------------------------------------------------- 1 | From 6850099efeb299f9941a94503c7a1ae6802e6ce4 Mon Sep 17 00:00:00 2001 2 | From: Muhammad Husaini Zulkifli 3 | Date: Tue, 3 Aug 2021 08:49:34 +0800 4 | Subject: [PATCH 16/32] rtnetlink: Add return value check 5 | 6 | This patch add return value checking for both of the nla_put_u32() and 7 | nla_put_u8() in rtnl_xdp_fill(). 8 | 9 | Signed-off-by: Muhammad Husaini Zulkifli 10 | Signed-off-by: Aravindhan Gunasekaran 11 | --- 12 | net/core/rtnetlink.c | 8 ++++++-- 13 | 1 file changed, 6 insertions(+), 2 deletions(-) 14 | 15 | diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c 16 | index 28c24a4e06c38..f2e68289e81eb 100644 17 | --- a/net/core/rtnetlink.c 18 | +++ b/net/core/rtnetlink.c 19 | @@ -1592,8 +1592,12 @@ static int rtnl_xdp_fill(struct sk_buff *skb, struct net_device *dev) 20 | if (!md_btf_id) 21 | goto err_cancel; 22 | 23 | - nla_put_u32(skb, IFLA_XDP_MD_BTF_ID, md_btf_id); 24 | - nla_put_u8(skb, IFLA_XDP_MD_BTF_STATE, md_btf_enabled); 25 | + err = nla_put_u32(skb, IFLA_XDP_MD_BTF_ID, md_btf_id); 26 | + if (err) 27 | + goto err_cancel; 28 | + err = nla_put_u8(skb, IFLA_XDP_MD_BTF_STATE, md_btf_enabled); 29 | + if (err) 30 | + goto err_cancel; 31 | 32 | nla_nest_end(skb, xdp); 33 | return 0; 34 | -- 35 | 2.25.1 36 | 37 | -------------------------------------------------------------------------------- /kernel-patches/patches/0017-drm-i915-iov-Expose-early-runtime-registers-for-MTL.sriov: -------------------------------------------------------------------------------- 1 | From 723c1ce3211fc9cff3cade68749ee6f2df209a9c Mon Sep 17 00:00:00 2001 2 | From: "Chew, Tong Liang" 3 | Date: Wed, 22 Mar 2023 18:41:42 +0800 4 | Subject: [PATCH 17/48] drm/i915/iov: Expose early runtime registers for MTL 5 | 6 | Signed-off-by: Chew, Tong Liang 7 | Signed-off-by: Zawawi, Muhammad Zul Husni 8 | --- 9 | drivers/gpu/drm/i915/gt/iov/intel_iov_service.c | 2 ++ 10 | 1 file changed, 2 insertions(+) 11 | 12 | diff --git a/drivers/gpu/drm/i915/gt/iov/intel_iov_service.c b/drivers/gpu/drm/i915/gt/iov/intel_iov_service.c 13 | index f002b5c1b4b92..eea28ad3d9f2f 100644 14 | --- a/drivers/gpu/drm/i915/gt/iov/intel_iov_service.c 15 | +++ b/drivers/gpu/drm/i915/gt/iov/intel_iov_service.c 16 | @@ -54,8 +54,10 @@ static const i915_reg_t mtl_runtime_regs[] = { 17 | CTC_MODE, /* _MMIO(0xA26C) */ 18 | GEN11_HUC_KERNEL_LOAD_INFO, /* _MMIO(0xC1DC) */ 19 | GEN9_TIMESTAMP_OVERRIDE, /* _MMIO(0x44074) */ 20 | + _MMIO(0x10100C), 21 | _MMIO(MTL_GSC_HECI1_BASE + HECI_FWSTS5),/* _MMIO(0x116c68) */ 22 | MTL_GT_ACTIVITY_FACTOR, /* _MMIO(0x138010) */ 23 | + _MMIO(0x389140), 24 | }; 25 | 26 | static const i915_reg_t *get_runtime_regs(struct drm_i915_private *i915, 27 | -- 28 | 2.25.1 29 | 30 | -------------------------------------------------------------------------------- /kernel-patches/patches/0018-TGPIO-Fix-PSE-TGPIO-PTP-driver-ioctls-fail.tgpio: -------------------------------------------------------------------------------- 1 | From 2cf53c9a67e3e323f3c44262bceb982245941928 Mon Sep 17 00:00:00 2001 2 | From: Tamal Saha 3 | Date: Mon, 28 Dec 2020 18:52:36 +0530 4 | Subject: [PATCH 18/43] TGPIO: Fix PSE TGPIO PTP driver ioctls fail 5 | 6 | intel_tgpio_enable function wrongly get pin state for 7 | case PTP_CLK_REQ_PEROUT. 8 | 9 | Signed-off-by: Tamal Saha 10 | --- 11 | drivers/ptp/ptp-intel-tgpio-plat.c | 2 +- 12 | 1 file changed, 1 insertion(+), 1 deletion(-) 13 | 14 | diff --git a/drivers/ptp/ptp-intel-tgpio-plat.c b/drivers/ptp/ptp-intel-tgpio-plat.c 15 | index 9e41f5dac48de..b7eece6d3db62 100644 16 | --- a/drivers/ptp/ptp-intel-tgpio-plat.c 17 | +++ b/drivers/ptp/ptp-intel-tgpio-plat.c 18 | @@ -459,7 +459,7 @@ static int intel_tgpio_enable(struct ptp_clock_info *info, 19 | } 20 | case PTP_CLK_REQ_PEROUT: 21 | { 22 | - if (!tgpio->pin_state[req->extts.index] && on) 23 | + if (!tgpio->pin_state[req->perout.index] && on) 24 | pm_runtime_get_sync(tgpio->dev->parent); 25 | 26 | spin_lock_irqsave(&tgpio->lock, flags); 27 | -- 28 | 2.25.1 29 | 30 | -------------------------------------------------------------------------------- /kernel-patches/patches/0018-mei-me-apply-GSC-error-supression-to-systems-with.security: -------------------------------------------------------------------------------- 1 | From a72f65c49d58fe3241afff087bc91e49ee8791c2 Mon Sep 17 00:00:00 2001 2 | From: Alexander Usyskin 3 | Date: Sun, 27 Aug 2023 17:08:51 +0300 4 | Subject: [PATCH 18/19] mei: me: apply GSC error supression to systems with 5 | force wake workaround 6 | 7 | GSC FW on systems with force wake workaround undergoes reset in 8 | order to move to a new state. Those resets are frequent and expected. 9 | This commit silences the 'unexpected' warning message in such cases to 10 | improve log readability and avoid confusion. 11 | 12 | Co-developed-by: Tomas Winkler 13 | Signed-off-by: Alexander Usyskin 14 | --- 15 | drivers/misc/mei/hw-me.c | 2 +- 16 | 1 file changed, 1 insertion(+), 1 deletion(-) 17 | 18 | diff --git a/drivers/misc/mei/hw-me.c b/drivers/misc/mei/hw-me.c 19 | index 7011b834c0b93..8276d9d450604 100644 20 | --- a/drivers/misc/mei/hw-me.c 21 | +++ b/drivers/misc/mei/hw-me.c 22 | @@ -593,7 +593,7 @@ static void mei_me_check_fw_reset(struct mei_device *dev) 23 | if (!dev->saved_fw_status_flag) 24 | goto end; 25 | 26 | - if (dev->gsc_reset_to_pxp == MEI_DEV_RESET_TO_PXP_PERFORMED) { 27 | + if (dev->gsc_reset_to_pxp == MEI_DEV_RESET_TO_PXP_PERFORMED || dev->forcewake_needed) { 28 | ret = mei_fw_status(dev, &fw_status); 29 | if (!ret) { 30 | fw_pm_event = fw_status.status[1] & PCI_CFG_HFS_2_PM_EVENT_MASK; 31 | -- 32 | 2.25.1 33 | 34 | -------------------------------------------------------------------------------- /kernel-patches/patches/0019-INTEL_DII-mei-bus-fixup-disable-version-retrieval.security: -------------------------------------------------------------------------------- 1 | From 3762af44691416522ec6708ee7580e23d1ff6436 Mon Sep 17 00:00:00 2001 2 | From: Alexander Usyskin 3 | Date: Thu, 10 Nov 2022 16:04:26 +0200 4 | Subject: [PATCH 19/19] INTEL_DII: mei: bus-fixup: disable version retrieval 5 | when force-wake is enabled 6 | 7 | With force-wake workaround version retrieval in bus rescan 8 | races with call to the same client from the user-space. 9 | Disable version retrieval in this case. 10 | 11 | Co-developed-by: Tomas Winkler 12 | Signed-off-by: Alexander Usyskin 13 | --- 14 | drivers/misc/mei/bus-fixup.c | 3 +++ 15 | 1 file changed, 3 insertions(+) 16 | 17 | diff --git a/drivers/misc/mei/bus-fixup.c b/drivers/misc/mei/bus-fixup.c 18 | index 9eebeffcd8fd0..1bf8df9c9caec 100644 19 | --- a/drivers/misc/mei/bus-fixup.c 20 | +++ b/drivers/misc/mei/bus-fixup.c 21 | @@ -246,6 +246,9 @@ static void mei_gsc_mkhi_ver(struct mei_cl_device *cldev) 22 | */ 23 | if (!cldev->bus->fw_f_fw_ver_supported || cldev->bus->fw_ver_received) 24 | return; 25 | + /* Force-wake races with this call */ 26 | + if (cldev->bus->forcewake_needed) 27 | + return; 28 | 29 | ret = mei_cldev_enable(cldev); 30 | if (ret) 31 | -- 32 | 2.25.1 33 | 34 | -------------------------------------------------------------------------------- /kernel-patches/patches/0020-GPIO-Fix-for-PSE-GPIO-generating-only-one-event-as-i.tgpio: -------------------------------------------------------------------------------- 1 | From 2b46a5821b7e58479ef1e8640b1121abd74a22dd Mon Sep 17 00:00:00 2001 2 | From: "Padmasanan, Prathisna" 3 | Date: Tue, 4 Aug 2020 20:20:19 +0530 4 | Subject: [PATCH 20/43] GPIO: Fix for PSE GPIO generating only one event as 5 | interrupt source 6 | 7 | Reference count of the PSE GPIO driver was decremented before suspend 8 | and so device was not able to wakeup on IRQ . 9 | 10 | Signed-off-by: Padmasanan, Prathisna 11 | --- 12 | drivers/gpio/gpio-ehl-pse-plat.c | 3 +-- 13 | 1 file changed, 1 insertion(+), 2 deletions(-) 14 | 15 | diff --git a/drivers/gpio/gpio-ehl-pse-plat.c b/drivers/gpio/gpio-ehl-pse-plat.c 16 | index f597d8cd05902..47e686e034190 100644 17 | --- a/drivers/gpio/gpio-ehl-pse-plat.c 18 | +++ b/drivers/gpio/gpio-ehl-pse-plat.c 19 | @@ -256,8 +256,6 @@ static int ehl_pse_irq_set_type(struct irq_data *d, unsigned int type) 20 | 21 | raw_spin_unlock_irqrestore(&priv->lock, flags); 22 | 23 | - pm_runtime_put(priv->dev->parent); 24 | - 25 | return 0; 26 | } 27 | 28 | @@ -271,6 +269,7 @@ static int ehl_pse_irq_set_wake(struct irq_data *d, unsigned int on) 29 | unsigned long flags; 30 | u32 value; 31 | 32 | + pm_runtime_put(priv->dev->parent); 33 | raw_spin_lock_irqsave(&priv->lock, flags); 34 | 35 | /* Clear the existing wake status */ 36 | -- 37 | 2.25.1 38 | 39 | -------------------------------------------------------------------------------- /kernel-patches/patches/0020-igc-Enable-HW-RX-Timestamp-for-AF_XDP-ZC.tsn: -------------------------------------------------------------------------------- 1 | From 36426d7d4dc3b1f2bae9ace1f9a4d614f34d3f35 Mon Sep 17 00:00:00 2001 2 | From: Muhammad Husaini Zulkifli 3 | Date: Wed, 9 Jun 2021 01:56:30 +0800 4 | Subject: [PATCH 20/32] igc: Enable HW RX Timestamp for AF_XDP ZC 5 | 6 | Enable the RX HW Timestamp using meta data to userspace. 7 | 8 | Signed-off-by: Muhammad Husaini Zulkifli 9 | Signed-off-by: Aravindhan Gunasekaran 10 | --- 11 | drivers/net/ethernet/intel/igc/igc_main.c | 9 +++++++++ 12 | 1 file changed, 9 insertions(+) 13 | 14 | Index: b/drivers/net/ethernet/intel/igc/igc_main.c 15 | =================================================================== 16 | --- a/drivers/net/ethernet/intel/igc/igc_main.c 17 | +++ b/drivers/net/ethernet/intel/igc/igc_main.c 18 | @@ -2896,6 +2896,7 @@ static int igc_clean_rx_irq_zc(struct ig 19 | u16 cleaned_count = igc_desc_unused(ring); 20 | int total_bytes = 0, total_packets = 0; 21 | u16 ntc = ring->next_to_clean; 22 | + struct igc_md_desc *md; 23 | struct bpf_prog *prog; 24 | bool failure = false; 25 | int xdp_status = 0; 26 | @@ -2944,6 +2945,14 @@ static int igc_clean_rx_irq_zc(struct ig 27 | bi->xdp->data_end = bi->xdp->data + size; 28 | xsk_buff_dma_sync_for_cpu(bi->xdp); 29 | 30 | + if (adapter->btf_enabled) { 31 | + md = bi->xdp->data - sizeof(*md); 32 | + md->timestamp = ctx->rx_ts; 33 | + bi->xdp->data_meta = md; 34 | + } else { 35 | + xdp_set_data_meta_invalid(bi->xdp); 36 | + } 37 | + 38 | res = __igc_xdp_run_prog(adapter, prog, bi->xdp); 39 | switch (res) { 40 | case IGC_XDP_PASS: 41 | -------------------------------------------------------------------------------- /kernel-patches/patches/0021-Added-TGPIO-pin-check-before-input-event-read.tgpio: -------------------------------------------------------------------------------- 1 | From 397d065ead5c0ef7412d5466912f37b2cf65fc81 Mon Sep 17 00:00:00 2001 2 | From: Rajvi Jingar 3 | Date: Fri, 10 Jan 2020 15:49:42 -0800 4 | Subject: [PATCH 21/43] Added TGPIO pin check before input event read 5 | 6 | This patch adds check for PTP_PINDESC_INPUTDISABLE flag before 7 | performing read to input event. 8 | 9 | Signed-off-by: Rajvi Jingar 10 | --- 11 | tools/testing/selftests/ptp/testptp.c | 31 ++++++++++++++++----------- 12 | 1 file changed, 18 insertions(+), 13 deletions(-) 13 | 14 | diff --git a/tools/testing/selftests/ptp/testptp.c b/tools/testing/selftests/ptp/testptp.c 15 | index 011252fe238c8..0df89b4717061 100644 16 | --- a/tools/testing/selftests/ptp/testptp.c 17 | +++ b/tools/testing/selftests/ptp/testptp.c 18 | @@ -428,20 +428,25 @@ int main(int argc, char *argv[]) 19 | } else { 20 | puts("external time stamp request okay"); 21 | } 22 | - for (; extts; extts--) { 23 | - cnt = read(fd, &event, sizeof(event)); 24 | - if (cnt != sizeof(event)) { 25 | - perror("read"); 26 | - break; 27 | + memset(&desc, 0, sizeof(desc)); 28 | + desc.index = index; 29 | + if (ioctl(fd, PTP_PIN_GETFUNC2, &desc)) 30 | + perror("PTP_PIN_GETFUNC2"); 31 | + if (!(desc.flags & PTP_PINDESC_INPUTDISABLE)) { 32 | + for (; extts; extts--) { 33 | + cnt = read(fd, &event, sizeof(event)); 34 | + if (cnt != sizeof(event)) { 35 | + perror("read"); 36 | + break; 37 | + } 38 | + printf("event index %u at %lld.%09u\n", event.index, 39 | + event.t.sec, event.t.nsec); 40 | + fflush(stdout); 41 | } 42 | - printf("event index %u at %lld.%09u\n", event.index, 43 | - event.t.sec, event.t.nsec); 44 | - fflush(stdout); 45 | - } 46 | - /* Disable the feature again. */ 47 | - extts_request.flags = 0; 48 | - if (ioctl(fd, PTP_EXTTS_REQUEST, &extts_request)) { 49 | - perror("PTP_EXTTS_REQUEST"); 50 | + /* Disable the feature again. */ 51 | + extts_request.flags = 0; 52 | + if (ioctl(fd, PTP_EXTTS_REQUEST, &extts_request)) 53 | + perror("PTP_EXTTS_REQUEST"); 54 | } 55 | } 56 | 57 | -- 58 | 2.25.1 59 | 60 | -------------------------------------------------------------------------------- /kernel-patches/patches/0021-drm-i915-mtl-Turn-on-Wa_16019325821-Wa_14019159160-b.sriov: -------------------------------------------------------------------------------- 1 | From 405d6802b8a902898954220cb05d01173ee06f34 Mon Sep 17 00:00:00 2001 2 | From: "Chew, Tong Liang" 3 | Date: Mon, 20 Nov 2023 09:43:29 +0800 4 | Subject: [PATCH 21/48] drm/i915/mtl: Turn on Wa_16019325821/Wa_14019159160 by 5 | default 6 | 7 | Turn on RCS and CCS workaround by default for MTL to 8 | fix GPU hang and CATERR issue. 9 | 10 | Signed-off-by: Chew, Tong Liang 11 | Signed-off-by: Zawawi, Muhammad Zul Husni 12 | --- 13 | drivers/gpu/drm/i915/i915_params.h | 2 +- 14 | 1 file changed, 1 insertion(+), 1 deletion(-) 15 | 16 | diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h 17 | index fc151c1be1c83..349219ceb33e0 100644 18 | --- a/drivers/gpu/drm/i915/i915_params.h 19 | +++ b/drivers/gpu/drm/i915/i915_params.h 20 | @@ -63,7 +63,7 @@ struct drm_printer; 21 | param(unsigned int, max_vfs, 0, 0400) \ 22 | param(int, force_disable_ccs, 0, 0400) \ 23 | /* leave bools at the end to not create holes */ \ 24 | - param(bool, enable_mtl_rcs_ccs_wa, false, 0x400) \ 25 | + param(bool, enable_mtl_rcs_ccs_wa, true, 0x400) \ 26 | param(bool, enable_hangcheck, true, 0600) \ 27 | param(bool, error_capture, true, IS_ENABLED(CONFIG_DRM_I915_CAPTURE_ERROR) ? 0600 : 0) \ 28 | param(bool, enable_gvt, false, IS_ENABLED(CONFIG_DRM_I915_GVT) ? 0400 : 0) \ 29 | -- 30 | 2.25.1 31 | 32 | -------------------------------------------------------------------------------- /kernel-patches/patches/0021-igc-Take-care-of-DMA-timestamp-rollover.tsn: -------------------------------------------------------------------------------- 1 | From 123c9bd6c1b99e000485a5a6c939b5daf91fb8b8 Mon Sep 17 00:00:00 2001 2 | From: Aravindhan Gunasekaran 3 | Date: Tue, 3 Aug 2021 17:32:26 +0000 4 | Subject: [PATCH 21/32] igc: Take care of DMA timestamp rollover 5 | 6 | This patch is to fix the spike in driver Tx Path when measuring between 7 | two timestamp of TX HW Timestamp during profiling stage. 8 | 9 | Rollover is identified by checking the 32-bit SYSTIM_L(say, present-time) 10 | value which should be greater that LS 32bits from DMA WB(time in past). 11 | 12 | Signed-off-by: Aravindhan Gunasekaran 13 | Signed-off-by: Muhammad Husaini Zulkifli 14 | --- 15 | drivers/net/ethernet/intel/igc/igc_ptp.c | 3 +++ 16 | 1 file changed, 3 insertions(+) 17 | 18 | diff --git a/drivers/net/ethernet/intel/igc/igc_ptp.c b/drivers/net/ethernet/intel/igc/igc_ptp.c 19 | index 80a667d171791..3c0223b2d701a 100644 20 | --- a/drivers/net/ethernet/intel/igc/igc_ptp.c 21 | +++ b/drivers/net/ethernet/intel/igc/igc_ptp.c 22 | @@ -470,6 +470,9 @@ static void igc_ptp_dma_time_to_hwtstamp(struct igc_adapter *adapter, 23 | nsec = rd32(IGC_SYSTIML); 24 | sec = rd32(IGC_SYSTIMH); 25 | 26 | + if (unlikely(nsec < (systim & 0xFFFFFFFF))) 27 | + --sec; 28 | + 29 | switch (adapter->hw.mac.type) { 30 | case igc_i225: 31 | memset(hwtstamps, 0, sizeof(*hwtstamps)); 32 | -- 33 | 2.25.1 34 | 35 | -------------------------------------------------------------------------------- /kernel-patches/patches/0022-sched-Fixup-the-IS_ENABLED-check-for-PREEMPT_LAZY.rt: -------------------------------------------------------------------------------- 1 | From a60de5ea3b9af15474a12797c36be5293887754a Mon Sep 17 00:00:00 2001 2 | From: Sebastian Andrzej Siewior 3 | Date: Fri, 25 Oct 2024 11:05:53 +0200 4 | Subject: [PATCH 22/25] sched: Fixup the IS_ENABLED check for PREEMPT_LAZY 5 | 6 | The IS_ENABLED is missing the CONFIG_ and therefore always evaluates to 7 | false. 8 | 9 | Reported-by: Shrikanth Hegde 10 | Signed-off-by: Sebastian Andrzej Siewior 11 | --- 12 | kernel/sched/core.c | 4 ++-- 13 | 1 file changed, 2 insertions(+), 2 deletions(-) 14 | 15 | diff --git a/kernel/sched/core.c b/kernel/sched/core.c 16 | index 9269397541e0f..9582c5d51e73e 100644 17 | --- a/kernel/sched/core.c 18 | +++ b/kernel/sched/core.c 19 | @@ -1125,11 +1125,11 @@ static __always_inline bool dynamic_preempt_promote(void) 20 | #else 21 | static __always_inline bool dynamic_preempt_lazy(void) 22 | { 23 | - return IS_ENABLED(PREEMPT_LAZY) | IS_ENABLED(PREEMPT_LAZIEST); 24 | + return IS_ENABLED(CONFIG_PREEMPT_LAZY) | IS_ENABLED(CONFIG_PREEMPT_LAZIEST); 25 | } 26 | static __always_inline bool dynamic_preempt_promote(void) 27 | { 28 | - return IS_ENABLED(PREEMPT_LAZY); 29 | + return IS_ENABLED(CONFIG_PREEMPT_LAZY); 30 | } 31 | #endif 32 | 33 | -- 34 | 2.25.1 35 | 36 | -------------------------------------------------------------------------------- /kernel-patches/patches/0023-net-phylink-Add-module_exit.tsn: -------------------------------------------------------------------------------- 1 | From 2c8a0cfbb6424190da5736dd8951cd326dee06a6 Mon Sep 17 00:00:00 2001 2 | From: Choong Yong Liang 3 | Date: Wed, 3 Jan 2024 14:59:29 +0800 4 | Subject: [PATCH 23/42] net: phylink: Add module_exit() 5 | 6 | In free_module(), if mod->init callback is defined but mod->exit callback 7 | is not defined, it will assume the module cannot be removed and return 8 | EBUSY. The module_exit() is missing from current phylink module drive 9 | causing failure while unloading it. 10 | 11 | This patch introduces phylink_exit() for phylink module removal. 12 | 13 | Fixes: eca68a3c7d05 ("net: phylink: pass supported host PHY interface modes to phylib for SFP's PHYs") 14 | Signed-off-by: Lai Peter Jun Ann 15 | Signed-off-by: Gan, Yi Fang 16 | --- 17 | drivers/net/phy/phylink.c | 6 ++++++ 18 | 1 file changed, 6 insertions(+) 19 | 20 | diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c 21 | index b08689d58bfe1..0b357caa40855 100644 22 | --- a/drivers/net/phy/phylink.c 23 | +++ b/drivers/net/phy/phylink.c 24 | @@ -3892,5 +3892,11 @@ static int __init phylink_init(void) 25 | 26 | module_init(phylink_init); 27 | 28 | +static void __exit phylink_exit(void) 29 | +{ 30 | +} 31 | + 32 | +module_exit(phylink_exit); 33 | + 34 | MODULE_LICENSE("GPL v2"); 35 | MODULE_DESCRIPTION("phylink models the MAC to optional PHY connection"); 36 | -- 37 | 2.25.1 38 | 39 | -------------------------------------------------------------------------------- /kernel-patches/patches/0024-drm-i915-access-ddc-pointer-only-if-it-is-available.sriov: -------------------------------------------------------------------------------- 1 | From 2f18e2d18469cbd153c3967506e4f58f35610490 Mon Sep 17 00:00:00 2001 2 | From: ShradhaGupta31 3 | Date: Wed, 3 Jan 2024 14:11:02 +0530 4 | Subject: [PATCH 24/48] drm/i915: access ddc pointer only if it is available 5 | 6 | delaying call to intel_gmbus_get_adapter after dp_dual_mode check. 7 | This change is to fix an i915 warning during S5/WR. 8 | 9 | Fixes: a4f3c0a43de5 ("drm/i915: Call the DDC bus i2c adapter "ddc"") 10 | Signed-off-by: ShradhaGupta31 11 | Signed-off-by: Junxiao Chang 12 | --- 13 | drivers/gpu/drm/i915/display/intel_hdmi.c | 4 +++- 14 | 1 file changed, 3 insertions(+), 1 deletion(-) 15 | 16 | diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c 17 | index cd9ee171e0df3..6605491cc7237 100644 18 | --- a/drivers/gpu/drm/i915/display/intel_hdmi.c 19 | +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c 20 | @@ -1254,11 +1254,13 @@ static void hsw_set_infoframes(struct intel_encoder *encoder, 21 | void intel_dp_dual_mode_set_tmds_output(struct intel_hdmi *hdmi, bool enable) 22 | { 23 | struct intel_display *display = to_intel_display(hdmi); 24 | - struct i2c_adapter *ddc = hdmi->attached_connector->base.ddc; 25 | + struct i2c_adapter *ddc; 26 | 27 | if (hdmi->dp_dual_mode.type < DRM_DP_DUAL_MODE_TYPE2_DVI) 28 | return; 29 | 30 | + ddc = hdmi->attached_connector->base.ddc; 31 | + 32 | drm_dbg_kms(display->drm, "%s DP dual mode adaptor TMDS output\n", 33 | enable ? "Enabling" : "Disabling"); 34 | 35 | -- 36 | 2.25.1 37 | 38 | -------------------------------------------------------------------------------- /kernel-patches/patches/0024-net-stmmac-introduce-AF_XDP-ZC-TX-HW-timestamps.tsn: -------------------------------------------------------------------------------- 1 | From b2e0c1c37460f4afc083bb8ae07cf381f52c9861 Mon Sep 17 00:00:00 2001 2 | From: "Song, Yoong Siang" 3 | Date: Sun, 11 Apr 2021 23:19:13 +0800 4 | Subject: [PATCH 24/42] net: stmmac: introduce AF_XDP ZC TX HW timestamps 5 | 6 | This is a temporary solution as it uses trace_printk as a means to 7 | log tx timestamps. Future implementation should use xdp_frame's 8 | data_meta to let user applications retrieve it directly. 9 | 10 | Signed-off-by: Voon Weifeng 11 | Signed-off-by: Tan, Tee Min 12 | Signed-off-by: Song, Yoong Siang 13 | --- 14 | drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 13 ++++++++++++- 15 | 1 file changed, 12 insertions(+), 1 deletion(-) 16 | 17 | diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 18 | index f9c255f41617f..1c17f9e5c1559 100644 19 | --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 20 | +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 21 | @@ -2583,7 +2583,10 @@ static bool stmmac_xdp_xmit_zc(struct stmmac_priv *priv, u32 queue, u32 budget) 22 | 23 | tx_q->tx_count_frames++; 24 | 25 | - if (!priv->tx_coal_frames[queue]) 26 | + if (unlikely(priv->hwts_all)) { 27 | + stmmac_enable_tx_timestamp(priv, tx_desc); 28 | + set_ic = true; 29 | + } else if (!priv->tx_coal_frames[queue]) 30 | set_ic = false; 31 | else if (tx_q->tx_count_frames % priv->tx_coal_frames[queue] == 0) 32 | set_ic = true; 33 | @@ -2745,6 +2748,14 @@ static int stmmac_tx_clean(struct stmmac_priv *priv, int budget, u32 queue, 34 | xsk_tx_metadata_complete(&tx_q->tx_skbuff_dma[entry].xsk_meta, 35 | &stmmac_xsk_tx_metadata_ops, 36 | &tx_compl); 37 | + } else if (unlikely(priv->hwts_all) && 38 | + tx_q->tx_skbuff_dma[entry].buf_type == 39 | + STMMAC_TXBUF_T_XSK_TX) { 40 | + ktime_t tx_hwtstamp = { 0 }; 41 | + 42 | + stmmac_get_tx_hwtstamp(priv, p, &tx_hwtstamp); 43 | + trace_printk("XDP TX HW TS %llu\n", 44 | + tx_hwtstamp); 45 | } 46 | } 47 | 48 | -- 49 | 2.25.1 50 | 51 | -------------------------------------------------------------------------------- /kernel-patches/patches/0024-ptp-Fixed-read-issue-on-PHC-with-zero-n_pins.tgpio: -------------------------------------------------------------------------------- 1 | From 1b94fd0c53d4a54f9e42a914fe81f6574cda4548 Mon Sep 17 00:00:00 2001 2 | From: Wong Vee Khee 3 | Date: Tue, 30 Mar 2021 14:07:00 +0800 4 | Subject: [PATCH 24/43] ptp: Fixed read issue on PHC with zero n_pins 5 | 6 | Fixed an issue when performing read on a PTP clock device with no 7 | programmable pins. The current implementation will cause the 8 | ptp->defunct flag being set, and return an error on PTP clock devices 9 | with no programmable pins. 10 | 11 | Reviewed-by: Christopher S. Hall 12 | Signed-off-by: Wong Vee Khee 13 | --- 14 | drivers/ptp/ptp_clock.c | 4 ++++ 15 | 1 file changed, 4 insertions(+) 16 | 17 | diff --git a/drivers/ptp/ptp_clock.c b/drivers/ptp/ptp_clock.c 18 | index ea984abdc1590..4c0340da7c671 100644 19 | --- a/drivers/ptp/ptp_clock.c 20 | +++ b/drivers/ptp/ptp_clock.c 21 | @@ -234,6 +234,10 @@ static bool check_for_readability(struct ptp_pin_desc *pin_desc, size_t size) 22 | int i; 23 | unsigned int flags = PTP_PINDESC_INPUTPOLL; 24 | 25 | + /* Skip checking as there are no programmable pins */ 26 | + if (size < 1) 27 | + return true; 28 | + 29 | for (i = 0; i < size && flags != 0; ++i) 30 | flags &= pin_desc[i].flags; 31 | 32 | -- 33 | 2.25.1 34 | 35 | -------------------------------------------------------------------------------- /kernel-patches/patches/0025-drm-i915-guc-Upgrade-GuC-fw-version-to-70.20.0.sriov: -------------------------------------------------------------------------------- 1 | From fa39c5c65651851327371a949d07ca55a4b8b161 Mon Sep 17 00:00:00 2001 2 | From: "Chew, Tong Liang" 3 | Date: Wed, 20 Mar 2024 07:55:45 +0800 4 | Subject: [PATCH 25/48] drm/i915/guc: Upgrade GuC fw version to 70.20.0 5 | 6 | Update GuC for ALDERLAKE_S , ALDERLAKE_P, MTL and DG2 to version 7 | GuC v70.20.0. 8 | 9 | Suggested-by: Mazlan, Hazwan Arif 10 | Signed-off-by: Kooran Paul, Princy 11 | Signed-off-by: Chew, Tong Liang 12 | --- 13 | drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 8 ++++---- 14 | 1 file changed, 4 insertions(+), 4 deletions(-) 15 | 16 | diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c 17 | index 2b6c9dbbccada..ae7fb7097e606 100644 18 | --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c 19 | +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c 20 | @@ -88,12 +88,12 @@ void intel_uc_fw_change_status(struct intel_uc_fw *uc_fw, 21 | * security fixes, etc. to be enabled. 22 | */ 23 | #define INTEL_GUC_FIRMWARE_DEFS(fw_def, guc_maj, guc_mmp) \ 24 | - fw_def(METEORLAKE, 0, guc_maj(mtl, 70, 12, 1)) \ 25 | - fw_def(DG2, 0, guc_maj(dg2, 70, 12, 1)) \ 26 | - fw_def(ALDERLAKE_P, 0, guc_maj(adlp, 70, 12, 1)) \ 27 | + fw_def(METEORLAKE, 0, guc_maj(mtl, 70, 20, 0)) \ 28 | + fw_def(DG2, 0, guc_maj(dg2, 70, 20, 0)) \ 29 | + fw_def(ALDERLAKE_P, 0, guc_maj(adlp, 70, 20, 0)) \ 30 | fw_def(ALDERLAKE_P, 0, guc_mmp(adlp, 70, 1, 1)) \ 31 | fw_def(ALDERLAKE_P, 0, guc_mmp(adlp, 69, 0, 3)) \ 32 | - fw_def(ALDERLAKE_S, 0, guc_maj(tgl, 70, 12, 1)) \ 33 | + fw_def(ALDERLAKE_S, 0, guc_maj(tgl, 70, 20, 0)) \ 34 | fw_def(ALDERLAKE_S, 0, guc_mmp(tgl, 70, 1, 1)) \ 35 | fw_def(ALDERLAKE_S, 0, guc_mmp(tgl, 69, 0, 3)) \ 36 | fw_def(DG1, 0, guc_maj(dg1, 70, 5, 1)) \ 37 | -- 38 | 2.25.1 39 | 40 | -------------------------------------------------------------------------------- /kernel-patches/patches/0025-ptp-S-W-workaround-for-PMC-TGPIO-h-w-bug.tgpio: -------------------------------------------------------------------------------- 1 | From 8f3a2be780a5e3e4883c8d6f7f97fac4d73669b7 Mon Sep 17 00:00:00 2001 2 | From: "D, Lakshmi Sowjanya" 3 | Date: Thu, 27 May 2021 22:00:16 +0530 4 | Subject: [PATCH 25/43] ptp: S/W workaround for PMC TGPIO h/w bug 5 | 6 | Returns the previous device time if the event count is not incremented 7 | with change in TCV value. 8 | 9 | Signed-off-by: D, Lakshmi Sowjanya 10 | --- 11 | drivers/ptp/ptp-intel-pmc-tgpio.c | 16 ++++++++++++++++ 12 | 1 file changed, 16 insertions(+) 13 | 14 | diff --git a/drivers/ptp/ptp-intel-pmc-tgpio.c b/drivers/ptp/ptp-intel-pmc-tgpio.c 15 | index b15b7d676e090..8d4f0d4036774 100644 16 | --- a/drivers/ptp/ptp-intel-pmc-tgpio.c 17 | +++ b/drivers/ptp/ptp-intel-pmc-tgpio.c 18 | @@ -486,6 +486,9 @@ static int intel_pmc_tgpio_counttstamp(struct ptp_clock_info *info, 19 | u32 dt_lo; 20 | struct timespec64 dt_ts; 21 | struct timespec64 tsc_now; 22 | + static u32 dt_lo_prev[2] = { 0, 0 }; 23 | + static struct timespec64 dt_ts_prev[2] = {{ 0, 0 }}; 24 | + static unsigned long long prev_count[2] = { 0, 0 }; 25 | 26 | mutex_lock(&intel_pmc_tgpio->lock); 27 | while (intel_pmc_tgpio->pin[count->index].busy) { 28 | @@ -515,7 +518,20 @@ static int intel_pmc_tgpio_counttstamp(struct ptp_clock_info *info, 29 | else 30 | dt_ts = convert_art_to_tsc_ns(((u64)dt_hi_e << 32) | dt_lo); 31 | 32 | + /* Return previous device time if the event_count 33 | + * isn't incremented with TCV value 34 | + */ 35 | + if (count->event_count == prev_count[count->index] || 36 | + dt_lo_prev[count->index] == dt_lo) { 37 | + count->event_count = prev_count[count->index]; 38 | + dt_lo = dt_lo_prev[count->index]; 39 | + dt_ts = dt_ts_prev[count->index]; 40 | + } 41 | + 42 | count->device_time = ts64_to_ptp_clock_time(dt_ts); 43 | + prev_count[count->index] = count->event_count; 44 | + dt_lo_prev[count->index] = dt_lo; 45 | + dt_ts_prev[count->index] = dt_ts; 46 | 47 | mutex_lock(&intel_pmc_tgpio->lock); 48 | intel_pmc_tgpio->pin[count->index].busy = false; 49 | -- 50 | 2.25.1 51 | 52 | -------------------------------------------------------------------------------- /kernel-patches/patches/0025-sysfs-Add-sys-kernel-realtime-entry.rt: -------------------------------------------------------------------------------- 1 | From 90a3338c599ad83628265bba208bcfbb392794bd Mon Sep 17 00:00:00 2001 2 | From: Clark Williams 3 | Date: Sat, 30 Jul 2011 21:55:53 -0500 4 | Subject: [PATCH 25/25] sysfs: Add /sys/kernel/realtime entry 5 | 6 | Add a /sys/kernel entry to indicate that the kernel is a 7 | realtime kernel. 8 | 9 | Clark says that he needs this for udev rules, udev needs to evaluate 10 | if its a PREEMPT_RT kernel a few thousand times and parsing uname 11 | output is too slow or so. 12 | 13 | Are there better solutions? Should it exist and return 0 on !-rt? 14 | 15 | Signed-off-by: Clark Williams 16 | Signed-off-by: Peter Zijlstra 17 | Signed-off-by: Thomas Gleixner 18 | --- 19 | kernel/ksysfs.c | 12 ++++++++++++ 20 | 1 file changed, 12 insertions(+) 21 | 22 | diff --git a/kernel/ksysfs.c b/kernel/ksysfs.c 23 | index 1bab21b4718ff..8d3bee77cacc6 100644 24 | --- a/kernel/ksysfs.c 25 | +++ b/kernel/ksysfs.c 26 | @@ -188,6 +188,15 @@ KERNEL_ATTR_RO(crash_elfcorehdr_size); 27 | 28 | #endif /* CONFIG_VMCORE_INFO */ 29 | 30 | +#if defined(CONFIG_PREEMPT_RT) 31 | +static ssize_t realtime_show(struct kobject *kobj, 32 | + struct kobj_attribute *attr, char *buf) 33 | +{ 34 | + return sprintf(buf, "%d\n", 1); 35 | +} 36 | +KERNEL_ATTR_RO(realtime); 37 | +#endif 38 | + 39 | /* whether file capabilities are enabled */ 40 | static ssize_t fscaps_show(struct kobject *kobj, 41 | struct kobj_attribute *attr, char *buf) 42 | @@ -285,6 +294,9 @@ static struct attribute * kernel_attrs[] = { 43 | #ifndef CONFIG_TINY_RCU 44 | &rcu_expedited_attr.attr, 45 | &rcu_normal_attr.attr, 46 | +#endif 47 | +#ifdef CONFIG_PREEMPT_RT 48 | + &realtime_attr.attr, 49 | #endif 50 | NULL 51 | }; 52 | -- 53 | 2.25.1 54 | 55 | -------------------------------------------------------------------------------- /kernel-patches/patches/0027-drm-i915-guc-Upgrade-GuC-fw-version-to-70.29.2.sriov: -------------------------------------------------------------------------------- 1 | From 4dda0b57ed5194f871effdc5625d719e02b3d6c7 Mon Sep 17 00:00:00 2001 2 | From: "Kooran Paul, Princy" 3 | Date: Mon, 5 Aug 2024 11:08:21 +0800 4 | Subject: [PATCH 27/48] drm/i915/guc: Upgrade GuC fw version to 70.29.2 5 | 6 | Update GuC for ALDERLAKE_S , ALDERLAKE_P, MTL and DG2 to version 7 | GuC v70.29.2. 8 | 9 | Suggested-by: Mazlan, Hazwan Arif 10 | Signed-off-by: Kooran Paul, Princy 11 | Signed-off-by: Junxiao Chang 12 | --- 13 | drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 8 ++++---- 14 | 1 file changed, 4 insertions(+), 4 deletions(-) 15 | 16 | diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c 17 | index ae7fb7097e606..d4911c87733e7 100644 18 | --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c 19 | +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c 20 | @@ -88,12 +88,12 @@ void intel_uc_fw_change_status(struct intel_uc_fw *uc_fw, 21 | * security fixes, etc. to be enabled. 22 | */ 23 | #define INTEL_GUC_FIRMWARE_DEFS(fw_def, guc_maj, guc_mmp) \ 24 | - fw_def(METEORLAKE, 0, guc_maj(mtl, 70, 20, 0)) \ 25 | - fw_def(DG2, 0, guc_maj(dg2, 70, 20, 0)) \ 26 | - fw_def(ALDERLAKE_P, 0, guc_maj(adlp, 70, 20, 0)) \ 27 | + fw_def(METEORLAKE, 0, guc_maj(mtl, 70, 29, 2)) \ 28 | + fw_def(DG2, 0, guc_maj(dg2, 70, 29, 2)) \ 29 | + fw_def(ALDERLAKE_P, 0, guc_maj(adlp, 70, 29, 2)) \ 30 | fw_def(ALDERLAKE_P, 0, guc_mmp(adlp, 70, 1, 1)) \ 31 | fw_def(ALDERLAKE_P, 0, guc_mmp(adlp, 69, 0, 3)) \ 32 | - fw_def(ALDERLAKE_S, 0, guc_maj(tgl, 70, 20, 0)) \ 33 | + fw_def(ALDERLAKE_S, 0, guc_maj(tgl, 70, 29, 2)) \ 34 | fw_def(ALDERLAKE_S, 0, guc_mmp(tgl, 70, 1, 1)) \ 35 | fw_def(ALDERLAKE_S, 0, guc_mmp(tgl, 69, 0, 3)) \ 36 | fw_def(DG1, 0, guc_maj(dg1, 70, 5, 1)) \ 37 | -- 38 | 2.25.1 39 | 40 | -------------------------------------------------------------------------------- /kernel-patches/patches/0027-ptp-Fix-for-PSE-TGPIO-frequency-Adjustment-issue.tgpio: -------------------------------------------------------------------------------- 1 | From 0f2d9fd0d4c7c18b8d99ef9d04e4f7ae3579712d Mon Sep 17 00:00:00 2001 2 | From: Lakshmi Sowjanya D 3 | Date: Mon, 13 Sep 2021 18:57:17 +0800 4 | Subject: [PATCH 27/43] ptp: Fix for PSE TGPIO frequency Adjustment issue 5 | 6 | Add PTP_PEROUT_FREQ_ADJ check before updating the TGPIO_COMPV registers. 7 | COMPV register is to be updated accordingly only when FREQ_ADJ flag is 8 | not enabled. 9 | 10 | Signed-off-by: Lakshmi Sowjanya D 11 | --- 12 | drivers/ptp/ptp-intel-tgpio-plat.c | 12 +++++++----- 13 | 1 file changed, 7 insertions(+), 5 deletions(-) 14 | 15 | diff --git a/drivers/ptp/ptp-intel-tgpio-plat.c b/drivers/ptp/ptp-intel-tgpio-plat.c 16 | index d55a7d4a8365b..47a9fb5979692 100644 17 | --- a/drivers/ptp/ptp-intel-tgpio-plat.c 18 | +++ b/drivers/ptp/ptp-intel-tgpio-plat.c 19 | @@ -411,11 +411,13 @@ static int intel_tgpio_config_output(struct intel_tgpio *tgpio, 20 | else 21 | ctrl |= TGPIOCTL_PM; 22 | 23 | - intel_tgpio_writel(tgpio->base, TGPIOCOMPV31_0(index), 24 | - start->nsec); 25 | - intel_tgpio_writel(tgpio->base, TGPIOCOMPV63_32(index), 26 | - start->sec); 27 | - 28 | + if (!(perout->flags & PTP_PEROUT_FREQ_ADJ)) { 29 | + start->nsec = ((start->nsec) / 10) * 10; 30 | + intel_tgpio_writel(tgpio->base, TGPIOCOMPV31_0(index), 31 | + start->nsec); 32 | + intel_tgpio_writel(tgpio->base, TGPIOCOMPV63_32(index), 33 | + start->sec); 34 | + } 35 | intel_tgpio_writeq(tgpio->base, TGPIOPIV31_0(index), 36 | to_intel_tgpio_time(period)); 37 | 38 | -- 39 | 2.25.1 40 | 41 | -------------------------------------------------------------------------------- /kernel-patches/patches/0029-xsk-add-txtime-field-in-xdp_desc-struct.tsn: -------------------------------------------------------------------------------- 1 | From 90e81216a3f9a2714b3f004e7da40f42904ad52b Mon Sep 17 00:00:00 2001 2 | From: "Song, Yoong Siang" 3 | Date: Wed, 24 Feb 2021 01:38:14 +0800 4 | Subject: [PATCH 29/42] xsk: add txtime field in xdp_desc struct 5 | 6 | Add a xdp_desc entry to specify packet LaunchTime for drivers 7 | that support the feature. 8 | 9 | Signed-off-by: Song, Yoong Siang 10 | Signed-off-by: Muhammad Husaini Zulkifli 11 | --- 12 | include/uapi/linux/if_xdp.h | 1 + 13 | 1 file changed, 1 insertion(+) 14 | 15 | diff --git a/include/uapi/linux/if_xdp.h b/include/uapi/linux/if_xdp.h 16 | index 42ec5ddaab8dc..b007f3e75850e 100644 17 | --- a/include/uapi/linux/if_xdp.h 18 | +++ b/include/uapi/linux/if_xdp.h 19 | @@ -156,6 +156,7 @@ struct xdp_desc { 20 | __u64 addr; 21 | __u32 len; 22 | __u32 options; 23 | + __u64 txtime; 24 | }; 25 | 26 | /* UMEM descriptor is __u64 */ 27 | -- 28 | 2.25.1 29 | 30 | -------------------------------------------------------------------------------- /kernel-patches/patches/0030-igc-Reduce-retry-count-to-a-more-reasonable-number.tsn: -------------------------------------------------------------------------------- 1 | From 26d57da72ae4cadf8e11652f84f054b8cf8d4f4c Mon Sep 17 00:00:00 2001 2 | From: Christopher S M Hall 3 | Date: Wed, 18 Sep 2024 23:35:17 +0500 4 | Subject: [PATCH 30/32] igc: Reduce retry count to a more reasonable number 5 | 6 | Setting the retry count to 8x is more than sufficient. 100x is unreasonable 7 | and would indicate broken hardware/firmware. 8 | 9 | Fixes: a90ec8483732 ("igc: Add support for PTP getcrosststamp()") 10 | Signed-off-by: Christopher S M Hall 11 | --- 12 | drivers/net/ethernet/intel/igc/igc_ptp.c | 2 +- 13 | 1 file changed, 1 insertion(+), 1 deletion(-) 14 | 15 | Index: b/drivers/net/ethernet/intel/igc/igc_ptp.c 16 | =================================================================== 17 | --- a/drivers/net/ethernet/intel/igc/igc_ptp.c 18 | +++ b/drivers/net/ethernet/intel/igc/igc_ptp.c 19 | @@ -1091,8 +1091,8 @@ static int igc_phc_get_syncdevicetime(kt 20 | struct igc_adapter *adapter = ctx; 21 | struct igc_hw *hw = &adapter->hw; 22 | u32 stat, t2_curr_h, t2_curr_l; 23 | - int err, count = 100; 24 | ktime_t t1, t2_curr; 25 | + int err, count = 8; 26 | 27 | /* Doing this in a loop because in the event of a 28 | * badly timed (ha!) system clock adjustment, we may 29 | -------------------------------------------------------------------------------- /kernel-patches/patches/0034-ptp-Introduce-PTP_PINDESC_INPUTPOLL-for-Intel-PMC-TG.tgpio: -------------------------------------------------------------------------------- 1 | From 0a8c5f18a6201cccaa28ded2299eeb1cd6881ef2 Mon Sep 17 00:00:00 2001 2 | From: hkoayx 3 | Date: Mon, 13 Apr 2020 01:11:09 +0800 4 | Subject: [PATCH 34/43] ptp: Introduce PTP_PINDESC_INPUTPOLL for Intel PMC 5 | TGPIO 6 | 7 | This patch is to align to the current implementation of Intel PMC TGPIO 8 | usage of INPUTDESC flag for non-interrupt based input. This will be 9 | removed once the migration of TGPIO to GPIO subsystem. 10 | 11 | Signed-off-by: Raymond Tan 12 | Signed-off-by: Lakshmi Sowjanya D 13 | Signed-off-by: hkoayx 14 | --- 15 | tools/testing/selftests/ptp/testptp.c | 4 ++-- 16 | 1 file changed, 2 insertions(+), 2 deletions(-) 17 | 18 | diff --git a/tools/testing/selftests/ptp/testptp.c b/tools/testing/selftests/ptp/testptp.c 19 | index c269702da1dfd..02efc20a4f674 100644 20 | --- a/tools/testing/selftests/ptp/testptp.c 21 | +++ b/tools/testing/selftests/ptp/testptp.c 22 | @@ -547,7 +547,7 @@ int main(int argc, char *argv[]) 23 | desc.index = index; 24 | if (ioctl(fd, PTP_PIN_GETFUNC2, &desc)) 25 | perror("PTP_PIN_GETFUNC2"); 26 | - if (!(desc.flags & PTP_PINDESC_INPUTDISABLE)) { 27 | + if (!(desc.flags & PTP_PINDESC_INPUTPOLL)) { 28 | for (; extts; extts--) { 29 | cnt = read(fd, &event, sizeof(event)); 30 | if (cnt != sizeof(event)) { 31 | @@ -639,7 +639,7 @@ int main(int argc, char *argv[]) 32 | perout_request.start.nsec = 0; 33 | } 34 | 35 | - if (perout <= 0 && (desc.flags & PTP_PINDESC_INPUTDISABLE)) { 36 | + if (perout <= 0 && (desc.flags & PTP_PINDESC_INPUTPOLL)) { 37 | perout_request.period.nsec = NSEC_PER_SEC / 2; 38 | perout_request.flags = PTP_PEROUT_ONE_SHOT; 39 | if (ioctl(fd, PTP_PEROUT_REQUEST2, &perout_request)) 40 | -- 41 | 2.25.1 42 | 43 | -------------------------------------------------------------------------------- /kernel-patches/patches/0035-drivers-ptp-Add-COMPV-GPIO-Mode-for-PSE-TGPIO.tgpio: -------------------------------------------------------------------------------- 1 | From bd416f117b0400c04e5e8f8022d332a98cdb394f Mon Sep 17 00:00:00 2001 2 | From: "D, Lakshmi Sowjanya" 3 | Date: Thu, 2 May 2024 12:22:51 +0530 4 | Subject: [PATCH 35/43] drivers/ptp: Add COMPV GPIO Mode for PSE TGPIO 5 | 6 | In the COMPV GPIO Mode, instead of generating interrupts for each 7 | input event received, each input events will increment the event 8 | counter register only. 9 | 10 | The event counter value will be fed as Input Event Counter to the 11 | comparator which then be matched against the programmed COMPV value. 12 | Interrupt will be generated when they matches. 13 | 14 | Signed-off-by: Tan, Raymond 15 | Signed-off-by: Lakshmi Sowjanya D 16 | Signed-off-by: Hao Li 17 | --- 18 | drivers/ptp/ptp_chardev.c | 5 ++++- 19 | include/uapi/linux/ptp_clock.h | 3 ++- 20 | 2 files changed, 6 insertions(+), 2 deletions(-) 21 | 22 | diff --git a/drivers/ptp/ptp_chardev.c b/drivers/ptp/ptp_chardev.c 23 | index 196e0db2c0c91..9a747a85e1256 100644 24 | --- a/drivers/ptp/ptp_chardev.c 25 | +++ b/drivers/ptp/ptp_chardev.c 26 | @@ -249,7 +249,10 @@ long ptp_ioctl(struct posix_clock_context *pccontext, unsigned int cmd, 27 | } 28 | } else if (cmd == PTP_EXTTS_REQUEST) { 29 | req.extts.flags &= PTP_EXTTS_V1_VALID_FLAGS; 30 | - zero_rsv_field(req.extts.rsv); 31 | + /* zero_rsv_field(req.extts.rsv); */ 32 | + /* TOFIX: Temporarily uses RESERVED field to */ 33 | + /* pass event count value */ 34 | + req.extts.rsv[1] = 0; 35 | } 36 | if (req.extts.index >= ops->n_ext_ts) { 37 | err = -EINVAL; 38 | diff --git a/include/uapi/linux/ptp_clock.h b/include/uapi/linux/ptp_clock.h 39 | index 62320cccd1a28..a48f1f5bdf20e 100644 40 | --- a/include/uapi/linux/ptp_clock.h 41 | +++ b/include/uapi/linux/ptp_clock.h 42 | @@ -49,7 +49,8 @@ 43 | PTP_RISING_EDGE | \ 44 | PTP_FALLING_EDGE | \ 45 | PTP_STRICT_FLAGS | \ 46 | - PTP_EXT_OFFSET) 47 | + PTP_EXT_OFFSET | \ 48 | + PTP_EVENT_COUNTER_MODE) 49 | 50 | /* 51 | * flag fields valid for the original PTP_EXTTS_REQUEST ioctl. 52 | -- 53 | 2.25.1 54 | 55 | -------------------------------------------------------------------------------- /kernel-patches/patches/0036-net-ice-fix-braces-around-scalar-initializer.tgpio: -------------------------------------------------------------------------------- 1 | From 207fd5706110046c70bb9230473055da2128aa06 Mon Sep 17 00:00:00 2001 2 | From: Lakshmi Sowjanya D 3 | Date: Tue, 15 Feb 2022 12:30:51 +0530 4 | Subject: [PATCH 36/43] net: ice: fix braces around scalar initializer 5 | 6 | Fix braces around the initializer. 7 | 8 | Signed-off-by: Lakshmi Sowjanya D 9 | Signed-off-by: Hao Li 10 | --- 11 | drivers/net/ethernet/intel/ice/ice_ptp.c | 10 +++++----- 12 | 1 file changed, 5 insertions(+), 5 deletions(-) 13 | 14 | diff --git a/drivers/net/ethernet/intel/ice/ice_ptp.c b/drivers/net/ethernet/intel/ice/ice_ptp.c 15 | index 6c7921261ff57..1287f659a2393 100644 16 | --- a/drivers/net/ethernet/intel/ice/ice_ptp.c 17 | +++ b/drivers/net/ethernet/intel/ice/ice_ptp.c 18 | @@ -9,11 +9,11 @@ 19 | 20 | static const struct ptp_pin_desc ice_pin_desc_e810t[] = { 21 | /* name idx func chan */ 22 | - { "GNSS", GNSS, PTP_PF_EXTTS, 0, { 0, } }, 23 | - { "SMA1", SMA1, PTP_PF_NONE, 1, { 0, } }, 24 | - { "U.FL1", UFL1, PTP_PF_NONE, 1, { 0, } }, 25 | - { "SMA2", SMA2, PTP_PF_NONE, 2, { 0, } }, 26 | - { "U.FL2", UFL2, PTP_PF_NONE, 2, { 0, } }, 27 | + { "GNSS", GNSS, PTP_PF_EXTTS, 0, 0, { 0, } }, 28 | + { "SMA1", SMA1, PTP_PF_NONE, 1, 0, { 0, } }, 29 | + { "U.FL1", UFL1, PTP_PF_NONE, 1, 0, { 0, } }, 30 | + { "SMA2", SMA2, PTP_PF_NONE, 2, 0, { 0, } }, 31 | + { "U.FL2", UFL2, PTP_PF_NONE, 2, 0, { 0, } }, 32 | }; 33 | 34 | /** 35 | -- 36 | 2.25.1 37 | 38 | -------------------------------------------------------------------------------- /kernel-patches/patches/0037-ptp-Add-PTP_EVENT_COUNTER_MODE-in-v1-valid-flags.tgpio: -------------------------------------------------------------------------------- 1 | From 5eb667014df7df030decfcc50043a853c5740bac Mon Sep 17 00:00:00 2001 2 | From: Lakshmi Sowjanya D 3 | Date: Mon, 31 Jan 2022 10:11:04 +0530 4 | Subject: [PATCH 37/43] ptp: Add PTP_EVENT_COUNTER_MODE in v1 valid flags 5 | 6 | PTP_EVENT_COUNTER_MODE is to be part of PTP_EXTTS_V1_VALID_FLAGS. 7 | 8 | Signed-off-by: Lakshmi Sowjanya D 9 | --- 10 | include/uapi/linux/ptp_clock.h | 4 ++-- 11 | 1 file changed, 2 insertions(+), 2 deletions(-) 12 | 13 | diff --git a/include/uapi/linux/ptp_clock.h b/include/uapi/linux/ptp_clock.h 14 | index a48f1f5bdf20e..2b9259195f091 100644 15 | --- a/include/uapi/linux/ptp_clock.h 16 | +++ b/include/uapi/linux/ptp_clock.h 17 | @@ -49,8 +49,7 @@ 18 | PTP_RISING_EDGE | \ 19 | PTP_FALLING_EDGE | \ 20 | PTP_STRICT_FLAGS | \ 21 | - PTP_EXT_OFFSET | \ 22 | - PTP_EVENT_COUNTER_MODE) 23 | + PTP_EXT_OFFSET) 24 | 25 | /* 26 | * flag fields valid for the original PTP_EXTTS_REQUEST ioctl. 27 | @@ -58,6 +57,7 @@ 28 | */ 29 | #define PTP_EXTTS_V1_VALID_FLAGS (PTP_ENABLE_FEATURE | \ 30 | PTP_RISING_EDGE | \ 31 | + PTP_EVENT_COUNTER_MODE | \ 32 | PTP_FALLING_EDGE) 33 | 34 | /* 35 | -- 36 | 2.25.1 37 | 38 | -------------------------------------------------------------------------------- /kernel-patches/patches/0039-net-stmmac-set-initial-EEE-policy-configuration.tsn: -------------------------------------------------------------------------------- 1 | From 93d89d8a7e3615d77f6091ff44e942317fc12cfd Mon Sep 17 00:00:00 2001 2 | From: Choong Yong Liang 3 | Date: Wed, 20 Nov 2024 16:38:18 +0800 4 | Subject: [PATCH 39/42] net: stmmac: set initial EEE policy configuration 5 | 6 | Set the initial eee_cfg values to have 'ethtool --show-eee ' display 7 | the initial EEE configuration. 8 | 9 | Fixes: 49168d1980e2 ("net: phy: Add phy_support_eee() indicating MAC support EEE") 10 | Cc: 11 | Signed-off-by: Choong Yong Liang 12 | Reviewed-by: Jacob Keller 13 | Link: https://patch.msgid.link/20241120083818.1079456-1-yong.liang.choong@linux.intel.com 14 | Signed-off-by: Paolo Abeni 15 | --- 16 | drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 3 +++ 17 | 1 file changed, 3 insertions(+) 18 | 19 | diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 20 | index 677c33455728d..aec2eea5a0682 100644 21 | --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 22 | +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 23 | @@ -1221,6 +1221,9 @@ static int stmmac_init_phy(struct net_device *dev) 24 | if (ret) 25 | return ret; 26 | 27 | + if (priv->dma_cap.eee) 28 | + phy_support_eee(phydev); 29 | + 30 | ret = phylink_connect_phy(priv->phylink, phydev); 31 | } else { 32 | fwnode_handle_put(phy_fwnode); 33 | -- 34 | 2.25.1 35 | 36 | -------------------------------------------------------------------------------- /kernel-patches/patches/0039-ptp-Generate-sqaure-wave-on-PSE-TGPIO.tgpio: -------------------------------------------------------------------------------- 1 | From 5298bda03aa45583fe0e80f91b143fed39cb602c Mon Sep 17 00:00:00 2001 2 | From: Lakshmi Sowjanya D 3 | Date: Fri, 7 Oct 2022 16:23:31 +0530 4 | Subject: [PATCH 39/43] ptp: Generate sqaure wave on PSE TGPIO 5 | 6 | PSE TGPIO generates pulse wave with the requested period. Add changes to 7 | generate sqaure wave with the given time period. 8 | 9 | Signed-off-by: Lakshmi Sowjanya D 10 | --- 11 | drivers/ptp/ptp-intel-tgpio-plat.c | 5 +++-- 12 | 1 file changed, 3 insertions(+), 2 deletions(-) 13 | 14 | diff --git a/drivers/ptp/ptp-intel-tgpio-plat.c b/drivers/ptp/ptp-intel-tgpio-plat.c 15 | index 47a9fb5979692..2173612609ed0 100644 16 | --- a/drivers/ptp/ptp-intel-tgpio-plat.c 17 | +++ b/drivers/ptp/ptp-intel-tgpio-plat.c 18 | @@ -404,7 +404,8 @@ static int intel_tgpio_config_output(struct intel_tgpio *tgpio, 19 | struct ptp_clock_time *period = &perout->period; 20 | struct ptp_clock_time *start = &perout->start; 21 | 22 | - ctrl |= TGPIOCTL_TS_TMT0 | TGPIOCTL_ECC | TGPIOCTL_PWS_N(2); 23 | + ctrl |= TGPIOCTL_TS_TMT0 | TGPIOCTL_ECC | TGPIOCTL_PWS_N(2) | 24 | + TGPIOCTL_EP_TOGGLE_EDGE; 25 | 26 | if (perout->flags & PTP_PEROUT_ONE_SHOT) 27 | ctrl &= ~TGPIOCTL_PM; 28 | @@ -419,7 +420,7 @@ static int intel_tgpio_config_output(struct intel_tgpio *tgpio, 29 | start->sec); 30 | } 31 | intel_tgpio_writeq(tgpio->base, TGPIOPIV31_0(index), 32 | - to_intel_tgpio_time(period)); 33 | + to_intel_tgpio_time(period)/2); 34 | 35 | /* gotta program all other bits before EN bit is set */ 36 | intel_tgpio_writel(tgpio->base, offset, ctrl); 37 | -- 38 | 2.25.1 39 | 40 | -------------------------------------------------------------------------------- /kernel-patches/patches/0041-ptp-pmc-tgpio-Initialize-variable-to-zero.tgpio: -------------------------------------------------------------------------------- 1 | From 077c62bb2a46660c793071fc02340b649c93ce82 Mon Sep 17 00:00:00 2001 2 | From: Lakshmi Sowjanya D 3 | Date: Fri, 10 Feb 2023 13:36:53 +0530 4 | Subject: [PATCH 41/43] ptp: pmc-tgpio: Initialize variable to zero 5 | 6 | Initialize variables 'new_start_ns' and 'new_period_ns' to zero in case not updated 7 | 8 | Fixes: 6ebb36eb2633f ("drivers/ptp: Add support for PMC Time-Aware GPIO Driver") 9 | 10 | Signed-off-by: Lakshmi Sowjanya D 11 | Signed-off-by: Hao Li 12 | --- 13 | drivers/ptp/ptp-intel-pmc-tgpio.c | 4 ++-- 14 | 1 file changed, 2 insertions(+), 2 deletions(-) 15 | 16 | diff --git a/drivers/ptp/ptp-intel-pmc-tgpio.c b/drivers/ptp/ptp-intel-pmc-tgpio.c 17 | index e7440d6236ed6..8fb55d63b59be 100644 18 | --- a/drivers/ptp/ptp-intel-pmc-tgpio.c 19 | +++ b/drivers/ptp/ptp-intel-pmc-tgpio.c 20 | @@ -433,8 +433,8 @@ static int intel_pmc_tgpio_config_output(struct intel_pmc_tgpio_t *tgpio, 21 | struct ptp_perout_request *perout, 22 | int on) 23 | { 24 | - struct timespec64 new_start_ns; 25 | - struct timespec64 new_period_ns; 26 | + struct timespec64 new_start_ns = {0, 0}; 27 | + struct timespec64 new_period_ns = {0, 0}; 28 | 29 | if (on || perout->flags & PTP_PEROUT_ONE_SHOT) { 30 | new_start_ns = ptp_clock_time_to_ts64(perout->start); 31 | -- 32 | 2.25.1 33 | 34 | -------------------------------------------------------------------------------- /kernel-patches/patches/0043-net-mlx5-reuse-convert_art_ns_to_tsc-to-convert-ART-.tgpio: -------------------------------------------------------------------------------- 1 | From 6dda0338ca3523577fb02941e63342607c300ead Mon Sep 17 00:00:00 2001 2 | From: Hao Li 3 | Date: Wed, 20 Nov 2024 11:23:20 +0800 4 | Subject: [PATCH 43/43] net/mlx5: reuse convert_art_ns_to_tsc() to convert ART 5 | to TSC 6 | 7 | reuse the architecture specific function to convert the ART base 8 | clock to the corresponding TSC value. 9 | 10 | Signed-off-by: Hao Li 11 | --- 12 | drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c | 6 +----- 13 | 1 file changed, 1 insertion(+), 5 deletions(-) 14 | 15 | diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c 16 | index b306ae79bf97a..0a40a3169fa9b 100644 17 | --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c 18 | +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c 19 | @@ -199,11 +199,7 @@ static int mlx5_mtctr_syncdevicetime(ktime_t *device_time, 20 | return -EINVAL; 21 | 22 | host = MLX5_GET64(mtctr_reg, out, first_clock_timestamp); 23 | - *sys_counterval = (struct system_counterval_t) { 24 | - .cycles = host, 25 | - .cs_id = CSID_X86_ART, 26 | - .use_nsecs = true, 27 | - }; 28 | + *sys_counterval = convert_art_ns_to_tsc(host); 29 | 30 | device = MLX5_GET64(mtctr_reg, out, second_clock_timestamp); 31 | if (real_time_mode) 32 | -- 33 | 2.25.1 34 | 35 | -------------------------------------------------------------------------------- /kernel-patches/patches/0048-drm-i915-iov-fix-i915-sriov-build-issue.sriov: -------------------------------------------------------------------------------- 1 | From 4eb1d51eae9bb41426ae3b0d6887e27a26e1c609 Mon Sep 17 00:00:00 2001 2 | From: Junxiao Chang 3 | Date: Wed, 12 Jun 2024 20:30:31 +0800 4 | Subject: [PATCH 48/48] drm/i915/iov: fix i915 sriov build issue 5 | 6 | including necessary header file. 7 | 8 | Signed-off-by: Junxiao Chang 9 | --- 10 | drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h | 2 ++ 11 | 1 file changed, 2 insertions(+) 12 | 13 | diff --git a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h 14 | index f27a2c75b56de..aa6f5f28137d9 100644 15 | --- a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h 16 | +++ b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h 17 | @@ -21,6 +21,8 @@ static inline struct drm_i915_private *to_i915(const struct drm_device *dev) 18 | return container_of(dev, struct drm_i915_private, drm); 19 | } 20 | 21 | +#define IS_SRIOV_VF(i915) false 22 | + 23 | #define IS_PLATFORM(xe, x) ((xe)->info.platform == x) 24 | #define INTEL_INFO(dev_priv) (&((dev_priv)->info)) 25 | #define IS_I830(dev_priv) (dev_priv && 0) 26 | -- 27 | 2.25.1 28 | 29 | -------------------------------------------------------------------------------- /security.md: -------------------------------------------------------------------------------- 1 | Security Policy 2 | Intel is committed to rapidly addressing security vulnerabilities affecting our customers and providing clear guidance on the solution, impact, severity and mitigation. 3 | 4 | Reporting a Vulnerability 5 | Please report any security vulnerabilities in this project [utilizing the guidelines here](https://www.intel.com/content/www/us/en/security-center/vulnerability-handling-guidelines.html). 6 | --------------------------------------------------------------------------------