From 1d87f2a40cdd4b612924453979d4f3c155f2b2fe Mon Sep 17 00:00:00 2001 From: Konstantin Makariev Date: Mon, 25 Nov 2019 13:33:46 -0600 Subject: [PATCH] disp: msm: add display frequency change notification Added notifier to inform registered consumers about display changing frequency. Change-Id: Ibc2de44c680e5499282c9b0c96d3a03e4f019f8a Signed-off-by: Konstantin Makariev Reviewed-on: https://gerrit.mot.com/1697620 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Reviewed-by: Guobin Zhang Submit-Approved: Jira Key --- msm/dsi/dsi_panel.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/msm/dsi/dsi_panel.c b/msm/dsi/dsi_panel.c index e0c6f056cd0e..f6045031ee5d 100644 --- a/msm/dsi/dsi_panel.c +++ b/msm/dsi/dsi_panel.c @@ -20,6 +20,9 @@ #include "sde_vdc_helper.h" #include "dsi_display.h" +static struct blocking_notifier_head dsi_freq_head = + BLOCKING_NOTIFIER_INIT(dsi_freq_head); +EXPORT_SYMBOL_GPL(dsi_freq_head); /** * topology is currently defined by a set of following 3 values: @@ -5251,6 +5254,10 @@ int dsi_panel_switch(struct dsi_panel *panel) panel->name, rc); mutex_unlock(&panel->panel_lock); + /* notify consumers only if refresh rate has been updated */ + if (!rc) + blocking_notifier_call_chain(&dsi_freq_head, + (unsigned long)panel->cur_mode->timing.refresh_rate, NULL); return rc; }