All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Nicolas Ferre <nicolas.ferre@microchip.com>,
	Alexander Dahl <ada@thorsis.com>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	Alexandre Belloni <alexandre.belloni@bootlin.com>
Subject: [PATCH v2 0/9] clocksource: improve Atmel TCB timer driver
Date: Mon, 15 Apr 2019 17:08:47 +0200	[thread overview]
Message-ID: <20190415150856.9384-1-alexandre.belloni@bootlin.com> (raw)

Hi,

This series immproves the Atmel TCB clocksource driver to address the
most urgent shortcomings:
 - the current tcb_clksrc driver is probed too late to be able to be used at
   boot and we now have SoCs that don't have a PIT. They currently are not able
   to boot an upstream kernel.
 - using the PIT doesn't work well with preempt-rt because its interrupt is
   shared (in particular with the UART) and their interrupt flags are
   incompatible). This also happen with the threadedirq command line
   switch.
 - there is currently no high resolution sched_clock.

The plan is to get those changes upstream as soon as possible as they are fixing
real issues that people are facing. There are further changes needed on the
clocksource driver to try to stop wasting a TCB channel.
The PWM TCB driver will also be changed to actually use the reviewed binding
and this will allow to get rid of atmel_tclib.

Changes in v2:
 - collected acks from Thierry and Arnd
 - dropped most of the atmel_tclib changes that coud be separated.
 - added a patch from kbuild
 - dropped the patch removing the PIT from the defconfig
 - moved the atmel_tcb.h inclusion in drivers/pwm/pwm-atmel-tcb.c as requested
   by Thierry
 - stopped using atmel_tcb_config
 - reworked the irq number parsing to only care for channel 2

Alexandre Belloni (8):
  ARM: at91: move SoC specific definitions to SoC folder
  clocksource/drivers/tcb_clksrc: stop depending on atmel_tclib
  clocksource/drivers/tcb_clksrc: Use tcb as sched_clock
  ARM: at91: Implement clocksource selection
  clocksource/drivers/tcb_clksrc: move Kconfig option
  clocksource/drivers/timer-atmel-pit: rework Kconfig option
  clocksource/drivers/tcb_clksrc: Rename the file for consistency
  misc: atmel_tclib: do not probe already used TCBs

kbuild test robot (1):
  clocksource/drivers/timer-atmel-tcb: tc_clksrc_suspend() can be static

 arch/arm/mach-at91/Kconfig                    |  23 ++++
 drivers/clocksource/Kconfig                   |  12 +-
 drivers/clocksource/Makefile                  |   2 +-
 .../{tcb_clksrc.c => timer-atmel-tcb.c}       | 130 ++++++++++++------
 drivers/misc/Kconfig                          |  24 ----
 drivers/misc/atmel_tclib.c                    |   5 +-
 drivers/pwm/pwm-atmel-tcb.c                   |   2 +-
 .../atmel_tc.h => soc/at91/atmel_tcb.h}       |   4 +-
 8 files changed, 129 insertions(+), 73 deletions(-)
 rename drivers/clocksource/{tcb_clksrc.c => timer-atmel-tcb.c} (79%)
 rename include/{linux/atmel_tc.h => soc/at91/atmel_tcb.h} (99%)

-- 
2.20.1


WARNING: multiple messages have this Message-ID (diff)
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Alexander Dahl <ada@thorsis.com>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	linux-kernel@vger.kernel.org,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 0/9] clocksource: improve Atmel TCB timer driver
Date: Mon, 15 Apr 2019 17:08:47 +0200	[thread overview]
Message-ID: <20190415150856.9384-1-alexandre.belloni@bootlin.com> (raw)

Hi,

This series immproves the Atmel TCB clocksource driver to address the
most urgent shortcomings:
 - the current tcb_clksrc driver is probed too late to be able to be used at
   boot and we now have SoCs that don't have a PIT. They currently are not able
   to boot an upstream kernel.
 - using the PIT doesn't work well with preempt-rt because its interrupt is
   shared (in particular with the UART) and their interrupt flags are
   incompatible). This also happen with the threadedirq command line
   switch.
 - there is currently no high resolution sched_clock.

The plan is to get those changes upstream as soon as possible as they are fixing
real issues that people are facing. There are further changes needed on the
clocksource driver to try to stop wasting a TCB channel.
The PWM TCB driver will also be changed to actually use the reviewed binding
and this will allow to get rid of atmel_tclib.

