public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Ley Foon Tan <lftan@altera.com>,
	linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-doc@vger.kernel.org, lftan.linux@gmail.com,
	cltang@codesourcery.com
Subject: Re: [PATCH v4 21/29] nios2: Time keeping
Date: Thu, 09 Oct 2014 13:57:36 +0200	[thread overview]
Message-ID: <8312001.XfVQ0Jf4Rn@wuerfel> (raw)
In-Reply-To: <alpine.DEB.2.11.1410081814380.4292@nanos>

On Wednesday 08 October 2014 18:19:52 Thomas Gleixner wrote:
> Ok, got it. It does not change the fact that the above function is
> butt ugly and completely non intuitive.

Agreed, it could at least use a comment to explain the logic behind it.

> I also do not agree, that the DT should not tell which of the timers
> should be used as a clockevent device and which one as a
> clocksource. If you have a better suited clockevent device in your
> FPGA, you cannot use a single instance of the timer thingy as it will
> be registered as a clockevent and not as a clocksource. So explicit
> match values for particular hardware instances would be more flexible,
> but I don't have strong feelings about it either.

Right, things can get arbitrarily complicated when this is combined
with other (optional) timer hardware, as we've seen on ARM before.
I think we have discussed the issue for some ARM timers in length
before and not found a good solution.

The clps711x driver has tried to work around this problem by using
aliases, and it has been discussed for other drivers before.

The main problem with encoding the use of the timer blocks in DT
is that it gets really ugly if we ever want to use a third timer
hardware block in the kernel, e.g. to separate the timer wheel
from the hrtimer, if we decide to expose a particular HW
timer to in-kernel or userland interfaces, or if someone wants
to run an OS on the same hardware that uses the timer hardware
in a completely different way.

	Arnd

  reply	other threads:[~2014-10-09 11:58 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-08  9:29 [PATCH v4 00/29] nios2 Linux kernel port Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 01/29] asm-generic: add generic futex for !CONFIG_SMP Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 02/29] nios2: Assembly macros and definitions Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 03/29] nios2: Kernel booting and initialization Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 04/29] nios2: Exception handling Ley Foon Tan
2014-10-08 22:27   ` Al Viro
2014-10-09  8:31     ` Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 05/29] nios2: Traps exception handling Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 06/29] nios2: Memory management Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 07/29] nios2: I/O Mapping Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 08/29] nios2: MMU Fault handling Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 09/29] nios2: Page table management Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 10/29] nios2: Process management Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 11/29] nios2: Cache handling Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 12/29] nios2: TLB handling Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 13/29] nios2: Interrupt handling Ley Foon Tan
2014-10-08 10:59   ` Thomas Gleixner
2014-10-08  9:29 ` [PATCH v4 14/29] nios2: DMA mapping API Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 15/29] Add ELF machine define for Nios2 Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 16/29] nios2: ELF definitions Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 17/29] nios2: System calls handling Ley Foon Tan
2014-10-09  7:47   ` Tobias Klauser
2014-10-09  8:38     ` Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 18/29] nios2: Signal handling support Ley Foon Tan
2014-10-08 11:29   ` Richard Weinberger
2014-10-09  8:33     ` Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 19/29] nios2: Library functions Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 20/29] nios2: Device tree support Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 21/29] nios2: Time keeping Ley Foon Tan
2014-10-08 10:44   ` Thomas Gleixner
2014-10-08 15:17     ` Arnd Bergmann
2014-10-08 15:20       ` Thomas Gleixner
2014-10-08 15:39         ` Arnd Bergmann
2014-10-08 16:19           ` Thomas Gleixner
2014-10-09 11:57             ` Arnd Bergmann [this message]
2014-10-09  9:00     ` Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 22/29] nios2: Cpuinfo handling Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 23/29] nios2: Miscellaneous header files Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 24/29] nios2: Nios2 registers Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 25/29] nios2: Module support Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 26/29] nios2: ptrace support Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 27/29] MAINTAINERS: Add nios2 maintainer Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 28/29] Documentation: Add documentation for Nios2 architecture Ley Foon Tan
2014-10-08  9:29 ` [PATCH v4 29/29] nios2: Build infrastructure Ley Foon Tan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8312001.XfVQ0Jf4Rn@wuerfel \
    --to=arnd@arndb.de \
    --cc=cltang@codesourcery.com \
    --cc=lftan.linux@gmail.com \
    --cc=lftan@altera.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox