Proposed fix for the suspend/resume pop

Mitch Bradley wmb at firmworks.com
Fri Mar 16 18:14:01 EDT 2007


The AC-link driver is an attractive alternative.  If we decide to 
control it via the AC-link driver, we should either use a 5536 GPIO or 
add a specific command to the EC command set.  Ultimately we want to 
disable the CPU's ability to directly twiddle EC GPIOs, as a security 
measure.

We are really short on 5536 GPIOs, but we could "buy back" 2 or 3 of 
them by moving signals like DCONSTAT (inputs which need not trigger 
interrupts) to IDE data lines.  (It is possible to use the IDE data 
lines as general purpose inputs, so long as you only need to look at 
them, and not to do hardware event counting or trigger interrupts.).


Jordan Crouse wrote:
> On 16/03/07 11:52 -1000, Mitch Bradley wrote:
>   
>> John Watlington wrote:
>>     
>>> You forgot to throw in the part where this signal crosses between 
>>> +3.3V logic and +5V logic, nixing a few
>>> of the proposed designs...   The biggest headache is that EAPD really 
>>> should be inverted, from a hardware
>>> point of view, but changing a ten year old standard seems like tilting 
>>> at windmills.
>>>
>>> I was under the impression that Arnold and I agreed the best fix was 
>>> to move the amp shutdown signal
>>> to the EC (and eliminate pullup R335).  No additional components 
>>> required, and the driver doesn't require
>>> modification.
>>>       
>> a) While the AC97 driver doesn't need to change, we essentially need 
>> another driver, unless we have the EC do the magic behind the scenes.
>>     
>
> Be aware that there are multiple drivers at work here - we have the
> 5536 driver which is custom - that teaches the kernel how to find the
> AC link.  This is already EC aware for the analog input issue.
>
> We also have the AC97 driver, which does the business of actually talking
> to the codec.  We are lucky that this is a generic driver, and we don't
> have to mess with it.
>
> Controlling the amp with the bits in the codec will mean that we will have
> to dig into the ac97 code, and possibly change things around a bit.  I know
> that we have the ability to code around quirks, but we might run the
> risk of having to incorrectly turn on (or off) the amp with the normal code,
> and then turn around and do the opposite with the quirk code.
>
> Having the EC control lets us manage the AMP at a higher level (namely,
> the AC-link driver) without the AC97 codec realizing it.  That has its
> advantages, code wise, and its not too much a leap seeing as though we
> already have OLPC specific code in there anyway.
>
> Jordan
>
>
>   


More information about the Devel mailing list