mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 02:50:49 +09:00
PM / devfreq: rockchip_dmc: Add SYS_STATUS_HDMIRX
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com> Change-Id: I133589dd2a1f8b88f08a20e7caaf10a3e84c04e3
This commit is contained in:
@@ -137,6 +137,7 @@ struct rockchip_dmcfreq {
|
||||
unsigned long video_4k_10b_rate;
|
||||
unsigned long performance_rate;
|
||||
unsigned long hdmi_rate;
|
||||
unsigned long hdmirx_rate;
|
||||
unsigned long idle_rate;
|
||||
unsigned long suspend_rate;
|
||||
unsigned long reboot_rate;
|
||||
@@ -2285,6 +2286,9 @@ static int rockchip_get_system_status_rate(struct device_node *np,
|
||||
case SYS_STATUS_HDMI:
|
||||
dmcfreq->hdmi_rate = freq * 1000;
|
||||
break;
|
||||
case SYS_STATUS_HDMIRX:
|
||||
dmcfreq->hdmirx_rate = freq * 1000;
|
||||
break;
|
||||
case SYS_STATUS_IDLE:
|
||||
dmcfreq->idle_rate = freq * 1000;
|
||||
break;
|
||||
@@ -2429,6 +2433,10 @@ static int rockchip_get_system_status_level(struct device_node *np,
|
||||
dmcfreq->hdmi_rate = rockchip_freq_level_2_rate(dmcfreq, level);
|
||||
dev_info(dmcfreq->dev, "hdmi_rate = %ld\n", dmcfreq->hdmi_rate);
|
||||
break;
|
||||
case SYS_STATUS_HDMIRX:
|
||||
dmcfreq->hdmirx_rate = rockchip_freq_level_2_rate(dmcfreq, level);
|
||||
dev_info(dmcfreq->dev, "hdmirx_rate = %ld\n", dmcfreq->hdmirx_rate);
|
||||
break;
|
||||
case SYS_STATUS_IDLE:
|
||||
dmcfreq->idle_rate = rockchip_freq_level_2_rate(dmcfreq, level);
|
||||
dev_info(dmcfreq->dev, "idle_rate = %ld\n", dmcfreq->idle_rate);
|
||||
@@ -2519,6 +2527,11 @@ static int rockchip_dmcfreq_system_status_notifier(struct notifier_block *nb,
|
||||
target_rate = dmcfreq->hdmi_rate;
|
||||
}
|
||||
|
||||
if (dmcfreq->hdmirx_rate && (status & SYS_STATUS_HDMIRX)) {
|
||||
if (dmcfreq->hdmirx_rate > target_rate)
|
||||
target_rate = dmcfreq->hdmirx_rate;
|
||||
}
|
||||
|
||||
if (dmcfreq->video_4k_rate && (status & SYS_STATUS_VIDEO_4K)) {
|
||||
if (dmcfreq->video_4k_rate > target_rate)
|
||||
target_rate = dmcfreq->video_4k_rate;
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
#define SYS_STATUS_HDMI (1 << 15)
|
||||
#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 (SYS_STATUS_VIDEO_4K | \
|
||||
SYS_STATUS_VIDEO_1080P | \
|
||||
|
||||
Reference in New Issue
Block a user