Re: [RFC] ARM: OMAP2+: hwmod: don't touch hwmod if disabled

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

 



* Dave Gerlach <d-gerlach@xxxxxx> [170814 11:26]:
> +Nishanth and Tero,
> On 08/14/2017 12:47 PM, Tony Lindgren wrote:
> > * Stefan Eichenberger <eichest@xxxxxxxxx> [170725 02:04]:
> >> I already did an RFC [1] that tried to do the same but I think this one is
> >> cleaner. If a hardware module is disabled in devicetree the address range
> >> will still be touched by omap_hwmod.c. If the corresponding  module isn't
> >> powered this can lead to a crash of the kernel (for example rtc):
> > 
> > Just to recap on this, we need to first fix up any related issues
> > and then applying this should be trivial. Mostly I'm worried about
> > what all hidden dependencies we have, mosty I want to see what
> > examples for problems Dave comes up for PM on am335x :)
> > 
> > Meanwhile, the workaround is to set the problem devices with
> > status = "disabled" in the board specific dts file.
> > 
> > In the long run, let's plan on making status = "disabled" mean
> > that Linux does not touch the device at all until it's state
> > changes to "okay" and a struct device is created for it.
> > 
> 
> And to recap the issue: The main problem to solve is that any IP should be idled
> at the end of boot if no driver was bound. That is what we will lose right now
> if we stop touching nodes with status="disabled".

That is not correct. We do have hwmod idle modules just fine
even if there's no driver and there're not marked with
status = "disabled".

> Without proper sysconfig programming certain modules will not
> idle, like USB, CPSW, or DMA on am335x which are some examples off the top of my
> head and possibly the only guilty modules. So if we do not touch these modules
> because they are marked disabled then the kernel will not be able to program the
> SYSCONFIG and the modules cannot idle, so suspend fails on am335x.

Can you please just check what happens on am335x with USB, CPSW
and DMA with mainline kernel if you just remove status = "disabled"
for them? If they are not idled properly without "disabled" that's
where the bug is.

Thanks,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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