[PATCH] ssb: Implement fast powerup delay calculation

Larry Finger Larry.Finger at lwfinger.net
Sat May 1 13:42:27 EDT 2010


On 05/01/2010 12:19 PM, Michael Buesch wrote:
> On Saturday 01 May 2010 19:13:31 Gábor Stefanik wrote:
>> 2010/5/1 Michael Buesch <mb at bu3sch.de>:
>>> On Saturday 01 May 2010 18:29:06 Gábor Stefanik wrote:
>>>> +     ssb_write16(cc->dev, SSB_MMIO_POWERUP_DELAY, delay);
>>>>   }
>>>>
>>>>   void ssb_chipco_suspend(struct ssb_chipcommon *cc)
>>>> Index: wireless-testing/include/linux/ssb/ssb_regs.h
>>>> ===================================================================
>>>> --- wireless-testing.orig/include/linux/ssb/ssb_regs.h
>>>> +++ wireless-testing/include/linux/ssb/ssb_regs.h
>>>> @@ -26,6 +26,7 @@
>>>>   #define     SSB_EUART               (SSB_EXTIF_BASE + 0x00800000)
>>>>   #define     SSB_LED                 (SSB_EXTIF_BASE + 0x00900000)
>>>>
>>>> +#define SSB_MMIO_POWERUP_DELAY       0x06A8
>>>
>>> I think you are really confusing something here.
>>> That register is a wireless core register and we already write it in b43.
>>>
>>> --
>>> Greetings, Michael.
>>>
>>
>> This is what I am implementing: http://bcm-v4.sipsolutions.net/802.11/Init
>> Here, it clearly says MMIO offset. 
> 
> Yeah. Just what I said. It is an 802.11 core register.
> We already write it in b43/main.c/b43_chip_init().
> It is _wrong_ to write to the chipcommon at that offset.

I may have gotten the MMIO offset part wrong in the specs, but the
Broadcom driver definitely writes to offset 0x648 at that point.

I know that b43 writes that location; however, it is much later in the
startup sequence. Whether that is important is unknown at this point.

The previous code resulted in a value of zero being written to the
location in question, but the value for the 4315 is 7000.

Larry



More information about the b43-dev mailing list