msm: dsi_panel: refresh rate config option

Make refresh rate change notification configurable through
CONFIG_DRM_DYNANMIC_REFRESH_RATE defconfig option.

Change-Id: If0a9161979f8797143b9911ea2371ba0bda01e69
Signed-off-by: Konstantin Makariev <hcv867@motorola.com>
Reviewed-on: https://gerrit.mot.com/1697628
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Guobin Zhang <zhanggb@motorola.com>
Submit-Approved: Jira Key
This commit is contained in:
Konstantin Makariev 2019-12-19 13:13:53 -06:00 • committed by tongkun1
commit 3c206994ac
3 changed files with 6 additions and 1 deletions

View file

@ -12,3 +12,4 @@ export CONFIG_MSM_SDE_ROTATOR=y
export CONFIG_MSM_SDE_ROTATOR_EVTLOG_DEBUG=y
export CONFIG_DRM_SDE_RSC=y
export CONFIG_DISPLAY_BUILD=y
export CONFIG_DRM_DYNAMIC_REFRESH_RATE=y

View file

@ -17,4 +17,5 @@
#define CONFIG_MSM_SDE_ROTATOR 1
#define CONFIG_MSM_SDE_ROTATOR_EVTLOG_DEBUG 1
#define CONFIG_DRM_SDE_RSC 1
#define CONFIG_DRM_DYNAMIC_REFRESH_RATE 1

View file

@ -31,10 +31,11 @@
#include "sde_vdc_helper.h"
#include "dsi_display.h"
#if defined(CONFIG_DRM_DYNAMIC_REFRESH_RATE)
static struct blocking_notifier_head dsi_freq_head =
BLOCKING_NOTIFIER_INIT(dsi_freq_head);
EXPORT_SYMBOL_GPL(dsi_freq_head);
#endif
/**
* topology is currently defined by a set of following 3 values:
* 1. num of layer mixers
@ -5267,10 +5268,12 @@ int dsi_panel_switch(struct dsi_panel *panel)
panel->name, rc);
mutex_unlock(&panel->panel_lock);
#if defined(CONFIG_DRM_DYNAMIC_REFRESH_RATE)
/* 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);
#endif
return rc;
}