Re: [PATCH 2/3] bus: ti-sysc: Fix timer handling with drop pm_runtime_irq_safe()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 22 Jan 2019 09:57:16 -0800
Tony Lindgren <tony@xxxxxxxxxxx> 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@xxxxxxxxxxxx>

Attachment: pgpPfarL4XBt9.pgp
Description: OpenPGP digital signature


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux