mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
PM / devfreq: rockchip_dmc: Add SYS_STATUS_VIDEO_SVEP
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com> Change-Id: Ic6f3b7b2b87df8ac727748a7ca24cd511c3570f4
This commit is contained in:
@@ -135,6 +135,7 @@ struct rockchip_dmcfreq {
|
||||
unsigned long video_1080p_rate;
|
||||
unsigned long video_4k_rate;
|
||||
unsigned long video_4k_10b_rate;
|
||||
unsigned long video_svep_rate;
|
||||
unsigned long performance_rate;
|
||||
unsigned long hdmi_rate;
|
||||
unsigned long hdmirx_rate;
|
||||
@@ -2280,6 +2281,9 @@ static int rockchip_get_system_status_rate(struct device_node *np,
|
||||
case SYS_STATUS_VIDEO_4K_10B:
|
||||
dmcfreq->video_4k_10b_rate = freq * 1000;
|
||||
break;
|
||||
case SYS_STATUS_VIDEO_SVEP:
|
||||
dmcfreq->video_svep_rate = freq * 1000;
|
||||
break;
|
||||
case SYS_STATUS_PERFORMANCE:
|
||||
dmcfreq->performance_rate = freq * 1000;
|
||||
break;
|
||||
@@ -2424,6 +2428,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_SVEP:
|
||||
dmcfreq->video_svep_rate = rockchip_freq_level_2_rate(dmcfreq, level);
|
||||
dev_info(dmcfreq->dev, "video_svep_rate = %ld\n",
|
||||
dmcfreq->video_svep_rate);
|
||||
break;
|
||||
case SYS_STATUS_PERFORMANCE:
|
||||
dmcfreq->performance_rate = rockchip_freq_level_2_rate(dmcfreq, level);
|
||||
dev_info(dmcfreq->dev, "performance_rate = %ld\n",
|
||||
@@ -2547,6 +2556,11 @@ static int rockchip_dmcfreq_system_status_notifier(struct notifier_block *nb,
|
||||
target_rate = dmcfreq->video_1080p_rate;
|
||||
}
|
||||
|
||||
if (dmcfreq->video_svep_rate && (status & SYS_STATUS_VIDEO_SVEP)) {
|
||||
if (dmcfreq->video_svep_rate > target_rate)
|
||||
target_rate = dmcfreq->video_svep_rate;
|
||||
}
|
||||
|
||||
next:
|
||||
|
||||
dev_dbg(dmcfreq->dev, "status=0x%x\n", (unsigned int)status);
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
#define SYS_STATUS_VIDEO_4K_10B (1 << 16)
|
||||
#define SYS_STATUS_LOW_POWER (1 << 17)
|
||||
#define SYS_STATUS_HDMIRX (1 << 18)
|
||||
#define SYS_STATUS_VIDEO_SVEP (1 << 19)
|
||||
|
||||
#define SYS_STATUS_VIDEO (SYS_STATUS_VIDEO_4K | \
|
||||
SYS_STATUS_VIDEO_1080P | \
|
||||
|
||||
Reference in New Issue
Block a user