On Thu, Jul 26, 2007 at 03:43:39PM -0400, Jeff Garzik wrote:
> >+static void __devinit advansys_set_latency(struct pci_dev *pdev)
> >+{
> >+    if ((pdev->device == PCI_DEVICE_ID_ASP_1200A) ||
> >+        (pdev->device == PCI_DEVICE_ID_ASP_ABP940)) {
> >+            pci_write_config_byte(pdev, PCI_LATENCY_TIMER, 0);
> >+    } else {
> >+            u8 latency;
> >+            pci_read_config_byte(pdev, PCI_LATENCY_TIMER, &latency);
> >+            if (latency < 0x20)
> >+                    pci_write_config_byte(pdev, PCI_LATENCY_TIMER, 0x20);
> >+    }
> 
> the latter branch is useless -- pci_set_master() ensures 
> PCI_LATENCY_TIMER is adequate

i386 certainly has a workaround for broken BIOSes, but this looks to
me like it's working around an issue the card has with a latency timer
below 32.  Note that i386's implementation of pcibios_set_master()
only ensures that the latency timer is 16 or higher.

-- 
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step."
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to