commit nvidia-jetson for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package nvidia-jetson for openSUSE:Factory checked in at 2024-10-27 11:25:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nvidia-jetson (Old) and /work/SRC/openSUSE:Factory/.nvidia-jetson.new.2020 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "nvidia-jetson" Sun Oct 27 11:25:25 2024 rev:2 rq:1218417 version:36.4.0_20240912212859 Changes: -------- --- /work/SRC/openSUSE:Factory/nvidia-jetson/nvidia-jetson.changes 2024-09-03 13:38:39.193539728 +0200 +++ /work/SRC/openSUSE:Factory/.nvidia-jetson.new.2020/nvidia-jetson.changes 2024-10-27 11:25:51.463853732 +0100 @@ -1,0 +2,240 @@ +Fri Oct 25 17:33:06 UTC 2024 - Stefan Dirsch <sndirsch@suse.com> + +- removed obsolete nv_repackager-no-sudo-use-bzip2.patch + +------------------------------------------------------------------- +Fri Oct 25 16:20:26 UTC 2024 - Stefan Dirsch <sndirsch@suse.com> + +- splitted off packaging firmware to a separate source package + kernel-firmware-nvidia-jetson in order to separate license files +- minor cleanup in specfile + +------------------------------------------------------------------- +Fri Oct 25 12:39:21 UTC 2024 - Stefan Dirsch <sndirsch@suse.com> + +- 'nvethernet' considered stable now; instead blacklist upstream + 'dwmac_tegra'; use a separate modprobe.d snippet for this and + move it to -extra KMP, since 'nvethernet' is part of -extra + package + +------------------------------------------------------------------- +Fri Oct 25 10:33:26 UTC 2024 - Stefan Dirsch <sndirsch@suse.com> + +- modprobe.d snippet + * on SLE Micro 6.0 remove 'tegra_drm' before loading 'nvidia' + module, then load it again (using systemd service file for + loading "nvidia-drm" doesn't work on SLE Micro 6.0 for some + reason) +- use SUSE-Firmware as license tag for firmware package + +------------------------------------------------------------------- +Wed Oct 23 11:25:42 UTC 2024 - Stefan Dirsch <sndirsch@suse.com> + +- dracut-crash-fix.patch + * fix for tegra-se module, which triggered dracut to crash + +------------------------------------------------------------------- +Tue Oct 15 19:56:03 UTC 2024 - Stefan Dirsch <sndirsch@suse.com> + +- fixed sed command syntax in %post + +------------------------------------------------------------------- +Tue Oct 15 19:29:00 UTC 2024 - Stefan Dirsch <sndirsch@suse.com> + +- fixed preset file + +------------------------------------------------------------------- +Tue Oct 15 17:24:18 UTC 2024 - Stefan Dirsch <sndirsch@suse.com> + +- exclude systemd service and preset files for loading + "nvidia-drm" from firmware package file section to avoid a + conflict between firmware package and KMPs + +------------------------------------------------------------------- +Tue Oct 15 17:08:55 UTC 2024 - Stefan Dirsch <sndirsch@suse.com> + +- removed modules-load.d snippet, which loaded "nvidia" already + in initrd +- use systemd service file for loading "nvidia-drm" and all + depending modules before desktop starts +- enable above systemd service by a systemd preset file +- nvidia-drm options: + * switch from "modeset=0" to "modeset=1 fbdev=1" + * stay with "modeset=0" for IGX (patched during installation + using dmidecode to detect IGX hardware) +- dracut.d snippet: keep nvidia modules out of initrd +- removed obsolete micro6-kernel.patch + +------------------------------------------------------------------- +Fri Oct 11 11:33:53 UTC 2024 - Stefan Dirsch <sndirsch@suse.com> + +- 36.3.0/Jetpack 6.1 release (36.4.0-20240912212859) +- updated source tarballs to git tag l4t-l4t-r36.4_eng_2024-09-12 + * nvidia-oot + + drivers: spi: update misc register programming. + + rtl8822ce: Disable debug prints + + crypto: fix crypto_engine_ctx build error + + crypto: tegra: Fix size of buffer allocated + + rtl8822ce: Add Nvidia changes on v5.14.0.4-250 + + rtl8822ce: Add driver version v5.14.0.4-250 + + driver: platform: tegra: remove pfn_valid usage + + crypto: tegra: Align with upstream + + driver: platform: tegra: handle error path + + camera: Fix v4l2-compliance test fails + + vi5: camera: move allow_signal to dequeue + + scripts: conftest: Fix of_property_for_each_u32 test + + host1x-fence: Remove callback and cancel fence + + misc: mods: Disable MODS for Linux v6.11 + + drivers: Fix bus->match for Linux v6.11 + + drivers: pva: Fix build for Linux v6.11 + + hwmon: f75308: Fix build for Linux v6.11 + + block: virtual-storage: Disable for Linux v6.11 + + ASoC: tegra: Fix redefinition error for Linux v6.11 + + ASoC: tegra: Fix build for Linux v6.11 + + nvmap: Implement nvmap_page_mapcount() + + gpu: host1x: Increase pushbuffer slots to 1023 + + media: i2c: fix IMX390 SDR mode corruption + + host1x-fence:Free the kzalloc mem + + net: nvethernet: Fix build for Linux v6.11 + + media: camera: Use of_pwm_xlate_with_flags() + + camera: add SBGGR12 color format + + vi5: camera: add ovrride capture timeout control + + nvethernet:Fix cbb error when ifconfig down + + media: camera: Fix crash in sensor drivers + + pci: Port pci-epf-tegra-vnet to support 5.14.0 + + net: realtek: Add option to disable drivers + + trace: Fix build for Linux v6.10 + + bt: realtek: Fix potential buffer overflow in cfg_list_item struct + + rtcpu: Port IVC bus driver to use iosys-map utils + + r8126: Enable support for RSS + + ethernet: Add dummy driver for r8126 + + r8126: Add r8126 driver version 10.013.00-NAPI-PTP + + ethernet: Add dummy driver for r8126 + + r8126: Change file permissions of source files + + r8126: Add r8126 driver version 10.013.00 + + ethernet: Add dummy driver for r8168 + + PCI: EPF: tvnet: disable the edma interrupt + + nvethernet: macsec: Add module param for macsec. + + gpu: host1x: Handle CDMA wraparound when debug printing + + r8168: Replace kernel version checks with conftest + + r8168: Disable 10M EEE + + r8168: Fix -20C 10mbps failure in Mods test + + r8168: Change file permissions of source files + + r8168: update driver to 8.053.00 + + media: camera: Add missing conftest.h + + media: i2c: Fix build for Linux v6.1+ + + media: i2c: enable IMX390 WDR mode + + tegra: tsec: port init_comms property to oot tree + + video: tsec: Set tsec state before power_on/off + + video: tsec: add support to reboot tsec fw with context + + net: nvethernet: Fix support for Linux v6.9 + + cam_cdi_tsc: Fix Fsync IOCTL fail sometimes + + media: virtual-i2c-mux: Fix build for Linux v6.10 + + media: camera: Fix build for Linux v6.10 + + pwm: tachometer: Fix build for Linux v6.10 + + block: virtual-storage: Allow build for Linux v6.10 + + conftest: Fix tests for Linux v6.10 + + nv-virtio-poc: Add missing header + + media: camera: Fix v4l2-subdev for Linux v6.10 + + drivers: Fix missing vmalloc.h for Linux v6.10 + + drivers: mttcan: fix bus-off restart txfer + + thermal: Fix build for Linux v6.10 + + camera:driver: Fix the race condition of setting bypass mode. + + t23x:tpg:[WAR] Disable gain control to avoid insmod fail. + + net: nvethernet: Drop adjfreq support + + pci: endpoint: use conftest for pci-epf-tegra-vnet.c + + PCI: Fix endpoint DMA test for Linux v6.9 + + pci: Use conftest to find if pci_epc_event_ops struct has core_deinit + + pcie: Enable core_deinit only when core has implemented it + + drivers: misc: fix implicit function + + drivers: misc: fix implicit conversion + + drivers: misc: Fix the argument of iommu_map() for Linux v6.3 + + misc: nvscic2c-pcie: Drop usage of enum pci_epc_irq_type from Linux 6.8 + + net: ethernet: build realtek ethernet driver only for k5.15 + + tsec: Fix build with -Werror=old-style-declaration + + rtl8822ce: Initialize spinlock before usage + + rtl8822ce: Remove pr_debug redefinition + + net: nvethernet: Fix build for Linux v6.9 + + nvmap: Fix build for Linux v6.9 + + drivers: spi: remove spi_master_put() in probe + + spi: Fix build for Linux v6.9 + + conftest: Fix test for SLAB_MEM_SPREAD + + net: nvethernet: Fix build for Linux v6.9 + + media: camera: Ensure gpio_device_get_chip is present + + media: camera: Fix build for Linux v6.9 + + media: camera: Update conftest for gpio_device_find + + video: tegra: virt: Fix build for Linux v6.9 + + soc/tegra: bpmp: Fix build for Linux v6.9 + + block: virtual-storage: Fix build for Linux v6.9 + + rtl8822ce: Add Nvidia changes on v5.14.0.4-217 + + rtl8822ce: Fix TLP/EAPOL/TXFIFO issues + + csi5:add error config + + drm/tegra: nvdec: Enable SLCG/PG + * nvgpu + + gpu: nvgpu: Fix build for Linux v6.11 + + gpu: nvgpu: Use conftest for VM flags + + gpu: nvgpu: Fix missing vmalloc.h + * hwpm + + tegra: hwpm: Fix build for Linux v6.11 + * nvdisplay + + Updating prebuilts and/or headers + * hardware/nvidia/t23x/nv-public + + nv-platform: Add PEX WAKE GPIO interrupt for C1 controller + + t23x: overlay: add no-map to vpr carveout + + dts: optee: Update fTPM v2.0 nodes + + nv-platform: Add edge safety services + + p3768: dts: disable PCIe C8 in p3767 0000 PX1 + + nv-platform: Rename se nodes to crypto + + nv-platform: Remove duplicate PCIe nodes + + t23x: p3701-0000-as-p3767-000*: Update CPU Fmax + + t23x:P3783: Fix failed to read 2nd Hawk EEPROM serial number. + + t23x: nv-public: tegra: fix typo in dce fabric compatible + + t23x: nv-public: Disable hot surface alert for IGX + + overlay: t23x: fix IMX390 SDR mode corruption + + t23x: nv-public: tegra: disable sce fabric node + + tegra234: Add smmu_test node + + Revert "nv-public: arm64: tegra: disable sce fabric node" + + Revert "tegra234: Add smmu_test node" + + tegra234: Add smmu_test node + + nv-public: qspi: update prod entries for qspi. + + nv-soc: Remove redundant properties of eth node + + t23x: Remove override of clock speed for SBSA UART + + arm64: tegra: Add missing current-speed for SBSA UART + + nv-soc: Rename security engine nodes + + UPSTREAM: arm64: tegra: Add Tegra Security Engine DT nodes + + arm64: tegra: Add dmas and dma-names for Tegra234 UARTE + + arm64: tegra: Mark Tegra234 SPI as compatible with Tegra114 + + arm64: tegra: Use correct format for clocks property + + nv-public:P3783: Fix probe fail of Hawks during boot. + + tegra234-camera: Update DT property for VI HW. + + t23x: nv-soc: Disable nvidia,macsec-enable + + t23x: Add Hawk & Owl overlays for P3762 + + nv-public: arm64: tegra: disable sce fabric node + + nv-platform: unregister tmp451 from thermal zone + + Revert "Revert "concord: add display hdcp property + + tegra234: Correct the PCIE prefetch memory range + + [UPSTREAM] arm64: tegra: Remove Jetson Orin NX and Jetson Orin Nano DTSI + + [UPSTREAM] arm64: tegra: Add audio support for Jetson Orin NX and Jetson Orin Nano + + [UPSTREAM] arm64: tegra: Define missing IO ports + + [UPSTREAM] arm64: tegra: Move AHUB ports to SoC DTSI + + nv-public: p3767: Remove change from mainline DT + + Revert "concord: add display hdcp property" + + overlay: t23x: enable IMX390 WDR mode + + nv-public: p3740: fix cvb eeprom bus id + + t23x: overlay: Remove legacy Sidecar overlay + + t234:[P3762/P3783]:Increase i2cbus-8 freq to 400khz. + + dt: soc: t234: add iommu mappings for vi&isp units + + tegra234: overlay: Add fTPM node + + t23x: optee-dts: Fix the TPM event log addr DT + + nv-platform: add support for p3767 0000 PX1 + + soc: tegra234: Enable USB remote wakeup support + + nv-public:P3762: Fix probe fail of Hawks during boot. +- supersedes df9e50c.diff, micro6-kernel.patch +- updated firmware tarball (release 36.4.0-20240912212859) + +------------------------------------------------------------------- +Mon Sep 23 15:11:15 UTC 2024 - Stefan Dirsch <sndirsch@suse.com> + +- use better URL in specfile (boo#1222604, comment#87) + +------------------------------------------------------------------- Old: ---- df9e50c.diff hardware_nvidia_t23x_nv-public-l4t-l4t-r36.3.1_eng_2024-05-29.tar.bz2 hardware_nvidia_tegra_nv-public-l4t-l4t-r36.3.1_eng_2024-05-29.tar.bz2 hwpm-l4t-l4t-r36.3.1_eng_2024-05-29.tar.bz2 micro6-kernel.patch nv_repackager-no-sudo-use-bzip2.patch nvdisplay-l4t-l4t-r36.3.1_eng_2024-05-29.tar.bz2 nvethernetrm-l4t-l4t-r36.3.1_eng_2024-05-29.tar.bz2 nvgpu-l4t-l4t-r36.3.1_eng_2024-05-29.tar.bz2 nvidia-l4t-firmware_36.3.1-20240516220919_arm64.tbz2 nvidia-oot-l4t-l4t-r36.3.1_eng_2024-05-29.tar.bz2 New: ---- dracut-crash-fix.patch hardware_nvidia_t23x_nv-public-l4t-l4t-r36.4_eng_2024-09-12.tar.bz2 hardware_nvidia_tegra_nv-public-l4t-l4t-r36.4_eng_2024-09-12.tar.bz2 hwpm-l4t-l4t-r36.4_eng_2024-09-12.tar.bz2 load-nvidia-drm.service nvdisplay-l4t-l4t-r36.4_eng_2024-09-12.tar.bz2 nvethernetrm-l4t-l4t-r36.4_eng_2024-09-12.tar.bz2 nvgpu-l4t-l4t-r36.4_eng_2024-09-12.tar.bz2 nvidia-oot-l4t-l4t-r36.4_eng_2024-09-12.tar.bz2 BETA DEBUG BEGIN: Old: + nv-public:P3762: Fix probe fail of Hawks during boot. - supersedes df9e50c.diff, micro6-kernel.patch - updated firmware tarball (release 36.4.0-20240912212859) Old:- dracut.d snippet: keep nvidia modules out of initrd - removed obsolete micro6-kernel.patch Old: - removed obsolete nv_repackager-no-sudo-use-bzip2.patch BETA DEBUG END: BETA DEBUG BEGIN: New: - dracut-crash-fix.patch * fix for tegra-se module, which triggered dracut to crash BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nvidia-jetson.spec ++++++ --- /var/tmp/diff_new_pack.4Nwarc/_old 2024-10-27 11:25:52.259886729 +0100 +++ /var/tmp/diff_new_pack.4Nwarc/_new 2024-10-27 11:25:52.263886895 +0100 @@ -1,7 +1,7 @@ # # spec file for package nvidia-jetson # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -15,6 +15,7 @@ # Please submit bugfixes or comments via https://bugs.opensuse.org/ # + %if %{undefined kernel_module_directory} %if 0%{?usrmerged} %define kernel_module_directory /usr/lib/modules @@ -25,13 +26,13 @@ %define compress_modules zstd Name: nvidia-jetson -Version: 36.3.1_20240516220919 +Version: 36.4.0_20240912212859 Release: 0 Summary: Open-Source NVIDIA Jetson Orin graphics drivers License: GPL-2.0-only AND MIT Group: System/Kernel -URL: https://partners.nvidia.com/ -Source0: nvidia-oot-l4t-l4t-r36.3.1_eng_2024-05-29.tar.bz2 +URL: https://developer.nvidia.com/embedded/jetson-linux-r363 +Source0: nvidia-oot-l4t-l4t-r36.4_eng_2024-09-12.tar.bz2 Source1: kmp-post-extra.sh Source2: kmp-postun-extra.sh Source3: kmp-filelist @@ -40,26 +41,23 @@ Source7: preamble Source8: kmp-filelist-extra Source9: preamble-extra +Source10: load-nvidia-drm.service Source14: _constraints -Source22: nvgpu-l4t-l4t-r36.3.1_eng_2024-05-29.tar.bz2 -Source23: hwpm-l4t-l4t-r36.3.1_eng_2024-05-29.tar.bz2 -Source24: nvdisplay-l4t-l4t-r36.3.1_eng_2024-05-29.tar.bz2 -Source25: nvethernetrm-l4t-l4t-r36.3.1_eng_2024-05-29.tar.bz2 -Source26: hardware_nvidia_t23x_nv-public-l4t-l4t-r36.3.1_eng_2024-05-29.tar.bz2 -Source27: hardware_nvidia_tegra_nv-public-l4t-l4t-r36.3.1_eng_2024-05-29.tar.bz2 +Source22: nvgpu-l4t-l4t-r36.4_eng_2024-09-12.tar.bz2 +Source23: hwpm-l4t-l4t-r36.4_eng_2024-09-12.tar.bz2 +Source24: nvdisplay-l4t-l4t-r36.4_eng_2024-09-12.tar.bz2 +Source25: nvethernetrm-l4t-l4t-r36.4_eng_2024-09-12.tar.bz2 +Source26: hardware_nvidia_t23x_nv-public-l4t-l4t-r36.4_eng_2024-09-12.tar.bz2 +Source27: hardware_nvidia_tegra_nv-public-l4t-l4t-r36.4_eng_2024-09-12.tar.bz2 Source28: Makefile-NVIDIA-BUG-4460318 -#Source30: https://developer.nvidia.com/downloads/igx/v1.0.0/jetson_linux_r36.3.1_aarch... -Source30: nvidia-l4t-firmware_36.3.1-20240516220919_arm64.tbz2 # Create on SolidDriver Program build service with ... # osc buildlog SLE_15_SP6 aarch64 | grep "missing supported flag" | sed -E 's|.*/([^/]+\.ko).*|\1 external|' | sort | uniq > Module.supported # Unfortunately this is currently not working when building on build.suse.de # But dracut file below could be used for information as well ... Source29: Module.supported -Patch0: micro6-kernel.patch Patch1: reimplement-v4l2_match_dv_timings.patch Patch2: persistent-nvidia-id-string.patch -Patch3: nv_repackager-no-sudo-use-bzip2.patch -Patch4: df9e50c.diff +Patch4: dracut-crash-fix.patch BuildRequires: %{kernel_module_package_buildreqs} BuildRequires: fdupes BuildRequires: gcc-c++ @@ -68,6 +66,7 @@ BuildRequires: perl-Bootloader BuildRequires: pesign-obs-integration BuildRequires: zstd +BuildRequires: pkgconfig(systemd) ExclusiveArch: aarch64 %if 0%{!?kmp_template_name:1} @@ -88,6 +87,7 @@ ### needs to be set in preamble-extra #Summary: Open-Source NVIDIA Jetson Orin drivers + %description -n nvidia-jetson-extra-kmp-default This package provides additional Open-Source NVIDIA Jetson Orin drivers, which are also required by the NVIDIA Jetson Orin graphics drivers @@ -95,19 +95,12 @@ ### needs to be set in preamble-extra #Summary: Open-Source NVIDIA Jetson Orin drivers + %description -n nvidia-jetson-extra-kmp-64kb This package provides additional Open-Source NVIDIA Jetson Orin drivers, which are also required by the NVIDIA Jetson Orin graphics drivers (nvidia-jetson KMP). -%package -n kernel-firmware-nvidia-jetson -Summary: Firmware files for NVIDIA Jetson Orin (graphics) drivers -Group: System/Kernel - -%description -n kernel-firmware-nvidia-jetson -This package includes the needed firmware files for NVIDIA Jetson -Orin (graphics) drivers. - %prep echo suse_version: %suse_version echo sle_version: %sle_version @@ -117,11 +110,6 @@ tar xf %{SOURCE25} popd cp $RPM_SOURCE_DIR/Makefile-NVIDIA-BUG-4460318 Makefile -# needed for SL Micro 6.0 (SUSE:ALP:Source:Standard:1.0) Kernel, but not for -# sle15-sp6 Kernel !!! -%if 0%{?suse_version} == 1600 -%patch0 -p0 -%endif %patch1 -p1 %patch2 -p1 pushd nvidia-oot @@ -140,11 +128,6 @@ mkdir obj pushd .. -#tar xf %{SOURCE30} -#cd Linux_for_Tegra -#%patch3 -p1 -#./nv_tools/scripts/nv_repackager.sh -o ./nv_tegra/l4t_tar_packages --convert-all -#popd %build # -Wall is upstream default @@ -181,16 +164,26 @@ mkdir -p $MODPROBE_DIR for flavor in %flavors_to_build; do cat > $MODPROBE_DIR/50-nvidia-$flavor.conf << EOF -options nvidia-drm modeset=0 -blacklist nvethernet +# IGX needs 0 for modeset; patched during installation +options nvidia-drm modeset=1 fbdev=1 options nvidia NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=REALGID NVreg_DeviceFileMode=0660 rm_firmware_active="all" NVreg_RegistryDwords="RMHdcpKeyglobZero=1" -install nvidia /sbin/modprobe tegra_drm; /sbin/modprobe --ignore-install nvidia; /sbin/modprobe nvidia-modeset +EOF + ### Using systemd service file for loading "nvidia-drm" doesn't + ### work on SLE Micro 6.0 for some reason, but apparently this + ### line helps +%if 0%{?suse_version} == 1600 + cat >> $MODPROBE_DIR/50-nvidia-$flavor.conf << EOF +install nvidia /sbin/rmmod tegra_drm; /sbin/modprobe --ignore-install nvidia; /sbin/modprobe tegra_drm +EOF +%endif + cat > $MODPROBE_DIR/50-nvidia-extra-$flavor.conf << EOF +blacklist dwmac_tegra EOF mkdir -p %{buildroot}/usr/lib/dracut/dracut.conf.d dracutfile=%{buildroot}/usr/lib/dracut/dracut.conf.d/60-nvidia-jetson-$flavor.conf dracutfile_extra=%{buildroot}/usr/lib/dracut/dracut.conf.d/60-nvidia-jetson-extra-$flavor.conf cat > ${dracutfile} << EOF -add_drivers+=" nvidia-drm nvidia-modeset nvidia " +omit_drivers+=" nvidia-drm nvidia-modeset nvidia " EOF cat > ${dracutfile_extra} # SL Micro 6.0 (SUSE:ALP:Source:Standard:1.0) @@ -207,40 +200,11 @@ echo "omit_drivers+=${dname}" >> ${dracutfile_extra} fi done - mkdir -p %{buildroot}/usr/lib/modules-load.d/ - cat > %{buildroot}/usr/lib/modules-load.d/nvidia-load-${flavor}.conf << EOF -nvidia + mkdir -p %{buildroot}/usr/lib/systemd/system + install -m 644 %{SOURCE10} %{buildroot}/usr/lib/systemd/system/load-nvidia-drm-$flavor.service + mkdir -p %{buildroot}%{_systemd_util_dir}/system-preset + cat > %{buildroot}%{_systemd_util_dir}/system-preset/70-nvidia-jetson-kmp-${flavor}.preset << EOF +enable load-nvidia-drm-${flavor}.service EOF done -#pushd ../Linux_for_Tegra/nv_tegra/l4t_tar_packages -# tar xjf nvidia-l4t-firmware_*_arm64.tbz2 -C $RPM_BUILD_ROOT/ -#popd -tar xjf $RPM_SOURCE_DIR/nvidia-l4t-firmware_*_arm64.tbz2 -C $RPM_BUILD_ROOT/ - -pushd $RPM_BUILD_ROOT/ -# etc/systemd/ -mkdir -p usr/lib/systemd -mv etc/systemd/* usr/lib/systemd -sed -i 's+/etc+/usr/lib+g' usr/lib/systemd/system/nvwifibt.service -rmdir etc/systemd -rmdir etc -# lib/systemd/system/bluetooth.service/ -mv lib/systemd/system/bluetooth.service.d usr/lib/systemd/system -rmdir lib/systemd/system -rmdir lib/systemd -# usr/share/doc -mkdir -p usr/share/doc/packages/kernel-firmware-nvidia-jetson -mv usr/share/doc/{bluez,nvidia-l4t-firmware,nvidia-tegra} usr/share/doc/packages/kernel-firmware-nvidia-jetson -ln -snf service usr/sbin/rcnvwifibt -popd - -%fdupes -s %{buildroot}/lib/firmware - -%files -n kernel-firmware-nvidia-jetson -%doc /usr/share/doc/packages/kernel-firmware-nvidia-jetson/ -/lib/firmware/ -/usr/lib/systemd/ -/usr/sbin/brcm_patchram_plus -/usr/sbin/rcnvwifibt - ++++++ dracut-crash-fix.patch ++++++ From 3415677f0fe7c8b971bd2d41b9e9f4b78f88233f Mon Sep 17 00:00:00 2001 From: Akhil R <akhilrajeev@nvidia.com> Date: Mon, 21 Oct 2024 11:33:32 +0530 Subject: [PATCH] crypto: tegra: Fix size of buffer allocated Allocate the buffer based on the request instead of a fixed buffer length. In operations which may require larger buffer size, a fixed buffer may fail. Similar patch was added for AES algorithms. Fix the same for HASH algorithms as well. Bug 4908156 Signed-off-by: Akhil R <akhilrajeev@nvidia.com> --- diff --git a/drivers/crypto/tegra/tegra-se-aes.c b/drivers/crypto/tegra/tegra-se-aes.c index 155754e..a7c972b 100644 --- a/drivers/crypto/tegra/tegra-se-aes.c +++ b/drivers/crypto/tegra/tegra-se-aes.c @@ -1572,6 +1572,11 @@ return 0; } + rctx->datbuf.buf = dma_alloc_coherent(se->dev, rctx->datbuf.size, + &rctx->datbuf.addr, GFP_KERNEL); + if (!rctx->datbuf.buf) + return -ENOMEM; + /* Copy the previous residue first */ if (rctx->residue.size) memcpy(rctx->datbuf.buf, rctx->residue.buf, rctx->residue.size); @@ -1618,14 +1623,26 @@ if (!req->nbytes && !rctx->total_len && ctx->fallback_tfm) { return crypto_shash_tfm_digest(ctx->fallback_tfm, - rctx->datbuf.buf, 0, req->result); + NULL, 0, req->result); } - memcpy(rctx->datbuf.buf, rctx->residue.buf, rctx->residue.size); rctx->datbuf.size = rctx->residue.size; rctx->total_len += rctx->residue.size; rctx->config = tegra234_aes_cfg(SE_ALG_CMAC, 0); + if (rctx->residue.size) { + rctx->datbuf.buf = dma_alloc_coherent(se->dev, rctx->residue.size, + &rctx->datbuf.addr, GFP_KERNEL); + if (!rctx->datbuf.buf) { + ret = -ENOMEM; + goto out_free; + } + + memcpy(rctx->datbuf.buf, rctx->residue.buf, rctx->residue.size); + } + + memcpy(rctx->datbuf.buf, rctx->residue.buf, rctx->residue.size); + /* Prepare command and submit */ cmdlen = tegra_cmac_prep_cmd(se, rctx); ret = tegra_se_host1x_submit(se, cmdlen); @@ -1640,8 +1657,10 @@ writel(0, se->base + se->hw->regs->result + (i * 4)); out: - dma_free_coherent(se->dev, SE_SHA_BUFLEN, - rctx->datbuf.buf, rctx->datbuf.addr); + if (rctx->residue.size) + dma_free_coherent(se->dev, rctx->datbuf.size, + rctx->datbuf.buf, rctx->datbuf.addr); +out_free: dma_free_coherent(se->dev, crypto_ahash_blocksize(tfm) * 2, rctx->residue.buf, rctx->residue.addr); return ret; @@ -1757,15 +1776,9 @@ rctx->residue.buf = dma_alloc_coherent(se->dev, rctx->blk_size * 2, &rctx->residue.addr, GFP_KERNEL); if (!rctx->residue.buf) - goto resbuf_fail; + return -ENOMEM; rctx->residue.size = 0; - - rctx->datbuf.buf = dma_alloc_coherent(se->dev, SE_SHA_BUFLEN, - &rctx->datbuf.addr, GFP_KERNEL); - if (!rctx->datbuf.buf) - goto datbuf_fail; - rctx->datbuf.size = 0; /* Clear any previous result */ @@ -1773,12 +1786,6 @@ writel(0, se->base + se->hw->regs->result + (i * 4)); return 0; - -datbuf_fail: - dma_free_coherent(se->dev, rctx->blk_size, rctx->residue.buf, - rctx->residue.addr); -resbuf_fail: - return -ENOMEM; } static int tegra_cmac_setkey(struct crypto_ahash *tfm, const u8 *key, diff --git a/drivers/crypto/tegra/tegra-se-hash.c b/drivers/crypto/tegra/tegra-se-hash.c index f86b65b..bdcc323 100644 --- a/drivers/crypto/tegra/tegra-se-hash.c +++ b/drivers/crypto/tegra/tegra-se-hash.c @@ -335,6 +335,11 @@ return 0; } + rctx->datbuf.buf = dma_alloc_coherent(ctx->se->dev, rctx->datbuf.size, + &rctx->datbuf.addr, GFP_KERNEL); + if (!rctx->datbuf.buf) + return -ENOMEM; + /* Copy the previous residue first */ if (rctx->residue.size) memcpy(rctx->datbuf.buf, rctx->residue.buf, rctx->residue.size); @@ -371,6 +376,9 @@ if (!(rctx->task & SHA_FINAL)) tegra_sha_copy_hash_result(ctx->se, rctx); + dma_free_coherent(ctx->se->dev, rctx->datbuf.size, + rctx->datbuf.buf, rctx->datbuf.addr); + return ret; } @@ -383,15 +391,24 @@ u32 *cpuvaddr = se->cmdbuf->addr; int size, ret = 0; - memcpy(rctx->datbuf.buf, rctx->residue.buf, rctx->residue.size); rctx->datbuf.size = rctx->residue.size; rctx->total_len += rctx->residue.size; rctx->config = tegra_sha_get_config(rctx->alg) | SE_SHA_DST_MEMORY; - size = tegra_sha_prep_cmd(se, cpuvaddr, rctx); + if (rctx->residue.size) { + rctx->datbuf.buf = dma_alloc_coherent(se->dev, rctx->residue.size, + &rctx->datbuf.addr, GFP_KERNEL); + if (!rctx->datbuf.buf) { + ret = -ENOMEM; + goto out_free; + } + memcpy(rctx->datbuf.buf, rctx->residue.buf, rctx->residue.size); + } + + size = tegra_sha_prep_cmd(se, cpuvaddr, rctx); ret = tegra_se_host1x_submit(se, size); if (ret) goto out; @@ -400,8 +417,10 @@ memcpy(req->result, rctx->digest.buf, rctx->digest.size); out: - dma_free_coherent(se->dev, SE_SHA_BUFLEN, - rctx->datbuf.buf, rctx->datbuf.addr); + if (rctx->residue.size) + dma_free_coherent(se->dev, rctx->datbuf.size, + rctx->datbuf.buf, rctx->datbuf.addr); +out_free: dma_free_coherent(se->dev, crypto_ahash_blocksize(tfm), rctx->residue.buf, rctx->residue.addr); dma_free_coherent(se->dev, rctx->digest.size, rctx->digest.buf, @@ -540,19 +559,11 @@ if (!rctx->residue.buf) goto resbuf_fail; - rctx->datbuf.buf = dma_alloc_coherent(se->dev, SE_SHA_BUFLEN, - &rctx->datbuf.addr, GFP_KERNEL); - if (!rctx->datbuf.buf) - goto datbuf_fail; - return 0; -datbuf_fail: - dma_free_coherent(se->dev, rctx->blk_size, rctx->residue.buf, - rctx->residue.addr); resbuf_fail: - dma_free_coherent(se->dev, SE_SHA_BUFLEN, rctx->datbuf.buf, - rctx->datbuf.addr); + dma_free_coherent(se->dev, rctx->digest.size, rctx->digest.buf, + rctx->digest.addr); digbuf_fail: return -ENOMEM; } diff --git a/drivers/crypto/tegra/tegra-se.h b/drivers/crypto/tegra/tegra-se.h index ec5768f..900d6bf 100644 --- a/drivers/crypto/tegra/tegra-se.h +++ b/drivers/crypto/tegra/tegra-se.h @@ -342,7 +342,6 @@ #define SE_CRYPTO_CTR_REG_COUNT 4 #define SE_MAX_KEYSLOT 15 #define SE_MAX_MEM_ALLOC SZ_4M -#define SE_SHA_BUFLEN 0x2000 #define SHA_FIRST BIT(0) #define SHA_UPDATE BIT(1) ++++++ hardware_nvidia_t23x_nv-public-l4t-l4t-r36.3.1_eng_2024-05-29.tar.bz2 -> hardware_nvidia_t23x_nv-public-l4t-l4t-r36.4_eng_2024-09-12.tar.bz2 ++++++ ++++ 10937 lines of diff (skipped) ++++++ hardware_nvidia_tegra_nv-public-l4t-l4t-r36.3.1_eng_2024-05-29.tar.bz2 -> hardware_nvidia_tegra_nv-public-l4t-l4t-r36.4_eng_2024-09-12.tar.bz2 ++++++ ++++++ hwpm-l4t-l4t-r36.3.1_eng_2024-05-29.tar.bz2 -> hwpm-l4t-l4t-r36.4_eng_2024-09-12.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwpm/drivers/tegra/hwpm/os/linux/driver.c new/hwpm/drivers/tegra/hwpm/os/linux/driver.c --- old/hwpm/drivers/tegra/hwpm/os/linux/driver.c 2024-06-03 02:55:42.509546896 +0200 +++ new/hwpm/drivers/tegra/hwpm/os/linux/driver.c 2024-10-11 12:57:52.196435498 +0200 @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * Copyright (c) 2021-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * Copyright (c) 2021-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -251,9 +251,21 @@ return 0; } +#if defined(NV_PLATFORM_DRIVER_STRUCT_REMOVE_RETURNS_VOID) /* Linux v6.11 */ +static inline void tegra_hwpm_remove_wrapper(struct platform_device *pdev) +{ + tegra_hwpm_remove(pdev); +} +#else +static inline int tegra_hwpm_remove_wrapper(struct platform_device *pdev) +{ + return tegra_hwpm_remove(pdev); +} +#endif + static struct platform_driver tegra_soc_hwpm_pdrv = { .probe = tegra_hwpm_probe, - .remove = tegra_hwpm_remove, + .remove = tegra_hwpm_remove_wrapper, .driver = { .name = TEGRA_SOC_HWPM_MODULE_NAME, .of_match_table = of_match_ptr(tegra_soc_hwpm_of_match), ++++++ kmp-filelist ++++++ --- /var/tmp/diff_new_pack.4Nwarc/_old 2024-10-27 11:25:52.811909611 +0100 +++ /var/tmp/diff_new_pack.4Nwarc/_new 2024-10-27 11:25:52.815909777 +0100 @@ -9,6 +9,7 @@ %dir /usr/lib/dracut %dir /usr/lib/dracut/dracut.conf.d /usr/lib/dracut/dracut.conf.d/60-nvidia-jetson-%1.conf -%dir /usr/lib/modules-load.d -/usr/lib/modules-load.d/nvidia-load-%1.conf +%{_unitdir}/load-nvidia-drm-%1.service +%dir %{_systemd_util_dir}/system-preset +%{_systemd_util_dir}/system-preset/70-nvidia-jetson-kmp-%1.preset ++++++ kmp-filelist-extra ++++++ --- /var/tmp/diff_new_pack.4Nwarc/_old 2024-10-27 11:25:52.839910772 +0100 +++ /var/tmp/diff_new_pack.4Nwarc/_new 2024-10-27 11:25:52.843910938 +0100 @@ -5,6 +5,8 @@ %exclude %{kernel_module_directory}/%2-%1/updates/nvidia-drm.ko* %exclude %{kernel_module_directory}/%2-%1/updates/nvidia-modeset.ko* %exclude %{kernel_module_directory}/%2-%1/updates/nvidia.ko* +%dir /lib/modprobe.d +/lib/modprobe.d/50-nvidia-extra-%1.conf %dir /usr/lib/dracut %dir /usr/lib/dracut/dracut.conf.d /usr/lib/dracut/dracut.conf.d/60-nvidia-jetson-extra-%1.conf ++++++ kmp-post.sh ++++++ --- /var/tmp/diff_new_pack.4Nwarc/_old 2024-10-27 11:25:52.883912597 +0100 +++ /var/tmp/diff_new_pack.4Nwarc/_new 2024-10-27 11:25:52.887912762 +0100 @@ -16,4 +16,9 @@ GID=$(getent group video | cut -d: -f3) sed -i "s/REALGID/$GID/" /lib/modprobe.d/50-nvidia-$flavor.conf +# IGX needs 0 for modeset +if dmidecode |grep "Product Name"|grep -q IGX; then + sed -i "s/modeset=1/modeset=0/" /lib/modprobe.d/50-nvidia-$flavor.conf +fi + ++++++ load-nvidia-drm.service ++++++ [Unit] Description=Load nvidia-drm Before=xdm.service After=systemd-user-sessions.service systemd-logind.service [Service] Type=oneshot ExecStart=/sbin/modprobe nvidia-drm RemainAfterExit=yes [Install] WantedBy=graphical.target ++++++ nvdisplay-l4t-l4t-r36.3.1_eng_2024-05-29.tar.bz2 -> nvdisplay-l4t-l4t-r36.4_eng_2024-09-12.tar.bz2 ++++++ ++++ 6213 lines of diff (skipped) ++++++ nvethernetrm-l4t-l4t-r36.3.1_eng_2024-05-29.tar.bz2 -> nvethernetrm-l4t-l4t-r36.4_eng_2024-09-12.tar.bz2 ++++++ ++++++ nvgpu-l4t-l4t-r36.3.1_eng_2024-05-29.tar.bz2 -> nvgpu-l4t-l4t-r36.4_eng_2024-09-12.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvgpu/drivers/gpu/nvgpu/os/linux/debug_gr.c new/nvgpu/drivers/gpu/nvgpu/os/linux/debug_gr.c --- old/nvgpu/drivers/gpu/nvgpu/os/linux/debug_gr.c 2024-06-03 02:55:39.933494062 +0200 +++ new/nvgpu/drivers/gpu/nvgpu/os/linux/debug_gr.c 2024-10-11 12:57:49.464380167 +0200 @@ -1,18 +1,9 @@ -/* - * Copyright (c) 2017-2023, NVIDIA CORPORATION. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms and conditions of the GNU General Public License, - * version 2, as published by the Free Software Foundation. - * - * This program is distributed in the hope it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ +// SPDX-License-Identifier: GPL-2.0-only +// SPDX-FileCopyrightText: Copyright (c) 2017-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. + +#if defined(CONFIG_NVIDIA_CONFTEST) +#include <nvidia/conftest.h> +#endif #include <nvgpu/gk20a.h> #include <nvgpu/gr/ctx.h> @@ -250,7 +241,7 @@ err = -EINVAL; goto done; } -#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0) +#if defined(NV_VM_AREA_STRUCT_HAS_CONST_VM_FLAGS) /* Linux v6.3 */ vm_flags_set(vma, VM_DONTCOPY | VM_DONTEXPAND | VM_NORESERVE | VM_DONTDUMP | VM_PFNMAP); vm_flags_clear(vma, VM_MAYWRITE); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvgpu/drivers/gpu/nvgpu/os/linux/dmabuf_nvs.c new/nvgpu/drivers/gpu/nvgpu/os/linux/dmabuf_nvs.c --- old/nvgpu/drivers/gpu/nvgpu/os/linux/dmabuf_nvs.c 2024-06-03 02:55:39.933494062 +0200 +++ new/nvgpu/drivers/gpu/nvgpu/os/linux/dmabuf_nvs.c 2024-10-11 12:57:49.464380167 +0200 @@ -1,18 +1,9 @@ -/* - * Copyright (c) 2022-2023, NVIDIA CORPORATION. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms and conditions of the GNU General Public License, - * version 2, as published by the Free Software Foundation. - * - * This program is distributed in the hope it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ +// SPDX-License-Identifier: GPL-2.0-only +// SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. + +#if defined(CONFIG_NVIDIA_CONFTEST) +#include <nvidia/conftest.h> +#endif #include <linux/version.h> #include <linux/dma-buf.h> @@ -144,7 +135,7 @@ nvgpu_nvs_ctrl_fifo_lock_queues(g); -#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0) +#if defined(NV_VM_AREA_STRUCT_HAS_CONST_VM_FLAGS) /* Linux v6.3 */ vm_flags_set(vma, VM_DONTCOPY | VM_DONTEXPAND | VM_NORESERVE | VM_DONTDUMP); #else @@ -153,7 +144,7 @@ #endif if (buf->mask == NVGPU_NVS_CTRL_FIFO_QUEUE_CLIENT_EVENTS_READ) { -#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0) +#if defined(NV_VM_AREA_STRUCT_HAS_CONST_VM_FLAGS) /* Linux v6.3 */ vm_flags_set(vma, VM_SHARED); #else vma->vm_flags |= VM_SHARED; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvgpu/drivers/gpu/nvgpu/os/linux/fecs_trace_linux.c new/nvgpu/drivers/gpu/nvgpu/os/linux/fecs_trace_linux.c --- old/nvgpu/drivers/gpu/nvgpu/os/linux/fecs_trace_linux.c 2024-06-03 02:55:39.933494062 +0200 +++ new/nvgpu/drivers/gpu/nvgpu/os/linux/fecs_trace_linux.c 2024-10-11 12:57:49.464380167 +0200 @@ -1,23 +1,11 @@ -/* - * Copyright (c) 2016-2020, NVIDIA CORPORATION. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms and conditions of the GNU General Public License, - * version 2, as published by the Free Software Foundation. - * - * This program is distributed in the hope it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ +// SPDX-License-Identifier: GPL-2.0-only +// SPDX-FileCopyrightText: Copyright (c) 2016-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. #include <linux/wait.h> #include <linux/ktime.h> #include <linux/uaccess.h> #include <linux/poll.h> +#include <linux/vmalloc.h> #include <nvgpu/trace.h> #include <uapi/linux/nvgpu.h> #include <nvgpu/kmem.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvgpu/drivers/gpu/nvgpu/os/linux/ioctl_ctrl.c new/nvgpu/drivers/gpu/nvgpu/os/linux/ioctl_ctrl.c --- old/nvgpu/drivers/gpu/nvgpu/os/linux/ioctl_ctrl.c 2024-06-03 02:55:39.933494062 +0200 +++ new/nvgpu/drivers/gpu/nvgpu/os/linux/ioctl_ctrl.c 2024-10-11 12:57:49.468380248 +0200 @@ -1,6 +1,10 @@ // SPDX-License-Identifier: GPL-2.0-only // SPDX-FileCopyrightText: Copyright (c) 2011-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +#if defined(CONFIG_NVIDIA_CONFTEST) +#include <nvidia/conftest.h> +#endif + #include <linux/version.h> #include <linux/uaccess.h> #include <linux/cdev.h> @@ -2853,7 +2857,7 @@ nvgpu_mutex_acquire(&l->ctrl_privs_lock); -#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0) +#if defined(NV_VM_AREA_STRUCT_HAS_CONST_VM_FLAGS) /* Linux v6.3 */ vm_flags_set(vma, VM_IO | VM_DONTCOPY | VM_DONTEXPAND | VM_NORESERVE | VM_DONTDUMP | VM_PFNMAP); #else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvgpu/drivers/gpu/nvgpu/os/linux/linux-dma.c new/nvgpu/drivers/gpu/nvgpu/os/linux/linux-dma.c --- old/nvgpu/drivers/gpu/nvgpu/os/linux/linux-dma.c 2024-06-03 02:55:39.937494146 +0200 +++ new/nvgpu/drivers/gpu/nvgpu/os/linux/linux-dma.c 2024-10-11 12:57:49.468380248 +0200 @@ -1,9 +1,10 @@ // SPDX-License-Identifier: GPL-2.0-only -// SPDX-FileCopyrightText: Copyright (c) 2017-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// SPDX-FileCopyrightText: Copyright (c) 2017-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. #include <linux/dma-mapping.h> #include <linux/slab.h> #include <linux/iommu.h> +#include <linux/vmalloc.h> #include <nvgpu/log.h> #include <nvgpu/dma.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvgpu/drivers/gpu/nvgpu/os/linux/module.c new/nvgpu/drivers/gpu/nvgpu/os/linux/module.c --- old/nvgpu/drivers/gpu/nvgpu/os/linux/module.c 2024-06-03 02:55:39.937494146 +0200 +++ new/nvgpu/drivers/gpu/nvgpu/os/linux/module.c 2024-10-11 12:57:49.468380248 +0200 @@ -1,10 +1,14 @@ // SPDX-License-Identifier: GPL-2.0-only -// SPDX-FileCopyrightText: Copyright (c) 2011-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// SPDX-FileCopyrightText: Copyright (c) 2011-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. /* * GK20A Graphics */ +#if defined(CONFIG_NVIDIA_CONFTEST) +#include <nvidia/conftest.h> +#endif + #include <linux/module.h> #include <linux/of.h> #include <linux/of_device.h> @@ -2073,9 +2077,21 @@ return err; } +#if defined(NV_PLATFORM_DRIVER_STRUCT_REMOVE_RETURNS_VOID) /* Linux v6.11 */ +static inline void __exit gk20a_remove_wrapper(struct platform_device *pdev) +{ + gk20a_remove(pdev); +} +#else +static inline int __exit gk20a_remove_wrapper(struct platform_device *pdev) +{ + return gk20a_remove(pdev); +} +#endif + static struct platform_driver gk20a_driver = { .probe = gk20a_probe, - .remove = __exit_p(gk20a_remove), + .remove = __exit_p(gk20a_remove_wrapper), .shutdown = gk20a_pm_shutdown, .driver = { .owner = THIS_MODULE, ++++++ nvidia-oot-l4t-l4t-r36.3.1_eng_2024-05-29.tar.bz2 -> nvidia-oot-l4t-l4t-r36.4_eng_2024-09-12.tar.bz2 ++++++ ++++ 113519 lines of diff (skipped)
participants (1)
-
Source-Sync