From: "Huang, Leon" <[email protected]>

[Why&How]
Add dc interface to export link service function for getting Replay
residency

Reviewed-by: Robin Chen <[email protected]>
Signed-off-by: Huang, Leon <[email protected]>
Signed-off-by: Fangzhi Zuo <[email protected]>
Tested-by: Dan Wheeler <[email protected]>
---
 drivers/gpu/drm/amd/display/dc/core/dc_link_exports.c | 7 +++++++
 drivers/gpu/drm/amd/display/dc/dc.h                   | 8 ++++++++
 2 files changed, 15 insertions(+)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_exports.c 
b/drivers/gpu/drm/amd/display/dc/core/dc_link_exports.c
index f25d4b3e11ac..14fc4ef482f1 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_link_exports.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_exports.c
@@ -534,6 +534,13 @@ bool dc_link_set_pr_general_cmd(struct dc_link *link,
        return link->dc->link_srv->dp_pr_set_general_cmd(link, 
general_cmd_data);
 }
 
+void dc_link_edp_replay_residency(const struct dc_link *link,
+               unsigned int *residency, bool is_start, enum pr_residency_mode 
mode)
+{
+       if (link && link->dc && link->dc->link_srv)
+               link->dc->link_srv->edp_replay_residency(link, residency, 
is_start, mode);
+}
+
 bool dc_link_get_pr_state(const struct dc_link *link, uint64_t *state)
 {
        return link->dc->link_srv->dp_pr_get_state(link, state);
diff --git a/drivers/gpu/drm/amd/display/dc/dc.h 
b/drivers/gpu/drm/amd/display/dc/dc.h
index 07ebd98f0d3b..8eaa219132a6 100644
--- a/drivers/gpu/drm/amd/display/dc/dc.h
+++ b/drivers/gpu/drm/amd/display/dc/dc.h
@@ -2984,6 +2984,14 @@ bool dc_link_update_pr_state(struct dc_link *link,
 bool dc_link_set_pr_general_cmd(struct dc_link *link,
                struct dmub_cmd_pr_general_cmd_data *general_cmd_data);
 
+/*
+ * Measure Panel Replay residency for the given link.
+ * mode: PR_RESIDENCY_MODE_PHY, PR_RESIDENCY_MODE_ALPM, or
+ *       PR_RESIDENCY_MODE_ENABLEMENT_PERIOD
+ */
+void dc_link_edp_replay_residency(const struct dc_link *link,
+               unsigned int *residency, bool is_start, enum pr_residency_mode 
mode);
+
 /*
  * Get Panel Replay state:
  *
-- 
2.53.0

Reply via email to