Matthew Wilcox wrote:
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.

Ah, indeed.

        Jeff



-
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