1. 28 Jun, 2016 1 commit
    • Daniel Lezcano's avatar
      clocksource/drivers/sp804: Convert init function to return error · 2ef2538b
      Daniel Lezcano authored
      The init functions do not return any error. They behave as the following:
      
        - panic, thus leading to a kernel crash while another timer may work and
             make the system boot up correctly
      
        or
      
        - print an error and let the caller unaware if the state of the system
      
      Change that by converting the init functions to return an error conforming
      to the CLOCKSOURCE_OF_RET prototype.
      
      Proper error handling (rollback, errno value) will be changed later case
      by case, thus this change just return back an error or success in the init
      function.
      Signed-off-by: 's avatarDaniel Lezcano <daniel.lezcano@linaro.org>
      2ef2538b
  2. 03 May, 2016 3 commits
  3. 14 Dec, 2015 1 commit
  4. 02 Jun, 2015 1 commit
  5. 30 Dec, 2014 1 commit
  6. 23 Jul, 2014 1 commit
  7. 26 Sep, 2013 2 commits
  8. 12 Aug, 2013 1 commit
  9. 31 Jul, 2013 2 commits
    • Stephen Boyd's avatar
      clocksource: arch_timer: Add support for memory mapped timers · 22006994
      Stephen Boyd authored
      Add support for the memory mapped timers by filling in the
      read/write functions and adding some parsing code. Note that we
      only register one clocksource, preferring the cp15 based
      clocksource over the mmio one.
      
      To keep things simple we register one global clockevent. This
      covers the case of UP and SMP systems with only mmio hardware and
      systems where the memory mapped timers are used as the broadcast
      timer in low power modes.
      
      The DT binding allows for per-CPU memory mapped timers in case we
      want to support that in the future, but the code isn't added
      here. We also don't do much for hypervisor support, although it
      should be possible to support it by searching for at least two
      frames where one frame has the virtual capability and then
      updating KVM timers to support it.
      
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Marc Zyngier <Marc.Zyngier@arm.com>
      Cc: Rob Herring <robherring2@gmail.com>
      Signed-off-by: 's avatarStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: 's avatarDaniel Lezcano <daniel.lezcano@linaro.org>
      Acked-by: 's avatarMark Rutland <mark.rutland@arm.com>
      22006994
    • Stephen Boyd's avatar
      clocksource: arch_timer: Make register accessors less error-prone · e09f3cc0
      Stephen Boyd authored
      Using an enum for the register we wish to access allows newer
      compilers to determine if we've forgotten a case in our switch
      statement. This allows us to remove the BUILD_BUG() instances in
      the arm64 port, avoiding problems where optimizations may not
      happen.
      
      To try and force better code generation we're currently marking
      the accessor functions as inline, but newer compilers can ignore
      the inline keyword unless it's marked __always_inline. Luckily on
      arm and arm64 inline is __always_inline, but let's make
      everything __always_inline to be explicit.
      Suggested-by: 's avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Marc Zyngier <Marc.Zyngier@arm.com>
      Signed-off-by: 's avatarStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: 's avatarDaniel Lezcano <daniel.lezcano@linaro.org>
      Acked-by: 's avatarMark Rutland <mark.rutland@arm.com>
      e09f3cc0
  10. 07 Jun, 2013 1 commit
    • Mark Rutland's avatar
      clocksource: arch_timer: use virtual counters · 0d651e4e
      Mark Rutland authored
      Switching between reading the virtual or physical counters is
      problematic, as some core code wants a view of time before we're fully
      set up. Using a function pointer and switching the source after the
      first read can make time appear to go backwards, and having a check in
      the read function is an unfortunate block on what we want to be a fast
      path.
      
      Instead, this patch makes us always use the virtual counters. If we're a
      guest, or don't have hyp mode, we'll use the virtual timers, and as such
      don't care about CNTVOFF as long as it doesn't change in such a way as
      to make time appear to travel backwards. As the guest will use the
      virtual timers, a (potential) KVM host must use the physical timers
      (which can wake up the host even if they fire while a guest is
      executing), and hence a host must have CNTVOFF set to zero so as to have
      a consistent view of time between the physical timers and virtual
      counters.
      Signed-off-by: 's avatarMark Rutland <mark.rutland@arm.com>
      Acked-by: 's avatarCatalin Marinas <catalin.marinas@arm.com>
      Acked-by: 's avatarMarc Zyngier <marc.zyngier@arm.com>
      Acked-by: 's avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
      Cc: Rob Herring <rob.herring@calxeda.com>
      0d651e4e
  11. 28 Apr, 2013 3 commits
  12. 20 Apr, 2013 1 commit
    • Tomasz Figa's avatar
      clocksource: add samsung pwm timer driver · f1189989
      Tomasz Figa authored
      This adds a new clocksource driver for the PWM timer that is
      present in most Samsung SoCs, based on the existing driver in
      arch/arm/plat-samsung/samsung-time.c and many changes implemented by
      Tomasz Figa.
      
      Originally, the conversion of all Samsung machines to the new driver was
      planned for 3.10, but that work ended up being too late and too invasive
      just before the merge window.
      
      Unfortunately, other changes in the Exynos platform resulted in some
      Exynos4 setups, particularly the Universal C210 board to be broken. In
      order to fix that with minimum risk, so we now leave the existing pwm
      clocksource driver in place for all older platforms and use the new
      driver only for device tree enabled boards. This way, we can get the
      broken machines running again using DT descriptions.
      
      All clocksource changes were implemented by Tomasz, while the DT
      registration was rewritten by Arnd.
      Signed-off-by: 's avatarArnd Bergmann <arnd@arndb.de>
      Cc: Tomasz Figa <t.figa@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: Ben Dooks <ben-linux@fluff.org>
      Cc: John Stultz <john.stultz@linaro.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      f1189989
  13. 11 Apr, 2013 1 commit
    • Rob Herring's avatar
      ARM: convert arm/arm64 arch timer to use CLKSRC_OF init · 0583fe47
      Rob Herring authored
      This converts arm and arm64 to use CLKSRC_OF DT based initialization for
      the arch timer. A new function arch_timer_arch_init is added to allow for
      arch specific setup.
      
      This has a side effect of enabling sched_clock on omap5 and exynos5. There
      should not be any reason not to use the arch timers for sched_clock.
      Signed-off-by: 's avatarRob Herring <rob.herring@calxeda.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Simon Horman <horms@verge.net.au>
      Cc: Magnus Damm <magnus.damm@gmail.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: John Stultz <john.stultz@linaro.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-samsung-soc@vger.kernel.org
      Cc: linux-omap@vger.kernel.org
      Cc: linux-sh@vger.kernel.org
      Acked-by: 's avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
      0583fe47
  14. 02 Mar, 2013 1 commit
    • James Hogan's avatar
      metag: Time keeping · a2c5d4ed
      James Hogan authored
      Add time keeping code for metag. Meta hardware threads have 2 timers.
      The background timer (TXTIMER) is used as a free-running time base, and
      the interrupt timer (TXTIMERI) is used for the timer interrupt. Both
      counters traditionally count at approximately 1MHz.
      Signed-off-by: 's avatarJames Hogan <james.hogan@imgtec.com>
      Cc: John Stultz <johnstul@us.ibm.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      a2c5d4ed
  15. 11 Feb, 2013 1 commit
  16. 31 Jan, 2013 2 commits
  17. 17 Sep, 2012 1 commit