An error occurred fetching the project authors.
- 18 Dec, 2013 1 commit
-
-
Laurent Pinchart authored
Prepare the clock at probe time, as there is no other appropriate place in the driver where we're allowed to sleep. Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: linux-kernel@vger.kernel.org Signed-off-by:
Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by:
Simon Horman <horms+renesas@verge.net.au> Signed-off-by:
Daniel Lezcano <daniel.lezcano@linaro.org>
-
- 21 Aug, 2013 1 commit
-
-
Magnus Damm authored
Add support for CMT hardware with 32-bit control and counter registers, as found on r8a73a4 and r8a7790. To use the CMT with 32-bit hardware a second I/O memory resource needs to point out the CMSTR register and it needs to be 32 bit wide. Signed-off-by:
Magnus Damm <damm@opensource.se> Reviewed-by:
Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by:
Simon Horman <horms+renesas@verge.net.au>
-
- 12 Mar, 2013 9 commits
-
-
Simon Horman authored
The reason for this is to ensure that CMT is probed earlier than with its previous initcall level, module init. This came up as a problem with using kzm9g-reference which does not make use of early timers or devices. In that scenario initialisation of SDHI and MMCIF both stall on msleep() calls due to the absence of a initialised clock source. Boot tested on: armadillo800eva, mackerel and kzm9g Signed-off-by:
Simon Horman <horms+renesas@verge.net.au>
-
Magnus Damm authored
Add a comment about different register layouts supported by the CMT driver. Signed-off-by:
Magnus Damm <damm@opensource.se> Acked-by:
John Stultz <john.stultz@linaro.org> Tested-by:
Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by:
Simon Horman <horms+renesas@verge.net.au>
-
Magnus Damm authored
This patch adds control register callbacks for the CMT driver. At this point only 16-bit access is supported but in the future this will be updated to allow 32-bit access as well. Signed-off-by:
Magnus Damm <damm@opensource.se> Acked-by:
John Stultz <john.stultz@linaro.org> Tested-by:
Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by:
Simon Horman <horms+renesas@verge.net.au>
-
Magnus Damm authored
Break out the CMCNT and CMCOR register access code into separate 16-bit and 32-bit functions that are hooked into callbacks at init time. This reduces the amount of software calculations happening at runtime. Signed-off-by:
Magnus Damm <damm@opensource.se> Acked-by:
John Stultz <john.stultz@linaro.org> Tested-by:
Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by:
Simon Horman <horms+renesas@verge.net.au>
-
Magnus Damm authored
Update hardware register access code for CMSTR and CMCSR from using sh_cmt_read() and sh_cmt_write() to make use of 16-bit register access functions such as sh_cmt_read16() and sh_cmt_write16(). Also update sh_cmt_read() and sh_cmt_write() now when the special cases are gone. This patch moves us one step closer to the goal of separating counter register access functions from control control register functions. Signed-off-by:
Magnus Damm <damm@opensource.se> Acked-by:
John Stultz <john.stultz@linaro.org> Tested-by:
Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by:
Simon Horman <horms+renesas@verge.net.au>
-
Magnus Damm authored
Cleanup the use of platform_set_drvdata() to reduce code size Signed-off-by:
Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com> Signed-off-by:
Magnus Damm <damm@opensource.se> Acked-by:
John Stultz <john.stultz@linaro.org> Tested-by:
Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by:
Simon Horman <horms+renesas@verge.net.au>
-
Magnus Damm authored
Introduce sh_cmt_read_cmstr/cmcsr/cmcnt() and sh_cmt_write_cmstr/cmcsr/cmcnt/cmcor() to in the future allow us to split counter registers from control registers and reduce code complexity by removing sh_cmt_read() and sh_cmt_write(). Signed-off-by:
Magnus Damm <damm@opensource.se> Acked-by:
John Stultz <john.stultz@linaro.org> Tested-by:
Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by:
Simon Horman <horms+renesas@verge.net.au>
-
Magnus Damm authored
Move the setup of spinlock and max_match_value to sh_cmt_setup(). There's no need to defer those steps until sh_cmt_register(). Signed-off-by:
Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com> Signed-off-by:
Magnus Damm <damm@opensource.se> Acked-by:
John Stultz <john.stultz@linaro.org> Tested-by:
Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by:
Simon Horman <horms+renesas@verge.net.au>
-
Magnus Damm authored
Make sure clk_put() is called in case of failure in sh_cmt_setup(). Signed-off-by:
Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com> Signed-off-by:
Magnus Damm <damm@opensource.se> Acked-by:
John Stultz <john.stultz@linaro.org> Tested-by:
Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by:
Simon Horman <horms+renesas@verge.net.au>
-
- 03 Jan, 2013 1 commit
-
-
Greg Kroah-Hartman authored
CONFIG_HOTPLUG is going away as an option. As a result, the __dev* markings need to be removed. This change removes the use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit from these drivers. Based on patches originally written by Bill Pemberton, but redone by me in order to handle some of the coding style issues better, by hand. Cc: Bill Pemberton <wfp5p@virginia.edu> Cc: John Stultz <johnstul@us.ibm.com> Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 03 Sep, 2012 4 commits
-
-
Rafael J. Wysocki authored
Modify the SH CMT clock source/clock event device driver to support runtime PM at a basic level (i.e. device clocks can be disabled and enabled, but domain power must be on, because the devices have to be marked as "irq safe"). Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl> Acked-by:
Magnus Damm <damm@opensource.se>
-
Rafael J. Wysocki authored
The syscore device PM flag is used to mark the devices (belonging to a PM domain) that should never be turned off, except for the system core (syscore) suspend/hibernation and resume stages. That flag is stored in the device's struct pm_subsys_data object whose address is available from struct device. However, in some situations it may be convenient to set that flag before the device is added to a PM domain, so it is better to move it directly to the "power" member of struct device. Then, it can be checked by the routines in drivers/base/power/runtime.c and drivers/base/power/main.c, which is more straightforward. This also reduces the number of dev_gpd_data() invocations in the generic PM domains framework, so the overhead related to the syscore flag is slightly smaller. Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl> Acked-by:
Magnus Damm <damm@opensource.se>
-
Rafael J. Wysocki authored
The always_on device flag is used to mark the devices (belonging to a PM domain) that should never be turned off, except for the system core (syscore) suspend/hibernation and resume stages. Change name of that flag to "syscore" to better reflect its purpose. Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl> Acked-by:
Magnus Damm <damm@opensource.se>
-
Rafael J. Wysocki authored
Introduce suspend/resume routines for SH CMT clock event devices and modify the suspend/resume routines for SH CMT clock sources such that if those devices belong to a PM domain, the generic PM domains framework will be notified that the given domain may be turned off (during system suspend) or that it has to be turned on (during system resume). Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl> Acked-by:
Magnus Damm <damm@opensource.se>
-
- 11 Jun, 2012 1 commit
-
-
Paul Mundt authored
Signed-off-by:
Paul Mundt <lethal@linux-sh.org>
-
- 16 Mar, 2012 1 commit
-
-
Rafael J. Wysocki authored
Make the CMT clocksource driver mark its device as "always on" using pm_genpd_dev_always_on() to protect it from surprise power removals. Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl> Tested-by:
Simon Horman <horms@verge.net.au> Acked-by:
Paul Mundt <lethal@linux-sh.org> Cc: stable@vger.kernel.org
-
- 31 Oct, 2011 1 commit
-
-
Paul Gortmaker authored
A pending cleanup will mean that module.h won't be implicitly everywhere anymore. Make sure the modular drivers in clocksource are actually calling out for <module.h> explicitly in advance. Signed-off-by:
Paul Gortmaker <paul.gortmaker@windriver.com>
-
- 21 Jul, 2011 1 commit
-
-
Magnus Damm authored
Add code to the CMT driver to wait for CMCNT V2. This to let the register value settle before starting the timer channel. Makes the driver more robust. Needed for CMT2 on sh7372 and certain CMT channels on sh73a0. Signed-off-by:
Magnus Damm <damm@opensource.se> Signed-off-by:
Paul Mundt <lethal@linux-sh.org>
-
- 31 May, 2011 1 commit
-
-
Paul Mundt authored
This reverts commit 01fa68b5. The same note as per the sh_tmu change applies here, too. Signed-off-by:
Paul Mundt <lethal@linux-sh.org>
-
- 23 May, 2011 2 commits
-
-
Magnus Damm authored
Add Runtime PM support to the CMT driver. The hardware device is enabled as long as the clocksource or the clockevent portion of the driver is used. Signed-off-by:
Magnus Damm <damm@opensource.se> Acked-by:
John Stultz <johnstul@us.ibm.com> Signed-off-by:
Paul Mundt <lethal@linux-sh.org>
-
Magnus Damm authored
This patch updates the clocksource part of the CMT driver to make use of the __clocksource_updatefreq_hz() function. Without this patch the old code uses clocksource_register() together with a hack that assumes a never changing clock rate (see clk_enable(), clk_get_rate() and clk_disable()). The patch uses clocksource_register_hz() with 1 Hz as initial value, then lets the ->enable() callback update the value with __clocksource_updatefreq_hz() once the struct clk has been enabled and the frequency is stable. Signed-off-by:
Magnus Damm <damm@opensource.se> Acked-by:
John Stultz <johnstul@us.ibm.com> Signed-off-by:
Paul Mundt <lethal@linux-sh.org>
-
- 17 Dec, 2010 1 commit
-
-
Takashi YOSHII authored
There are control flow that sh_cmt_set_next() does double spin-lock. The callers sh_cmt_{start,stop}() already have lock. But another callers sh_cmt_clock_event_{start,next}() does not. Now sh_cmt_set_next() does not lock by itself. All the callers should hold spin-lock before calling it. [damm@opensource.se: use __sh_cmt_set_next() to simplify code] [damm@opensource.se: added stable, suitable for v2.6.35 + v2.6.36] Cc: stable@kernel.org Signed-off-by:
Takashi YOSHII <takashi.yoshii.zj@renesas.com> Signed-off-by:
Magnus Damm <damm@opensource.se> Signed-off-by:
Paul Mundt <lethal@linux-sh.org>
-
- 31 Oct, 2010 1 commit
-
-
Magnus Damm authored
Now when the SH-Mobile ARM platforms have been converted to use device name it is possible to remove "clk" from struct sh_timer_config. Signed-off-by:
Magnus Damm <damm@opensource.se> Signed-off-by:
Paul Mundt <lethal@linux-sh.org>
-
- 04 Aug, 2010 2 commits
-
-
Magnus Damm authored
Fix the rate calculation in the CMT driver. Without this fix the clocksource runs way too fast and we get a divide-by-zero error. Signed-off-by:
Magnus Damm <damm@opensource.se> Signed-off-by:
Paul Mundt <lethal@linux-sh.org>
-
Magnus Damm authored
Fix a one-off error in the CMT driver V2. The match register should be programmed with the period minus one. Many thanks to Eiraku-san for tracking down this issue. Signed-off-by:
Magnus Damm <damm@opensource.se> Signed-off-by:
Paul Mundt <lethal@linux-sh.org>
-
- 22 Jun, 2010 1 commit
-
-
Paul Mundt authored
The previous CMT fixup accidentally copied in the TMU shift value, reset this back to its original value while preserving the TMU fix. Signed-off-by:
Paul Mundt <lethal@linux-sh.org>
-
- 02 Jun, 2010 1 commit
-
-
Paul Mundt authored
Based on the sh_tmu change in 66f49121 ("clocksource: sh_tmu: compute mult and shift before registration"). The same issues impact the sh_cmt driver, so we take the same approach here. Cc: stable@kernel.org Signed-off-by:
Paul Mundt <lethal@linux-sh.org>
-
- 15 Apr, 2010 1 commit
-
-
Paul Mundt authored
Make sure that the timer IRQs and IPIs aren't enabled for IRQ balancing. IPIs are disabled as a result of being percpu while the timers simply disable balancing outright. Signed-off-by:
Paul Mundt <lethal@linux-sh.org>
-
- 30 Mar, 2010 1 commit
-
-
Tejun Heo authored
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h percpu.h is included by sched.h and module.h and thus ends up being included when building most .c files. percpu.h includes slab.h which in turn includes gfp.h making everything defined by the two files universally available and complicating inclusion dependencies. percpu.h -> slab.h dependency is about to be removed. Prepare for this change by updating users of gfp and slab facilities include those headers directly instead of assuming availability. As this conversion needs to touch large number of source files, the following script is used as the basis of conversion. http://userweb.kernel.org/~tj/misc/slabh-sweep.py The script does the followings. * Scan files for gfp and slab usages and update includes such that only the necessary includes are there. ie. if only gfp is used, gfp.h, if slab is used, slab.h. * When the script inserts a new include, it looks at the include blocks and try to put the new include such that its order conforms to its surrounding. It's put in the include block which contains core kernel includes, in the same order that the rest are ordered - alphabetical, Christmas tree, rev-Xmas-tree or at the end if there doesn't seem to be any matching order. * If the script can't find a place to put a new include (mostly because the file doesn't have fitting include block), it prints out an error message indicating which .h file needs to be added to the file. The conversion was done in the following steps. 1. The initial automatic conversion of all .c files updated slightly over 4000 files, deleting around 700 includes and adding ~480 gfp.h and ~3000 slab.h inclusions. The script emitted errors for ~400 files. 2. Each error was manually checked. Some didn't need the inclusion, some needed manual addition while adding it to implementation .h or embedding .c file was more appropriate for others. This step added inclusions to around 150 files. 3. The script was run again and the output was compared to the edits from #2 to make sure no file was left behind. 4. Several build tests were done and a couple of problems were fixed. e.g. lib/decompress_*.c used malloc/free() wrappers around slab APIs requiring slab.h to be added manually. 5. The script was run on all .h files but without automatically editing them as sprinkling gfp.h and slab.h inclusions around .h files could easily lead to inclusion dependency hell. Most gfp.h inclusion directives were ignored as stuff from gfp.h was usually wildly available and often used in preprocessor macros. Each slab.h inclusion directive was examined and added manually as necessary. 6. percpu.h was updated not to include slab.h. 7. Build test were done on the following configurations and failures were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my distributed build env didn't work with gcov compiles) and a few more options had to be turned off depending on archs to make things build (like ipr on powerpc/64 which failed due to missing writeq). * x86 and x86_64 UP and SMP allmodconfig and a custom test config. * powerpc and powerpc64 SMP allmodconfig * sparc and sparc64 SMP allmodconfig * ia64 SMP allmodconfig * s390 SMP allmodconfig * alpha SMP allmodconfig * um on x86_64 SMP allmodconfig 8. percpu.h modifications were reverted so that it could be applied as a separate patch and serve as bisection point. Given the fact that I had only a couple of failures from tests on step 6, I'm fairly confident about the coverage of this conversion patch. If there is a breakage, it's likely to be something in one of the arch headers which should be easily discoverable easily on most builds of the specific arch. Signed-off-by:
Tejun Heo <tj@kernel.org> Guess-its-ok-by:
Christoph Lameter <cl@linux-foundation.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
-
- 29 Mar, 2010 1 commit
-
-
Paul Mundt authored
We want to get rid of the clock string from platform data entirely, depending on the clkdev-based clock lookup to do the right thing for us instead. This converts all of the SH drivers to request their associated function clocks directly, and if there is no match for that then we fall back on the legacy lookup while warning about it. After all of the outstanding CPUs have been converted to clkdev lookups the clock string will be killed off completely. Signed-off-by:
Paul Mundt <lethal@linux-sh.org>
-
- 10 Mar, 2010 1 commit
-
-
Paul Mundt authored
There is no need to copy in the name from the sh timer config now that dev_name() is available early. We prefer the dev_name() variant for consistent naming. Signed-off-by:
Paul Mundt <lethal@linux-sh.org>
-
- 25 Feb, 2010 1 commit
-
-
Paul Mundt authored
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 <rafaelignacio.zurita@gmail.com> Cc: stable@kernel.org Signed-off-by:
Paul Mundt <lethal@linux-sh.org>
-
- 05 Feb, 2010 1 commit
-
-
Magnus Damm authored
Add code to start the CMT timer on clocksource resume. While at it handle the suspend case as well. Remove the platform device specific suspend calls. This makes sure the timer is started during sysdev_resume(). Without this patch the clocksource may be read as suspended, this after sysdev resume but before platform device resume. Signed-off-by:
Magnus Damm <damm@opensource.se> Cc: john stultz <johnstul@us.ibm.com> Cc: Paul Mundt <lethal@linux-sh.org> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Thomas Gleixner <tglx@linutronix.de>
-
- 15 Aug, 2009 1 commit
-
-
Magnus Damm authored
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 <damm@igel.co.jp> Signed-off-by:
Paul Mundt <lethal@linux-sh.org>
-
- 17 Jun, 2009 1 commit
-
-
Magnus Damm authored
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 <damm@igel.co.jp> Signed-off-by:
Paul Mundt <lethal@linux-sh.org>
-
- 14 Jun, 2009 1 commit
-
-
Paul Mundt authored
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 <lethal@linux-sh.org>
-
- 03 May, 2009 2 commits
-
-
Paul Mundt authored
Neither of these need to be exported, so just make them static. Signed-off-by:
Paul Mundt <lethal@linux-sh.org>
-
Paul Mundt authored
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 <lethal@linux-sh.org>
-