Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package nvidia-open-driver-G06-signed for 
openSUSE:Factory checked in at 2023-01-30 17:10:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nvidia-open-driver-G06-signed (Old)
 and      /work/SRC/openSUSE:Factory/.nvidia-open-driver-G06-signed.new.32243 
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "nvidia-open-driver-G06-signed"

Mon Jan 30 17:10:14 2023 rev:3 rq:1061900 version:525.85.05

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/nvidia-open-driver-G06-signed/nvidia-open-driver-G06-signed.changes
      2023-01-25 17:51:29.650727522 +0100
+++ 
/work/SRC/openSUSE:Factory/.nvidia-open-driver-G06-signed.new.32243/nvidia-open-driver-G06-signed.changes
   2023-01-30 17:26:53.497671745 +0100
@@ -1,0 +2,12 @@
+Sun Jan 29 16:16:33 UTC 2023 - Stefan Dirsch <sndir...@suse.com>
+
+- introduce %hardcode_pci_list macro for hardcoding PCI ID 
+  modaliases for Supplements; make it default to *temporarily*
+  workaround boo#1207520
+  * TW: enable only officially supported headless GPUs!
+  * Leap/sle: enable all Turing and Ampere GPUs and set the
+    appropriate modprobe.d option, so we can at least begin
+    testing on sle15-sp5 ...
+- adds pci-table.patch, generati-pci-table.sh
+
+-------------------------------------------------------------------

New:
----
  generati-pci-table.sh
  pci-table.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ nvidia-open-driver-G06-signed.spec ++++++
--- /var/tmp/diff_new_pack.SH96Em/_old  2023-01-30 17:26:54.129675146 +0100
+++ /var/tmp/diff_new_pack.SH96Em/_new  2023-01-30 17:26:54.141675212 +0100
@@ -16,6 +16,8 @@
 #
 
 
+%define hardcode_pci_list 1
+
 %if %{undefined kernel_module_directory}
 %if 0%{?usrmerged}
 %define kernel_module_directory /usr/lib/modules
@@ -49,8 +51,10 @@
 Source10:       pci_ids-unsupported
 Source11:       pesign-copy-sources
 Source12:       pesign-spec-macros
+Source13:       generati-pci-table.sh
 Patch0:         0001-Don-t-override-INSTALL_MOD_DIR.patch
 Patch2:         persistent-nvidia-id-string.patch
+Patch3:         pci-table.patch
 BuildRequires:  %{kernel_module_package_buildreqs}
 BuildRequires:  gcc-c++
 BuildRequires:  kernel-source
@@ -71,8 +75,10 @@
 %(sed -e '/^%%post\>/ r %_sourcedir/kmp-post.sh' -e '/^%%postun\>/ r 
%_sourcedir/kmp-postun.sh' %kmp_template_name >%_builddir/nvidia-kmp-template)
 %kernel_module_package -n %{name} -t %_builddir/nvidia-kmp-template -f 
%_sourcedir/kmp-filelist -p %_sourcedir/preamble
 
-# create hardware supplements for manual builds
+%if ! 0%{hardcode_pci_list}
+## create hardware supplements for manual builds
 %{load:%{SOURCE12}}
+%endif
 
 # newer rpmbuilds attach the kernel version and the major part of release to 
%%pci_id_file of the __kmp_supplements script
 # boo#1190210
@@ -86,6 +92,16 @@
 %setup -q -n open-gpu-kernel-modules-%{version}
 %patch0 -p1
 %patch2 -p1
+%if 0%{hardcode_pci_list}
+%patch3 -p0
+pushd kernel-open
+%if 0%{?suse_version} >= 1550
+sh %{SOURCE13} %{SOURCE2}
+%else
+sh %{SOURCE13} %{SOURCE9}
+%endif
+popd
+%endif
 set -- *
 mkdir source
 mv "$@" source/
@@ -148,7 +164,15 @@
 blacklist nouveau
 options nvidia-drm modeset=1
 ### Enable support on *all* Turing/Ampere GPUs: Alpha Quality!
+%if 0%{hardcode_pci_list}
+%if 0%{?suse_version} >= 1550
+#options nvidia NVreg_OpenRmEnableUnsupportedGpus=1
+%else
+options nvidia NVreg_OpenRmEnableUnsupportedGpus=1
+%endif
+%else
 #options nvidia NVreg_OpenRmEnableUnsupportedGpus=1
+%endif
 EOF
     echo -n "install nvidia " >> $MODPROBE_DIR/50-nvidia-$flavor.conf
     tail -n +3 %_sourcedir/modprobe.nvidia.install | awk '{ printf "%s ", $0 
}' >> $MODPROBE_DIR/50-nvidia-$flavor.conf

