Module Name: src Committed By: jmcneill Date: Sat Oct 17 21:14:49 UTC 2015
Modified Files: src/sys/arch/arm/nvidia: tegra_pmc.c tegra_pmcreg.h Log Message: GPU power is controlled by a different register on Tegra124, handle this in tegra_pmc_remove_clamping To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/nvidia/tegra_pmc.c cvs rdiff -u -r1.4 -r1.5 src/sys/arch/arm/nvidia/tegra_pmcreg.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/arm/nvidia/tegra_pmc.c diff -u src/sys/arch/arm/nvidia/tegra_pmc.c:1.6 src/sys/arch/arm/nvidia/tegra_pmc.c:1.7 --- src/sys/arch/arm/nvidia/tegra_pmc.c:1.6 Mon May 25 10:40:23 2015 +++ src/sys/arch/arm/nvidia/tegra_pmc.c Sat Oct 17 21:14:49 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: tegra_pmc.c,v 1.6 2015/05/25 10:40:23 jmcneill Exp $ */ +/* $NetBSD: tegra_pmc.c,v 1.7 2015/10/17 21:14:49 jmcneill Exp $ */ /*- * Copyright (c) 2015 Jared D. McNeill <jmcne...@invisible.ca> @@ -29,7 +29,7 @@ #include "locators.h" #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: tegra_pmc.c,v 1.6 2015/05/25 10:40:23 jmcneill Exp $"); +__KERNEL_RCSID(0, "$NetBSD: tegra_pmc.c,v 1.7 2015/10/17 21:14:49 jmcneill Exp $"); #include <sys/param.h> #include <sys/bus.h> @@ -152,6 +152,15 @@ tegra_pmc_remove_clamping(u_int partid) tegra_pmc_get_bs(&bst, &bsh); + if (tegra_chip_id() == CHIP_ID_TEGRA124) { + /* + * On Tegra124 the GPU power clamping is controlled by a + * separate register + */ + bus_space_write_4(bst, bsh, PMC_GPU_RG_CNTRL_REG, 0); + return; + } + bus_space_write_4(bst, bsh, PMC_REMOVE_CLAMPING_CMD_0_REG, __BIT(partid)); } Index: src/sys/arch/arm/nvidia/tegra_pmcreg.h diff -u src/sys/arch/arm/nvidia/tegra_pmcreg.h:1.4 src/sys/arch/arm/nvidia/tegra_pmcreg.h:1.5 --- src/sys/arch/arm/nvidia/tegra_pmcreg.h:1.4 Mon May 18 21:03:36 2015 +++ src/sys/arch/arm/nvidia/tegra_pmcreg.h Sat Oct 17 21:14:49 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: tegra_pmcreg.h,v 1.4 2015/05/18 21:03:36 jmcneill Exp $ */ +/* $NetBSD: tegra_pmcreg.h,v 1.5 2015/10/17 21:14:49 jmcneill Exp $ */ /*- * Copyright (c) 2015 Jared D. McNeill <jmcne...@invisible.ca> @@ -93,4 +93,7 @@ #define PMC_IO_DPD2_STATUS_REG 0x1c4 #define PMC_IO_DPD2_STATUS_HV __BIT(6) +#define PMC_GPU_RG_CNTRL_REG 0x2d4 +#define PMC_GPU_RG_CNTRL_RAIL_CLAMP __BIT(0) + #endif /* _ARM_TEGRA_PMCREG_H */