Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Merge pull request #152 from ThomasKaiser/master
Try to fix potential overvolting and overheating for Orange Pi One OK, will do ASAP.
- Loading branch information
Showing
3 changed files
with
115 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
diff --git a/drivers/thermal/cpu_budget_cooling.c b/drivers/thermal/cpu_budget_cooling.c | ||
index fb316b6..ce1f9bb 100755 | ||
--- a/drivers/thermal/cpu_budget_cooling.c | ||
+++ b/drivers/thermal/cpu_budget_cooling.c | ||
@@ -30,8 +30,6 @@ | ||
#include <linux/cpu.h> | ||
#include <linux/cpumask.h> | ||
#include <linux/cpu_budget_cooling.h> | ||
-#include "thermal_core.h" | ||
- | ||
#define CREATE_TRACE_POINTS | ||
#include <trace/events/budget_cooling.h> | ||
#define BOOT_CPU 0 | ||
@@ -249,8 +247,6 @@ static int cpu_budget_apply_cooling(struct cpu_budget_cooling_device *cpu_budget | ||
unsigned long cooling_state) | ||
{ | ||
unsigned long flags; | ||
- struct thermal_instance *instance; | ||
- int temperature = 0; | ||
|
||
/* Check if the old cooling action is same as new cooling action */ | ||
if (cpu_budget_device->cpu_budget_state == cooling_state) | ||
@@ -275,11 +271,7 @@ static int cpu_budget_apply_cooling(struct cpu_budget_cooling_device *cpu_budget | ||
cpu_budget_device->cluster1_freq_limit, | ||
cpu_budget_device->cluster1_num_limit, | ||
cpu_budget_device->gpu_throttle); | ||
- list_for_each_entry(instance, &(cpu_budget_device->cool_dev->thermal_instances), cdev_node) { | ||
- if(instance->tz->temperature > temperature) | ||
- temperature = instance->tz->temperature; | ||
- } | ||
- pr_info("CPU Budget: Temperature: %u Limit state:%lu item[%d,%d,%d,%d %d]\n",temperature,cooling_state, | ||
+ pr_debug("CPU Budget: Limit state:%lu item[%d,%d,%d,%d %d]\n",cooling_state, | ||
cpu_budget_device->cluster0_freq_limit, | ||
cpu_budget_device->cluster0_num_limit , | ||
cpu_budget_device->cluster1_freq_limit , | ||
@@ -381,7 +373,7 @@ static int cpufreq_thermal_notifier(struct notifier_block *nb, | ||
{ | ||
cpufreq_verify_within_limits(policy, min_freq, max_freq); | ||
policy->user_policy.max = policy->max; | ||
- pr_info("CPU Budget:update CPU %d cpufreq max to %lu min to %lu\n",policy->cpu,max_freq, min_freq); | ||
+ pr_debug("CPU Budget:update CPU %d cpufreq max to %lu min to %lu\n",policy->cpu,max_freq, min_freq); | ||
} | ||
} | ||
return 0; | ||
diff --git a/drivers/thermal/sunxi-cpu-budget-cooling.c b/drivers/thermal/sunxi-cpu-budget-cooling.c | ||
index 71ebc41..3a1b42b 100755 | ||
--- a/drivers/thermal/sunxi-cpu-budget-cooling.c | ||
+++ b/drivers/thermal/sunxi-cpu-budget-cooling.c | ||
@@ -69,14 +69,16 @@ static struct cpu_budget_table m_default_budgets_table[]= | ||
{1,816000,4,816000,1}, | ||
}; | ||
#endif | ||
+/* LOBO */ | ||
#ifdef CONFIG_ARCH_SUN8IW7 | ||
static struct cpu_budget_table m_default_budgets_table[]= | ||
{ | ||
+ {1,1296000 ,4,INVALID_FREQ,0}, | ||
{1,1200000 ,4,INVALID_FREQ,0}, | ||
{1,1008000 ,4,INVALID_FREQ,0}, | ||
- {1,1008000 ,2,INVALID_FREQ,0}, | ||
- {1,1008000 ,1,INVALID_FREQ,0}, | ||
- {1,504000 ,1,INVALID_FREQ,0}, | ||
+ {1,816000 ,4,INVALID_FREQ,0}, | ||
+ {1,648000 ,4,INVALID_FREQ,0}, | ||
+ {1,480000 ,1,INVALID_FREQ,0}, | ||
}; | ||
#endif | ||
#ifdef CONFIG_ARCH_SUN9IW1 | ||
@@ -480,7 +482,7 @@ static int sunxi_cpu_budget_syscfg_init(void) | ||
&m_syscfg_budgets_table[i].cluster1_freq, | ||
&m_syscfg_budgets_table[i].cluster1_cpunr, | ||
&m_syscfg_budgets_table[i].gpu_throttle); | ||
-#elif defined(CONFIG_ARCH_SUN8IW5) || defined(CONFIG_ARCH_SUN8IW6) || defined(CONFIG_ARCH_SUN8IW7) | ||
+#elif defined(CONFIG_ARCH_SUN8IW5) || defined(CONFIG_ARCH_SUN8IW6) | ||
num=sscanf(val.str, "%u %u %u %u %u", | ||
&m_syscfg_budgets_table[i].cluster0_freq, | ||
&m_syscfg_budgets_table[i].cluster0_cpunr, | ||
diff --git a/drivers/thermal/thermal_sys.c b/drivers/thermal/thermal_sys.c | ||
old mode 100755 | ||
new mode 100644 | ||
index d897818..0e1fa39 | ||
--- a/drivers/thermal/thermal_sys.c | ||
+++ b/drivers/thermal/thermal_sys.c | ||
@@ -359,9 +359,8 @@ static void handle_critical_trips(struct thermal_zone_device *tz, | ||
tz->ops->notify(tz, trip, trip_type); | ||
|
||
if (trip_type == THERMAL_TRIP_CRITICAL) { | ||
- /* Our system report temperature in centigrade, by qin 2014 .11.25 */ | ||
pr_emerg("Critical temperature reached(%d C),shutting down\n", | ||
- tz->temperature ); | ||
+ tz->temperature / 1000); | ||
orderly_poweroff(true); | ||
} | ||
} | ||
diff --git a/drivers/arisc/binary/Makefile b/drivers/arisc/binary/Makefile | ||
index 08b81fd..ab3d5d2 100755 | ||
--- a/drivers/arisc/binary/Makefile | ||
+++ b/drivers/arisc/binary/Makefile | ||
@@ -29,8 +29,8 @@ ifdef CONFIG_ARCH_SUN9IW1P1 | ||
PLATFORM=arisc_sun9iw1p1 | ||
endif | ||
|
||
-$(obj)/$(PLATFORM).bin : $(src)/$(PLATFORM).code | ||
- cp $< $(obj)/$(PLATFORM).tar.bz2; \ | ||
+$(obj)/$(PLATFORM).bin : $(obj)/$(PLATFORM).code | ||
+ cp $(obj)/$(PLATFORM).code $(obj)/$(PLATFORM).tar.bz2; \ | ||
tar -xjvf $(obj)/$(PLATFORM).tar.bz2 -C $(obj)/; \ | ||
cp $(obj)/arisc_package/$(PLATFORM).bin $(obj)/$(PLATFORM).bin; \ | ||
cp $(obj)/arisc_package/$(PLATFORM).tar.bz2.aes $(obj)/arisc; \ |