* [PATCH 0/3] pwm-omap-dmtimer regression fixes @ 2019-01-22 17:57 Tony Lindgren 2019-01-22 17:57 ` [PATCH 1/3] clocksource: timer-ti-dm: Fix pwm dmtimer usage of fck reparenting Tony Lindgren ` (2 more replies) 0 siblings, 3 replies; 10+ messages in thread From: Tony Lindgren @ 2019-01-22 17:57 UTC (permalink / raw) To: linux-kernel Cc: Ladislav Michl, H. Nikolaus Schaller, Daniel Lezcano, Sebastian Reichel, Tero Kristo, Bartosz Golaszewski, Andy Shevchenko, Thierry Reding, Pavel Machek, Keerthy, Thomas Gleixner, linux-omap, linux-arm-kernel Hi all, The Pyra handheld PWM LCD regression in v5.0-rc1 reported by Nikolaus goes back to v4.19 for pwm-omap-dmtimer. Here are patches against v4.19 to fix the issue that also makes pwm-vibra working again for droid 4. Regards, Tony Tony Lindgren (3): clocksource: timer-ti-dm: Fix pwm dmtimer usage of fck reparenting bus: ti-sysc: Fix timer handling with drop pm_runtime_irq_safe() ARM: dts: Configure clock parent for pwm vibra arch/arm/boot/dts/omap4-droid4-xt894.dts | 11 +++++++++++ drivers/bus/ti-sysc.c | 4 ++-- drivers/clocksource/timer-ti-dm.c | 5 ++++- 3 files changed, 17 insertions(+), 3 deletions(-) -- 2.20.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/3] clocksource: timer-ti-dm: Fix pwm dmtimer usage of fck reparenting 2019-01-22 17:57 [PATCH 0/3] pwm-omap-dmtimer regression fixes Tony Lindgren @ 2019-01-22 17:57 ` Tony Lindgren 2019-01-26 18:40 ` Andreas Kemnade 2019-02-12 9:08 ` Daniel Lezcano 2019-01-22 17:57 ` [PATCH 2/3] bus: ti-sysc: Fix timer handling with drop pm_runtime_irq_safe() Tony Lindgren 2019-01-22 17:57 ` [PATCH 3/3] ARM: dts: Configure clock parent for pwm vibra Tony Lindgren 2 siblings, 2 replies; 10+ messages in thread From: Tony Lindgren @ 2019-01-22 17:57 UTC (permalink / raw) To: linux-kernel Cc: Ladislav Michl, Keerthy, Daniel Lezcano, Sebastian Reichel, Tero Kristo, Bartosz Golaszewski, Andy Shevchenko, Thierry Reding, Pavel Machek, H . Nikolaus Schaller, Thomas Gleixner, linux-omap, linux-arm-kernel Commit 84badc5ec5fc ("ARM: dts: omap4: Move l4 child devices to probe them with ti-sysc") moved some omap4 timers to probe with ti-sysc interconnect target module. Turns out this broke pwm-omap-dmtimer where we now try to reparent the clock to itself with the following: omap_dm_timer_of_set_source: failed to set parent With ti-sysc, we can now configure the clock sources in the dts with assigned-clocks and assigned-clock-parents. So we should be able to remove omap_dm_timer_of_set_source with clean-up patches later on. But for now, let's just fix it first by checking if parent and fck are the same and bail out of so. Fixes: 84badc5ec5fc ("ARM: dts: omap4: Move l4 child devices to probe them with ti-sysc") Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: H. Nikolaus Schaller <hns@goldelico.com> Cc: Keerthy <j-keerthy@ti.com> Cc: Ladislav Michl <ladis@linux-mips.org> Cc: Pavel Machek <pavel@ucw.cz> Cc: Sebastian Reichel <sre@kernel.org> Cc: Tero Kristo <t-kristo@ti.com> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Thomas Gleixner <tglx@linutronix.de> Reported-by: H. Nikolaus Schaller <hns@goldelico.com> Signed-off-by: Tony Lindgren <tony@atomide.com> --- drivers/clocksource/timer-ti-dm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/clocksource/timer-ti-dm.c b/drivers/clocksource/timer-ti-dm.c --- a/drivers/clocksource/timer-ti-dm.c +++ b/drivers/clocksource/timer-ti-dm.c @@ -154,6 +154,10 @@ static int omap_dm_timer_of_set_source(struct omap_dm_timer *timer) if (IS_ERR(parent)) return -ENODEV; + /* Bail out if both clocks point to fck */ + if (clk_is_match(parent, timer->fclk)) + return 0; + ret = clk_set_parent(timer->fclk, parent); if (ret < 0) pr_err("%s: failed to set parent\n", __func__); -- 2.20.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] clocksource: timer-ti-dm: Fix pwm dmtimer usage of fck reparenting 2019-01-22 17:57 ` [PATCH 1/3] clocksource: timer-ti-dm: Fix pwm dmtimer usage of fck reparenting Tony Lindgren @ 2019-01-26 18:40 ` Andreas Kemnade 2019-01-26 19:30 ` H. Nikolaus Schaller 2019-02-12 9:08 ` Daniel Lezcano 1 sibling, 1 reply; 10+ messages in thread From: Andreas Kemnade @ 2019-01-26 18:40 UTC (permalink / raw) To: Tony Lindgren Cc: Ladislav Michl, H . Nikolaus Schaller, Daniel Lezcano, linux-kernel, Sebastian Reichel, Tero Kristo, Bartosz Golaszewski, Andy Shevchenko, Thierry Reding, Pavel Machek, Keerthy, Thomas Gleixner, linux-omap, linux-arm-kernel [-- Attachment #1.1: Type: text/plain, Size: 842 bytes --] On Tue, 22 Jan 2019 09:57:15 -0800 Tony Lindgren <tony@atomide.com> wrote: > Commit 84badc5ec5fc ("ARM: dts: omap4: Move l4 child devices to probe > them with ti-sysc") moved some omap4 timers to probe with ti-sysc > interconnect target module. Turns out this broke pwm-omap-dmtimer > where we now try to reparent the clock to itself with the following: > > omap_dm_timer_of_set_source: failed to set parent > > With ti-sysc, we can now configure the clock sources in the dts > with assigned-clocks and assigned-clock-parents. So we should be able > to remove omap_dm_timer_of_set_source with clean-up patches later on. > But for now, let's just fix it first by checking if parent and fck > are the same and bail out of so. > together with 2/3 it fixes things on pyra Tested-By: Andreas Kemnade <andreas@kemnade.info> [-- Attachment #1.2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 833 bytes --] [-- Attachment #2: Type: text/plain, Size: 176 bytes --] _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] clocksource: timer-ti-dm: Fix pwm dmtimer usage of fck reparenting 2019-01-26 18:40 ` Andreas Kemnade @ 2019-01-26 19:30 ` H. Nikolaus Schaller 0 siblings, 0 replies; 10+ messages in thread From: H. Nikolaus Schaller @ 2019-01-26 19:30 UTC (permalink / raw) To: Tony Lindgren Cc: Ladislav Michl, Keerthy, Daniel Lezcano, LKML, Sebastian Reichel, Tero Kristo, Bartosz Golaszewski, Andy Shevchenko, Thierry Reding, Pavel Machek, Andreas Kemnade, Thomas Gleixner, linux-omap, linux-arm-kernel > Am 26.01.2019 um 19:40 schrieb Andreas Kemnade <andreas@kemnade.info>: > > On Tue, 22 Jan 2019 09:57:15 -0800 > Tony Lindgren <tony@atomide.com> wrote: > >> Commit 84badc5ec5fc ("ARM: dts: omap4: Move l4 child devices to probe >> them with ti-sysc") moved some omap4 timers to probe with ti-sysc >> interconnect target module. Turns out this broke pwm-omap-dmtimer >> where we now try to reparent the clock to itself with the following: >> >> omap_dm_timer_of_set_source: failed to set parent >> >> With ti-sysc, we can now configure the clock sources in the dts >> with assigned-clocks and assigned-clock-parents. So we should be able >> to remove omap_dm_timer_of_set_source with clean-up patches later on. >> But for now, let's just fix it first by checking if parent and fck >> are the same and bail out of so. >> > together with 2/3 it fixes things on pyra > > Tested-By: Andreas Kemnade <andreas@kemnade.info> Tested-By: H. Nikolaus Schaller <hns@goldelico.com> _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] clocksource: timer-ti-dm: Fix pwm dmtimer usage of fck reparenting 2019-01-22 17:57 ` [PATCH 1/3] clocksource: timer-ti-dm: Fix pwm dmtimer usage of fck reparenting Tony Lindgren 2019-01-26 18:40 ` Andreas Kemnade @ 2019-02-12 9:08 ` Daniel Lezcano 2019-02-12 15:29 ` Tony Lindgren 1 sibling, 1 reply; 10+ messages in thread From: Daniel Lezcano @ 2019-02-12 9:08 UTC (permalink / raw) To: Tony Lindgren, linux-kernel Cc: Ladislav Michl, Keerthy, Sebastian Reichel, Tero Kristo, Bartosz Golaszewski, Andy Shevchenko, Thierry Reding, Pavel Machek, H . Nikolaus Schaller, Thomas Gleixner, linux-omap, linux-arm-kernel On 22/01/2019 18:57, Tony Lindgren wrote: > Commit 84badc5ec5fc ("ARM: dts: omap4: Move l4 child devices to probe > them with ti-sysc") moved some omap4 timers to probe with ti-sysc > interconnect target module. Turns out this broke pwm-omap-dmtimer > where we now try to reparent the clock to itself with the following: > > omap_dm_timer_of_set_source: failed to set parent > > With ti-sysc, we can now configure the clock sources in the dts > with assigned-clocks and assigned-clock-parents. So we should be able > to remove omap_dm_timer_of_set_source with clean-up patches later on. > But for now, let's just fix it first by checking if parent and fck > are the same and bail out of so. > > Fixes: 84badc5ec5fc ("ARM: dts: omap4: Move l4 child devices to probe > them with ti-sysc") > Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com> > Cc: Daniel Lezcano <daniel.lezcano@linaro.org> > Cc: H. Nikolaus Schaller <hns@goldelico.com> > Cc: Keerthy <j-keerthy@ti.com> > Cc: Ladislav Michl <ladis@linux-mips.org> > Cc: Pavel Machek <pavel@ucw.cz> > Cc: Sebastian Reichel <sre@kernel.org> > Cc: Tero Kristo <t-kristo@ti.com> > Cc: Thierry Reding <thierry.reding@gmail.com> > Cc: Thomas Gleixner <tglx@linutronix.de> > Reported-by: H. Nikolaus Schaller <hns@goldelico.com> > Signed-off-by: Tony Lindgren <tony@atomide.com> > --- Do you want me to take it through my tree (1 et 3)? > drivers/clocksource/timer-ti-dm.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/clocksource/timer-ti-dm.c b/drivers/clocksource/timer-ti-dm.c > --- a/drivers/clocksource/timer-ti-dm.c > +++ b/drivers/clocksource/timer-ti-dm.c > @@ -154,6 +154,10 @@ static int omap_dm_timer_of_set_source(struct omap_dm_timer *timer) > if (IS_ERR(parent)) > return -ENODEV; > > + /* Bail out if both clocks point to fck */ > + if (clk_is_match(parent, timer->fclk)) > + return 0; > + > ret = clk_set_parent(timer->fclk, parent); > if (ret < 0) > pr_err("%s: failed to set parent\n", __func__); > -- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] clocksource: timer-ti-dm: Fix pwm dmtimer usage of fck reparenting 2019-02-12 9:08 ` Daniel Lezcano @ 2019-02-12 15:29 ` Tony Lindgren 0 siblings, 0 replies; 10+ messages in thread From: Tony Lindgren @ 2019-02-12 15:29 UTC (permalink / raw) To: Daniel Lezcano Cc: Ladislav Michl, Keerthy, linux-kernel, Sebastian Reichel, Tero Kristo, Bartosz Golaszewski, Andy Shevchenko, Thierry Reding, Pavel Machek, H . Nikolaus Schaller, Thomas Gleixner, linux-omap, linux-arm-kernel Hi, * Daniel Lezcano <daniel.lezcano@linaro.org> [190212 09:08]: > > Do you want me to take it through my tree (1 et 3)? No need to thanks, I already sent a pull request on them as "[GIT PULL] omap soc regression fixes for v5.0-rc cycle" with you in Cc. Regards, Tony _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 2/3] bus: ti-sysc: Fix timer handling with drop pm_runtime_irq_safe() 2019-01-22 17:57 [PATCH 0/3] pwm-omap-dmtimer regression fixes Tony Lindgren 2019-01-22 17:57 ` [PATCH 1/3] clocksource: timer-ti-dm: Fix pwm dmtimer usage of fck reparenting Tony Lindgren @ 2019-01-22 17:57 ` Tony Lindgren 2019-01-26 18:41 ` Andreas Kemnade 2019-01-22 17:57 ` [PATCH 3/3] ARM: dts: Configure clock parent for pwm vibra Tony Lindgren 2 siblings, 1 reply; 10+ messages in thread From: Tony Lindgren @ 2019-01-22 17:57 UTC (permalink / raw) To: linux-kernel Cc: Ladislav Michl, H . Nikolaus Schaller, Daniel Lezcano, Sebastian Reichel, Tero Kristo, Bartosz Golaszewski, Andy Shevchenko, Thierry Reding, Pavel Machek, Keerthy, Thomas Gleixner, linux-omap, linux-arm-kernel Commit 84badc5ec5fc ("ARM: dts: omap4: Move l4 child devices to probe them with ti-sysc") started producing a warning for pwm-omap-dmtimer: WARNING: CPU: 0 PID: 77 at drivers/bus/omap_l3_noc.c:147 l3_interrupt_handler+0x2f8/0x388 44000000.ocp:L3 Custom Error: MASTER MPU TARGET L4PER2 (Idle): Data Access in Supervisor mode during Functional access ... __pm_runtime_idle omap_dm_timer_disable pwm_omap_dmtimer_start pwm_omap_dmtimer_enable pwm_apply_state pwm_vibrator_start pwm_vibrator_play_work This is because the timer that pwm-omap-dmtimer is using is now being probed with ti-sysc interconnect target module instead of omap_device and the ti-sysc quirk for SYSC_QUIRK_LEGACY_IDLE is not fully compatible with what omap_device has been doing. We could fix this by reverting the timer changes and have the timer probe again with omap_device. Or we could add more quirk handling to ti-sysc driver. But as these options don't work nicely as longer term solutions, let's just make timers probe with ti-sysc without any quirks. To do this, all we need to do is remove quirks for timers for ti-sysc, and drop the bogus pm_runtime_irq_safe() flag for timer-ti-dm. We should not use pm_runtime_irq_safe() anyways for drivers as it will take a permanent use count on the parent device blocking the parent devices from idling and has been forcing ti-sysc driver to use a quirk flag. Note that we will move the timer data to DEBUG section later on in clean-up patches. Fixes: 84badc5ec5fc ("ARM: dts: omap4: Move l4 child devices to probe them with ti-sysc") Cc: Andy Shevchenko <andy.shevchenko@gmail.com> Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: H. Nikolaus Schaller <hns@goldelico.com> Cc: Keerthy <j-keerthy@ti.com> Cc: Ladislav Michl <ladis@linux-mips.org> Cc: Pavel Machek <pavel@ucw.cz> Cc: Sebastian Reichel <sre@kernel.org> Cc: Tero Kristo <t-kristo@ti.com> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Thomas Gleixner <tglx@linutronix.de> Reported-by: H. Nikolaus Schaller <hns@goldelico.com> Signed-off-by: Tony Lindgren <tony@atomide.com> --- drivers/bus/ti-sysc.c | 4 ++-- drivers/clocksource/timer-ti-dm.c | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c --- a/drivers/bus/ti-sysc.c +++ b/drivers/bus/ti-sysc.c @@ -879,10 +879,10 @@ static const struct sysc_revision_quirk sysc_revision_quirks[] = { SYSC_QUIRK("smartreflex", 0, -1, 0x38, -1, 0x00000000, 0xffffffff, SYSC_QUIRK_LEGACY_IDLE), SYSC_QUIRK("timer", 0, 0, 0x10, 0x14, 0x00000015, 0xffffffff, - SYSC_QUIRK_LEGACY_IDLE), + 0), /* Some timers on omap4 and later */ SYSC_QUIRK("timer", 0, 0, 0x10, -1, 0x4fff1301, 0xffffffff, - SYSC_QUIRK_LEGACY_IDLE), + 0), SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x00000052, 0xffffffff, SYSC_QUIRK_LEGACY_IDLE), /* Uarts on omap4 and later */ diff --git a/drivers/clocksource/timer-ti-dm.c b/drivers/clocksource/timer-ti-dm.c --- a/drivers/clocksource/timer-ti-dm.c +++ b/drivers/clocksource/timer-ti-dm.c @@ -868,7 +868,6 @@ static int omap_dm_timer_probe(struct platform_device *pdev) timer->pdev = pdev; pm_runtime_enable(dev); - pm_runtime_irq_safe(dev); if (!timer->reserved) { ret = pm_runtime_get_sync(dev); -- 2.20.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/3] bus: ti-sysc: Fix timer handling with drop pm_runtime_irq_safe() 2019-01-22 17:57 ` [PATCH 2/3] bus: ti-sysc: Fix timer handling with drop pm_runtime_irq_safe() Tony Lindgren @ 2019-01-26 18:41 ` Andreas Kemnade 2019-01-26 19:31 ` H. Nikolaus Schaller 0 siblings, 1 reply; 10+ messages in thread From: Andreas Kemnade @ 2019-01-26 18:41 UTC (permalink / raw) To: Tony Lindgren Cc: Ladislav Michl, H . Nikolaus Schaller, Daniel Lezcano, linux-kernel, Sebastian Reichel, Tero Kristo, Bartosz Golaszewski, Andy Shevchenko, Thierry Reding, Pavel Machek, Keerthy, Thomas Gleixner, linux-omap, linux-arm-kernel [-- Attachment #1.1: Type: text/plain, Size: 1761 bytes --] On Tue, 22 Jan 2019 09:57:16 -0800 Tony Lindgren <tony@atomide.com> wrote: > Commit 84badc5ec5fc ("ARM: dts: omap4: Move l4 child devices to probe > them with ti-sysc") started producing a warning for pwm-omap-dmtimer: > > WARNING: CPU: 0 PID: 77 at drivers/bus/omap_l3_noc.c:147 > l3_interrupt_handler+0x2f8/0x388 > 44000000.ocp:L3 Custom Error: MASTER MPU TARGET L4PER2 (Idle): > Data Access in Supervisor mode during Functional access > ... > __pm_runtime_idle > omap_dm_timer_disable > pwm_omap_dmtimer_start > pwm_omap_dmtimer_enable > pwm_apply_state > pwm_vibrator_start > pwm_vibrator_play_work > > This is because the timer that pwm-omap-dmtimer is using is now being > probed with ti-sysc interconnect target module instead of omap_device > and the ti-sysc quirk for SYSC_QUIRK_LEGACY_IDLE is not fully > compatible with what omap_device has been doing. > > We could fix this by reverting the timer changes and have the timer > probe again with omap_device. Or we could add more quirk handling to > ti-sysc driver. But as these options don't work nicely as longer term > solutions, let's just make timers probe with ti-sysc without any > quirks. > > To do this, all we need to do is remove quirks for timers for ti-sysc, > and drop the bogus pm_runtime_irq_safe() flag for timer-ti-dm. > > We should not use pm_runtime_irq_safe() anyways for drivers as it will > take a permanent use count on the parent device blocking the parent > devices from idling and has been forcing ti-sysc driver to use a > quirk flag. > > Note that we will move the timer data to DEBUG section later on in > clean-up patches. > together with 1/3 it fixes things on pyra. Tested-By: Andreas Kemnade <andreas@kemnade.info> [-- Attachment #1.2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 833 bytes --] [-- Attachment #2: Type: text/plain, Size: 176 bytes --] _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/3] bus: ti-sysc: Fix timer handling with drop pm_runtime_irq_safe() 2019-01-26 18:41 ` Andreas Kemnade @ 2019-01-26 19:31 ` H. Nikolaus Schaller 0 siblings, 0 replies; 10+ messages in thread From: H. Nikolaus Schaller @ 2019-01-26 19:31 UTC (permalink / raw) To: Tony Lindgren Cc: Ladislav Michl, Keerthy, Daniel Lezcano, LKML, Sebastian Reichel, Tero Kristo, Bartosz Golaszewski, Andy Shevchenko, Thierry Reding, Pavel Machek, Andreas Kemnade, Thomas Gleixner, linux-omap, linux-arm-kernel > Am 26.01.2019 um 19:41 schrieb Andreas Kemnade <andreas@kemnade.info>: > > On Tue, 22 Jan 2019 09:57:16 -0800 > Tony Lindgren <tony@atomide.com> wrote: > >> Commit 84badc5ec5fc ("ARM: dts: omap4: Move l4 child devices to probe >> them with ti-sysc") started producing a warning for pwm-omap-dmtimer: >> >> WARNING: CPU: 0 PID: 77 at drivers/bus/omap_l3_noc.c:147 >> l3_interrupt_handler+0x2f8/0x388 >> 44000000.ocp:L3 Custom Error: MASTER MPU TARGET L4PER2 (Idle): >> Data Access in Supervisor mode during Functional access >> ... >> __pm_runtime_idle >> omap_dm_timer_disable >> pwm_omap_dmtimer_start >> pwm_omap_dmtimer_enable >> pwm_apply_state >> pwm_vibrator_start >> pwm_vibrator_play_work >> >> This is because the timer that pwm-omap-dmtimer is using is now being >> probed with ti-sysc interconnect target module instead of omap_device >> and the ti-sysc quirk for SYSC_QUIRK_LEGACY_IDLE is not fully >> compatible with what omap_device has been doing. >> >> We could fix this by reverting the timer changes and have the timer >> probe again with omap_device. Or we could add more quirk handling to >> ti-sysc driver. But as these options don't work nicely as longer term >> solutions, let's just make timers probe with ti-sysc without any >> quirks. >> >> To do this, all we need to do is remove quirks for timers for ti-sysc, >> and drop the bogus pm_runtime_irq_safe() flag for timer-ti-dm. >> >> We should not use pm_runtime_irq_safe() anyways for drivers as it will >> take a permanent use count on the parent device blocking the parent >> devices from idling and has been forcing ti-sysc driver to use a >> quirk flag. >> >> Note that we will move the timer data to DEBUG section later on in >> clean-up patches. >> > together with 1/3 it fixes things on pyra. > > Tested-By: Andreas Kemnade <andreas@kemnade.info> H. Nikolaus Schaller <hns@goldelico.com> _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 3/3] ARM: dts: Configure clock parent for pwm vibra 2019-01-22 17:57 [PATCH 0/3] pwm-omap-dmtimer regression fixes Tony Lindgren 2019-01-22 17:57 ` [PATCH 1/3] clocksource: timer-ti-dm: Fix pwm dmtimer usage of fck reparenting Tony Lindgren 2019-01-22 17:57 ` [PATCH 2/3] bus: ti-sysc: Fix timer handling with drop pm_runtime_irq_safe() Tony Lindgren @ 2019-01-22 17:57 ` Tony Lindgren 2 siblings, 0 replies; 10+ messages in thread From: Tony Lindgren @ 2019-01-22 17:57 UTC (permalink / raw) To: linux-kernel Cc: Ladislav Michl, Keerthy, Daniel Lezcano, Sebastian Reichel, Tero Kristo, Bartosz Golaszewski, Andy Shevchenko, Thierry Reding, Pavel Machek, H . Nikolaus Schaller, Thomas Gleixner, linux-omap, linux-arm-kernel Commit 84badc5ec5fc ("ARM: dts: omap4: Move l4 child devices to probe them with ti-sysc") moved some omap4 timers to probe with ti-sysc interconnect target module. Turns out this broke pwm-omap-dmtimer for reparenting of the timer clock. With ti-sysc, we can now configure the clock sources in the dts with assigned-clocks and assigned-clock-parents. Fixes: 84badc5ec5fc ("ARM: dts: omap4: Move l4 child devices to probe them with ti-sysc") Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: H. Nikolaus Schaller <hns@goldelico.com> Cc: Keerthy <j-keerthy@ti.com> Cc: Ladislav Michl <ladis@linux-mips.org> Cc: Pavel Machek <pavel@ucw.cz> Cc: Sebastian Reichel <sre@kernel.org> Cc: Tero Kristo <t-kristo@ti.com> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Thomas Gleixner <tglx@linutronix.de> Reported-by: H. Nikolaus Schaller <hns@goldelico.com> Signed-off-by: Tony Lindgren <tony@atomide.com> --- arch/arm/boot/dts/omap4-droid4-xt894.dts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/arch/arm/boot/dts/omap4-droid4-xt894.dts b/arch/arm/boot/dts/omap4-droid4-xt894.dts --- a/arch/arm/boot/dts/omap4-droid4-xt894.dts +++ b/arch/arm/boot/dts/omap4-droid4-xt894.dts @@ -644,6 +644,17 @@ }; }; +/* Configure pwm clock source for timers 8 & 9 */ +&timer8 { + assigned-clocks = <&abe_clkctrl OMAP4_TIMER8_CLKCTRL 24>; + assigned-clock-parents = <&sys_clkin_ck>; +}; + +&timer9 { + assigned-clocks = <&l4_per_clkctrl OMAP4_TIMER9_CLKCTRL 24>; + assigned-clock-parents = <&sys_clkin_ck>; +}; + /* * As uart1 is wired to mdm6600 with rts and cts, we can use the cts pin for * uart1 wakeirq. -- 2.20.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2019-02-12 15:29 UTC | newest] Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-01-22 17:57 [PATCH 0/3] pwm-omap-dmtimer regression fixes Tony Lindgren 2019-01-22 17:57 ` [PATCH 1/3] clocksource: timer-ti-dm: Fix pwm dmtimer usage of fck reparenting Tony Lindgren 2019-01-26 18:40 ` Andreas Kemnade 2019-01-26 19:30 ` H. Nikolaus Schaller 2019-02-12 9:08 ` Daniel Lezcano 2019-02-12 15:29 ` Tony Lindgren 2019-01-22 17:57 ` [PATCH 2/3] bus: ti-sysc: Fix timer handling with drop pm_runtime_irq_safe() Tony Lindgren 2019-01-26 18:41 ` Andreas Kemnade 2019-01-26 19:31 ` H. Nikolaus Schaller 2019-01-22 17:57 ` [PATCH 3/3] ARM: dts: Configure clock parent for pwm vibra Tony Lindgren
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).