<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman,new york,times,serif;font-size:12pt"><div>Sorry for the delay.. Way too much to do and so little time..<br><br>Fixed the spotted issues and added 1ms delay to match the BKDG while waiting for BAR+0xe to set its bits.<br><br>Dan Lykowski<br><br>Signed-off-by: Dan Lykowski<lykowdk@gmail.com><br></div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><br><div style="font-family: arial,helvetica,sans-serif; font-size: 13px;"><font size="2" face="Tahoma"><hr size="1"><b><span style="font-weight: bold;">From:</span></b> "Li, Maggie" <Maggie.Li@amd.com><br><b><span style="font-weight: bold;">To:</span></b> Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net><br><b><span style="font-weight: bold;">Cc:</span></b> Dan Lykowski <engineerguy3737@yahoo.com>; Marc Jones
 <marcj303@gmail.com>; coreboot@coreboot.org<br><b><span style="font-weight: bold;">Sent:</span></b> Sunday, February 1, 2009 7:47:15 PM<br><b><span style="font-weight: bold;">Subject:</span></b> RE: [coreboot] SB600 HDA can't find codec fix<br></font><br>
Carl, <br><br>I see. Pci_find_device is more reliable than dev_find_slot. However, we didn't use the former in our SB600 and RS690 code. There are many places to be modified if needed.<br><br>Best regards<br>Maggie li<br><br>-----Original Message-----<br>From: Carl-Daniel Hailfinger [mailto:<a ymailto="mailto:c-d.hailfinger.devel.2006@gmx.net" href="mailto:c-d.hailfinger.devel.2006@gmx.net">c-d.hailfinger.devel.2006@gmx.net</a>] <br>Sent: Monday, February 02, 2009 10:26 AM<br>To: Li, Maggie<br>Cc: Dan Lykowski; Marc Jones; <a ymailto="mailto:coreboot@coreboot.org" href="mailto:coreboot@coreboot.org">coreboot@coreboot.org</a><br>Subject: Re: [coreboot] SB600 HDA can't find codec fix<br><br>Hi Maggie,<br><br>while your point about pci_find_device is valid, I think that<br>dev_find_device is the function Dan should choose. It allows us to<br>address the PCI devices even if their bus locations are shifted which is<br>possible with some AMD chipsets and may
 also be true for boards with<br>multiple chipsets.<br>In general, we want to use functions which can deal with non-default bus<br>topologies.<br><br>On 02.02.2009 02:48, Li, Maggie wrote:<br>> Dan,<br>><br>>  <br>><br>> I read the RRG spec, just as you said, you should use 0xF in file sb600_hda.c to get the current audio codec, that is to say, <br>><br>> dword &= 0xF;<br>>     if (!dword)  <br>>         goto no_codec;<br>><br>>  <br>><br>> pci_locate_device is really should be used in early setup. Device_t is the type of u32 at that time. After this stage, you should use dev_find_slot. In file sb600_sata.c, /* sm_dev = pci_locate_device(PCI_ID(0x1002, 0x4385), 0) */  gives you misunderstanding about how to get the SMBus and it should be removed. You can submit a patch about sata and I will ack it. Thanks.<br>>   <br><br>I'd prefer to use dev_find_device
 there as well.<br><br>Regards,<br>Carl-Daniel<br><br>-- <br><a href="http://www.hailfinger.org/" target="_blank">http://www.hailfinger.org/
</a><br><br><br></div></div></div><br>



      </body></html>