summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/tegra11_soctherm.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-tegra/tegra11_soctherm.c')
-rw-r--r--arch/arm/mach-tegra/tegra11_soctherm.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/tegra11_soctherm.c b/arch/arm/mach-tegra/tegra11_soctherm.c
index 82d05085f82f..7d90918c6ff9 100644
--- a/arch/arm/mach-tegra/tegra11_soctherm.c
+++ b/arch/arm/mach-tegra/tegra11_soctherm.c
@@ -855,6 +855,7 @@ static int soctherm_hw_action_get_cur_state(struct thermal_cooling_device *cdev,
struct thermal_trip_info *trip_state = cdev->devdata;
u32 r, m, n;
int i, j;
+ u32 tegra_chip_id;
if (!trip_state)
return 0;
@@ -863,6 +864,7 @@ static int soctherm_hw_action_get_cur_state(struct thermal_cooling_device *cdev,
if (trip_state->trip_type != THERMAL_TRIP_HOT)
return 0;
+ tegra_chip_id = tegra_get_chip_id();
for (j = 0; j < THROTTLE_DEV_SIZE; j++) {
r = soctherm_readl(CPU_PSKIP_STATUS + (j * 4));
if (!REG_GET(r, CPU_PSKIP_STATUS_ENABLED))
@@ -1564,12 +1566,14 @@ static irqreturn_t soctherm_edp_isr(int irq, void *arg)
static void tegra11_soctherm_throttle_program(enum soctherm_throttle_id throt)
{
u32 r;
+ u32 tegra_chip_id;
int i;
u8 gk20a_throt;
bool throt_enable = false;
struct soctherm_throttle_dev *dev;
struct soctherm_throttle *data = &plat_data.throttle[throt];
+ tegra_chip_id = tegra_get_chip_id();
for (i = 0; i < THROTTLE_DEV_SIZE; i++) {
dev = &data->devs[i];
if (!dev->enable)
@@ -1671,6 +1675,7 @@ static int __init soctherm_clk_init(void)
{
unsigned long default_soctherm_clk_rate;
unsigned long default_tsensor_clk_rate;
+ u32 tegra_chip_id;
soctherm_clk = clk_get_sys("soc_therm", NULL);
tsensor_clk = clk_get_sys("tegra-tsensor", NULL);
@@ -1682,6 +1687,7 @@ static int __init soctherm_clk_init(void)
return -EINVAL;
}
+ tegra_chip_id = tegra_get_chip_id();
/* initialize default clock rates */
if (tegra_chip_id == TEGRA_CHIPID_TEGRA11) {
default_soctherm_clk_rate =
@@ -1738,6 +1744,7 @@ static int soctherm_fuse_read_calib_base(void)
{
s32 calib_cp, calib_ft;
s32 nominal_calib_cp, nominal_calib_ft;
+ u32 tegra_chip_id;
if (tegra_fuse_calib_base_get_cp(&fuse_calib_base_cp, &calib_cp) ||
tegra_fuse_calib_base_get_ft(&fuse_calib_base_ft, &calib_ft)) {
@@ -1746,6 +1753,7 @@ static int soctherm_fuse_read_calib_base(void)
}
nominal_calib_cp = 25;
+ tegra_chip_id = tegra_get_chip_id();
if (tegra_chip_id == TEGRA_CHIPID_TEGRA11)
nominal_calib_ft = 90;
else if (tegra_chip_id == TEGRA_CHIPID_TEGRA14)
@@ -1830,6 +1838,7 @@ static int soctherm_fuse_read_tsensor(enum soctherm_sense sensor)
s32 calib, delta_sens, delta_temp;
s16 therm_a, therm_b;
s32 div, mult, actual_tsensor_ft, actual_tsensor_cp;
+ u32 tegra_chip_id;
tegra_fuse_get_tsensor_calib(sensor2tsensorcalib[sensor], &value);
@@ -1858,6 +1867,7 @@ static int soctherm_fuse_read_tsensor(enum soctherm_sense sensor)
((s64)actual_tsensor_cp * actual_temp_ft)),
(s64)delta_sens);
+ tegra_chip_id = tegra_get_chip_id();
/* FUSE corrections for Tegra when precision is set LOW */
if (PRECISION_IS_LOWER()) {
if (tegra_chip_id == TEGRA_CHIPID_TEGRA11) {
@@ -2003,7 +2013,9 @@ static int soctherm_init_platform_data(void)
int i, j, k;
long rem;
u32 r;
+ u32 tegra_chip_id;
+ tegra_chip_id = tegra_get_chip_id();
if (tegra_chip_id == TEGRA_CHIPID_TEGRA11)
sensor_defaults = default_t11x_sensor_params;
else if (tegra_chip_id == TEGRA_CHIPID_TEGRA14)
@@ -2319,7 +2331,9 @@ static int tegra11_soctherem_oc_int_init(int irq_base, int num_irqs)
int __init tegra11_soctherm_init(struct soctherm_platform_data *data)
{
int ret;
+ u32 tegra_chip_id;
+ tegra_chip_id = tegra_get_chip_id();
if (!(tegra_chip_id == TEGRA_CHIPID_TEGRA11 ||
tegra_chip_id == TEGRA_CHIPID_TEGRA14 ||
tegra_chip_id == TEGRA_CHIPID_TEGRA12)) {
@@ -2380,6 +2394,7 @@ static int regs_show(struct seq_file *s, void *data)
u32 state;
int tcpu[TSENSE_SIZE];
int i, j, level;
+ u32 tegra_chip_id;
if (soctherm_suspended) {
seq_printf(s, "SOC_THERM is SUSPENDED\n");
@@ -2538,6 +2553,7 @@ static int regs_show(struct seq_file *s, void *data)
state = REG_GET(r, CPU_PSKIP_STATUS_ENABLED);
seq_printf(s, "enabled(%d)\n", state);
+ tegra_chip_id = tegra_get_chip_id();
r = soctherm_readl(CPU_PSKIP_STATUS + 4);
if (tegra_chip_id == TEGRA_CHIPID_TEGRA12) {
state = REG_GET(r, CPU_PSKIP_STATUS_ENABLED);