From: "Zephaniah E. Hull" <warp@babylon.d2dc.net>
To: "J.A. Magallon" <jamagallon@able.es>
Cc: davidm@hpl.hp.com, Lista Linux-Kernel <linux-kernel@vger.kernel.org>
Subject: Re: patch to enable Nvidia v5336 on v2.6.11 kernel (was Re: inter_module_get and __symbol_get)
Date: Tue, 25 Jan 2005 15:50:47 -0500 [thread overview]
Message-ID: <20050125205046.GA19738@babylon.d2dc.net> (raw)
In-Reply-To: <1106657785l.6979l.0l@werewolf.able.es>
[-- Attachment #1.1: Type: text/plain, Size: 1246 bytes --]
On Tue, Jan 25, 2005 at 12:56:25PM +0000, J.A. Magallon wrote:
<snip>
> You can use the latest drivers (6629) with this patches:
>
> http://www.minion.de/files/1.0-6629/
>
> They work fine up to -rc2.
>
> If you want to use the driver with -mm, you have to kill the support
> for AGPGART in nvidia driver, add -DNOAGPGART to EXTRA_CFLAGS in the
> makefile. It will require a big change to use the multi-agp patches
> in -mm. But you are restricted to those AGPs supported by nvidia
> (ah, and don't load any agp related module...).
For values of big changes that equal the attached patch.
I'm using it on 2.6.10-mm3. I sent it to Zander however since there is
no way to detect the new multi-agp support barring some sick hacks it
has not gone in.
It may conflict with the support for the 2.6.11-rc kernels, in which
case when I next upgrade I'll find out and write a new one.
>
> Ah, just a ton of workarounds....
--
1024D/E65A7801 Zephaniah E. Hull <warp@babylon.d2dc.net>
92ED 94E4 B1E6 3624 226D 5727 4453 008B E65A 7801
CCs of replies from mailing lists are requested.
<Mercury> Be warned, I have a keyboard I can use to beat luser's heads
in, and then continue to use... (=:]
<Deek> Mercury: Oh, an IBM. :)
[-- Attachment #1.2: nvidia_multiagp.diff --]
[-- Type: text/plain, Size: 2808 bytes --]
diff -ur modules/nvidia-kernel/nv/nv-linux.h modules_new/nvidia-kernel/nv/nv-linux.h
--- modules/nvidia-kernel/nv/nv-linux.h 2004-11-12 14:14:20.000000000 -0500
+++ modules_new/nvidia-kernel/nv/nv-linux.h 2005-01-18 23:25:03.000000000 -0500
@@ -854,6 +854,9 @@
/* lock for linux-specific alloc queue */
struct semaphore at_lock;
+
+ /* AGP handle. */
+ struct agp_bridge_data *agp_bridge;
} nv_linux_state_t;
diff -ur modules/nvidia-kernel/nv/os-agp.c modules_new/nvidia-kernel/nv/os-agp.c
--- modules/nvidia-kernel/nv/os-agp.c 2004-11-12 14:14:20.000000000 -0500
+++ modules_new/nvidia-kernel/nv/os-agp.c 2005-01-18 23:22:51.000000000 -0500
@@ -70,6 +70,7 @@
U032 agp_fw;
void *bitmap;
U032 bitmap_size;
+ nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv);
memset( (void *) &gart, 0, sizeof(agp_gart));
@@ -82,7 +83,7 @@
* the memory controller.
*/
- if (drm_agp_p->acquire())
+ if (!(nvl->agp_bridge = drm_agp_p->acquire(nvl->dev)))
{
nv_printf(NV_DBG_ERRORS, "NVRM: AGPGART: backend in use\n");
inter_module_put("drm_agp");
@@ -110,7 +111,7 @@
*/
drm_agp_p->copy_info(&agpinfo);
#else
- if (drm_agp_p->copy_info(&agpinfo)) {
+ if (drm_agp_p->copy_info(nvl->agp_bridge, &agpinfo)) {
nv_printf(NV_DBG_ERRORS,
"NVRM: AGPGART: kernel reports chipset as unsupported\n");
goto failed;
@@ -170,7 +171,7 @@
if (!(agp_rate & 0x00000004)) agpinfo.mode &= ~0x00000004;
if (!(agp_rate & 0x00000002)) agpinfo.mode &= ~0x00000002;
- drm_agp_p->enable(agpinfo.mode);
+ drm_agp_p->enable(nvl->agp_bridge, agpinfo.mode);
*ap_phys_base = (void*) agpinfo.aper_base;
*ap_mapped_base = (void*) gart.aperture;
@@ -182,7 +183,7 @@
failed:
MTRR_DEL(gart); /* checks gart.mtrr */
- drm_agp_p->release();
+ drm_agp_p->release(nvl->agp_bridge);
inter_module_put("drm_agp");
return -1;
@@ -198,6 +199,7 @@
return 1;
#else
void *bitmap;
+ nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv);
/* sanity check to make sure we should actually be here. */
if (!gart.ready)
@@ -213,7 +215,7 @@
NV_IOUNMAP(gart.aperture, RM_PAGE_SIZE);
}
- drm_agp_p->release();
+ drm_agp_p->release(nvl->agp_bridge);
inter_module_put("drm_agp");
@@ -247,6 +249,7 @@
int err;
agp_priv_data *data;
RM_STATUS status;
+ nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv);
if (!gart.ready)
{
@@ -262,7 +265,7 @@
return RM_ERROR;
}
- ptr = drm_agp_p->allocate_memory(PageCount, AGP_NORMAL_MEMORY);
+ ptr = drm_agp_p->allocate_memory(nvl->agp_bridge, PageCount, AGP_NORMAL_MEMORY);
if (ptr == NULL)
{
*pAddress = (void*) 0;
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2005-01-25 20:54 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-06 21:32 inter_module_get and __symbol_get Terence Ripperda
2005-01-06 21:57 ` Brian Gerst
2005-01-06 22:51 ` Terence Ripperda
2005-01-08 4:00 ` Jon Smirl
2005-01-12 19:37 ` Terence Ripperda
2005-01-12 22:21 ` Brian Gerst
2005-01-08 3:10 ` Keith Owens
2005-01-24 22:36 ` David Mosberger
2005-01-24 22:44 ` Keith Owens
2005-01-24 22:52 ` David Mosberger
2005-01-24 22:54 ` Keith Owens
2005-01-24 22:58 ` David Mosberger
2005-01-24 23:03 ` Keith Owens
2005-01-25 0:51 ` patch to enable Nvidia v5336 on v2.6.11 kernel (was Re: inter_module_get and __symbol_get) David Mosberger
2005-01-25 0:51 ` David Mosberger
2005-01-25 12:56 ` J.A. Magallon
2005-01-25 20:50 ` Zephaniah E. Hull [this message]
2005-01-26 0:02 ` J.A. Magallon
2005-01-26 0:25 ` Zephaniah E. Hull
2005-01-26 0:25 ` J.A. Magallon
2005-01-25 1:01 ` inter_module_get and __symbol_get Jon Smirl
2005-01-24 23:19 ` Jon Smirl
2005-01-24 23:23 ` David Mosberger
2005-01-25 5:31 ` Terence Ripperda
2005-01-25 5:59 ` Chris Wedgwood
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050125205046.GA19738@babylon.d2dc.net \
--to=warp@babylon.d2dc.net \
--cc=davidm@hpl.hp.com \
--cc=jamagallon@able.es \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.