ata: ahci_tegra: call tegra_powergate_power_off only when PM domain is not present
authorSowjanya Komatineni <skomatineni@nvidia.com>
Thu, 8 Apr 2021 20:55:15 +0000 (13:55 -0700)
committerJens Axboe <axboe@kernel.dk>
Mon, 12 Apr 2021 02:35:08 +0000 (20:35 -0600)
This patch adds check to call legacy power domain API
tegra_powergate_power_off() only when PM domain is not present.

Fixes: 868ed7311cd8 ("ata: ahci_tegra: Add AHCI support for Tegra186")
Reviewed-by: Dmitry Osipenko <digetx@gmail.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Link: https://lore.kernel.org/r/1617915315-13639-2-git-send-email-skomatineni@nvidia.com
Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/ata/ahci_tegra.c

index 56612af16db07a6d0647d77f852f1aca28864032..4fb94db1217dfa98c2d4988130a69fdfbccd93c7 100644 (file)
@@ -268,7 +268,8 @@ static int tegra_ahci_power_on(struct ahci_host_priv *hpriv)
 disable_power:
        clk_disable_unprepare(tegra->sata_clk);
 
-       tegra_powergate_power_off(TEGRA_POWERGATE_SATA);
+       if (!tegra->pdev->dev.pm_domain)
+               tegra_powergate_power_off(TEGRA_POWERGATE_SATA);
 
 disable_regulators:
        regulator_bulk_disable(tegra->soc->num_supplies, tegra->supplies);
@@ -287,7 +288,8 @@ static void tegra_ahci_power_off(struct ahci_host_priv *hpriv)
        reset_control_assert(tegra->sata_cold_rst);
 
        clk_disable_unprepare(tegra->sata_clk);
-       tegra_powergate_power_off(TEGRA_POWERGATE_SATA);
+       if (!tegra->pdev->dev.pm_domain)
+               tegra_powergate_power_off(TEGRA_POWERGATE_SATA);
 
        regulator_bulk_disable(tegra->soc->num_supplies, tegra->supplies);
 }