#
740e237a |
| 11-Jun-2017 |
Linus Walleij <linus.walleij@linaro.org> |
clocksource/drivers/fttmr010: Optimize sched_clock()
The sched_clock() call should be really fast so we want to avoid an extra if() clause on the read path if possible.
Implement two sched_clock_re
clocksource/drivers/fttmr010: Optimize sched_clock()
The sched_clock() call should be really fast so we want to avoid an extra if() clause on the read path if possible.
Implement two sched_clock_read() functions, one if the timer counts up and one if it counts down. Incidentally this also mirrors how clocksource_mmio_init() works and make things simple and easy to understand.
Suggested-by: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: Andrew Jeffery <andrew@aj.id.au> Cc: Joel Stanley <joel@jms.id.au> Cc: Jonas Jensen <jonas.jensen@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
show more ...
|
#
17273395 |
| 26-May-2017 |
Daniel Lezcano <daniel.lezcano@linaro.org> |
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
The CLOCKSOURCE_OF_DECLARE macro is used widely for the timers to declare the clocksource at early stage. However, this macro i
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
The CLOCKSOURCE_OF_DECLARE macro is used widely for the timers to declare the clocksource at early stage. However, this macro is also used to initialize the clockevent if any, or the clockevent only.
It was originally suggested to declare another macro to initialize a clockevent, so in order to separate the two entities even they belong to the same IP. This was not accepted because of the impact on the DT where splitting a clocksource/clockevent definition does not make sense as it is a Linux concept not a hardware description.
On the other side, the clocksource has not interrupt declared while the clockevent has, so it is easy from the driver to know if the description is for a clockevent or a clocksource, IOW it could be implemented at the driver level.
So instead of dealing with a named clocksource macro, let's use a more generic one: TIMER_OF_DECLARE.
The patch has not functional changes.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Acked-by: Heiko Stuebner <heiko@sntech.de> Acked-by: Neil Armstrong <narmstrong@baylibre.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Matthias Brugger <matthias.bgg@gmail.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
show more ...
|
#
ef89718a |
| 26-May-2017 |
Daniel Lezcano <daniel.lezcano@linaro.org> |
clocksource/drivers/fttmr010: Fix aspeed-2500 initialization
The recent changes made the fttmr010 to be more generic and support different timers with a very few differences like moxart or aspeed.
clocksource/drivers/fttmr010: Fix aspeed-2500 initialization
The recent changes made the fttmr010 to be more generic and support different timers with a very few differences like moxart or aspeed.
The aspeed timer uses a countdown and there is a test against the aspeed2400 compatible string to set a flag.
With the previous patch, we added the aspeed2500 compatible string but without taking care of setting the countdown flag.
Fix this by specifiying a init function and pass the aspeed flag to a common init function.
Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Tested-by: Andrew Jeffery <andrew@aj.id.au> Reviewed-by: Andrew Jeffery <andrew@aj.id.au> Acked-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
show more ...
|
#
a6fbb9c4 |
| 25-May-2017 |
Daniel Lezcano <daniel.lezcano@linaro.org> |
clocksource/drivers/fttmr010: Add AST2500 compatible string
Also clean up space-before-tab issues in the documentation.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Acked-by: Joel Stanley <joel@
clocksource/drivers/fttmr010: Add AST2500 compatible string
Also clean up space-before-tab issues in the documentation.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Acked-by: Joel Stanley <joel@jms.id.au> Acked-by: Rob Herring <robh@kernel.org> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
show more ...
|
Revision tags: v4.10.17 |
|
#
ec14ba1e |
| 18-May-2017 |
Linus Walleij <linus.walleij@linaro.org> |
clocksource/drivers/fttmr010: Merge Moxa into FTTMR010
This merges the Moxa Art timer driver into the Faraday FTTMR010 driver and replaces all Kconfig symbols to use the Faraday driver instead. We a
clocksource/drivers/fttmr010: Merge Moxa into FTTMR010
This merges the Moxa Art timer driver into the Faraday FTTMR010 driver and replaces all Kconfig symbols to use the Faraday driver instead. We are now so similar that the drivers can be merged by just adding a few lines to the Faraday timer.
Differences:
- The Faraday driver explicitly sets the counter to count upwards for the clocksource, removing the need for the clocksource core to invert the value.
- The Faraday driver also handles sched_clock()
On the Aspeed, the counter can only count downwards, so support the timers in downward-counting mode as well, and flag the Aspeed to use this mode. This mode was tested on the Gemini so I have high hopes that it'll work fine on the Aspeed as well.
After this we have one driver for all three SoCs and a generic Faraday FTTMR010 timer driver, which is nice.
Cc: Joel Stanley <joel@jms.id.au> Cc: Jonas Jensen <jonas.jensen@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Joel Stanley <joel@jms.id.au> Tested-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
show more ...
|
#
b589da8b |
| 18-May-2017 |
Linus Walleij <linus.walleij@linaro.org> |
clocksource/drivers/fttmr010: Switch to use TIMER2 src
This switches the clocksource to TIMER2 like the Moxart driver does. Mainly to make it more similar to the Moxart/Aspeed driver but also becaus
clocksource/drivers/fttmr010: Switch to use TIMER2 src
This switches the clocksource to TIMER2 like the Moxart driver does. Mainly to make it more similar to the Moxart/Aspeed driver but also because it seems more neat to use the timers in order: use timer 1, then timer 2.
Cc: Joel Stanley <joel@jms.id.au> Tested-by: Jonas Jensen <jonas.jensen@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
show more ...
|
#
d0d76d57 |
| 18-May-2017 |
Linus Walleij <linus.walleij@linaro.org> |
clocksource/drivers/fttmr010: Switch to use bitops
This switches the drivers to use the bitops BIT() macro to define bits.
Cc: Joel Stanley <joel@jms.id.au> Tested-by: Jonas Jensen <jonas.jensen@gm
clocksource/drivers/fttmr010: Switch to use bitops
This switches the drivers to use the bitops BIT() macro to define bits.
Cc: Joel Stanley <joel@jms.id.au> Tested-by: Jonas Jensen <jonas.jensen@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
show more ...
|
#
e7bad212 |
| 18-May-2017 |
Linus Walleij <linus.walleij@linaro.org> |
clocksource/drivers/fttmr010: Use state container
This converts the Faraday FTTMR010 to use the state container design pattern. Take some care to handle the state container and free:ing of resources
clocksource/drivers/fttmr010: Use state container
This converts the Faraday FTTMR010 to use the state container design pattern. Take some care to handle the state container and free:ing of resources as has been done in the Moxa driver.
Cc: Joel Stanley <joel@jms.id.au> Tested-by: Jonas Jensen <jonas.jensen@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
show more ...
|
#
dd98442e |
| 18-May-2017 |
Linus Walleij <linus.walleij@linaro.org> |
clocksource/drivers/fttmr010: Drop Gemini specifics
The Gemini now has a proper clock driver and a proper PCLK assigned in its device tree. Drop the Gemini-specific hacks to look up the system speed
clocksource/drivers/fttmr010: Drop Gemini specifics
The Gemini now has a proper clock driver and a proper PCLK assigned in its device tree. Drop the Gemini-specific hacks to look up the system speed and rely on the clock framework like everyone else.
Cc: Joel Stanley <joel@jms.id.au> Tested-by: Jonas Jensen <jonas.jensen@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
show more ...
|
#
2a55e98f |
| 18-May-2017 |
Linus Walleij <linus.walleij@linaro.org> |
clocksource/drivers/fttmr010: Fix the clock handling
We need to also prepare and enable the clock we are using to get the right reference count and avoid it being shut off.
Tested-by: Jonas Jensen
clocksource/drivers/fttmr010: Fix the clock handling
We need to also prepare and enable the clock we are using to get the right reference count and avoid it being shut off.
Tested-by: Jonas Jensen <jonas.jensen@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
show more ...
|
#
eadcbfa5 |
| 02-Jun-2017 |
Dmitry Torokhov <dmitry.torokhov@gmail.com> |
Merge tag 'v4.12-rc3' into for-linus
Merge with mainline to get acpi_dev_present() needed by patches to axp20x-pek driver.
|
#
d8f797c6 |
| 29-May-2017 |
Dmitry Torokhov <dmitry.torokhov@gmail.com> |
Merge tag 'v4.12-rc3' into next
Sync with mainline to bring in changes in platform drovers dropping calls to sparse_keymap_free() so that we can remove it for good.
|
#
d68c51e0 |
| 22-May-2017 |
James Morris <james.l.morris@oracle.com> |
Sync to mainline for security submaintainers to work against
|
#
6b7781b4 |
| 18-May-2017 |
Sean Paul <seanpaul@chromium.org> |
Merge remote-tracking branch 'airlied/drm-next' into drm-misc-next
Picking up drm-next @ 4.12-rc1 in order to apply Michal Hocko's vmalloc patch set
Signed-off-by: Sean Paul <seanpaul@chromium.org>
|
#
c316cf67 |
| 15-May-2017 |
Brian Norris <computersforpeace@gmail.com> |
Merge 'v4.12-rc1' into MTD
Bring a few queued patches in sync for -next development.
|
#
6d469a20 |
| 14-May-2017 |
Mauro Carvalho Chehab <mchehab@s-opensource.com> |
Merge tag 'v4.12-rc1' into patchwork
Linux 4.12-rc1
* tag 'v4.12-rc1': (13212 commits) Linux 4.12-rc1 mm, docs: update memory.stat description with workingset* entries mm: vmscan: scan until
Merge tag 'v4.12-rc1' into patchwork
Linux 4.12-rc1
* tag 'v4.12-rc1': (13212 commits) Linux 4.12-rc1 mm, docs: update memory.stat description with workingset* entries mm: vmscan: scan until it finds eligible pages mm, thp: copying user pages must schedule on collapse dax: fix PMD data corruption when fault races with write dax: fix data corruption when fault races with write ext4: return to starting transaction in ext4_dax_huge_fault() mm: fix data corruption due to stale mmap reads dax: prevent invalidation of mapped DAX entries Tigran has moved mm, vmalloc: fix vmalloc users tracking properly mm/khugepaged: add missed tracepoint for collapse_huge_page_swapin gcov: support GCC 7.1 mm, vmstat: Remove spurious WARN() during zoneinfo print time: delete current_fs_time() hwpoison, memcg: forcibly uncharge LRU pages sound: Disable the build of OSS drivers drm/i915: Make vblank evade warnings optional Input: cros_ec_keyb - remove extraneous 'const' drm/nouveau/therm: remove ineffective workarounds for alarm bugs ...
show more ...
|
Revision tags: v4.10.16, v4.10.15 |
|
#
415812f2 |
| 05-May-2017 |
Ingo Molnar <mingo@kernel.org> |
Merge branch 'linus' into x86/urgent, to pick up dependent commits
We are going to fix a bug introduced by a more recent commit, so refresh the tree.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
|
Revision tags: v4.10.14 |
|
#
174ddfd5 |
| 01-May-2017 |
Linus Torvalds <torvalds@linux-foundation.org> |
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull timer updates from Thomas Gleixner: "The timer departement delivers:
- more year 2038 rework
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull timer updates from Thomas Gleixner: "The timer departement delivers:
- more year 2038 rework
- a massive rework of the arm achitected timer
- preparatory patches to allow NTP correction of clock event devices to avoid early expiry
- the usual pile of fixes and enhancements all over the place"
* 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (91 commits) timer/sysclt: Restrict timer migration sysctl values to 0 and 1 arm64/arch_timer: Mark errata handlers as __maybe_unused Clocksource/mips-gic: Remove redundant non devicetree init MIPS/Malta: Probe gic-timer via devicetree clocksource: Use GENMASK_ULL in definition of CLOCKSOURCE_MASK acpi/arm64: Add SBSA Generic Watchdog support in GTDT driver clocksource: arm_arch_timer: add GTDT support for memory-mapped timer acpi/arm64: Add memory-mapped timer support in GTDT driver clocksource: arm_arch_timer: simplify ACPI support code. acpi/arm64: Add GTDT table parse driver clocksource: arm_arch_timer: split MMIO timer probing. clocksource: arm_arch_timer: add structs to describe MMIO timer clocksource: arm_arch_timer: move arch_timer_needs_of_probing into DT init call clocksource: arm_arch_timer: refactor arch_timer_needs_probing clocksource: arm_arch_timer: split dt-only rate handling x86/uv/time: Set ->min_delta_ticks and ->max_delta_ticks unicore32/time: Set ->min_delta_ticks and ->max_delta_ticks um/time: Set ->min_delta_ticks and ->max_delta_ticks tile/time: Set ->min_delta_ticks and ->max_delta_ticks score/time: Set ->min_delta_ticks and ->max_delta_ticks ...
show more ...
|
Revision tags: v4.10.13, v4.10.12, v4.10.11 |
|
#
821596a5 |
| 17-Apr-2017 |
Thomas Gleixner <tglx@linutronix.de> |
Merge branch 'clockevents/4.12' of https://git.linaro.org/people/daniel.lezcano/linux into timers/core
Pull clockevents updates from Daniel Lezcano
- Provide a framework to handle errata gracefuly
Merge branch 'clockevents/4.12' of https://git.linaro.org/people/daniel.lezcano/linux into timers/core
Pull clockevents updates from Daniel Lezcano
- Provide a framework to handle errata gracefuly for arm_arch_timer (Mark Zyngier)
- Clarify the DT properties for the rockchip timer and add the clocksource as an alternative to the bogus architected timer (Alexander Kochetkov)
- Rename the Gemini timer to Faraday timer fttmr010 and provide a specific initialization for Gemini (Linus Walleij)
- Add missing newlines in the error message in the timers (Rafał Miłecki)
- Read the clock once and implement the delay timer on Orion (Russell King)
show more ...
|
Revision tags: v4.10.10, v4.10.9, v4.10.8, v4.10.7, v4.10.6 |
|
#
28e71e2f |
| 24-Mar-2017 |
Linus Walleij <linus.walleij@linaro.org> |
clocksource/drivers/fttmr010: Refactor to handle clock
The plain Faraday FTTMR010 timer needs a clock to figure out its tick rate, and the gemini reads it directly from the system controller set-up.
clocksource/drivers/fttmr010: Refactor to handle clock
The plain Faraday FTTMR010 timer needs a clock to figure out its tick rate, and the gemini reads it directly from the system controller set-up. Split the init function and add two paths for the two compatible-strings. We only support clocking using PCLK because of lack of documentation on how EXTCLK works.
The Gemini still works like before, but we can also support a generic, clock-based version.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
show more ...
|
#
f5bf0ee4 |
| 24-Mar-2017 |
Linus Walleij <linus.walleij@linaro.org> |
clocksource/drivers/gemini: Rename Gemini timer to Faraday
After some research it turns out that the "Gemini" timer is actually a generic IP block from Faraday Technology named FTTMR010, so as to no
clocksource/drivers/gemini: Rename Gemini timer to Faraday
After some research it turns out that the "Gemini" timer is actually a generic IP block from Faraday Technology named FTTMR010, so as to not make things too confusing we need to rename the driver and its symbols to make sense.
The implementation remains the same in this patch but we fix the copy-paste error in the timer name "nomadik_mtu" as we're at it.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
show more ...
|