]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
soc: amlogic: meson-gx-pwrc-vpu: fix error on shutdown when domain is powered off
authorHeiner Kallweit <hkallweit1@gmail.com>
Thu, 21 Dec 2017 19:41:02 +0000 (20:41 +0100)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Mon, 27 Aug 2018 14:40:05 +0000 (16:40 +0200)
BugLink: http://bugs.launchpad.net/bugs/1786352
[ Upstream commit 87f88732d25e6175cb4faa8070658f604660d720 ]

When operating the system headless headless, the domain is never
powered on, leaving the clocks disabled. The shutdown function then
tries to disable the already disabled clocks, resulting in errors.
Therefore call meson_gx_pwrc_vpu_power_off() only if domain is
powered on.
This patch fixes the described issue on my system (Odorid-C2).

Fixes: 339cd0ea0822 "soc: amlogic: meson-gx-pwrc-vpu: fix power-off when powered by bootloader"
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
drivers/soc/amlogic/meson-gx-pwrc-vpu.c

index 2bdeebc48901db0f3f1eb6b011454e2cd2bf8afe..2625ef06c10ef1f6ff821e6df31e51aab09829d8 100644 (file)
@@ -224,7 +224,11 @@ static int meson_gx_pwrc_vpu_probe(struct platform_device *pdev)
 
 static void meson_gx_pwrc_vpu_shutdown(struct platform_device *pdev)
 {
-       meson_gx_pwrc_vpu_power_off(&vpu_hdmi_pd.genpd);
+       bool powered_off;
+
+       powered_off = meson_gx_pwrc_vpu_get_power(&vpu_hdmi_pd);
+       if (!powered_off)
+               meson_gx_pwrc_vpu_power_off(&vpu_hdmi_pd.genpd);
 }
 
 static const struct of_device_id meson_gx_pwrc_vpu_match_table[] = {