Skip to content

Conversation

@ruppala-nv
Copy link

These patches adds below for r8127 NIC

1.Add PTP hw timestamping support
2.Enable SyncE support for PTP
3.Update ts_info prototype for kernels >= 6.11
4.Fix ptp4l failure after interface restart

Fixing: 5673451

Patches are from Realtek, and they have not committed to upstream them

Tested by verifying PTP in below configurations
a. default E2E profile
b. AVNU over L2 gPTP profile

Test steps:
Mentioned in internal bug 5673451

Abdur Rahman and others added 30 commits November 14, 2025 21:05
…idia

Ignore: yes
Signed-off-by: Jacob Martin <[email protected]>
(cherry picked from commit 1a32c7f)

(cherry picked from commit 1a32c7f noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
Add support for exposing rprovides data for standalone modules
too. Switch to exposing provides as a shared debian/substvar file
and use that in the templates.

Ignore: yes
Signed-off-by: Brad Figg <[email protected]>
Signed-off-by: Ian May <[email protected]>
(cherry picked from commit afacdda noble:linux-nvidia/main-next)
Signed-off-by: Jacob Martin <[email protected]>
(cherry picked from commit 52ba185)

(cherry picked from commit 52ba185 noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
When nvidia-fs-dkms is available as a dkms package, we want to
default to using the signed modules if possible.  Adding
a version number for the nvidia-fs modules package enables the inbox
modules to be selected over an equivalent dkms version.

Ignore: yes
Signed-off-by: Ian May <[email protected]>
(cherry picked from commit 607379d noble:linux-nvidia/main-next)
Signed-off-by: Jacob Martin <[email protected]>
(cherry picked from commit f6927df)

(cherry picked from commit f6927df noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
…nvidia kernels

BugLink: https://bugs.launchpad.net/bugs/2060327

Signed-off-by: Brad Figg <[email protected]>
Acked-by: Brad Figg <[email protected]>
Signed-off-by: Ian May <[email protected]>
[jacobmartin: Add note to changed configs]
Signed-off-by: Jacob Martin <[email protected]>

(cherry picked from commit 9b2615a noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
…ations

BugLink: https://bugs.launchpad.net/bugs/2060327

Signed-off-by: Brad Figg <[email protected]>
Acked-by: Brad Figg <[email protected]>
Signed-off-by: Ian May <[email protected]>
[jacobmartin: Add annotations note for changed configs]
Signed-off-by: Jacob Martin <[email protected]>

(cherry picked from commit 3d31ea0 noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
Ignore: yes
Signed-off-by: Jacob Martin <[email protected]>
(cherry picked from commit 448ddcb)

(cherry picked from commit 448ddcb noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2059316

Signed-off-by: dann frazier <[email protected]>
Acked-by: Brad Figg <[email protected]>
Acked-by: Noah Wager <[email protected]>
Acked-by: Jacob Martin <[email protected]>
Signed-off-by: Brad Figg <[email protected]>
Signed-off-by: Jacob Martin <[email protected]>

(cherry picked from commit 058e71a noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2061930
BugLink: https://bugs.launchpad.net/bugs/2067106

There are systems in production that don't have
firmware that supports coresight_etm4x.  Instead of
removing completely, blacklist coresight_etm4x so
systems with the correct firmware can use the module.

Signed-off-by: Ian May <[email protected]>
Signed-off-by: Jamie Nguyen <[email protected]>
Acked-by: Brad Figg <[email protected]>
Acked-by: Noah Wager <[email protected]>
Acked-by: Jacob Martin <[email protected]>
Signed-off-by: Brad Figg <[email protected]>
Signed-off-by: Jacob Martin <[email protected]>
(backported from commit 217d1ae
noble:linux-nvidia-6.14)
[maskedarray: adjusted context]
Signed-off-by: Abdur Rahman <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2067111

Nvidia provide a way to flash the UEFI via capsule loader in arm64.
CAPSULE_LOADER is also built-in in L4T kernel so for the easy use,
need to make CAPSULE_LOADER as built-in in arm64.

Nvidia-BugLink: https://nvbugspro.nvidia.com/bug/4601764

Signed-off-by: Brad Figg <[email protected]>
Acked-by: Jacob Martin <[email protected]>
Acked-by: Noah Wager <[email protected]>
(cherry picked from commit efbc80a noble:linux-nvidia-6.11)
Signed-off-by: Jacob Martin <[email protected]>
(cherry picked from commit 58d6077)

(cherry picked from commit 58d6077 noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2084598

Set the following configs on x86 and arm64:

CONFIG_MANA_INFINIBAND=m
CONFIG_MICROSOFT_MANA=m

Signed-off-by: Jacob Martin <[email protected]>
Acked-by: Brad Figg <[email protected]>
Acked-by: John Cabaj <[email protected]>
Acked-by: Guoqing Jiang <[email protected]>
(cherry picked from commit 59264e6 noble:linux-nvidia-6.11)
Signed-off-by: Jacob Martin <[email protected]>
(cherry picked from commit ba2531f)

(cherry picked from commit ba2531f noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2095028

Signed-off-by: Ankit Agrawal <[email protected]>
(cherry picked from commit d4223d6db2896ec510bfc57cf018010d07ff3659 nvidia/kstable/dev/nic/iommufd_vsmmu-12122024)
Signed-off-by: Koba Ko <[email protected]>
Acked-by: Matt Ochs <[email protected]>
Acked-by: Brad Figg <[email protected]>
Acked-by: Noah Wager <[email protected]>
Acked-by: Jacob Martin <[email protected]>
Signed-off-by: Brad Figg <[email protected]>
(cherry picked from commit 1eb0541 noble:linux-nvidia-6.11)
Signed-off-by: Jacob Martin <[email protected]>

(cherry picked from commit 0380bee noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2095028

This is used for GPU memory mapping. The solution is a WAR while waiting
for the upstream solution that would use dmabuf to map the entire range
in a single sequence.

Related topics:
https://lore.kernel.org/kvm/[email protected]/
https://lore.kernel.org/kvm/[email protected]/

Signed-off-by: Ankit Agrawal <[email protected]>
(cherry picked from commit d3d7b64f1a3274e5df04dee1a8062f54a3fa1116 nvidia/kstable/dev/nic/iommufd_vsmmu-12122024)
Signed-off-by: Koba Ko <[email protected]>
Acked-by: Matt Ochs <[email protected]>
Acked-by: Brad Figg <[email protected]>
Acked-by: Noah Wager <[email protected]>
Acked-by: Jacob Martin <[email protected]>
Signed-off-by: Brad Figg <[email protected]>
(cherry picked from commit 15e066a noble:linux-nvidia-6.11)
Signed-off-by: Jacob Martin <[email protected]>

(cherry picked from commit 8fcaed8 noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
… virtualization

BugLink: https://bugs.launchpad.net/bugs/2095028

This adds the following config options to annotations:

            CONFIG_ARM_SMMU_V3_IOMMUFD=y
            CONFIG_IOMMUFD_DRIVER_CORE=y
            CONFIG_IOMMUFD_VFIO_CONTAINER=y
            CONFIG_NVGRACE_GPU_VFIO_PCI=m
            CONFIG_VFIO_CONTAINER=n
            CONFIG_VFIO_IOMMU_TYPE1=-
            CONFIG_TEGRA241_CMDQV=n

For CMA size requirements, the 64K kernel configuration needs 640MB
in the worst-case scenario, while the 4K kernel configuration requires 40MB.
Due to the current CMA alignment requirement of 512MB on 64k kernel and
128MB on 4k kernel, use each as default
            For 64k kernel, CONFIG_CMA_SIZE_MBYTES=1024
            For 4k kernel, CONFIG_CMA_SIZE_MBYTES=128

These config options has been defined in debian.master
            CONFIG_IOMMUFD=m
            CONFIG_IOMMU_IOPF=y

Signed-off-by: Matthew R. Ochs <[email protected]>
Acked-by: Kai-Heng Feng <[email protected]>
Acked-by: Koba Ko <[email protected]>
Signed-off-by: Matthew R. Ochs <[email protected]>
(backported from commit 35a55f3 24.04_linux-nvidia-adv-6.8-next)
Signed-off-by: Koba Ko <[email protected]>
Acked-by: Matt Ochs <[email protected]>
Acked-by: Brad Figg <[email protected]>
Acked-by: Noah Wager <[email protected]>
Acked-by: Jacob Martin <[email protected]>
Signed-off-by: Brad Figg <[email protected]>
(backported from commit 1314cf0 noble:linux-nvidia-6.11)
Signed-off-by: Jacob Martin <[email protected]>

(cherry picked from commit d09b7e2 noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2100032

Signed-off-by: Jamie Nguyen <[email protected]>
Acked-by: Brad Figg <[email protected]>
Acked-by: Noah Wager <[email protected]>
Acked-by: Abdur Rahman <[email protected]>
Signed-off-by: Brad Figg <[email protected]>
(backported from commit 520d535 noble:linux-nvidia-6.11)
Signed-off-by: Jacob Martin <[email protected]>

(cherry picked from commit 88d6a61 noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2096888

Add ACPI support to 8250_mtk driver. This makes it possible to
use UART on ARM-based desktops with EDK2 UEFI firmware.

Acked-by: Brad Figg <[email protected]>
Acked-by: Noah Wager <[email protected]>
Acked-by: Jacob Martin <[email protected]>
Signed-off-by: Brad Figg <[email protected]>
(cherry picked from commit 4647186 noble:linux-nvidia-6.11)
Signed-off-by: Jacob Martin <[email protected]>

(cherry picked from commit d73760e noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2096882

Acked-by: Brad Figg <[email protected]>
Acked-by: Noah Wager <[email protected]>
Acked-by: Jacob Martin <[email protected]>
Signed-off-by: Brad Figg <[email protected]>
(backported from commit a99eb0f noble:linux-nvidia-6.11)
[jacobmartin: Drop addition of 13d3:3604 already added by upstream
commit f9685f3 ("Bluetooth: btusb: Add MediaTek MT7925-B22M support
ID 0x13d3:0x3604"). Drop driver_info flag "BTUSB_VALID_LE_STATES" as it
was inverted by upstream commit 0fec656 ("Bluetooth: btusb: Invert
LE State flag to set invalid rather then valid")]
Signed-off-by: Jacob Martin <[email protected]>
(backported from commit a1d77cd
noble:linux-nvidia-6.14)
[maskedarray: adjusted context]
Signed-off-by: Abdur Rahman <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2097644

Change-Id: If350ab71297d6d4f44f90b45cae2d11095f513f1
Acked-by: Brad Figg <[email protected]>
Acked-by: Noah Wager <[email protected]>
Acked-by: Jacob Martin <[email protected]>
Signed-off-by: Brad Figg <[email protected]>
(cherry picked from commit 24141ec noble:linux-nvidia-6.11)
Signed-off-by: Jacob Martin <[email protected]>

(cherry picked from commit 16f90f4 noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
…eam low power

BugLink: https://bugs.launchpad.net/bugs/2107509

Add a quirk to avoid U1 and U2 low power state operations
during bulk stream transfers.

Change-Id: Iaff484625eca6708713d0c2acaeddfc1103ac7d2
Signed-off-by: Us Chien <[email protected]>
Signed-off-by: Yenchia Chen <[email protected]>
Signed-off-by: Terje Bergstrom <[email protected]>
Acked-by: Brad Figg <[email protected]>
Acked-by: Matt Ochs <[email protected]>
Acked-by: Jamie Nguyen <[email protected]>
Acked-by: Noah Wager <[email protected]>
Acked-by: Jacob Martin <[email protected]>
Signed-off-by: Brad Figg <[email protected]>
(cherry picked from commit 07399e8 noble:linux-nvidia-6.11)
Signed-off-by: Jacob Martin <[email protected]>
(backported from commit e521e80)
[maskedarray: changed the XHCI_NVIDIA_MT8901_HOST quirk bit value
to 51]
Signed-off-by: Abdur Rahman <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2107509

Add quirk function to skip pcie secondary bus reset. PCIe link in
occasionally(1/300 fail rate) drop to lower link width (ex. 4 lane
drops to 2 lane or less) when secondary bus reset is applied. This
happens because CDR lock is lost randomly due to mismatch between
RC & EP speed (ex. RC in Gen1 and EP in Gen5).

Signed-off-by: Jerry.Guo <[email protected]>
Signed-off-by: Aaron Plattner <[email protected]>
Acked-by: Brad Figg <[email protected]>
Acked-by: Matt Ochs <[email protected]>
Acked-by: Noah Wager <[email protected]>
Acked-by: Jacob Martin <[email protected]>
Signed-off-by: Brad Figg <[email protected]>
(cherry picked from commit 37019a1 noble:linux-nvidia-6.11)
Signed-off-by: Jacob Martin <[email protected]>

(cherry picked from commit d87e223 noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/1786013
Signed-off-by: Abdur Rahman <[email protected]>

(cherry picked from commit eedba63 noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2109635

Take out the sbsa_gwdt from the blacklist for nvidia kernel.

Signed-off-by: Carol L Soto <[email protected]>
Acked-by: Jamie Nguyen <[email protected]>
Acked-by: Matt Ochs <[email protected]>
Acked-by: Brad Figg <[email protected]>
Acked-by: Noah Wager <[email protected]>
Acked-by: Jacob Martin <[email protected]>
Signed-off-by: Brad Figg <[email protected]>
(cherry picked from commit 1d0290f87960efd7e98fc3f7456ab08c2b5d3302 noble:linux-nvidia-6.11)
Signed-off-by: Jacob Martin <[email protected]>
(cherry picked from commit 0759048)

(cherry picked from commit 0759048 noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
Rust is only supported on primary kernels.
Ignore: yes

Signed-off-by: Abdur Rahman <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2109730

Realtek R8127 driver can be downloaded from
https://www.realtek.com/Download/List?cate_id=584

Where it is maintained as out of tree module.

This patch adds the extracted content of r8127-11.014.00.tar.bz2 in
the folder drivers/net/ethernet/realtek/r8127.

4bd62fc87de32760fb1f3b9cd3ec14e933035623  r8127-11.014.00.tar.bz2

All the clean-up, makefile and Kconfig related changes will be
done in the subsequent commits. The source code contains a GPL2
compatible license. All the license information and Realtek
copyright notice will be maintained in each file and newly added files.

Signed-off-by: Abhishek Sahu <[email protected]>
Acked-by: Matt Ochs <[email protected]>
Acked-by: Carol L Soto <[email protected]>
Acked-by: Ian May <[email protected]>
Acked-by: Jacob Martin <[email protected]>
Acked-by: Noah Wager <[email protected]>
Signed-off-by: Ian May <[email protected]>
(cherry picked from commit 7faf7ac noble:linux-nvidia-6.11)
Signed-off-by: Jacob Martin <[email protected]>

(cherry picked from commit e45f1b7 noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2109730

These files are not needed to build r8127 as part of kernel
source code build, so removed these non required files.

Signed-off-by: Abhishek Sahu <[email protected]>
Acked-by: Matt Ochs <[email protected]>
Acked-by: Carol L Soto <[email protected]>
Acked-by: Ian May <[email protected]>
Acked-by: Jacob Martin <[email protected]>
Acked-by: Noah Wager <[email protected]>
Signed-off-by: Ian May <[email protected]>
(cherry picked from commit 063d338 noble:linux-nvidia-6.11)
Signed-off-by: Jacob Martin <[email protected]>

(cherry picked from commit 712fc60 noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2109730

This commit moved all files from src folder to parent folder itself.

Signed-off-by: Abhishek Sahu <[email protected]>
Acked-by: Matt Ochs <[email protected]>
Acked-by: Carol L Soto <[email protected]>
Acked-by: Ian May <[email protected]>
Acked-by: Jacob Martin <[email protected]>
Acked-by: Noah Wager <[email protected]>
Signed-off-by: Ian May <[email protected]>
(cherry picked from commit a5fe39b noble:linux-nvidia-6.11)
Signed-off-by: Jacob Martin <[email protected]>

(cherry picked from commit 1802cd3 noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2109730

In the original code, r8127 driver was build as out of tree module.
This commit adds Kconfig and updates Makefile for building it
with kernel build.

r8127 driver internally uses different config flags and these are set
through EXTRA_CFLAGS.  These config flags are now set in the Makefile
with ccflags-y. All the flags, that were getting enabled by default in
the original code, have been enabled in ccflags-y. This commit is not
enabling any extra flags.

Some of the files compilation are dependent upon a particular flag.
Now, only default flags are set, so these files will become unused,
This commit has removed these files.

Signed-off-by: Terje Bergstrom <[email protected]>
Signed-off-by: Abhishek Sahu <[email protected]>
Acked-by: Matt Ochs <[email protected]>
Acked-by: Carol L Soto <[email protected]>
Acked-by: Ian May <[email protected]>
Acked-by: Jacob Martin <[email protected]>
Acked-by: Noah Wager <[email protected]>
Signed-off-by: Ian May <[email protected]>
(backported from commit 04ea6d0 noble:linux-nvidia-6.11)
[jacobmartin: adjust context around RTASE definitions introduced in
K6.14]
Signed-off-by: Jacob Martin <[email protected]>

(cherry picked from commit 6217fea noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
…127 module

BugLink: https://bugs.launchpad.net/bugs/2109730

Signed-off-by: Abhishek Sahu <[email protected]>
Acked-by: Matt Ochs <[email protected]>
Acked-by: Carol L Soto <[email protected]>
Acked-by: Ian May <[email protected]>
Acked-by: Jacob Martin <[email protected]>
Acked-by: Noah Wager <[email protected]>
Signed-off-by: Ian May <[email protected]>
(cherry picked from commit 59db394 noble:linux-nvidia-6.11)
Signed-off-by: Jacob Martin <[email protected]>
(cherry picked from commit aaa5490)

(cherry picked from commit aaa5490 noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
…ions

BugLink: https://bugs.launchpad.net/bugs/2095028

Drop "CONFIG_TEGRA241_CMDQV=n" -- we had turned it off in 6.11 as we thought
not all support was in place.

Signed-off-by: Jamie Nguyen <[email protected]>
Acked-by: Carol L Soto <[email protected]>
Acked-by: Matt Ochs <[email protected]>
Signed-off-by: Brad Figg <[email protected]>
Acked-by: Jacob Martin <[email protected]>
Acked-by: Noah Wager <[email protected]>
Signed-off-by: Jacob Martin <[email protected]>

(cherry picked from commit ea6f443 noble:linux-nvidia-6.14)
Signed-off-by: Abdur Rahman <[email protected]>
Sumit Gupta and others added 14 commits November 20, 2025 14:33
BugLink: https://bugs.launchpad.net/bugs/2131705

CPPC allows platforms to specify minimum and maximum performance
limits that constrain the operating range for CPU performance scaling
when Autonomous Selection is enabled. These limits can be dynamically
adjusted to implement power management policies or workload-specific
optimizations.

Add cppc_get_min_perf() and cppc_set_min_perf() functions to read and
write the MIN_PERF register, allowing dynamic adjustment of the minimum
performance floor.

Add cppc_get_max_perf() and cppc_set_max_perf() functions to read and
write the MAX_PERF register, enabling dynamic ceiling control for
maximum performance.

Expose these capabilities through cpufreq sysfs attributes that accept
frequency values in kHz (which are converted to/from performance values
internally):
- /sys/.../cpufreq/policy*/min_perf: Read/write min perf as freq (kHz)
- /sys/.../cpufreq/policy*/max_perf: Read/write max perf as freq (kHz)

The frequency-based interface provides a user-friendly abstraction which
is similar to other cpufreq sysfs interfaces, while the driver handles
conversion to hardware performance values.

Also update EPP constants for better clarity:
- Rename CPPC_ENERGY_PERF_MAX to CPPC_EPP_ENERGY_EFFICIENCY_PREF
- Add CPPC_EPP_PERFORMANCE_PREF for the performance-oriented setting

Signed-off-by: Sumit Gupta <[email protected]>
(backported from https://lore.kernel.org/all/[email protected]/)
Signed-off-by: Nirmoy Das <[email protected]>
Acked-by: Carol L Soto <[email protected]>
Acked-by: Jamie Nguyen
Acked-by: Matthew R. Ochs <[email protected]>
Acked-by: Acked-by: nvmochs
Acked-by: Acked-by: nvmochs
Acked-by: Acked-by: nvmochs
Acked-by: Acked-by: nvmochs
Acked-by: Abdur Rahman <[email protected]>
Acked-by: Noah Wager <[email protected]>
Signed-off--by: Brad Figg <[email protected]>
…ted register

BugLink: https://bugs.launchpad.net/bugs/2131705

Add sysfs interface to read/write the Performance Limited register.

The Performance Limited register indicates to the OS that an
unpredictable event (like thermal throttling) has limited processor
performance. This register is sticky and remains set until reset or
OS clears it by writing 0.

The interface is exposed as:
 /sys/devices/system/cpu/cpuX/cpufreq/perf_limited

Signed-off-by: Sumit Gupta <[email protected]>
(backported from https://lore.kernel.org/all/[email protected]/)
Signed-off-by: Nirmoy Das <[email protected]>
Acked-by: Carol L Soto <[email protected]>
Acked-by: Jamie Nguyen
Acked-by: Matthew R. Ochs <[email protected]>
Acked-by: Acked-by: nvmochs
Acked-by: Acked-by: nvmochs
Acked-by: Acked-by: nvmochs
Acked-by: Acked-by: nvmochs
Acked-by: Abdur Rahman <[email protected]>
Acked-by: Noah Wager <[email protected]>
Signed-off--by: Brad Figg <[email protected]>
…ited

BugLink: https://bugs.launchpad.net/bugs/2131705

Add sysfs interfaces for Minimum Performance, Maximum Performance
and Performance Limited Register in the cppc_cpufreq driver.

Reviewed-by: Randy Dunlap <[email protected]>
Signed-off-by: Sumit Gupta <[email protected]>
(backported from https://lore.kernel.org/all/[email protected]/)
Signed-off-by: Nirmoy Das <[email protected]>
Acked-by: Carol L Soto <[email protected]>
Acked-by: Jamie Nguyen
Acked-by: Matthew R. Ochs <[email protected]>
Acked-by: Acked-by: nvmochs
Acked-by: Acked-by: nvmochs
Acked-by: Acked-by: nvmochs
Acked-by: Acked-by: nvmochs
Acked-by: Abdur Rahman <[email protected]>
Acked-by: Noah Wager <[email protected]>
Signed-off--by: Brad Figg <[email protected]>
…o_select

BugLink: https://bugs.launchpad.net/bugs/2131705

When CPPC autonomous selection (auto_select) is enabled or disabled,
the policy min/max frequency limits should be updated appropriately to
reflect the new operating mode.

Currently, toggling auto_select only changes the hardware register but
doesn't update the cpufreq policy constraints, which can lead to
inconsistent behavior between the hardware state and the policy limits
visible to userspace and other kernel components.

When auto_select is enabled, preserve the current min/max performance
values to maintain user-configured limits. When disabled, the hardware
operates in a default mode where the OS directly controls performance,
so update the policy limits accordingly.

Signed-off-by: Sumit Gupta <[email protected]>
(backported from https://lore.kernel.org/all/[email protected]/)
Signed-off-by: Nirmoy Das <[email protected]>
Acked-by: Carol L Soto <[email protected]>
Acked-by: Jamie Nguyen
Acked-by: Matthew R. Ochs <[email protected]>
Acked-by: Acked-by: nvmochs
Acked-by: Acked-by: nvmochs
Acked-by: Acked-by: nvmochs
Acked-by: Acked-by: nvmochs
Acked-by: Abdur Rahman <[email protected]>
Acked-by: Noah Wager <[email protected]>
Signed-off--by: Brad Figg <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2131705

Add kernel boot parameter 'cppc_cpufreq.auto_sel_mode' to enable CPPC
autonomous performance selection at system startup. When autonomous mode
is enabled, the hardware automatically adjusts CPU performance based on
workload demands using Energy Performance Preference (EPP) hints.

This parameter allows to configure the autonomous mode on all CPUs
without requiring runtime sysfs manipulation if the 'auto_sel' register
is present.

When auto_sel_mode=1:
- All CPUs are configured for autonomous operation during module init
- EPP is set to performance preference (0x0) by default
- Min/max performance bounds use defaults
- CPU frequency scaling is handled by hardware instead of OS governor

For Documentation/:
Reviewed-by: Randy Dunlap <[email protected]>
Signed-off-by: Sumit Gupta <[email protected]>
(backported from https://lore.kernel.org/all/[email protected]/)
Signed-off-by: Nirmoy Das <[email protected]>
Acked-by: Carol L Soto <[email protected]>
Acked-by: Jamie Nguyen
Acked-by: Matthew R. Ochs <[email protected]>
Acked-by: Acked-by: nvmochs
Acked-by: Acked-by: nvmochs
Acked-by: Acked-by: nvmochs
Acked-by: Acked-by: nvmochs
Acked-by: Abdur Rahman <[email protected]>
Acked-by: Noah Wager <[email protected]>
Signed-off--by: Brad Figg <[email protected]>
… existing iommu quirk

BugLink: https://bugs.launchpad.net/bugs/2132033

Add two more device IDs for the existing Spark iommu quirk.

Link: https://bugs.launchpad.net/ubuntu/+source/linux-nvidia-6.14/+bug/2132033

Signed-off-by: Nirmoy Das <[email protected]>
Acked-by: Jamie Nguyen <[email protected]>
Acked-by: Carol L Soto <[email protected]>
Acked-by: Abdur Rahman <[email protected]>
Acked-by: Noah Wager <[email protected]>
Signed-off--by: Brad Figg <[email protected]>
…ress_space

BugLink: https://bugs.launchpad.net/bugs/2131582

Check for the registration state of egm_region's pfn_address_space, preventing
double-unregisters that can occur when using an external management app such
as Libvirt to launch VMs with vEGM enabled. This addresses a null pointer
dereference in __rb_erase_color when using shutting down a Libvirt VM with
vEGM enabled.

When launching a qemu + Libvirt VM with vEGM, the EGM regions on the host are
opened and mmaped, populating the member at
egm_region.pfn_address_space.node.__rb_parent_color. During VM shutdown,
a close is issued and the region is unregistered. However, the extra
conditional this commit introduces is required because after open_count goes to
0 and the address space is unregistered, another open follows and the open_count
goes back to 1. But there's no mmap so the address space is never registered.
However, the unregister function gets called again on the following close,
calling interval_tree_remove() which causes the __rb_erase_color null pointer
dereference to occur when the pfn_address_space.node.__rb_parent_color member
is a stale pointer from the previous registration:

[217296.439595] Call trace:
[217296.442180] __rb_erase_color+0xc4/0x2a8 (P)
[217296.446632] interval_tree_remove+0x184/0x2e8
[217296.451171] unregister_pfn_address_space+0x4c/0xc0
[217296.456255] nvgrace_egm_release+0x98/0xd8 [nvgrace_egm]
[217296.461780] __fput+0xe4/0x328
[217296.464990] fput_close_sync+0x4c/0x138
[217296.468995] __arm64_sys_close+0x44/0xa0
[217296.473089] invoke_syscall.constprop.0+0x7c/0xf8
[217296.477991] do_el0_svc+0x4c/0x100
[217296.481553] el0_svc+0x48/0x200
[217296.484848] el0t_64_sync_handler+0xc0/0x108
[217296.489300] el0t_64_sync+0x1b8/0x1c0
[217296.493132] Code: f9400674 eb03029f 54fffbe1 f9400a74 (f9400280)

Signed-off-by: Nathan Chen <[email protected]>
Acked-by: Carol L Soto <[email protected]>
Acked-by: Matthew R. Ochs <[email protected]>
Acked-by: Abdur Rahman <[email protected]>
Acked-by: Noah Wager <[email protected]>
Signed-off--by: Brad Figg <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2131267

Implementer may need to reset a filter config when
stopping a counter, thus adding a callback for this.

Reviewed-by: Ilkka Koskinen <[email protected]>
Reviewed-by: Suzuki K Poulose <[email protected]>
Signed-off-by: Besar Wicaksono <[email protected]>
Signed-off-by: Will Deacon <[email protected]>
(cherry picked from commit a2573bc linux-next)
Signed-off-by: Matthew R. Ochs <[email protected]>
Acked-by: Jamie Nguyen <[email protected]>
Acked-by: Carol L Soto <[email protected]>
Acked-by: Abdur Rahman <[email protected]>
Acked-by: Noah Wager <[email protected]>
Signed-off--by: Brad Figg <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2131267

The PMIIDR value is composed by the values in PMPIDR registers.
We can use PMPIDR registers as alternative for device
identification for systems that do not implement PMIIDR.

Reviewed-by: Ilkka Koskinen <[email protected]>
Signed-off-by: Besar Wicaksono <[email protected]>
Signed-off-by: Will Deacon <[email protected]>
(cherry picked from commit 04330be linux-next)
Signed-off-by: Matthew R. Ochs <[email protected]>
Acked-by: Jamie Nguyen <[email protected]>
Acked-by: Carol L Soto <[email protected]>
Acked-by: Abdur Rahman <[email protected]>
Acked-by: Noah Wager <[email protected]>
Signed-off--by: Brad Figg <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2131267

Distinguish NVIDIA devices by revision and variant bits
in PMIIDR register in addition to product id.

Reviewed-by: Ilkka Koskinen <[email protected]>
Signed-off-by: Besar Wicaksono <[email protected]>
Signed-off-by: Will Deacon <[email protected]>
(cherry picked from commit 82dfd72 linux-next)
Signed-off-by: Matthew R. Ochs <[email protected]>
Acked-by: Jamie Nguyen <[email protected]>
Acked-by: Carol L Soto <[email protected]>
Acked-by: Abdur Rahman <[email protected]>
Acked-by: Noah Wager <[email protected]>
Signed-off--by: Brad Figg <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2131267

Support NVIDIA PMU that utilizes the optional event filter2 register.

Reviewed-by: Ilkka Koskinen <[email protected]>
Signed-off-by: Besar Wicaksono <[email protected]>
Signed-off-by: Will Deacon <[email protected]>
(cherry picked from commit decc368 linux-next)
Signed-off-by: Matthew R. Ochs <[email protected]>
Acked-by: Jamie Nguyen <[email protected]>
Acked-by: Carol L Soto <[email protected]>
Acked-by: Abdur Rahman <[email protected]>
Acked-by: Noah Wager <[email protected]>
Signed-off--by: Brad Figg <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2131269

Introduce a generic macro TEGRA_GPIO_PORT to define SoC specific
ports macros. This simplifies the code and avoids unnecessary
duplication.

Suggested-by: Jon Hunter <[email protected]>
Signed-off-by: Kartik Rajput <[email protected]>
Reviewed-by: Jon Hunter <[email protected]>
Acked-by: Thierry Reding <[email protected]>
Signed-off-by: Bartosz Golaszewski <[email protected]>
(backported from commit f75db6f linux-next)
[mochs: minor context cleanup due to Tegra256 support being absent]
Signed-off-by: Matthew R. Ochs <[email protected]>
Acked-by: Jamie Nguyen <[email protected]>
Acked-by: Carol L Soto <[email protected]>
Acked-by: Abdur Rahman <[email protected]>
Acked-by: Noah Wager <[email protected]>
Signed-off--by: Brad Figg <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2131269

Extend the existing Tegra186 GPIO controller driver with support for
the GPIO controller found on Tegra410. Tegra410 supports two GPIO
controllers referred to as 'COMPUTE' and 'SYSTEM'.

Co-developed-by: Nathan Hartman <[email protected]>
Signed-off-by: Nathan Hartman <[email protected]>
Signed-off-by: Prathamesh Shete <[email protected]>
Signed-off-by: Kartik Rajput <[email protected]>
Acked-by: Thierry Reding <[email protected]>
Reviewed-by: Jon Hunter <[email protected]>
Signed-off-by: Bartosz Golaszewski <[email protected]>
(backported from commit 9631a10 linux-next)
[mochs: minor context cleanup due to Tegra256 support being absent]
Signed-off-by: Matthew R. Ochs <[email protected]>
Acked-by: Jamie Nguyen <[email protected]>
Acked-by: Carol L Soto <[email protected]>
Acked-by: Abdur Rahman <[email protected]>
Acked-by: Noah Wager <[email protected]>
Signed-off--by: Brad Figg <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/2133755

ATL2 hardware was missing descriptor cache invalidation in hw_stop(),
causing SMMU translation faults during device shutdown and module removal:
[   70.355743] arm-smmu-v3 arm-smmu-v3.5.auto: event 0x10 received:
[   70.361893] arm-smmu-v3 arm-smmu-v3.5.auto:  0x0002060000000010
[   70.367948] arm-smmu-v3 arm-smmu-v3.5.auto:  0x0000020000000000
[   70.374002] arm-smmu-v3 arm-smmu-v3.5.auto:  0x00000000ff9bc000
[   70.380055] arm-smmu-v3 arm-smmu-v3.5.auto:  0x0000000000000000
[   70.386109] arm-smmu-v3 arm-smmu-v3.5.auto: event: F_TRANSLATION client: 0001:06:00.0 sid: 0x20600 ssid: 0x0 iova: 0xff9bc000 ipa: 0x0
[   70.398531] arm-smmu-v3 arm-smmu-v3.5.auto: unpriv data write s1 "Input address caused fault" stag: 0x0

Commit 7a1bb49 ("net: aquantia: fix potential IOMMU fault after
driver unbind") and commit ed4d81c ("net: aquantia: when cleaning
hw cache it should be toggled") fixed cache invalidation for ATL B0, but
ATL2 was left with only interrupt disabling. This allowed hardware to
write to cached descriptors after DMA memory was unmapped, triggering
SMMU faults. Once cache invalidation is applied to ATL2, the translation
fault can't be observed anymore.

Add shared aq_hw_invalidate_descriptor_cache() helper and use it in both
ATL B0 and ATL2 hw_stop() implementations for consistent behavior.

Fixes: e54dcf4 ("net: atlantic: basic A2 init/deinit hw_ops")
Tested-by: Carol Soto <[email protected]>
Signed-off-by: Kai-Heng Feng <[email protected]>
Reviewed-by: Simon Horman <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Paolo Abeni <[email protected]>
(cherry picked from commit 7526183)
Signed-off-by: Kai-Heng Feng <[email protected]>
Acked-by: Nirmoy Das <[email protected]>
Acked-by: Matthew R. Ochs <[email protected]>
Acked-by: Carol L Soto <[email protected]>
Acked-by: Noah Wager <[email protected]>
Acked-by: Jacob Martin <[email protected]>
Signed-off--by: Brad Figg <[email protected]>
@ruppala-nv ruppala-nv changed the base branch from linux to 24.04_linux-nvidia-6.17-next December 11, 2025 18:10
@clsotog
Copy link
Collaborator

clsotog commented Dec 11, 2025

@ruppala-nv Can you add the NVIDIA: SAUCE: to your commits? As reference you can check Scott PR: #262

@clsotog
Copy link
Collaborator

clsotog commented Dec 11, 2025

@ruppala-nv
Also this is not compiling
drivers/net/ethernet/realtek/r8127/r8127_ptp.c: In function ‘rtl8127_ptp_init’:
drivers/net/ethernet/realtek/r8127/r8127_ptp.c:751:9: error: implicit declaration of function ‘hrtimer_init’; did you mean ‘hrtimers_init’? [-Werror=implicit-function-declaration]
751 | hrtimer_init(&tp->pps_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
| ^~~~~~~~~~~~
| hrtimers_init

ruppala-nv and others added 5 commits December 12, 2025 12:20
This patch adds IEEE 1588 PTP support to the r8127 driver.

Signed-off-by: Revanth Kumar Uppala <[email protected]>
This patch enables Synchronous Ethernet (SyncE) when configuring
PTP on the r8127 NIC.

Signed-off-by: Revanth Kumar Uppala <[email protected]>
Add version check to use kernel_ethtool_ts_info for newer kernels.

Signed-off-by: Revanth Kumar Uppala <[email protected]>
Reinit tx_type and rx_filter in ptp_init() to fix this issue.

Change-Id: I78d4346b36436dd6fc2fbde5a79c3c161eab6ecd
Signed-off-by: ChunHao Lin <[email protected]>
Switch from hrtimer_init() to hrtimer_setup() for PPS timer to match
new kernel API for K6.15 and above

Signed-off-by: Revanth Kumar Uppala <[email protected]>
@ruppala-nv
Copy link
Author

Apologies, I have verified compilation on K6.14 and pushed to K6.17 without checking for compilation.

Updated my patches now and added 5th patch to fix compilation issue on K6.17
Added NVIDIA: SAUCE

Also verified the functionality on K6.17

/* init a hrtimer for pps */
tp->pps_enable = 0;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,15,0)
hrtimer_setup(&tp->pps_timer, rtl8127_hrtimer_for_pps, CLOCK_MONOTONIC,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This check is not needed any more.

rtl8127_set_eth_phy_ocp_bit(tp, 0xA640, BIT_15);
}

#if LINUX_VERSION_CODE < KERNEL_VERSION(6,11,0)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This check is not needed as you know which kernel this patch is targetting

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same for all other other kernel version check

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is Realtek vendor's driver and there are numerous kernel version checks in other source files of same driver.

Do we really need to remove above kernel checks as they don't affect the functionality?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ruppala-nv This will keep the code clean and will help us in maintaining it

@ruppala-nv ruppala-nv marked this pull request as draft December 15, 2025 15:15
@clsotog
Copy link
Collaborator

clsotog commented Dec 15, 2025

Apologies, I have verified compilation on K6.14 and pushed to K6.17 without checking for compilation.

Updated my patches now and added 5th patch to fix compilation issue on K6.17 Added NVIDIA: SAUCE

Also verified the functionality on K6.17

Thanks at least this version compiles with 6.17.

@nvidia-bfigg nvidia-bfigg force-pushed the 24.04_linux-nvidia-6.17-next branch 2 times, most recently from c7fca69 to 6a9a932 Compare December 18, 2025 13:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.