powergate-t21x: Use tegra_powergate_partition
JC Kuo [Fri, 27 May 2016 02:51:28 +0000 (10:51 +0800)]
tegra_powergate_partition should be used to disable boot partitions
if partition does not have any driver - clocks are supposed to be
already disabled in this case.

Hence do not call tegra_powergate_partition_with_clk_off else it
results in following log during boot:

[    5.371341] WARNING: at /dvs/git/dirty/git-master_android/kernel/drivers/platform/tegra/clock.c:563 clk_disable_locked+0x38/0x170()
[    5.383166] Attempting to disable clock sata_oob with refcnt 0
[    5.388833] Modules linked in:
[    5.392099] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.10.96+ #1
[    5.398205] Call trace:
[    5.400666] [<ffffffc0000898c0>] dump_backtrace+0x0/0x14c
[    5.406066] [<ffffffc000089a20>] show_stack+0x14/0x1c
[    5.411136] [<ffffffc000c2a460>] dump_stack+0x20/0x28
[    5.416191] [<ffffffc0000a8dc8>] warn_slowpath_common+0x78/0x9c
[    5.422133] [<ffffffc0000a8e3c>] warn_slowpath_fmt+0x50/0x58
[    5.427805] [<ffffffc000968348>] clk_disable_locked+0x38/0x170
[    5.433635] [<ffffffc0009684d0>] clk_disable+0x50/0x88
[    5.438790] [<ffffffc00095fb90>] partition_clk_disable+0x44/0x7c
[    5.444794] [<ffffffc0009601b4>] __tegra1xx_powergate+0x90/0xe0
[    5.450728] [<ffffffc0009603bc>] tegra1xx_powergate_partition_with_clk_off+0x18/0x4c
[    5.458482] [<ffffffc000960b00>] tegra210_pg_powergate_clk_off+0x154/0x230
[    5.465355] [<ffffffc00095f110>] tegra_powergate_partition_with_clk_off+0xdc/0x12c
[    5.472938] [<ffffffc0012b88c0>] tegra210_disable_boot_partitions+0x54/0x78

bug 200202701

Change-Id: Ie5024a095363a00ec730ffd37a9c3ba7f1bf2e07
Signed-off-by: JC Kuo <jckuo@nvidia.com>
Reviewed-on: http://git-master/r/1189421
Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: Prashant Gaikwad <pgaikwad@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
(cherry picked from commit 2ebe2c42dc9a4de8d8ae84d403bf6a9c9990cda1)
Reviewed-on: http://git-master/r/1154830
GVS: Gerrit_Virtual_Submit

drivers/platform/tegra/powergate/powergate-t21x.c

index 2dc4e65..f20aca8 100644 (file)
@@ -1037,7 +1037,7 @@ static int __init tegra210_disable_boot_partitions(void)
                if (tegra210_pg_partition_info[i].disable_after_boot &&
                        (i != TEGRA_POWERGATE_GPU)) {
                        pr_info("    %s\n", tegra210_pg_partition_info[i].name);
-                       tegra_powergate_partition_with_clk_off(i);
+                       tegra_powergate_partition(i);
                }
 
        return 0;