Changes in v2:
 - collected acks from Thierry and Arnd
 - dropped most of the atmel_tclib changes that coud be separated.
 - added a patch from kbuild
 - dropped the patch removing the PIT from the defconfig
 - moved the atmel_tcb.h inclusion in drivers/pwm/pwm-atmel-tcb.c as requested
   by Thierry
 - stopped using atmel_tcb_config
 - reworked the irq number parsing to only care for channel 2

Alexandre Belloni (8):
  ARM: at91: move SoC specific definitions to SoC folder
  clocksource/drivers/tcb_clksrc: stop depending on atmel_tclib
  clocksource/drivers/tcb_clksrc: Use tcb as sched_clock
  ARM: at91: Implement clocksource selection
  clocksource/drivers/tcb_clksrc: move Kconfig option
  clocksource/drivers/timer-atmel-pit: rework Kconfig option
  clocksource/drivers/tcb_clksrc: Rename the file for consistency
  misc: atmel_tclib: do not probe already used TCBs

kbuild test robot (1):
  clocksource/drivers/timer-atmel-tcb: tc_clksrc_suspend() can be static

 arch/arm/mach-at91/Kconfig                    |  23 ++++
 drivers/clocksource/Kconfig                   |  12 +-
 drivers/clocksource/Makefile                  |   2 +-
 .../{tcb_clksrc.c => timer-atmel-tcb.c}       | 130 ++++++++++++------
 drivers/misc/Kconfig                          |  24 ----
 drivers/misc/atmel_tclib.c                    |   5 +-
 drivers/pwm/pwm-atmel-tcb.c                   |   2 +-
 .../atmel_tc.h => soc/at91/atmel_tcb.h}       |   4 +-
 8 files changed, 129 insertions(+), 73 deletions(-)
 rename drivers/clocksource/{tcb_clksrc.c => timer-atmel-tcb.c} (79%)
 rename include/{linux/atmel_tc.h => soc/at91/atmel_tcb.h} (99%)

-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

             reply	other threads:[~2019-04-15 15:09 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-15 15:08 Alexandre Belloni [this message]
2019-04-15 15:08 ` [PATCH v2 0/9] clocksource: improve Atmel TCB timer driver Alexandre Belloni
2019-04-15 15:08 ` [PATCH v2 1/9] ARM: at91: move SoC specific definitions to SoC folder Alexandre Belloni
2019-04-15 15:08   ` Alexandre Belloni
2019-04-15 15:08 ` [PATCH v2 2/9] clocksource/drivers/tcb_clksrc: stop depending on atmel_tclib Alexandre Belloni
2019-04-15 15:08   ` Alexandre Belloni
2019-04-15 15:08 ` [PATCH v2 3/9] clocksource/drivers/tcb_clksrc: Use tcb as sched_clock Alexandre Belloni
2019-04-15 15:08   ` Alexandre Belloni
2019-04-15 15:08 ` [PATCH v2 4/9] ARM: at91: Implement clocksource selection Alexandre Belloni
2019-04-15 15:08   ` Alexandre Belloni
2019-04-15 15:08 ` [PATCH v2 5/9] clocksource/drivers/tcb_clksrc: move Kconfig option Alexandre Belloni
2019-04-15 15:08   ` Alexandre Belloni
2019-04-16 13:55   ` Daniel Lezcano
2019-04-16 13:55     ` Daniel Lezcano
2019-04-15 15:08 ` [PATCH v2 6/9] clocksource/drivers/timer-atmel-pit: rework " Alexandre Belloni
2019-04-15 15:08   ` Alexandre Belloni
2019-04-15 15:08 ` [PATCH v2 7/9] clocksource/drivers/tcb_clksrc: Rename the file for consistency Alexandre Belloni
2019-04-15 15:08   ` Alexandre Belloni
2019-04-15 15:08 ` [PATCH v2 8/9] clocksource/drivers/timer-atmel-tcb: tc_clksrc_suspend() can be static Alexandre Belloni
2019-04-15 15:08   ` Alexandre Belloni
2019-04-15 15:08 ` [PATCH v2 9/9] misc: atmel_tclib: do not probe already used TCBs Alexandre Belloni
2019-04-15 15:08   ` Alexandre Belloni
2019-04-17 11:50   ` Romain Izard
2019-04-17 11:50     ` Romain Izard
2019-04-17 12:00     ` Alexandre Belloni
2019-04-17 12:00       ` Alexandre Belloni

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=20190415150856.9384-1-alexandre.belloni@bootlin.com \
    --to=alexandre.belloni@bootlin.com \
    --cc=ada@thorsis.com \
    --cc=bigeasy@linutronix.de \
    --cc=daniel.lezcano@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nicolas.ferre@microchip.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.