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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html