Nouveau Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ@public.gmane.org
To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Subject: [Bug 20341] [NV31] lockup when using AGP. agpmode=0 fixes it.
Date: Fri, 27 Sep 2013 05:09:08 +0000	[thread overview]
Message-ID: <bug-20341-8800-MUS33bkQHj@http.bugs.freedesktop.org/> (raw)
In-Reply-To: <bug-20341-8800-V0hAGp6uBxMKqLRl/0Ahz6D7qz1kEfGD2LY78lusg7I@public.gmane.org/>


[-- Attachment #1.1: Type: text/plain, Size: 4212 bytes --]

https://bugs.freedesktop.org/show_bug.cgi?id=20341

--- Comment #24 from Jason Detring <detringj-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> ---
Ah, yeah, sorry about that.  This ticket got away from me.  I've got a small
pile of research and resources I'd promised myself to post Real Soon Now.  So I
guess I should.

I haven't reinstalled the blob, but from what I recall it did work without
problems last time it was loaded.  I don't remember if it left a console
message describing which AGP mode it was running at, but it likely had the 2x
limiter since those drivers were from 2009.

Answering the big question: yes.  Setting agpmode=2 makes things stable. 
Hooray.  But it is sort of a hollow victory to say things work great at
half-speed.  As fpgahardwareengineer said, the problem is likely in the KT133. 
The linked NVIDIA document points to the AGP signalling drive strength being
insufficent.



Following up on "AGP drive strength", I found copies of a document called the
"BIOS Optimization Guide" floating around the internet.  Parts of it are
reposted on various bulletin boards [1] [2] [3] [4] and websites [5] [6].  An
older version talks about upping the drive strength from 0xCA or 0xDA to 0xEA
or 0xEE when running GeForce boards.

[1]
http://forums.pcper.com/showthread.php?99837-A7M266-Infinite-Loop-Troubleshooting-(detailed)&p=681721#post681721
[2] http://www.rage3d.com/board/showpost.php?p=1331276579&postcount=2
[3]
http://www.scrigroup.com/calculatoare/tutorials/414/OPTIMIZING-WINDOWS-TIPS64128.php
[4] http://arstechnica.com/civis/viewtopic.php?f=8&t=737578
[5] http://hardwarehell.com/articles/videobios.htm
[6] http://archive.arstechnica.com/guide/building/bios/m-bios-3.html



It also sounds like ATI had a similiar problem and did a thorough investigation
at one point [7].  Their solution was to force down to 2x mode on a chipset
blacklist, and only allow 4x if the "VIA chipset driver" had been installed. 
The advisory document talks about something called the "AGP Read
Synchronization bit" needing set at register 0xAC[6].  I'm guessing this
chipset driver is some combination of this read synchronization register poke
or the abovementioned drive strength register poke.

[7] http://www.rage3d.com/board/showthread.php?p=1331422045#post1331422045



The ATI document is slightly at odds with the KT133(a) programmer's guide [8],
which lists 0xAC[6] as "CPU Stall on AGP command FIFO GART Address Request",
but I didn't see anything else remotely resembling a "Read synchronization
bit".

[8] http://gkernel.sourceforge.net/specs/via/KT133a.pdf.bz2



So, I tried testing these theories.  It didn't go so well.

1. My BIOS has a pretty spartan set of options since the PC is a mass-market
consumer box.  There was no option to adjust AGP drive strength.  Darn.

2. I tried to adjust the drive strength while Linux was running.  According to
the VIA doc, AGP drive strength is set from PCI register 0xB1[7-0].  It looks
like this entire register is the P Ctrl and N Ctrl values for drive strength. 
On the console with nouveau already loaded, I wrote 0xEA.  Nothing broke, so I
started X.  It had the same lockup as usual.  Darn.  I tried 0xEB through 0xEE
as well.  No good.

3. I tried to adjust the read synchronization bit.  It was already set.  So, no
use in that.

Presently, I'm stuck.  There's not a whole lot else I can think of that might
be worth trying.  Maybe there's some commit register or reinit procedure that
needs to take place after writing the drive strength?  I don't know enough
about AGP to figure out where to go next.



At this time, I agree with fpgahardwareengineer's assessment.  A quirk for
those chipsets listed in the ATI doc should be added to allow negotiation up to
AGP 2x maximum.  It is the safest option in all cases.  Maybe at the same time
leave a note in the dmesg describing "buggy chipset detected, defaulting to 2x,
please read fd.o bug 20341 for more information", and also allow agpmode=4 to
override the safe default. I'm not sure whether this quirk should be in nouveau
or in via-agp.ko, since it sounds like the problem affects all major vendors.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 5907 bytes --]

[-- Attachment #2: Type: text/plain, Size: 181 bytes --]

_______________________________________________
Nouveau mailing list
Nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

  parent reply	other threads:[~2013-09-27  5:09 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-27  1:51 [Bug 20341] New: NV31 lockup bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
     [not found] ` <bug-20341-8800-V0hAGp6uBxMKqLRl/0Ahz6D7qz1kEfGD2LY78lusg7I@public.gmane.org/>
2009-02-27  1:51   ` [Bug 20341] " bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2009-02-27  1:59   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2009-03-18  3:31   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2009-03-18  4:22   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2009-03-18  4:36   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2009-03-19  4:01   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2009-03-19 17:05   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2009-03-20  4:54   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2010-08-13  7:13   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2010-08-15  4:04   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2011-10-17 15:50   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2013-08-18 18:09   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2013-08-23  5:40   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2013-08-23  8:05   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2013-08-23 15:14   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2013-08-25  3:56   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2013-08-25  4:04   ` [Bug 20341] [NV31] lockup when using AGP. agpmode=0 fixes it bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2013-08-25  4:41   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2013-08-25  4:46   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2013-08-25  4:50   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2013-08-25 15:09   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2013-08-25 15:15   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2013-09-26 23:41   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2013-09-27  5:09   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ [this message]
2013-10-19 15:56   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2013-10-21  1:58   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2014-02-05  7:20   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2014-02-09  0:23   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ

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=bug-20341-8800-MUS33bkQHj@http.bugs.freedesktop.org/ \
    --to=bugzilla-daemon-cc+yj3umiyqdupfqwhejaq@public.gmane.org \
    --cc=nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox