diff options
author | Leonard Crestez <leonard.crestez@nxp.com> | 2019-04-30 11:06:12 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2019-05-13 04:51:31 -0400 |
commit | 8d5d766f00726efd0abd2e7835b0e538fe4ad6e4 (patch) | |
tree | 075116346ac613427c243517359fa797c93dabe7 | |
parent | ed61e18a4b4e445ae8622a4faec6a259601cc4a5 (diff) |
soc: imx: gpc: Use GENPD_FLAG_RPM_ALWAYS_ON for ERR009619
This allows PU domain to be turned off in suspend and save power.
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r-- | drivers/soc/imx/gpc.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/soc/imx/gpc.c b/drivers/soc/imx/gpc.c index 7d14a4b4e82a..29b43651c261 100644 --- a/drivers/soc/imx/gpc.c +++ b/drivers/soc/imx/gpc.c | |||
@@ -431,10 +431,19 @@ static int imx_gpc_probe(struct platform_device *pdev) | |||
431 | return ret; | 431 | return ret; |
432 | } | 432 | } |
433 | 433 | ||
434 | /* Disable PU power down in normal operation if ERR009619 is present */ | 434 | /* |
435 | * Disable PU power down by runtime PM if ERR009619 is present. | ||
436 | * | ||
437 | * The PRE clock will be paused for several cycles when turning on the | ||
438 | * PU domain LDO from power down state. If PRE is in use at that time, | ||
439 | * the IPU/PRG cannot get the correct display data from the PRE. | ||
440 | * | ||
441 | * This is not a concern when the whole system enters suspend state, so | ||
442 | * it's safe to power down PU in this case. | ||
443 | */ | ||
435 | if (of_id_data->err009619_present) | 444 | if (of_id_data->err009619_present) |
436 | imx_gpc_domains[GPC_PGC_DOMAIN_PU].base.flags |= | 445 | imx_gpc_domains[GPC_PGC_DOMAIN_PU].base.flags |= |
437 | GENPD_FLAG_ALWAYS_ON; | 446 | GENPD_FLAG_RPM_ALWAYS_ON; |
438 | 447 | ||
439 | /* Keep DISP always on if ERR006287 is present */ | 448 | /* Keep DISP always on if ERR006287 is present */ |
440 | if (of_id_data->err006287_present) | 449 | if (of_id_data->err006287_present) |