Bug 4921
Summary: | AGP bridge causes bizarre failures after resume - incorrect aperture address? | ||
---|---|---|---|
Product: | Drivers | Reporter: | Matthew Garrett (mjg59-kernel) |
Component: | Video(AGP) | Assignee: | Dave Jones (davej) |
Status: | RESOLVED CODE_FIX | ||
Severity: | normal | CC: | airlied, akpm, davej |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.12 | Subsystem: | |
Regression: | --- | Bisected commit-id: |
Description
Matthew Garrett
2005-07-21 11:23:47 UTC
Did any earlier versions of 2.6 handle this correctly? If so, which versions? Thanks. I don't believe so, but I've found the problem. The resume code writes APBASE first - however, APBASE can't be set to a value that conflicts with APSIZE. APSIZE is then written, but APBASE is then not reset. As a result, we get an aperture of the correct size but at a different address to where it was initially - in my case, overlapping with the memory base of various PCI devices. I've hacked around this by storing and explicitly setting APSIZE before setting APBASE, but I'm sure there's a nicer way of doing it. ooh, I take hacks ;) Please email me the patch+description and Cc Dave Airlie <airlied@linux.ie> and Dave Jones <davej@codemonkey.org.uk> and we'll get this fixed up, thanks. So I'll assume that Matthew's patch fixed all this up. If not, please reopen the bug. |