++++++ generati-pci-table.sh ++++++
#!/bin/sh

if [ $# -ne 1 ]; then
    echo "$0 <input_file"
    exit 1
fi

input=$1

cat > nvidia/nv_pci_table_list.h <<EOF
EOF
cat > nvidia/nv_module_pci_table_list.h <<EOF
EOF
for did in $(cat $input | cut -d " " -f1 ); do
    echo $did
    cat >> nvidia/nv_pci_table_list.h <<EOF
    {
        .vendor      = PCI_VENDOR_ID_NVIDIA,
        .device      = $did,
        .subvendor   = PCI_ANY_ID,
        .subdevice   = PCI_ANY_ID,
        .class       = (PCI_CLASS_DISPLAY_VGA << 8),
        .class_mask  = ~0
    },
    {
        .vendor      = PCI_VENDOR_ID_NVIDIA,
        .device      = $did,
        .subvendor   = PCI_ANY_ID,
        .subdevice   = PCI_ANY_ID,
        .class       = (PCI_CLASS_DISPLAY_3D << 8),
        .class_mask  = ~0
    },
EOF

    cat >> nvidia/nv_module_pci_table_list.h <<EOF
    {
        .vendor      = PCI_VENDOR_ID_NVIDIA,
        .device      = $did,
        .subvendor   = PCI_ANY_ID,
        .subdevice   = PCI_ANY_ID,
        .class       = (PCI_CLASS_DISPLAY_VGA << 8),
        .class_mask  = ~0
    },
    {
        .vendor      = PCI_VENDOR_ID_NVIDIA,
        .device      = $did,
        .subvendor   = PCI_ANY_ID,
        .subdevice   = PCI_ANY_ID,
        .class       = (PCI_CLASS_DISPLAY_3D << 8),
        .class_mask  = ~0
    },
    {
        .vendor      = PCI_VENDOR_ID_NVIDIA,
        .device      = $did,
        .subvendor   = PCI_ANY_ID,
        .subdevice   = PCI_ANY_ID,
        .class       = (PCI_CLASS_BRIDGE_OTHER << 8),
        .class_mask  = ~0
    },
EOF
done
cp nvidia/nv_pci_table_list.h nvidia-drm/nv_pci_table_list.h
cp nvidia/nv_module_pci_table_list.h nvidia-drm/nv_module_pci_table_list.h

++++++ pci-table.patch ++++++
diff -u -r kernel-open.orig/nvidia/nv-pci-table.c 
kernel-open/nvidia/nv-pci-table.c
--- kernel-open.orig/nvidia/nv-pci-table.c      2023-01-29 14:48:55.126713000 
+0100
+++ kernel-open/nvidia/nv-pci-table.c   2023-01-29 14:56:28.901959000 +0100
@@ -28,51 +28,13 @@
 
 /* Devices supported by RM */
 struct pci_device_id nv_pci_table[] = {
-    {
-        .vendor      = PCI_VENDOR_ID_NVIDIA,
-        .device      = PCI_ANY_ID,
-        .subvendor   = PCI_ANY_ID,
-        .subdevice   = PCI_ANY_ID,
-        .class       = (PCI_CLASS_DISPLAY_VGA << 8),
-        .class_mask  = ~0
-    },
-    {
-        .vendor      = PCI_VENDOR_ID_NVIDIA,
-        .device      = PCI_ANY_ID,
-        .subvendor   = PCI_ANY_ID,
-        .subdevice   = PCI_ANY_ID,
-        .class       = (PCI_CLASS_DISPLAY_3D << 8),
-        .class_mask  = ~0
-    },
+#include "nv_pci_table_list.h"
     { }
 };
 
 /* Devices supported by all drivers in nvidia.ko */
 struct pci_device_id nv_module_device_table[] = {
-    {
-        .vendor      = PCI_VENDOR_ID_NVIDIA,
-        .device      = PCI_ANY_ID,
-        .subvendor   = PCI_ANY_ID,
-        .subdevice   = PCI_ANY_ID,
-        .class       = (PCI_CLASS_DISPLAY_VGA << 8),
-        .class_mask  = ~0
-    },
-    {
-        .vendor      = PCI_VENDOR_ID_NVIDIA,
-        .device      = PCI_ANY_ID,
-        .subvendor   = PCI_ANY_ID,
-        .subdevice   = PCI_ANY_ID,
-        .class       = (PCI_CLASS_DISPLAY_3D << 8),
-        .class_mask  = ~0
-    },
-    {
-        .vendor      = PCI_VENDOR_ID_NVIDIA,
-        .device      = PCI_ANY_ID,
-        .subvendor   = PCI_ANY_ID,
-        .subdevice   = PCI_ANY_ID,
-        .class       = (PCI_CLASS_BRIDGE_OTHER << 8),
-        .class_mask  = ~0
-    },
+#include "nv_module_pci_table_list.h"
     { }
 };
 
diff -u -r kernel-open.orig/nvidia-drm/nv-pci-table.c 
kernel-open/nvidia-drm/nv-pci-table.c
--- kernel-open.orig/nvidia-drm/nv-pci-table.c  2023-01-29 14:48:51.032916000 
+0100
+++ kernel-open/nvidia-drm/nv-pci-table.c       2023-01-29 14:53:47.242620000 
+0100
@@ -28,51 +28,13 @@
 
 /* Devices supported by RM */
 struct pci_device_id nv_pci_table[] = {
-    {
-        .vendor      = PCI_VENDOR_ID_NVIDIA,
-        .device      = PCI_ANY_ID,
-        .subvendor   = PCI_ANY_ID,
-        .subdevice   = PCI_ANY_ID,
-        .class       = (PCI_CLASS_DISPLAY_VGA << 8),
-        .class_mask  = ~0
-    },
-    {
-        .vendor      = PCI_VENDOR_ID_NVIDIA,
-        .device      = PCI_ANY_ID,
-        .subvendor   = PCI_ANY_ID,
-        .subdevice   = PCI_ANY_ID,
-        .class       = (PCI_CLASS_DISPLAY_3D << 8),
-        .class_mask  = ~0
-    },
+#include "nv_pci_table_list.h"
     { }
 };
 
 /* Devices supported by all drivers in nvidia.ko */
 struct pci_device_id nv_module_device_table[] = {
-    {
-        .vendor      = PCI_VENDOR_ID_NVIDIA,
-        .device      = PCI_ANY_ID,
-        .subvendor   = PCI_ANY_ID,
-        .subdevice   = PCI_ANY_ID,
-        .class       = (PCI_CLASS_DISPLAY_VGA << 8),
-        .class_mask  = ~0
-    },
-    {
-        .vendor      = PCI_VENDOR_ID_NVIDIA,
-        .device      = PCI_ANY_ID,
-        .subvendor   = PCI_ANY_ID,
-        .subdevice   = PCI_ANY_ID,
-        .class       = (PCI_CLASS_DISPLAY_3D << 8),
-        .class_mask  = ~0
-    },
-    {
-        .vendor      = PCI_VENDOR_ID_NVIDIA,
-        .device      = PCI_ANY_ID,
-        .subvendor   = PCI_ANY_ID,
-        .subdevice   = PCI_ANY_ID,
-        .class       = (PCI_CLASS_BRIDGE_OTHER << 8),
-        .class_mask  = ~0
-    },
+#include "nv_module_pci_table_list.h"
     { }
 };
 

Reply via email to