Bug#614221: iMac-G3 fails to boot with 2.6.37-1-powerpc (Bug#614221)
On Die, 2011-03-08 at 07:30 +1100, Benjamin Herrenschmidt wrote:
> On Mon, 2011-03-07 at 10:45 +0100, Michel Dänzer wrote:
> >
> > I've been using radeon KMS on my PowerBook ever since I got it working
> > initially about 1.5 years ago and fixing issues as time permits.
> >
> > The major outstanding issues I'm aware of are:
> >
> > * The uninorth AGP driver doesn't allow AGP transfer rates beyond
> > 1x to work reliably with KMS. Benjamin Herrenschmidt (CC'd) was
> > working on a fix for this, any progress Ben?
>
> I have hacks.
FWIW, I've been using the hack at the end of this mail for AGP >1x.
> But I never got it working reliably. In fact, on the laptop I have
> here, even with PCI GART, it's still unstable if I use KMS/DRI2.
I know your PowerBook was affected by the problem fixed by commit
b7d8cce5b558e0c0aa6898c9865356481598b46d ('drm/radeon/kms: MC vram map
needs to be >= pci aperture size'), which went into 2.6.37. Still no
better with that?
> > * Come to think of it, the OFfb handover probably only works for
> > me thanks to a patch "drm/radeon: Add early unregister of
> > firmware fb's" by BenH. Ben/Dave, what's the status of that?
>
> Dave ? Was this ever merged ?
Apparently it went into 2.6.37, I didn't notice because it went into
different places in the code compared to the patch I had from you.
> > * Various endianness issues in the Mesa drivers.
>
> Right, and the later aren't getting any better :-( It's busted even
> without KMS nowadays.
>
> Unfortunately, I have about 0 time to spend on that at the moment.
>
> I recommend that distros stick to radeonfb + UMS for the time being on
> ppc32.
One problem being that the classic Mesa r300 driver is essentially
unmaintained, and evidently rotting....
commit 9a86d7fa5bb0b4fe228becf9ed9831bac985702c
Author: Michel Dänzer <daenzer@vmware.com>
Date: Thu Jan 6 18:34:28 2011 +0100
agp/uninorth: Fix lockups with radeon KMS and >1x.
diff --git a/drivers/char/agp/uninorth-agp.c b/drivers/char/agp/uninorth-agp.c
index f845a8f..a32c492 100644
--- a/drivers/char/agp/uninorth-agp.c
+++ b/drivers/char/agp/uninorth-agp.c
@@ -80,7 +80,7 @@ static void uninorth_tlbflush(struct agp_memory *mem)
ctrl | UNI_N_CFG_GART_INVAL);
pci_write_config_dword(agp_bridge->dev, UNI_N_CFG_GART_CTRL, ctrl);
- if (uninorth_rev <= 0x30) {
+ if (!mem && uninorth_rev <= 0x30) {
pci_write_config_dword(agp_bridge->dev, UNI_N_CFG_GART_CTRL,
ctrl | UNI_N_CFG_GART_2xRESET);
pci_write_config_dword(agp_bridge->dev, UNI_N_CFG_GART_CTRL,
--
Earthling Michel Dänzer | http://www.vmware.com
Libre software enthusiast | Debian, X and DRI developer
Reply to: