summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bevitt <cyfred@gentoo.org>2004-08-30 10:52:07 +0000
committerAndrew Bevitt <cyfred@gentoo.org>2004-08-30 10:52:07 +0000
commitbec33a0ac7b20fd663c168736dd3ee41b394ebd2 (patch)
tree1e119229aa9defc38e983d0f1a88b304f33d54e3 /media-video/nvidia-kernel
parentFix a java binding linking error and a variable substitution error (diff)
downloadhistorical-bec33a0ac7b20fd663c168736dd3ee41b394ebd2.tar.gz
historical-bec33a0ac7b20fd663c168736dd3ee41b394ebd2.tar.bz2
historical-bec33a0ac7b20fd663c168736dd3ee41b394ebd2.zip
Updating patch to work with the new irqroutes changes in kernels 2.6.8 and on
Diffstat (limited to 'media-video/nvidia-kernel')
-rw-r--r--media-video/nvidia-kernel/ChangeLog6
-rw-r--r--media-video/nvidia-kernel/Manifest5
-rw-r--r--media-video/nvidia-kernel/files/1.0.6111/nv_enable_pci.patch120
-rw-r--r--media-video/nvidia-kernel/nvidia-kernel-1.0.6111.ebuild4
4 files changed, 131 insertions, 4 deletions
diff --git a/media-video/nvidia-kernel/ChangeLog b/media-video/nvidia-kernel/ChangeLog
index cf19400ea82e..88e3d171c532 100644
--- a/media-video/nvidia-kernel/ChangeLog
+++ b/media-video/nvidia-kernel/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for media-video/nvidia-kernel
# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-kernel/ChangeLog,v 1.86 2004/08/27 16:50:47 cyfred Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-kernel/ChangeLog,v 1.87 2004/08/30 10:52:07 cyfred Exp $
+
+ 30 Aug 2004; Andrew Bevitt <cyfred@gentoo.org>;
+ +files/1.0.6111/nv_enable_pci.patch, nvidia-kernel-1.0.6111.ebuild:
+ Updating patch to work with the new irqroutes changes in kernels 2.6.8 and on
28 Aug 2004; Andrew Bevitt <cyfred@gentoo.org>;
+files/1.0.6111/power-suspend-2.6.9-changes.patch,
diff --git a/media-video/nvidia-kernel/Manifest b/media-video/nvidia-kernel/Manifest
index 5a8332316113..4eaed8be551a 100644
--- a/media-video/nvidia-kernel/Manifest
+++ b/media-video/nvidia-kernel/Manifest
@@ -1,11 +1,11 @@
MD5 8ce6e8510b5396c685ad67f806351d36 nvidia-kernel-1.0.6106-r1.ebuild 3622
MD5 b4a7988f8e10107742f255ea291478c0 nvidia-kernel-1.0.4499.ebuild 4028
MD5 c65724336acbdb77c80842d7a9174301 nvidia-kernel-1.0.5332-r1.ebuild 4256
-MD5 e5a6e37d53e15db5f134833123470485 nvidia-kernel-1.0.6111.ebuild 3614
+MD5 f299bbf3a56b7780fdca3a2b48ffaa1d nvidia-kernel-1.0.6111.ebuild 3728
MD5 f189c720f21a41c73a6c292ffec6cdfd nvidia-kernel-1.0.5328-r1.ebuild 4461
MD5 20f6ae4f9076cd8f5dd1d2383d0eaca7 nvidia-kernel-1.0.4496-r3.ebuild 4286
MD5 d5bc3ba053815cd1b559cba6bbd36452 nvidia-kernel-1.0.4363-r3.ebuild 4071
-MD5 c9649b9c50f17967e1407a1e775e0f0b ChangeLog 21034
+MD5 d29727a96fd4bd27246e6cc321a169f9 ChangeLog 21235
MD5 c84a79e7d9b69a204003fb8c2dbaad01 metadata.xml 297
MD5 cc0512640bc35c3419b55a455c480d9f nvidia-kernel-1.0.5336-r4.ebuild 4782
MD5 497ffcbd6a91ed9447dfdf7b736925bd files/digest-nvidia-kernel-1.0.5328-r1 80
@@ -34,3 +34,4 @@ MD5 5dc4b9a2463cb459721ae3e642f6239f files/1.0.5336/NVIDIA_kernel-1.0-5336-fix-m
MD5 7bf40e44b8f2181a1047ddfd13acd6b3 files/1.0.5336/NVIDIA_kernel-1.0-5336-basic-sysfs-support.patch 5439
MD5 bc61be48f85d84f91d2035fa3cc92a47 files/1.0.6106/NVIDIA_kernel-1.0-6106-koutput-support.patch 6659
MD5 335be8e5143f2227bcf74718de074343 files/1.0.6111/power-suspend-2.6.9-changes.patch 606
+MD5 29eafcaf7ab5d59dd90d3d3243bf57c3 files/1.0.6111/nv_enable_pci.patch 3640
diff --git a/media-video/nvidia-kernel/files/1.0.6111/nv_enable_pci.patch b/media-video/nvidia-kernel/files/1.0.6111/nv_enable_pci.patch
new file mode 100644
index 000000000000..5433fdbb2145
--- /dev/null
+++ b/media-video/nvidia-kernel/files/1.0.6111/nv_enable_pci.patch
@@ -0,0 +1,120 @@
+--- nv/nv.c 2004-08-23 13:58:15.000000000 -0500
++++ nv.new/nv.c 2004-08-23 13:58:35.000000000 -0500
+@@ -1225,6 +1225,7 @@
+ {
+ nv_state_t *nv = NV_STATE_PTR(&nv_linux_devices[i]);
+ release_mem_region(nv->bar.regs.address, nv->bar.regs.size);
++ pci_disable_device(nv_linux_devices[i].dev);
+ }
+ }
+
+@@ -3516,6 +3517,28 @@
+ return -1;
+ }
+
++ // enable io, mem, and bus-mastering in pci config space
++ if (pci_enable_device(dev) != 0)
++ {
++ nv_printf(NV_DBG_ERRORS,
++ "NVRM: pci_enable_device failed, aborting\n");
++ return -1;
++ }
++
++ // request ownership of our bars
++ // keeps other drivers from banging our registers.
++ // only do this for registers, as vesafb requests our framebuffer and will
++ // keep us from working properly
++ if (!request_mem_region(dev->resource[0].start,
++ dev->resource[0].end - dev->resource[0].start + 1,
++ "nvidia"))
++ {
++ nv_printf(NV_DBG_ERRORS,
++ "NVRM: pci_request_regions failed, aborting\n");
++ goto err_disable_dev;
++ }
++ pci_set_master(dev);
++
+ /* initialize bus-dependent config state */
+ nvl = &nv_linux_devices[num_nv_devices];
+ nv = NV_STATE_PTR(nvl);
+@@ -3545,7 +3568,7 @@
+ nv_printf(NV_DBG_ERRORS, "NVRM: Please check your BIOS settings. \n");
+ nv_printf(NV_DBG_ERRORS, "NVRM: [Plug & Play OS ] should be set to NO \n");
+ nv_printf(NV_DBG_ERRORS, "NVRM: [Assign IRQ to VGA] should be set to YES \n");
+- return -1;
++ goto err_zero_dev;
+ }
+
+ /* sanity check the IO apertures */
+@@ -3569,39 +3592,9 @@
+ nv->bar.fb.address, nv->bar.fb.size);
+ }
+
+- /* Clear out the data */
+- os_mem_set(nvl, 0, sizeof(nv_linux_state_t));
+-
+- return -1;
+- }
+-
+- // request ownership of our bars
+- // keeps other drivers from banging our registers.
+- // only do this for registers, as vesafb requests our framebuffer and will
+- // keep us from working properly
+- if (!request_mem_region(nv->bar.regs.address, nv->bar.regs.size, "nvidia"))
+- {
+- nv_printf(NV_DBG_ERRORS,
+- "NVRM: pci_request_regions failed, aborting\n");
+-
+- /* Clear out the data */
+- os_mem_set(nvl, 0, sizeof(nv_linux_state_t));
+-
+- return -1;
++ goto err_zero_dev;
+ }
+
+- // enable io, mem, and bus-mastering in pci config space
+- if (pci_enable_device(dev) != 0)
+- {
+- nv_printf(NV_DBG_ERRORS,
+- "NVRM: pci_enable_device failed, aborting\n");
+-
+- pci_release_regions(dev);
+- os_mem_set(nvl, 0, sizeof(nv_linux_state_t));
+-
+- return -1;
+- }
+- pci_set_master(nvl->dev);
+
+ #if defined(NV_BUILD_NV_PAT_SUPPORT)
+ if (nvos_find_pci_express_capability(nvl->dev))
+@@ -3618,13 +3611,7 @@
+ if (nv->bar.regs.map == NULL)
+ {
+ nv_printf(NV_DBG_ERRORS, "NVRM: failed to map registers!!\n");
+-
+- pci_release_regions(dev);
+-
+- /* Clear out the data */
+- os_mem_set(nvl, 0, sizeof(nv_linux_state_t));
+-
+- return -1;
++ goto err_zero_dev;
+ }
+ nv->flags |= NV_FLAG_MAP_REGS_EARLY;
+ #endif
+@@ -3641,6 +3628,15 @@
+ num_nv_devices++;
+
+ return 0;
++
++err_zero_dev:
++ os_mem_set(nvl, 0, sizeof(nv_linux_state_t));
++ release_mem_region(dev->resource[0].start,
++ dev->resource[0].end - dev->resource[0].start + 1);
++
++err_disable_dev:
++ pci_disable_device(dev);
++ return -1;
+ }
+
+ int NV_API_CALL nv_no_incoherent_mappings
diff --git a/media-video/nvidia-kernel/nvidia-kernel-1.0.6111.ebuild b/media-video/nvidia-kernel/nvidia-kernel-1.0.6111.ebuild
index a2cbd5b6000b..cb782e68849c 100644
--- a/media-video/nvidia-kernel/nvidia-kernel-1.0.6111.ebuild
+++ b/media-video/nvidia-kernel/nvidia-kernel-1.0.6111.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-kernel/nvidia-kernel-1.0.6111.ebuild,v 1.2 2004/08/27 16:50:47 cyfred Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-kernel/nvidia-kernel-1.0.6111.ebuild,v 1.3 2004/08/30 10:52:07 cyfred Exp $
inherit eutils kmod
@@ -69,6 +69,8 @@ src_unpack() {
# Fix up the removal of PM_SAVE_STATE in kernels > 2.6.8
epatch ${FILESDIR}/${PV}/power-suspend-2.6.9-changes.patch
+ # Update pci stuff to work with irqroutes being changed in kernels
+ epatch ${FILESDIR}/${PV}/nv_enable_pci.patch
# if you set this then it's your own fault when stuff breaks :)
[ ! -z "${USE_CRAZY_OPTS}" ] && sed -i "s:-O:${CFLAGS}:" Makefile.*