From: Leonard Crestez Date: Tue, 30 Apr 2019 15:06:12 +0000 (+0000) Subject: soc: imx: gpc: Use GENPD_FLAG_RPM_ALWAYS_ON for ERR009619 X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=8d5d766f00726efd0abd2e7835b0e538fe4ad6e4;p=openwrt%2Fstaging%2Fblogic.git 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 Reviewed-by: Ulf Hansson Signed-off-by: Rafael J. Wysocki --- 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) return ret; } - /* Disable PU power down in normal operation if ERR009619 is present */ + /* + * Disable PU power down by runtime PM if ERR009619 is present. + * + * The PRE clock will be paused for several cycles when turning on the + * PU domain LDO from power down state. If PRE is in use at that time, + * the IPU/PRG cannot get the correct display data from the PRE. + * + * This is not a concern when the whole system enters suspend state, so + * it's safe to power down PU in this case. + */ if (of_id_data->err009619_present) imx_gpc_domains[GPC_PGC_DOMAIN_PU].base.flags |= - GENPD_FLAG_ALWAYS_ON; + GENPD_FLAG_RPM_ALWAYS_ON; /* Keep DISP always on if ERR006287 is present */ if (of_id_data->err006287_present)