PM / devfreq: rockchip_dmc: Add SYS_STATUS_VIDEO_4K_60P

Signed-off-by: Liang Chen <cl@rock-chips.com>
Change-Id: I091f395dfcf8f6b11f77d03b860f4ea8450678b2
This commit is contained in:
Liang Chen
2022-12-01 15:03:59 +08:00
committed by Tao Huang
parent d0fdfb8dcd
commit 545e8565ef

View File

@@ -136,6 +136,7 @@ struct rockchip_dmcfreq {
unsigned long video_1080p_rate;
unsigned long video_4k_rate;
unsigned long video_4k_10b_rate;
unsigned long video_4k_60p_rate;
unsigned long video_svep_rate;
unsigned long performance_rate;
unsigned long hdmi_rate;
@@ -2461,6 +2462,11 @@ static int rockchip_get_system_status_level(struct device_node *np,
dev_info(dmcfreq->dev, "video_4k_10b_rate = %ld\n",
dmcfreq->video_4k_10b_rate);
break;
case SYS_STATUS_VIDEO_4K_60P:
dmcfreq->video_4k_60p_rate = rockchip_freq_level_2_rate(dmcfreq, level);
dev_info(dmcfreq->dev, "video_4k_60p_rate = %ld\n",
dmcfreq->video_4k_60p_rate);
break;
case SYS_STATUS_VIDEO_SVEP:
dmcfreq->video_svep_rate = rockchip_freq_level_2_rate(dmcfreq, level);
dev_info(dmcfreq->dev, "video_svep_rate = %ld\n",
@@ -2584,6 +2590,11 @@ static int rockchip_dmcfreq_system_status_notifier(struct notifier_block *nb,
target_rate = dmcfreq->video_4k_10b_rate;
}
if (dmcfreq->video_4k_60p_rate && (status & SYS_STATUS_VIDEO_4K_60P)) {
if (dmcfreq->video_4k_60p_rate > target_rate)
target_rate = dmcfreq->video_4k_60p_rate;
}
if (dmcfreq->video_1080p_rate && (status & SYS_STATUS_VIDEO_1080P)) {
if (dmcfreq->video_1080p_rate > target_rate)
target_rate = dmcfreq->video_1080p_rate;