[packages/xorg-driver-video-nvidia-legacy-304xx] - updated to 304.119 - added fixes for linux 3.13

baggins baggins at pld-linux.org
Tue Feb 18 11:10:02 CET 2014


commit 551176c751ee9dad7be9a0afb8766a59645e4366
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Tue Feb 18 11:09:39 2014 +0100

    - updated to 304.119
    - added fixes for linux 3.13

 linux-3.13.patch                           | 76 ++++++++++++++++++++++++++++++
 xorg-driver-video-nvidia-legacy-304xx.spec | 10 ++--
 2 files changed, 82 insertions(+), 4 deletions(-)
---
diff --git a/xorg-driver-video-nvidia-legacy-304xx.spec b/xorg-driver-video-nvidia-legacy-304xx.spec
index 585cbac..f70e7fb 100644
--- a/xorg-driver-video-nvidia-legacy-304xx.spec
+++ b/xorg-driver-video-nvidia-legacy-304xx.spec
@@ -46,28 +46,29 @@ exit 1
 %define		kpkg	%(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%kernel_pkg ; done)
 %define		bkpkg	%(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%build_kernel_pkg ; done)
 
-%define		rel 2
+%define		rel 1
 %define		mname	nvidia-legacy-304xx
 %define		pname	xorg-driver-video-%{mname}
 Summary:	Linux Drivers for nVidia GeForce/Quadro Chips
 Summary(hu.UTF-8):	Linux meghajtók nVidia GeForce/Quadro chipekhez
 Summary(pl.UTF-8):	Sterowniki do kart graficznych nVidia GeForce/Quadro
 Name:		%{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
-Version:	304.117
+Version:	304.119
 Release:	%{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
 Epoch:		1
 License:	nVidia Binary
 Group:		X11
 Source0:	http://us.download.nvidia.com/XFree86/Linux-x86/%{version}/NVIDIA-Linux-x86-%{version}.run
-# Source0-md5:	023eb03da304a1842fc503c81e3c5694
+# Source0-md5:	a2acb8066ac296005dbf560ee83ae6d9
 Source1:	http://us.download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}-no-compat32.run
-# Source1-md5:	8ee9f672028971c6d36118894d0e2c59
+# Source1-md5:	fb93002115c99f15b6ca393a90a9c9ec
 Source2:	xinitrc.sh
 Source3:	gl.pc.in
 Source4:	10-nvidia.conf
 Source5:	10-nvidia-modules.conf
 Patch0:		X11-driver-nvidia-GL.patch
 Patch1:		X11-driver-nvidia-desktop.patch
+Patch2:		linux-3.13.patch
 URL:		http://www.nvidia.com/object/unix.html
 BuildRequires:	rpmbuild(macros) >= 1.678
 %{?with_dist_kernel:%{expand:%kbrs}}
@@ -269,6 +270,7 @@ rm -rf NVIDIA-Linux-x86*-%{version}*
 %endif
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 %build
 %{?with_kernel:%{expand:%bkpkg}}
diff --git a/linux-3.13.patch b/linux-3.13.patch
new file mode 100644
index 0000000..3aab19f
--- /dev/null
+++ b/linux-3.13.patch
@@ -0,0 +1,76 @@
+diff -rupN NVIDIA-Linux-x86_64-331.38.orig/kernel/nv-acpi.c NVIDIA-Linux-x86_64-331.38/kernel/nv-acpi.c
+--- NVIDIA-Linux-x86_64-331.38.orig/kernel/nv-acpi.c	2014-01-25 09:39:47.126966926 +0100
++++ NVIDIA-Linux-x86_64-331.38/kernel/nv-acpi.c	2014-01-26 09:59:45.853427603 +0100
+@@ -303,7 +303,10 @@ static int nv_acpi_remove(struct acpi_de
+ 
+     if (pNvAcpiObject->notify_handler_installed)
+     {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
++ /* beginning with 3.13, acpi_remove_notify_handler() waits for events to finish */
+         NV_ACPI_OS_WAIT_EVENTS_COMPLETE();
++#endif
+ 
+         // remove event notifier
+         status = acpi_remove_notify_handler(device->handle, ACPI_DEVICE_NOTIFY, nv_acpi_event);
+@@ -1076,10 +1079,17 @@ RM_STATUS NV_API_CALL nv_acpi_dsm_method
+     union acpi_object dsm_params[4];
+     NvU8 argument3[4]; /* For all DSM sub functions, input size is 4 */
+     acpi_handle dev_handle  = NULL;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
+ #ifdef DEVICE_ACPI_HANDLE
+     nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv); 
+     dev_handle = DEVICE_ACPI_HANDLE(&nvl->dev->dev);
+ #endif
++#else
++#ifdef ACPI_HANDLE
++    nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv); 
++    dev_handle = ACPI_HANDLE(&nvl->dev->dev);
++#endif
++#endif
+     if (!dev_handle)
+         return RM_ERR_NOT_SUPPORTED;
+ 
+@@ -1179,12 +1189,21 @@ RM_STATUS NV_API_CALL nv_acpi_ddc_method
+     NvU32 i;
+     acpi_handle dev_handle  = NULL;
+     acpi_handle lcd_dev_handle  = NULL;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
+ #ifdef DEVICE_ACPI_HANDLE
+     nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv); 
+     dev_handle = DEVICE_ACPI_HANDLE(&nvl->dev->dev);
+ #else
+         return RM_ERR_NOT_SUPPORTED;
+ #endif
++#else
++#ifdef ACPI_HANDLE
++    nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv); 
++    dev_handle = ACPI_HANDLE(&nvl->dev->dev);
++#else
++        return RM_ERR_NOT_SUPPORTED;
++#endif
++#endif
+     if (!dev_handle)
+         return RM_ERR_INVALID_ARGUMENT;
+ 
+@@ -1294,12 +1313,21 @@ RM_STATUS NV_API_CALL nv_acpi_rom_method
+     union acpi_object rom_arg[2];
+     struct acpi_object_list input = { 2, rom_arg };
+     acpi_handle dev_handle  = NULL;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
+ #ifdef DEVICE_ACPI_HANDLE
+     nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv); 
+     dev_handle = DEVICE_ACPI_HANDLE(&nvl->dev->dev);
+ #else
+     return RM_ERR_NOT_SUPPORTED;
+ #endif
++#else
++#ifdef ACPI_HANDLE
++    nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv); 
++    dev_handle = ACPI_HANDLE(&nvl->dev->dev);
++#else
++    return RM_ERR_NOT_SUPPORTED;
++#endif
++#endif
+     if (!dev_handle)
+         return RM_ERR_INVALID_ARGUMENT;
+ 
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/xorg-driver-video-nvidia-legacy-304xx.git/commitdiff/551176c751ee9dad7be9a0afb8766a59645e4366



More information about the pld-cvs-commit mailing list