27 Feb, 2010
1 commit
-
* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (187 commits)
sh: remove dead LED code for migo-r and ms7724se
sh: ecovec build fix for CONFIG_I2C=n
sh: ecovec r-standby support
sh: ms7724se r-standby support
sh: SH-Mobile R-standby register save/restore
clocksource: Fix up a registration/IRQ race in the sh drivers.
sh: ms7724: modify scan_timing for KEYSC
sh: ms7724: Add sh_sir support
sh: mach-ecovec24: Add sh_sir support
sh: wire up SET/GET_UNALIGN_CTL.
sh: allow alignment fault mode to be configured at kernel boot.
sh: sh7724: Update FSI/SPU2 clock
sh: always enable sh7724 vpu_clk and set to 166MHz on Ecovec
sh: add sh7724 kick callback to clk_div4_table
sh: introduce struct clk_div4_table
sh: clock-cpg div4 set_rate() shift fix
sh: Turn on speculative return for SH7785 and SH7786
sh: Merge legacy and dynamic PMB modes.
sh: Use uncached I/O helpers in PMB setup.
sh: Provide uncached I/O helpers.
...
25 Feb, 2010
1 commit
-
All of the SH clocksource drivers follow the scheme that the IRQ is setup
prior to registering the clockevent. The interrupt handler in the
clockevent cases looks to the event handler function pointer being filled
in by the registration code, permitting us to get in to situations where
asserted IRQs step in to the handler before registration has had a chance
to complete and hitting a NULL pointer deref.In practice this is not an issue for most platforms, but some of them
with fairly special loaders (or that are chain-loading from another
kernel) may enter in to this situation. This fixes up the oops reported
by Rafael on hp6xx.Reported-and-tested-by: Rafael Ignacio Zurita
Cc: stable@kernel.org
Signed-off-by: Paul Mundt
23 Feb, 2010
1 commit
-
geode-mfgpt: restore previous behavior for selecting IRQ
The MFGPT IRQ used to be, in order of decreasing priority,
* IRQ supplied by the user as a boot-time parameter,
* IRQ previously set by the BIOS or another driver,
* default IRQ given at compile time.Return to this behavior, which got broken when splitting the
MFGPT/clocksource driver for 2.6.33-rc1.Signed-off-by: Jens Rottmann
Acked-by: Andres Salomon
Cc: Jordan Crouse
Cc: Ingo Molnar
Cc: john stultz
Acked-by: Thomas Gleixner
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
16 Dec, 2009
1 commit
-
This is based on the old code in arch/x86/kernel/mfgpt_32.c, but is
modular and not Geode-specific. There's no reason why the clock event
device needs to be registered so early at boot; the clockevent code is
perfectly capable of dynamic switching.[akpm@linux-foundation.org: add linux/irq.h include]
Signed-off-by: Andres Salomon
Cc: Jordan Crouse
Cc: Ingo Molnar
Cc: Thomas Gleixner
Cc: john stultz
Cc: Chris Ball
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
15 Aug, 2009
1 commit
-
This patch updates the SuperH CMT driver with suspend and resume
callbacks for the suspend-to-ram case. This patch stops the CMT
channel at suspend time to avoid unwanted wake up events.Signed-off-by: Magnus Damm
Signed-off-by: Paul Mundt
24 Jun, 2009
1 commit
-
Avoid undocumented vague TMU behavior when zero value is set to TCOR.
This primarily fixes up issues encountered under qemu with a zero-length
period, while the hardware itself is fairly ambivalent one way or the
other.Signed-off-by: Shin-ichiro KAWASAKI
Acked-by: Magnus Damm
Signed-off-by: Paul Mundt
17 Jun, 2009
3 commits
-
…tes' and 'sh/perf_counter'
-
Modify the CMT and TMU drivers to disable interrupts when
disabling the timer. Only using start/stop bits is not
enough.This fixes a bootup hang on Migo-R when the CMT is replaced
by TMU for clockevents but the CMT keeps on delivering irqs
even though the timer start bit is off.Signed-off-by: Magnus Damm
Signed-off-by: Paul Mundt -
PIT_TICK_RATE is currently defined in four architectures, but in three
different places. While linux/timex.h is not the perfect place for it, it
is still a reasonable replacement for those drivers that traditionally use
asm/timex.h to get CLOCK_TICK_RATE and expect it to be the PIT frequency.Note that for Alpha, the actual value changed from 1193182UL to 1193180UL.
This is unlikely to make a difference, and probably can only improve
accuracy. There was a discussion on the correct value of CLOCK_TICK_RATE
a few years ago, after which every existing instance was getting changed
to 1193182. According to the specification, it should be
1193181.818181...Signed-off-by: Arnd Bergmann
Cc: Richard Henderson
Cc: Ivan Kokshaysky
Cc: Ralf Baechle
Cc: Benjamin Herrenschmidt
Cc: Ingo Molnar
Cc: Thomas Gleixner
Cc: "H. Peter Anvin"
Cc: Len Brown
Cc: john stultz
Cc: Dmitry Torokhov
Cc: Takashi Iwai
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
14 Jun, 2009
1 commit
-
The irqaction.mask is legacy code that is wholly unused and going away,
so simply drop its use in the SH drivers completely.Fixes up build failures in -next.
Signed-off-by: Paul Mundt
03 May, 2009
4 commits
-
Neither of these need to be exported, so just make them static.
Signed-off-by: Paul Mundt
-
All of the SH timers use a roughly identical structure for platform data,
which presently is broken out for each block. Consolidate all of these
definitions, as there is no reason for them to be broken out in the first
place.Signed-off-by: Paul Mundt
-
This patch adds a TMU driver for the SuperH architecture.
The TMU driver is a platform driver with early platform
support to allow using a TMU channel as clockevent or
clocksource during system bootup or later.Clocksource or clockevent can be selected.
Both periodic and oneshot clockevents are supported.Signed-off-by: Magnus Damm
Signed-off-by: Paul Mundt -
This patch adds a MTU2 driver for the SuperH architecture.
The MTU2 driver is a platform driver with early platform
support to allow using a MTU2 channel as only clockevent
during system bootup.Clocksource on sh2a is currently unsupported due to code
generation issues with 64-bit math, so at this point only
periodic clockevent support is in place.Signed-off-by: Magnus Damm
Signed-off-by: Paul Mundt
30 Apr, 2009
1 commit
-
This patch contains various fixes for 16-bit cmt hardware.
With this applied periodic clockevents work fine on sh7203.Signed-off-by: Magnus Damm
Signed-off-by: Paul Mundt
28 Apr, 2009
2 commits
-
This patch moves the SuperH timer setup code from time_init()
to late_time_init(). Good things about this change:
- interrupts: they are enabled at late_time_init()
- mm: regular kmalloc() can be used at late_time_init()Together with moving to late_time_init() this patch changes
the sh_cmt driver to always allocate with kmalloc(). This
simplifies the code a bit and also fixes section mismatches.Signed-off-by: Magnus Damm
Signed-off-by: Paul Mundt -
This patch improves the sh_cmt clocksource handling.
Currently the counter value is ignored in the case of
overflow. With this patch the overflow flag is read
before and after reading the counter, removing any
counter value and overflow flag mismatch issues.Signed-off-by: Magnus Damm
Signed-off-by: Paul Mundt
22 Apr, 2009
3 commits
-
Add clocksource support to the sh_cmt driver. With this in
place we can do tickless with a single CMT channel.Signed-off-by: Magnus Damm
Signed-off-by: Paul Mundt -
Pass clocksource pointer to the read() callback for clocksources. This
allows us to share the callback between multiple instances.[hugh@veritas.com: fix powerpc build of clocksource pass clocksource mods]
[akpm@linux-foundation.org: cleanup]
Signed-off-by: Magnus Damm
Acked-by: John Stultz
Cc: Thomas Gleixner
Signed-off-by: Hugh Dickins
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
19 Apr, 2009
1 commit
-
Add Early Platform Driver support to the sh_cmt driver
using the earlytimer class.Signed-off-by: Magnus Damm
Signed-off-by: Paul Mundt
02 Apr, 2009
1 commit
-
Update the sh_cmt driver to make use of recent irq and clockevent changes:
- use remove_irq() together with setup_irq()
- remove mult workaround since WARN_ON() now has been movedSigned-off-by: Magnus Damm
Signed-off-by: Paul Mundt
28 Mar, 2009
1 commit
-
Conflicts:
arch/parisc/kernel/irq.c
arch/x86/include/asm/fixmap_64.h
arch/x86/include/asm/setup.h
kernel/irq/handle.cSemantic merge:
arch/x86/include/asm/fixmap.hSigned-off-by: Ingo Molnar
29 Jan, 2009
2 commits
-
We are getting rid of subarchitecture support - move the hook files
to asm/. (These are now stale and should be replaced with more explicit
runtime mechanisms - but the transition is simpler this way.)Signed-off-by: Ingo Molnar
-
SuperH CMT clockevent driver.
Both 16-bit and 32-bit CMT versions are supported, but only 32-bit
is tested. This driver contains support for both clockevents and
clocksources, but no unregistration is supported at this point.Works fine as clock source and/or event in periodic or oneshot mode.
Tested on sh7722 and sh7723, but should work with any cpu/architecture.This version is lacking clocksource and early platform driver support
for now - this to minimize the amount of dependencies.Signed-off-by: Magnus Damm
Signed-off-by: Paul Mundt
03 Jan, 2009
1 commit
-
…/git/tip/linux-2.6-tip
* 'cpus4096-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (66 commits)
x86: export vector_used_by_percpu_irq
x86: use logical apicid in x2apic_cluster's x2apic_cpu_mask_to_apicid_and()
sched: nominate preferred wakeup cpu, fix
x86: fix lguest used_vectors breakage, -v2
x86: fix warning in arch/x86/kernel/io_apic.c
sched: fix warning in kernel/sched.c
sched: move test_sd_parent() to an SMP section of sched.h
sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc>0
sched: activate active load balancing in new idle cpus
sched: bias task wakeups to preferred semi-idle packages
sched: nominate preferred wakeup cpu
sched: favour lower logical cpu number for sched_mc balance
sched: framework for sched_mc/smt_power_savings=N
sched: convert BALANCE_FOR_xx_POWER to inline functions
x86: use possible_cpus=NUM to extend the possible cpus allowed
x86: fix cpu_mask_to_apicid_and to include cpu_online_mask
x86: update io_apic.c to the new cpumask code
x86: Introduce topology_core_cpumask()/topology_thread_cpumask()
x86: xen: use smp_call_function_many()
x86: use work_on_cpu in x86/kernel/cpu/mcheck/mce_amd_64.c
...Fixed up trivial conflict in kernel/time/tick-sched.c manually
13 Dec, 2008
1 commit
-
Impact: change calling convention of existing clock_event APIs
struct clock_event_timer's cpumask field gets changed to take pointer,
as does the ->broadcast function.Another single-patch change. For safety, we BUG_ON() in
clockevents_register_device() if it's not set.Signed-off-by: Rusty Russell
Cc: Ingo Molnar
12 Dec, 2008
1 commit
-
acpi_pm_read_slow() is only used when CONFIG_PCI=y, so move the definition
inside the ifdef.Otherwise this causes a "defined but not used" warning when building with
CONFIG_ACPI=y and CONFIG_PCI=n (that's not supported yet, but it could
be).Signed-off-by: Bjorn Helgaas
Cc: mingo@elte.hu
Cc: johnstul@us.ibm.com
Cc: akpm@linux-foundation.org
Cc: bjorn.helgaas@hp.com
Cc: lenb@kernel.org
Cc: linux@dominikbrodowski.net
Cc: tglx@linutronix.de
Signed-off-by: Thomas Gleixner
Cc: Dominik Brodowski
Cc: Thomas Gleixner
Cc: Len Brown
Signed-off-by: Andrew Morton
20 Oct, 2008
1 commit
-
…tp', 'timers/posixtimers' and 'timers/debug' into v28-timers-for-linus
11 Sep, 2008
1 commit
-
Actually check the monotonicity of the ACPI PMTMR ten times, only delay for
0.9 miliseconds at most, and bail out early if some problem is determined.Reported-by: Jochen Voß
Signed-off-by: Dominik Brodowski
Signed-off-by: Ingo Molnar
06 Sep, 2008
2 commits
-
The current check for monotonicity is way too weak: Andreas Mohr reports (
http://lkml.org/lkml/2008/8/10/77 ) that on one of his test systems the
current check only triggers in 50% of all cases, leading to catastrophic
timer behaviour. To fix this issue, expand the check for monotonicity by
doing ten consecutive tests instead of one.Signed-off-by: Dominik Brodowski
Signed-off-by: Andrew Morton
Signed-off-by: Ingo Molnar -
On all hardware (some Intel ICH4, PIIX4 and PIIX4E chipsets) affected by a
hardware errata there's about a 4.2% chance that initialization of the
ACPI PMTMR fails. On those chipsets, we need to read out the timer value
at least three times to get a correct result, for every once in a while
(i.e. within a 3 ns window every 69.8 ns) the read returns a bogus
result. During normal operation we work around this issue, but during
initialization reading a bogus value may lead to -EINVAL even though the
hardware is usable.Thanks to Andreas Mohr for spotting this issue.
Signed-off-by: Dominik Brodowski
Signed-off-by: Andrew Morton
Signed-off-by: Ingo Molnar
21 Aug, 2008
1 commit
-
Check that the value being passed to parse_pmtmr() does not exceed the
limits of pmtmr_ioport.Signed-off-by: David Howells
Signed-off-by: Andrew Morton
Signed-off-by: Ingo Molnar
16 Jul, 2008
1 commit
-
For real, this time. The earlier attempt just moved the warning around.
Signed-off-by: Linus Torvalds
12 Jul, 2008
1 commit
-
Fix printk format warning in acpi_pm clocksource:
linux-next-20080711/drivers/clocksource/acpi_pm.c:231: warning: format '%04lx' expects type 'long unsigned int', but argument 2 has type 'u32'
Signed-off-by: Randy Dunlap
Cc: akpm
Signed-off-by: Thomas Gleixner
10 Jul, 2008
1 commit
-
Stupid BIOSes do not tell us about the PMTimer,
but we might know where it is.Signed-off-by: Thomas Gleixner
14 Mar, 2008
1 commit
-
Does that have something analagous to this "remove warnings" patch?
Seems setup_clkevents() no longer needs a t0_clk parameter either...Signed-off-by: Haavard Skinnemoen
04 Mar, 2008
1 commit
-
Clocksource and clockevent device based on the Atmel TC blocks.
The clockevent device handles both periodic and oneshot modes, so this
enables NO_HZ and high res timers on some platforms that previously
couldn't use those mechanisms.This works on both AVR32 and AT91 chips, given relevant patches for
tclib support (always) and clockevents (or else this will only look
like a higher precision clocksource). It's an updated and modularized
version of an AT91-only patch that has circulated for some time now.Changes relative to the original patch:
* Update to use new tclib API
* Replace open-coded do-while loop using goto with a real do-while loop
* Minor irq handler optimization: Load register base address from
dev_id instead of a global variable.
* Aggressively turn off clocks when the clockevent isn't being used
* Include the clockevent code on AT91RM9200 as well. The rating is
lower than the System Timer, so the clock will usually stay off.
* Don't assume that the number of clocks is always equal to the
number of irqs.Signed-off-by: David Brownell
Signed-off-by: Haavard Skinnemoen
22 Jul, 2007
1 commit
-
Signed-off-by: Alessio Igor Bogani
Cc: john stultz
Signed-off-by: Andrew Morton
Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds
12 Jul, 2007
1 commit
-
Instead of all drivers reading pci config space to get the revision
ID, they can now use the pci_device->revision member.This exposes some issues where drivers where reading a word or a dword
for the revision number, and adding useless error-handling around the
read. Some drivers even just read it for no purpose of all.In devices where the revision ID is being copied over and used in what
appears to be the equivalent of hotpath, I have left the copy code
and the cached copy as not to influence the driver's performance.Compile tested with make all{yes,mod}config on x86_64 and i386.
Signed-off-by: Auke Kok
Acked-by: Dave Jones
Signed-off-by: Greg Kroah-Hartman