summaryrefslogtreecommitdiff
path: root/drivers/clocksource/acpi_pm.c
diff options
context:
space:
mode:
authorDaniel Walker <dwalker@mvista.com>2006-10-21 21:24:10 +0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-22 00:35:05 +0400
commit78f32668e64caea8f638b9133da7b97c5aec20d1 (patch)
tree128074094fea381636d8869c21c9874826002436 /drivers/clocksource/acpi_pm.c
parent4f2e639af4bd5e152fc79256e333643d3dd6c10f (diff)
downloadlinux-78f32668e64caea8f638b9133da7b97c5aec20d1.tar.xz
[PATCH] clocksource: acpi_pm: add another greylist chipset
I have an acpi_pm that goes backwards, but it's not intel. I tested the verified read and my acpi_pm started to function properly. So I added it to the greylist. I'm assuming that's the right spot. I also added an unlikely() to the while, cause it seems appropriate. Signed-off-by: Daniel Walker <dwalker@mvista.com> Acked-by: John Stultz <johnstul@us.ibm.com> Acked-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/clocksource/acpi_pm.c')
-rw-r--r--drivers/clocksource/acpi_pm.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/clocksource/acpi_pm.c b/drivers/clocksource/acpi_pm.c
index 7ad3be8c0f49..7fcb77a9d011 100644
--- a/drivers/clocksource/acpi_pm.c
+++ b/drivers/clocksource/acpi_pm.c
@@ -54,8 +54,8 @@ static cycle_t acpi_pm_read_verified(void)
v1 = read_pmtmr();
v2 = read_pmtmr();
v3 = read_pmtmr();
- } while ((v1 > v2 && v1 < v3) || (v2 > v3 && v2 < v1)
- || (v3 > v1 && v3 < v2));
+ } while (unlikely((v1 > v2 && v1 < v3) || (v2 > v3 && v2 < v1)
+ || (v3 > v1 && v3 < v2)));
return (cycle_t)v2;
}
@@ -138,6 +138,8 @@ static void __devinit acpi_pm_check_graylist(struct pci_dev *dev)
}
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_0,
acpi_pm_check_graylist);
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_LE,
+ acpi_pm_check_graylist);
#endif