- 10 8月, 2015 1 次提交
-
-
由 Viresh Kumar 提交于
Migrate cadence_ttc driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Michal Simek <michal.simek@xilinx.com> Cc: Sören Brinkmann <soren.brinkmann@xilinx.com> Signed-off-by: NViresh Kumar <viresh.kumar@linaro.org> Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org> Tested-by: NSören Brinkmann <soren.brinkmann@xilinx.com>
-
- 29 9月, 2014 1 次提交
-
-
由 Michal Simek 提交于
New TTCs support 32bit mode. Older versions support only 16bit modes. Keep 16bit mode as default and 32bit optional. Signed-off-by: NMichal Simek <michal.simek@xilinx.com> Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org>
-
- 20 5月, 2014 1 次提交
-
-
由 Michal Simek 提交于
For supporting ARM big-endian is necessary to use proper IO endianess accessors. Based on Ben Dooks BE guide. Similar conversion is done here: "mv_xor: use {readl, writel}_relaxed instead of __raw_{readl, writel}" (sha1: 5733c38a) Signed-off-by: NMichal Simek <michal.simek@xilinx.com>
-
- 12 3月, 2014 2 次提交
-
-
由 Soren Brinkmann 提交于
The currently used method adjusting the clocksource to a changing input frequency does not work on kernels from 3.11 on. The new approach is to keep the timer frequency as constant as possible. I.e. - due to the TTC's prescaler limitations, allow frequency changes only if the frequency scales by a power of 2 - adjust the counter's divider on the fly when a frequency change occurs This limits cpufreq to scale by certain factors only. But we may keep the time base somewhat constant, so that sleep() & co keep working as expected, while supporting cpufreq. Signed-off-by: NSoren Brinkmann <soren.brinkmann@xilinx.com> Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org> Acked-by: NMichal Simek <michal.simek@xilinx.com>
-
由 Soren Brinkmann 提交于
The timer core takes care of serialization and IRQs. Hence the driver is no longer required to disable interrupts when calling clockevents_update_freq(). Signed-off-by: NSoren Brinkmann <soren.brinkmann@xilinx.com> Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org> Acked-by: NMichal Simek <michal.simek@xilinx.com>
-
- 30 12月, 2013 1 次提交
-
-
由 Soren Brinkmann 提交于
When the kernel is compiled with: CONFIG_HIGH_RES_TIMERS=no CONFIG_HZ_PERIODIC=yes CONFIG_DEBUG_ATOMIC_SLEEP=yes The following WARN appears: WARNING: CPU: 1 PID: 0 at linux/kernel/mutex.c:856 mutex_trylock+0x70/0x1fc() DEBUG_LOCKS_WARN_ON(in_interrupt()) Modules linked in: CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.12.0-xilinx-dirty #93 [<c0014a78>] (unwind_backtrace+0x0/0x11c) from [<c0011b6c>] (show_stack+0x10/0x14) [<c0011b6c>] (show_stack+0x10/0x14) from [<c039120c>] (dump_stack+0x7c/0xc0) [<c039120c>] (dump_stack+0x7c/0xc0) from [<c001fda4>] (warn_slowpath_common+0x60/0x84) [<c001fda4>] (warn_slowpath_common+0x60/0x84) from [<c001fe48>] (warn_slowpath_fmt+0x2c/0x3c) [<c001fe48>] (warn_slowpath_fmt+0x2c/0x3c) from [<c0392658>] (mutex_trylock+0x70/0x1fc) [<c0392658>] (mutex_trylock+0x70/0x1fc) from [<c02dfc08>] (clk_prepare_lock+0xc/0xe4) [<c02dfc08>] (clk_prepare_lock+0xc/0xe4) from [<c02e099c>] (clk_get_rate+0xc/0x44) [<c02e099c>] (clk_get_rate+0xc/0x44) from [<c02d0394>] (ttc_set_mode+0x34/0x78) [<c02d0394>] (ttc_set_mode+0x34/0x78) from [<c005f794>] (clockevents_set_mode+0x28/0x5c) [<c005f794>] (clockevents_set_mode+0x28/0x5c) from [<c00607fc>] (tick_broadcast_on_off+0x190/0x1c0) [<c00607fc>] (tick_broadcast_on_off+0x190/0x1c0) from [<c005f168>] (clockevents_notify+0x58/0x1ac) [<c005f168>] (clockevents_notify+0x58/0x1ac) from [<c02b99dc>] (cpuidle_setup_broadcast_timer+0x20/0x24) [<c02b99dc>] (cpuidle_setup_broadcast_timer+0x20/0x24) from [<c006cd04>] (generic_smp_call_function_single_interrupt+0) [<c006cd04>] (generic_smp_call_function_single_interrupt+0xe0/0x130) from [<c00138c8>] (handle_IPI+0x88/0x118) [<c00138c8>] (handle_IPI+0x88/0x118) from [<c0008504>] (gic_handle_irq+0x58/0x60) [<c0008504>] (gic_handle_irq+0x58/0x60) from [<c0012644>] (__irq_svc+0x44/0x78) Exception stack(0xef099fa0 to 0xef099fe8) 9fa0: 00000001 ef092100 00000000 ef092100 ef098000 00000015 c0399f2c c0579d74 9fc0: 0000406a 413fc090 00000000 00000000 00000000 ef099fe8 c00666ec c000f46c 9fe0: 20000113 ffffffff [<c0012644>] (__irq_svc+0x44/0x78) from [<c000f46c>] (arch_cpu_idle+0x34/0x3c) [<c000f46c>] (arch_cpu_idle+0x34/0x3c) from [<c0053980>] (cpu_startup_entry+0xa8/0x10c) [<c0053980>] (cpu_startup_entry+0xa8/0x10c) from [<000085a4>] (0x85a4) We are in an interrupt context (IPI) and we are calling clk_get_rate in the set_mode function which in turn ends up by getting a mutex... Even if that does not hang, it is a potential kernel deadlock. It is not allowed to call clk_get_rate() from interrupt context. To avoid such calls the timer input frequency is stored in the driver's data struct which makes it accessible to the driver in any context. [dlezcano] completed the changelog with the WARN trace and added a more detailed description. Tested on zync zc702. Acked-by: NDaniel Lezcano <daniel.lezcano@linaro.org> Tested-by: NDaniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: NSoren Brinkmann <soren.brinkmann@xilinx.com> Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org>
-
- 11 12月, 2013 2 次提交
-
-
由 Michael Opdenacker 提交于
This patch removes the use of the IRQF_DISABLED flag It's a NOOP since 2.6.35 and it will be removed one day. [dlezcano] : slightly changed the changelog Signed-off-by: NMichael Opdenacker <michael.opdenacker@free-electrons.com> Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org>
-
由 Stephen Boyd 提交于
The 32 bit sched_clock interface now supports 64 bits. Upgrade to the 64 bit function to allow us to remove the 32 bit registration interface. Cc: Soren Brinkmann <soren.brinkmann@xilinx.com> Cc: Michal Simek <monstr@monstr.eu> Tested-by: NSoren Brinkmann <soren.brinkmann@xilinx.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org> Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org>
-
- 18 7月, 2013 2 次提交
-
-
由 Soren Brinkmann 提交于
Reuse the TTC clocksource timer as sched clock provider. Signed-off-by: NSoren Brinkmann <soren.brinkmann@xilinx.com> Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org> Acked-by: NMichal Simek <monstr@monstr.eu>
-
由 Soren Brinkmann 提交于
The clk-provider.h header is not required by this driver. Signed-off-by: NSoren Brinkmann <soren.brinkmann@xilinx.com> Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org>
-
- 27 5月, 2013 1 次提交
-
-
由 Soren Brinkmann 提交于
Migrate the Zynq platform and its drivers to use the new clock controller driver. Signed-off-by: NSoren Brinkmann <soren.brinkmann@xilinx.com> Cc: John Stultz <john.stultz@linaro.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Jiri Slaby <jslaby@suse.cz> Cc: linux-serial@vger.kernel.org Signed-off-by: NMichal Simek <michal.simek@xilinx.com> Acked-by: NMike Turquette <mturquette@linaro.org>
-
- 04 4月, 2013 4 次提交
-
-
由 Michal Simek 提交于
Move zynq timer out of mach folder to generic location and enable it. Signed-off-by: NMichal Simek <michal.simek@xilinx.com>
-
由 Michal Simek 提交于
Remove all xilinx specific names from the driver because this is generic driver for cadence ttc. xttc->ttc ttcps->ttc ... No functional changes in this driver. Signed-off-by: NMichal Simek <michal.simek@xilinx.com>
-
由 Michal Simek 提交于
Use clocksource timer initialization. Signed-off-by: NMichal Simek <michal.simek@xilinx.com>
-
由 Michal Simek 提交于
Use cdns,ttc because this driver is Cadence Rev06 Triple Timer Counter and everybody can use it without xilinx specific function name or probing. Also use standard dt description for timer and also prepare for moving to clocksource initialization. Signed-off-by: NMichal Simek <michal.simek@xilinx.com>
-
- 28 1月, 2013 7 次提交
-
-
由 Soren Brinkmann 提交于
The timers are common to both A9 cores, so let's set the clock event struct's cpumask accordingly, to all possible CPUs. Signed-off-by: NSoren Brinkmann <soren.brinkmann@xilinx.com> Tested-by: NJosh Cartwright <josh.cartwright@ni.com>
-
由 Soren Brinkmann 提交于
Fixing multi line comment style at two locations. Signed-off-by: NSoren Brinkmann <soren.brinkmann@xilinx.com> Tested-by: NJosh Cartwright <josh.cartwright@ni.com>
-
由 Soren Brinkmann 提交于
Some #includes are implicitly included through others, some are just not needed. Signed-off-by: NSoren Brinkmann <soren.brinkmann@xilinx.com> Tested-by: NJosh Cartwright <josh.cartwright@ni.com>
-
由 Soren Brinkmann 提交于
Aligning the columns in a block of #defines, so that the values are starting in the same colum on every line. Signed-off-by: NSoren Brinkmann <soren.brinkmann@xilinx.com> Tested-by: NJosh Cartwright <josh.cartwright@ni.com>
-
由 Soren Brinkmann 提交于
Signed-off-by: NSoren Brinkmann <soren.brinkmann@xilinx.com> Acked-by: NMichal Simek <michal.simek@xilinx.com> Acked-by: NJohn Linn <john.linn@xilinx.com> Tested-by: NJosh Cartwright <josh.cartwright@ni.com>
-
由 Soren Brinkmann 提交于
Acknowedging an interrupt requires to read the interrupt register only. The write was only required to work around a bug in the QEMU implementation of the TTC, which is fixed. Signed-off-by: NSoren Brinkmann <soren.brinkmann@xilinx.com> Acked-by: NPeter Crosthwaite <peter.crosthwaite@xilinx.com> Tested-by: NJosh Cartwright <josh.cartwright@ni.com>
-
由 Soren Brinkmann 提交于
The acronym PSS is deprecated by Xilinx. The correct term, which is also used in Xilinx documentation is PS (processing system). This is just a search and replace: - s/PSS/PS/g - s/pss/ps/g Signed-off-by: NSoren Brinkmann <soren.brinkmann@xilinx.com> Tested-by: NJosh Cartwright <josh.cartwright@ni.com>
-
- 21 11月, 2012 1 次提交
-
-
由 Josh Cartwright 提交于
Now that the TTC driver has proper support for DT bindings, it is not necessary for the registers to be mapped early. They will be mapped during clock initialization using of_iomap(). Remove the early mapping. In addition, remove the extraneous zynq_soc.h include from the timer driver. Signed-off-by: NJosh Cartwright <josh.cartwright@ni.com> Tested-by: NMichal Simek <michal.simek@xilinx.com>
-
- 14 11月, 2012 1 次提交
-
-
由 Josh Cartwright 提交于
Add support for retrieving TTC configuration from device tree. This includes the ability to pull information about the driving clocks from the of_clk bindings. Signed-off-by: NJosh Cartwright <josh.cartwright@ni.com> Acked-by: NMichal Simek <michal.simek@xilinx.com>
-
- 05 11月, 2012 1 次提交
-
-
由 Josh Cartwright 提交于
Move the sys_timer definition out of ttc driver and make it part of the common zynq code. This is preparation for renaming and COMMON_CLK support. Signed-off-by: NJosh Cartwright <josh.cartwright@ni.com> Tested-by: NMichal Simek <michal.simek@xilinx.com>
-
- 21 6月, 2011 1 次提交
-
-
由 John Linn 提交于
The 1st board support is minimal to get a system up and running on the Xilinx platform. This platform reuses the clock implementation from plat-versatile, and it depends entirely on CONFIG_OF support. There is only one board support file which obtains all device information from a device tree dtb file which is passed to the kernel at boot time. Signed-off-by: NJohn Linn <john.linn@xilinx.com>
-