[coreboot] [PATCH] Fix SB600 SATA and add support for port 2-4

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Tue Dec 23 05:00:58 CET 2008


On 23.12.2008 04:51, Bao, Zheng wrote:
> In sata_drive_detect(), the loop seems to be loop forever if detection
> is not completed. Does the "i" have a timeout value?
>   

No, there is no timeout. "i" was there to tell me how long it takes, but
I can use it to check for a timeout. I will fix this.

> Some indents are actually several spaces instead of tab. Please note
> this.
>   

Thanks for telling me. I will clean up and resend. Some indents have
tabs and spaces to have exact indentation at the beginning of the
parentheses.

Regards,
Carl-Daniel
> Zheng
>
> -----Original Message-----
> From: Carl-Daniel Hailfinger [mailto:c-d.hailfinger.devel.2006 at gmx.net] 
> Sent: Tuesday, December 23, 2008 10:37 AM
> To: Bao, Zheng
> Cc: Coreboot
> Subject: Re: [PATCH] Fix SB600 SATA and add support for port 2-4
>
> Hi Zheng,
>
> On 23.12.2008 03:26, Bao, Zheng wrote:
>   
>> Reviewed-by: zheng bao <zheng.bao at amd.com>
>>
>> It is tested well on dbm690t and pistachio.
>>   
>>     
>
> Thank you for the fast review!
>
> Our commit process is a bit difficult because it needs an Acked-by:
> statement. (The subversion repository will reject a commit without
> Acked-by.)
>
> Everybody who understands the code is allowed to ack a patch. You
> understand that piece of code very well, so could you please also add an
> Acked-by statement? Thanks!
>
> Regards,
> Carl-Daniel
>
>   
>> -----Original Message-----
>> From: Carl-Daniel Hailfinger
>>     
> [mailto:c-d.hailfinger.devel.2006 at gmx.net] 
>   
>> Sent: Tuesday, December 23, 2008 10:01 AM
>> To: Coreboot
>> Cc: Bao, Zheng
>> Subject: [PATCH] Fix SB600 SATA and add support for port 2-4
>>
>> The SB600 RPR documentation does not mention what to do if SATA_BAR0+6
>> is no longer 0xA0 or 0xB0. It simply assumes that will never happen.
>> My 500 GB Seagate Barracuda ST3500820AS triggers that corner case on
>>     
> the
>   
>> first init after poweron.
>> The current code hangs forever with my drive. Fix this by rerunning
>>     
> the
>   
>> init sequence after SATA_BAR0+6 is no longer 0xA0 or 0xB0.
>>
>> Add support for SATA port 2-4 (Primary Slave, Secondary Master,
>> Secondary Slave).
>>
>> Activate and improve debug messages for SPEW log level.
>>
>> Fix some comments.
>>
>> New log messages look like this:
>> PCI: 00:12.0 init
>> sata_bar0=3020
>> sata_bar1=3060
>> sata_bar2=3030
>> sata_bar3=3070
>> sata_bar4=3000
>> sata_bar5=fc309000
>> SATA port 0 status = 23
>> 0x6=a0, 0x7=80
>> drive detection not yet completed, waiting...
>> 0x6=a0, 0x7=80
>> drive detection not yet completed, waiting...
>> [... 281 repetitions ...]
>> 0x6=0, 0x7=50
>> drive no longer selected after 2830 ms, retrying init
>> drive detection done after 10 ms
>> Primary Master device is ready
>> SATA port 1 status = 23
>> drive detection done after 10 ms
>> Primary Slave device is ready
>> SATA port 2 status = 0
>> No Secondary Master SATA drive on Slot2
>> SATA port 3 status = 0
>> No Secondary Slave SATA drive on Slot3
>>
>> Full log is attached.
>>
>> With this patch (and my other non-SATA fixups), my Asus M2A-VM boots
>> into Linux without problems.
>>
>> Signed-off-by: Carl-Daniel Hailfinger
>> <c-d.hailfinger.devel.2006 at gmx.net>
>>
>>   
>>     
>
>   


-- 
http://www.hailfinger.org/





More information about the coreboot mailing list