From: Jochen Rollwagen <joro-2013@t-online.de>
To: dri-devel@lists.freedesktop.org
Subject: possible regression Radeon RV280 (R3xx/R4xx ?) card freeze, re-apply old patch ?
Date: Fri, 08 Nov 2013 08:35:32 +0100 [thread overview]
Message-ID: <527C9444.4010505@t-online.de> (raw)
In-Reply-To: <526A6C61.1030405@t-online.de>
[-- Attachment #1.1: Type: text/plain, Size: 7111 bytes --]
Hello there,
i *think* i found a regression (card/system freeze in AGP mode) that
must have been in the drm code for quite some time (since the switch to
kms drivers) and possibly also the potential solution (re-apply an old
patch from pre-kms-days). Affected seem to be older cards (actually,
very old cards :-) before R600. I mailed this to the ati driver mailing
list, but was told that this is a kernel/drm subject now, so i forward
the mail interchange to this list. Details below, one has to start
reading from the end upwards to get the chronological order, of course.
Could somebody give me a hint on how to re-apply the old patch or
whether the info i found is valid ? The next step i would take is to
insert some diagnostic messages in radeon_vram_location (see below) and
build a new kernel.
Cheers
Jochen
-------- Original-Nachricht --------
Betreff: Fwd: Fwd: Fwd: Re: regression on RV280 card freeze, patch not
applicable any more
Datum: Fri, 25 Oct 2013 15:04:33 +0200
Von: Jochen Rollwagen <joro-2013@t-online.de>
An: xorg-driver-ati@lists.x.org
more info (and possible solution):
void radeon_vram_location in radeon_device.c says
* Note: GTT start, end, size should be initialized before calling this
* function on AGP platform.
*
* Note: We don't explicitly enforce VRAM start to be aligned on VRAM size,
* this shouldn't be a problem as we are using the PCI aperture as a
reference.
* Otherwise this would be needed for rv280, all r3xx, and all r4xx, but
* not IGP.
*
so does this mean i just have to re-apply the old patch i found ? struct
radeon_mc in radeon.h contains aper_base as a member which could be
set/aligned to VRAM size using the code snippet below.
Cheers
Jochen
-------- Original-Nachricht --------
Betreff: Fwd: Fwd: Re: regression on RV280 card freeze, patch not
applicable any more
Datum: Fri, 25 Oct 2013 11:31:32 +0200
Von: Jochen Rollwagen <joro-2013@t-online.de>
An: xorg-driver-ati@lists.x.org
I've done some more researching and found the following:
- There's another follow-on-patch ("Extend the alignment workaround to
post-rv280 chips as well") to the one indicated below
(http://cgit.freedesktop.org/~agd5f/xf86-video-ati/commit/?id=b2145aea36bb035bff048366c607b967d70fff49)
that applies to not only RV280 but "rv280, all r3xx, and all r4xx, but
not IGP".
- the piece of code affected seems to be (IMHO) in
drivers/gpu/drm/radeon/: The (Radeon ?) Register
RADEON_CONFIG_APER_0_BASE is defined in radeon_reg.h but never used in
the driver:
radeon_reg.h:#define RADEON_CONFIG_APER_0_BASE 0x0100
in r100.c there's
static u32 r100_get_accessible_vram(struct radeon_device *rdev)
{
u32 aper_size;
u8 byte;
aper_size = RREG32(RADEON_CONFIG_APER_SIZE);
/* Set HDP_APER_CNTL only on cards that are known not to be broken,
* that is has the 2nd generation multifunction PCI interface
*/
if (rdev->family == CHIP_RV280 ||
rdev->family >= CHIP_RV350) {
WREG32_P(RADEON_HOST_PATH_CNTL, RADEON_HDP_APER_CNTL,
~RADEON_HDP_APER_CNTL);
DRM_INFO("Generation 2 PCI interface, using max accessible
memory\n");
return aper_size * 2;
}
That's the code executed on my machine according to dmesg. Missing (from
the original patch, not applicable any more because of driver
reorganization) seems to be
CARD32 aper0_base = INREG(RADEON_CONFIG_APER_0_BASE);
aper0_base &= ~(mem_size - 1);
info->mc_fb_location = (aper0_base >> 16);
The patch that seems to have removed/overridden this code is:
http://www.mail-archive.com/dri-devel@lists.sourceforge.net/msg41307.html
According to that patch, it was "booted on PCI r100, PCIE rv370, IGP
rs400". So IMHO this could be a classical regression for an AGP RV280
card (like mine) and might explain why PCI mode works. this is
Additionally corroborated by this post
(http://comments.gmane.org/gmane.comp.freedesktop.xorg/5429):/
//
//* The above doesn't necessarily work. For example, I've seen machines
* with 128Mb configured as 2x64Mb apertures. I'm now _//_always_//_
setting * RADEON_HOST_PATH_CNTL. OUTREGP (RADEON_HOST_PATH_CNTL,
RADEON_HDP_APER_CNTL, ~RADEON_HDP_APER_CNTL); (which was previously done
only on some chip families).
*_I __*/*_/think/_**_/_ this is not correct on all cards as the
apertures may not be configured correctly (and X doesn't set them up
neither, if those correspond to the RADEON_CONFIG_APER registers)/_**_/"/_*
Could a Radeon guru confirm this or am i totally lost?
Cheers
Jochen
-------- Original-Nachricht --------
Betreff: Fwd: Re: regression on RV280 card freeze, patch not applicable
any more
Datum: Fri, 18 Oct 2013 15:32:18 +0200
Von: Jochen Rollwagen <joro-2013@t-online.de>
An: xorg-driver-ati@lists.x.org
sorry about that.
Anyway, i checked drivers/gpu/drm/radeon and
drivers/char/agp/uninorth-agp.c and can't seem to find the patch
indicated below. Might it have gone missing :-) ?
Am 08.10.2013 18:41, schrieb Michel Dänzer:
> [ Please always follow up to the mailing list ]
>
> On Die, 2013-10-08 at 14:53 +0200, Jochen Rollwagen wrote:
>> Am 08.10.2013 10:03, schrieb Michel Dänzer:
>>> On Sam, 2013-10-05 at 15:13 +0200, Jochen Rollwagen wrote:
>>>> I’m running a RV280 based Radeon 9200 card (I know, an ancient card)
>>>> in a Mac Mini G4 (powerpc-architecture) with Ubuntu Precise and the
>>>> latest 3.4.64-kernel/ati driver and get lockups when trying to run the
>>>> card in AGP mode (KMS enabled). The lockups happen when resetting the
>>>> card (that’s what I can infer from the oops-screen).
>>> It's the other way around: The kernel radeon driver resets the card to
>>> try and get it running again after a lockup.
>>>
>>>> PCI mode works. After researching I found a old bug that was fixed
>>>> back in 2006 (https://bugs.freedesktop.org/show_bug.cgi?id=6011) that
>>>> looks like the freeze I experience (since PCI mode – which allocates
>>>> 64 MB of memory - works and AGP mode which by default allocates 256 MB
>>>> doesn’t). The card has 64 mb memory.
>>>>
>>>> So the first question is, could this be the problem that causes the
>>>> lockups ?
>>> Not really. The GART and VRAM memory apertures aren't directly related,
>>> and the fix for the bug above should still be incorporated in the
>>> current radeon KMS code.
>>>
>>> Does radeon.agpmode=1 or radeon.agpmode=4 work?
>>>
>> Thank you for your reply. First, none of the agpmodes work, they just
>> take more or less time to lockup the card (1 - slowest, 4 fastest).
>> Secondly, if you write that the fix "should be incorporated in the
>> current code", i'm somewhat lost because it definitely isn't there.
> It's in the kernel now.
>
Well........no. I checked the 3.4.64 kernel sources after my last Mail
and the code isn't in the drivers/gpu/drm/radeon sources. But of course
i might have overlooked something.
[-- Attachment #1.2: Type: text/html, Size: 13078 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
next parent reply other threads:[~2013-11-08 8:06 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <526A6C61.1030405@t-online.de>
2013-11-08 7:35 ` Jochen Rollwagen [this message]
2013-11-11 20:35 ` possible regression Radeon RV280 (R3xx/R4xx ?) card freeze, re-apply old patch ? Alex Deucher
2013-11-13 18:07 ` Jochen Rollwagen
2013-11-14 1:37 ` Michel Dänzer
2013-11-15 7:49 ` Jochen Rollwagen
2013-11-15 8:27 ` Michel Dänzer
2013-11-17 10:02 ` Jochen Rollwagen
2013-11-22 13:21 ` Jochen Rollwagen
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=527C9444.4010505@t-online.de \
--to=joro-2013@t-online.de \
--cc=dri-devel@lists.freedesktop.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