arm: dts: gxl: optimize ipa parameter [1/1]
authorHuan Biao <huan.biao@amlogic.com>
Mon, 7 Jan 2019 02:49:26 +0000 (10:49 +0800)
committerLuan Yuan <luan.yuan@amlogic.com>
Wed, 23 Jan 2019 09:14:51 +0000 (17:14 +0800)
PD#SWPL-3726

Problem:
game cannot run smoothly

Solution:
1:modify cooling devices min status
cpufreq 1000Mhz-->1200Mhz
gpufreq 400MHz -->500MHz
2:modify switch trippoint freq trippoint hotplug trippoint
70000-->80000
80000-->90000
85000-->100000
3:fix gpupp get fail issue

Verify:
p215 pass

Change-Id: Id0a1e1ac9619f0d9a20e2aad172ba0c84c7a2e9d
Signed-off-by: Huan Biao <huan.biao@amlogic.com>
arch/arm/boot/dts/amlogic/gxl_p212_1g.dts
arch/arm/boot/dts/amlogic/gxl_p212_1g_buildroot.dts
arch/arm/boot/dts/amlogic/gxl_p212_2g.dts
arch/arm/boot/dts/amlogic/gxl_p212_2g_buildroot.dts
drivers/amlogic/thermal/aml_thermal_hw.c

index 52302e0..0edc324 100644 (file)
                #thermal-sensor-cells = <1>;
                cooling_devices {
                        cpufreq_cool_cluster0 {
-                               min_state = <1000000>;
+                               min_state = <1200000>;
                                dyn_coeff = <140>;
                                cluster_id = <0>;
                                node_name = "cpufreq_cool0";
                                device_type = "cpucore";
                        };
                        gpufreq_cool {
-                               min_state = <400>;
+                               min_state = <500>;
                                dyn_coeff = <437>;
                                cluster_id = <0>;
                                node_name = "gpufreq_cool0";
 
                        trips {
                                switch_on: trip-point@0 {
-                                       temperature = <70000>;
+                                       temperature = <80000>;
                                        hysteresis = <1000>;
                                        type = "passive";
                                };
                                control: trip-point@1 {
-                                       temperature = <80000>;
+                                       temperature = <90000>;
                                        hysteresis = <1000>;
                                        type = "passive";
                                };
                                hot: trip-point@2 {
-                                       temperature = <85000>;
+                                       temperature = <100000>;
                                        hysteresis = <5000>;
                                        type = "hot";
                                };
index bbbfda5..e7333d8 100644 (file)
                #thermal-sensor-cells = <1>;
                cooling_devices {
                        cpufreq_cool_cluster0 {
-                               min_state = <1000000>;
+                               min_state = <1200000>;
                                dyn_coeff = <140>;
                                cluster_id = <0>;
                                node_name = "cpufreq_cool0";
                                device_type = "cpucore";
                        };
                        gpufreq_cool {
-                               min_state = <400>;
+                               min_state = <500>;
                                dyn_coeff = <437>;
                                cluster_id = <0>;
                                node_name = "gpufreq_cool0";
 
                        trips {
                                switch_on: trip-point@0 {
-                                       temperature = <70000>;
+                                       temperature = <80000>;
                                        hysteresis = <1000>;
                                        type = "passive";
                                };
                                control: trip-point@1 {
-                                       temperature = <80000>;
+                                       temperature = <90000>;
                                        hysteresis = <1000>;
                                        type = "passive";
                                };
                                hot: trip-point@2 {
-                                       temperature = <85000>;
+                                       temperature = <100000>;
                                        hysteresis = <5000>;
                                        type = "hot";
                                };
index 1279b51..c03256e 100644 (file)
                #thermal-sensor-cells = <1>;
                cooling_devices {
                        cpufreq_cool_cluster0 {
-                               min_state = <1000000>;
+                               min_state = <1200000>;
                                dyn_coeff = <140>;
                                cluster_id = <0>;
                                node_name = "cpufreq_cool0";
                                device_type = "cpucore";
                        };
                        gpufreq_cool {
-                               min_state = <400>;
+                               min_state = <500>;
                                dyn_coeff = <437>;
                                cluster_id = <0>;
                                node_name = "gpufreq_cool0";
 
                        trips {
                                switch_on: trip-point@0 {
-                                       temperature = <70000>;
+                                       temperature = <80000>;
                                        hysteresis = <1000>;
                                        type = "passive";
                                };
                                control: trip-point@1 {
-                                       temperature = <80000>;
+                                       temperature = <90000>;
                                        hysteresis = <1000>;
                                        type = "passive";
                                };
                                hot: trip-point@2 {
-                                       temperature = <85000>;
+                                       temperature = <100000>;
                                        hysteresis = <5000>;
                                        type = "hot";
                                };
index 82f0fd9..f8abcbe 100644 (file)
                #thermal-sensor-cells = <1>;
                cooling_devices {
                        cpufreq_cool_cluster0 {
-                               min_state = <1000000>;
+                               min_state = <1200000>;
                                dyn_coeff = <140>;
                                cluster_id = <0>;
                                node_name = "cpufreq_cool0";
                                device_type = "cpucore";
                        };
                        gpufreq_cool {
-                               min_state = <400>;
+                               min_state = <500>;
                                dyn_coeff = <437>;
                                cluster_id = <0>;
                                node_name = "gpufreq_cool0";
 
                        trips {
                                switch_on: trip-point@0 {
-                                       temperature = <70000>;
+                                       temperature = <80000>;
                                        hysteresis = <1000>;
                                        type = "passive";
                                };
                                control: trip-point@1 {
-                                       temperature = <80000>;
+                                       temperature = <90000>;
                                        hysteresis = <1000>;
                                        type = "passive";
                                };
                                hot: trip-point@2 {
-                                       temperature = <85000>;
+                                       temperature = <100000>;
                                        hysteresis = <5000>;
                                        type = "hot";
                                };
index 15bd241..04fdada 100644 (file)
@@ -67,6 +67,7 @@ struct aml_thermal_sensor {
 };
 
 static struct aml_thermal_sensor soc_sensor;
+static struct gpufreq_cooling_device *gf_cdev_s;
 
 int thermal_firmware_init(void)
 {
@@ -175,10 +176,13 @@ int aml_thermal_min_update(struct thermal_cooling_device *cdev)
                gc_cdev = (struct gpucore_cooling_device *)cdev->devdata;
                cdev->ops->get_max_state(cdev, &min_state);
                min_state = min_state - cool->min_state;
+               if (gf_cdev_s != NULL)
+                       gf_cdev_s->max_pp = gc_cdev->max_gpu_core_num;
                break;
 
        case COOL_DEV_TYPE_GPU_FREQ:
                gf_cdev = (struct gpufreq_cooling_device *)cdev->devdata;
+               gf_cdev_s = (struct gpufreq_cooling_device *)cdev->devdata;
                min_state = gf_cdev->get_gpu_freq_level(cool->min_state);
                break;