On Wed, Jun 29, 2016 at 10:17:47AM +0100, Jon Hunter wrote: > When registering the Tegra power partitions with the generic PM domain > framework, the current state of the each partition is checked and used > as the default state for the partition. However, the state of each reset > associated with the partition is not initialised and so it is possible > that the state of the resets are not in the expected state. For example, > if a partition is on, then the resets should be de-asserted and if the > partition is off, the resets should be asserted. > > There have been cases where the bootloader has powered on a partition > and only de-asserted some of the resets to some of the devices in the > partition. This can cause accesses to these devices to hang the system > when the kernel boots and attempts to probe these devices. > > Ideally, the driver for the device should ensure the reset has been > de-asserted when probing, but the resets cannot be shared between the > PMC driver (that needs to de-assert/assert the reset when turning the > partition on or off) and another driver because we cannot ensure the > reset is in the correct state. > > To ensure the resets are in the correct state, when using the generic > PM domain framework, put each reset associated with the partition in > the correct state (based upon the partition's current state) when > obtaining the resets for a partition. > > Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> > --- > drivers/soc/tegra/pmc.c | 18 ++++++++++++++---- > 1 file changed, 14 insertions(+), 4 deletions(-) Applied to for-4.8/soc, thanks. Thierry
Attachment:
signature.asc
Description: PGP signature