| To: | Linux-MIPS <linux-mips@linux-mips.org>, Ralf Baechle <ralf@linux-mips.org> |
|---|---|
| Subject: | [PATCH] Alchemy: override loops_per_jiffy detection |
| From: | Manuel Lauss <manuel.lauss@googlemail.com> |
| Date: | Sat, 22 Aug 2009 18:09:12 +0200 |
| Cc: | Manuel Lauss <manuel.lauss@gmail.com> |
| Dkim-signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:subject:date :message-id:x-mailer; bh=RsZHI9T3ZCqEGGdEig3/FJrY4tKQGvDviQTAT6LK3oo=; b=Qmi2tiBcyPE7/rhVRtxf7VkdvhsH9srqlAsOXbSQH7yk1w6D+gxnJNSiAP0XDIoW/O tcPJtlRgU3sfkZENC0Yom7o+hNVLOwnhk47SywqlILSpeeQm3pM611MdGctFLC8aPJcM R612c9ldyWFjLHSi6mdOTYmbFm58VOU/aF0vA= |
| Domainkey-signature: | a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer; b=uRzoiVsvrrfJD1/p0qnD3khviRrBrUdUjJjvYJFCGO5DbYjzffjOdFE/7LceCxv646 bn32ldd5zE4805RXMqFnwRrpaBzkUsuR82zc3qNKTWEmctfz+IWKBhjO0/8dwdbXy1XJ NnvTma1LI8e7A0HVXGrtFmxy3FV47Acij5edU= |
| Original-recipient: | rfc822;linux-mips@linux-mips.org |
| Sender: | linux-mips-bounce@linux-mips.org |
The loops_per_jiffy detection in generic calibrate_delay is a bit off
(by ~0.5% usually); calculate the correct value based on detected core
clock. BogoMIPS value will now reflect cpu core clock correctly.
(Blatantly stolen from the SH port).
Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
---
arch/mips/Kconfig | 2 +-
arch/mips/alchemy/common/setup.c | 11 +++++++++++
2 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 3ca0fe1..56c8139 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -700,7 +700,7 @@ config GENERIC_HWEIGHT
config GENERIC_CALIBRATE_DELAY
bool
- default y
+ default y if !MACH_ALCHEMY
config GENERIC_CLOCKEVENTS
bool
diff --git a/arch/mips/alchemy/common/setup.c b/arch/mips/alchemy/common/setup.c
index 3f036b3..5ea7e1a 100644
--- a/arch/mips/alchemy/common/setup.c
+++ b/arch/mips/alchemy/common/setup.c
@@ -74,6 +74,17 @@ void __init plat_mem_setup(void)
iomem_resource.end = IOMEM_RESOURCE_END;
}
+void __cpuinit calibrate_delay(void)
+{
+ loops_per_jiffy = (get_au1x00_speed() >> 1) / HZ;
+
+ printk(KERN_INFO "Calibrating delay loop (skipped)... "
+ "%lu.%02lu BogoMIPS PRESET (lpj=%lu)\n",
+ loops_per_jiffy/(500000/HZ),
+ (loops_per_jiffy/(5000/HZ)) % 100,
+ loops_per_jiffy);
+}
+
#if defined(CONFIG_64BIT_PHYS_ADDR)
/* This routine should be valid for all Au1x based boards */
phys_t __fixup_bigphys_addr(phys_t phys_addr, phys_t size)
--
1.6.3.3
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH 1/2] alchemy: add au1000-eth platform device, Manuel Lauss |
|---|---|
| Next by Date: | [PATCH] Alchemy: get rid of allow_au1k_wait, Manuel Lauss |
| Previous by Thread: | [PATCH 0/2] New hardware RNG for Octeon SOCs (v2), David Daney |
| Next by Thread: | Re: [PATCH] Alchemy: override loops_per_jiffy detection, Ralf Baechle |
| Indexes: | [Date] [Thread] [Top] [All Lists] |