diff options
author | Andrew Bevitt <cyfred@gentoo.org> | 2004-08-30 10:52:07 +0000 |
---|---|---|
committer | Andrew Bevitt <cyfred@gentoo.org> | 2004-08-30 10:52:07 +0000 |
commit | bec33a0ac7b20fd663c168736dd3ee41b394ebd2 (patch) | |
tree | 1e119229aa9defc38e983d0f1a88b304f33d54e3 /media-video/nvidia-kernel | |
parent | Fix a java binding linking error and a variable substitution error (diff) | |
download | historical-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/ChangeLog | 6 | ||||
-rw-r--r-- | media-video/nvidia-kernel/Manifest | 5 | ||||
-rw-r--r-- | media-video/nvidia-kernel/files/1.0.6111/nv_enable_pci.patch | 120 | ||||
-rw-r--r-- | media-video/nvidia-kernel/nvidia-kernel-1.0.6111.ebuild | 4 |
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.* |