Subject: Re: PowerPC radeon KMS - is it possible?

From: Benjamin Herrenschmidt <[email-masked]>
Date: Wed, 18 Apr 2012 21:23:26 +1000

On Wed, 2012-04-18 at 12:54 +0200, Michel Dänzer wrote:
> On Mit, 2012-04-18 at 20:37 +1000, Benjamin Herrenschmidt wrote: 
> > On Wed, 2012-04-18 at 20:35 +1000, Benjamin Herrenschmidt wrote:
> > > On Wed, 2012-04-18 at 09:46 +0200, Andreas Schwab wrote:
> > > > Benjamin Herrenschmidt <[email-masked]> writes:
> > > > 
> > > > > Note also that KMS doesn't afaik have the power management code that
> > > > > radeonfb has for those old Mac chipsets, so suspend/resume won't work.
> > > > 
> > > > How hard would it be to add it?
> > > 
> > > The code itself is relatively self contained, but the KMS power
> > > management side is a bit ... messy :-)
> 
> That's an interesting way to put it, given the hacks to make it work
> between radeonfb and uninorth_agp. :) (Which are complicating making at
> least hibernation work with KMS on uninorth_agp)

Oh, I forgot about the AGP hooks indeed... but even that, it's in arch
code so it's not necessarily a huge deal to move it over. IE. It's just
a function pointer to call at the right time that's exported by the
arch.

> In contrast, radeon KMS uses the standard Linux device suspend/resume
> hooks.

Well, as radeonfb does.

The hack with AGP is so that radeonfb gets to control when the AGP is
suspended/restored  as it needs to be done in a specific order and the
device model doesn't provide the right ordering (they are sibling
devices).

There's also an early-wakeup hack but that's orthogonal, it's mostly
useful for debugging and doesn't necessarily need to be ported over.
  
> > Argh... bloody x220 touchpad...
> > 
> > So I was saying, there's also some duplication in the area of dynamic
> > clocks configuration. Some of this could be an issue as afaik, to work
> > reliably, the suspend/resume code really wants the stuff to be setup
> > exactly the way the code in radeon_pm does....
> 
> Are you referring to radeon_pm in radeonfb or radeon KMS?

radeonfb.

> Most of the latter isn't used on PPC laptops because it relies on an x86
> video BIOS.

Right, we might be able to easily port my old code over by simply making
it ppc specific. In radeonfb, it's also used for some thinkpads among
others but KMS does that with the BIOS on these no ? (ie. D2 state).

Cheers,
Ben.