This series patches supported the mail in devicetree and used the thermal IPA by default. Verified with kernel is based on Linus's master branch and Heiko's v4.14-armsoc-tmp/dts64 branch. ( The Linux version 4.12.0 for now). The most rockchip SoCs will be supported with IPA mode for thermal in later. --- History version: 1. The first version found on https://www.spinics.net/lists/arm-kernel/msg593118.html Tested on Kevin board with bringing up ChromeOS. OS VERSION: CHROMEOS_RELEASE_DESCRIPTION=9693.1.0 (Official Build) dev-channel kevin test BIOS VERSION: Google_Kevin.8785.211.2017_06_20_1043 EC VERSION: Build info: kevin_v1.10.217-24514961d 2017-07-03 07:46:36 wxt@nb With the ARM's lastest mali driver TX011-SW-99002-r18p0-01rel0 on https://developer.arm.com/products/software/mali-drivers/midgard-kernel >From the bootup log: localhost devfreq0 # dmesg |grep mali [ 0.933334] mali ff9a0000.gpu: GPU identified as 0x0860 r2p0 status 0 [ 0.940830] mali ff9a0000.gpu: Protected mode not available [ 0.947334] mali ff9a0000.gpu: Using configured power model mali-simple-power-model, and fallback mali-simple-power-model [ 0.960083] mali ff9a0000.gpu: Probed as mali0 localhost devfreq0 # pwd /sys/devices/platform/ff9a0000.gpu/devfreq/devfreq0 localhost devfreq0 # ls available_frequencies device min_freq subsystem uevent available_governors governor polling_interval target_freq userspace cur_freq max_freq power trans_stat localhost ff9a0000.gpu # ls core_availability_policy gpuinfo modalias soft_job_timeout core_mask js_scheduling_period of_node subsystem devfreq js_timeouts pm_poweroff uevent driver mem_pool_max_size power driver_override mem_pool_size power_policy dvfs_period misc reset_timeout --- And for thermal with IPA. Try to run 'md5sum /dev/zero &' and octane/benchmark scripts to go up the temperature. >From the scripts to have a look at the actual control. " while true; do grep "" /sys/class/thermal/thermal_zone[0-1]/temp /sys/devices/system/cpu/cpu[0-5]/cpufreq/scaling_cur_freq /sys/devices/platform/ff9a0000.gpu/devfreq/devfreq0/cur_freq;date;sleep .5; done & " -Caesar Changes in v2: As Heiko comments on https://patchwork.kernel.org/patch/9835939/ - interrupt-name use the lower case. - use the correct compatible "arm,mali-t860" - remove the clock name, since the mali only have one input clock. - foo@ will produce warnings when used without reg property. - update the commit to explain the two passive trip points changed. Caesar Wang (5): dt-bindings: gpu: add the RK3399 mali for rockchip specifics dt-bindings: gpu: add a power_model optional properties for MALI arm64: dts: rockchip: add ARM Mali GPU node for RK3399 SoCs arm64: dts: rockchip: enable the GPU for RK3399-GRU arm64: dts: rockchip: update the thermal zones for RK3399 SoCs .../devicetree/bindings/gpu/arm,mali-midgard.txt | 13 ++++ arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi | 5 ++ arch/arm64/boot/dts/rockchip/rk3399-op1-opp.dtsi | 33 ++++++++++ arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi | 33 ++++++++++ arch/arm64/boot/dts/rockchip/rk3399.dtsi | 74 ++++++++++++---------- 5 files changed, 125 insertions(+), 33 deletions(-) -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html