From 2f7c68cb55ecb7331f2381deb497c27155f32faf Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Wed, 03 Jan 2024 09:43:39 +0000 Subject: [PATCH] update kernel to 5.10.198 --- kernel/drivers/devfreq/rockchip_dmc.c | 17 ++++++++++++++++- 1 files changed, 16 insertions(+), 1 deletions(-) diff --git a/kernel/drivers/devfreq/rockchip_dmc.c b/kernel/drivers/devfreq/rockchip_dmc.c index 7b957db..e3d39bd 100644 --- a/kernel/drivers/devfreq/rockchip_dmc.c +++ b/kernel/drivers/devfreq/rockchip_dmc.c @@ -7,7 +7,6 @@ */ #include <dt-bindings/clock/rockchip-ddr.h> -#include <dt-bindings/soc/rockchip-system-status.h> #include <drm/drm_modeset_lock.h> #include <linux/arm-smccc.h> #include <linux/clk.h> @@ -141,6 +140,7 @@ unsigned long hdmirx_rate; unsigned long idle_rate; unsigned long suspend_rate; + unsigned long deep_suspend_rate; unsigned long reboot_rate; unsigned long boost_rate; unsigned long fixed_rate; @@ -1996,6 +1996,12 @@ if (of_property_read_u32(pdev->dev.of_node, "wait-mode", &ddr_psci_param->wait_mode)) ddr_psci_param->wait_mode = 0; + res = sip_smc_dram(SHARE_PAGE_TYPE_DDR, 0, ROCKCHIP_SIP_CONFIG_DRAM_GET_STALL_TIME); + if (res.a0) + dev_err(dmcfreq->dev, "Current ATF unsupported get_stall_time\n"); + else + dmcfreq->info.stall_time_ns = (unsigned int)res.a1; + dmcfreq->set_auto_self_refresh = rockchip_ddr_set_auto_self_refresh; return 0; @@ -2248,6 +2254,9 @@ case SYS_STATUS_SUSPEND: dmcfreq->suspend_rate = freq * 1000; break; + case SYS_STATUS_DEEP_SUSPEND: + dmcfreq->deep_suspend_rate = freq * 1000; + break; case SYS_STATUS_VIDEO_1080P: dmcfreq->video_1080p_rate = freq * 1000; break; @@ -2389,6 +2398,11 @@ case SYS_STATUS_SUSPEND: dmcfreq->suspend_rate = rockchip_freq_level_2_rate(dmcfreq, level); dev_info(dmcfreq->dev, "suspend_rate = %ld\n", dmcfreq->suspend_rate); + break; + case SYS_STATUS_DEEP_SUSPEND: + dmcfreq->deep_suspend_rate = rockchip_freq_level_2_rate(dmcfreq, level); + dev_info(dmcfreq->dev, "deep_suspend_rate = %ld\n", + dmcfreq->deep_suspend_rate); break; case SYS_STATUS_VIDEO_1080P: dmcfreq->video_1080p_rate = rockchip_freq_level_2_rate(dmcfreq, level); @@ -3091,6 +3105,7 @@ devm_devfreq_register_opp_notifier(dev, devfreq); devfreq->last_status.current_frequency = opp_rate; + devfreq->suspend_freq = dmcfreq->deep_suspend_rate; reset_last_status(devfreq); -- Gitblit v1.6.2