Merge "disp: msm: Set the dsi panel type"

This commit is contained in:
qctecmdr 2019-09-26 02:22:44 -07:00 • committed by Gerrit - the friendly Code Review server
commit ccffe7be5f
2 changed files with 21 additions and 0 deletions

View file

@ -3212,6 +3212,7 @@ struct dsi_panel *dsi_panel_get(struct device *parent,
{
struct dsi_panel *panel;
struct dsi_parser_utils *utils;
const char *panel_physical_type;
int rc = 0;
panel = kzalloc(sizeof(*panel), GFP_KERNEL);
@ -3230,6 +3231,14 @@ struct dsi_panel *dsi_panel_get(struct device *parent,
if (!panel->name)
panel->name = DSI_PANEL_DEFAULT_LABEL;
/*
* Set panel type to LCD as default.
*/
panel->panel_type = DSI_DISPLAY_PANEL_TYPE_LCD;
panel_physical_type = utils->get_property(utils->data,
"qcom,mdss-dsi-panel-physical-type", NULL);
if (panel_physical_type && !strcmp(panel_physical_type, "oled"))
panel->panel_type = DSI_DISPLAY_PANEL_TYPE_OLED;
rc = dsi_panel_parse_host_config(panel);
if (rc) {
DSI_ERR("failed to parse host configuration, rc=%d\n",

View file

@ -62,6 +62,12 @@ enum dsi_dms_mode {
DSI_DMS_MODE_RES_SWITCH_IMMEDIATE,
};
enum dsi_panel_physical_type {
DSI_DISPLAY_PANEL_TYPE_LCD = 0,
DSI_DISPLAY_PANEL_TYPE_OLED,
DSI_DISPLAY_PANEL_TYPE_MAX,
};
struct dsi_dfps_capabilities {
enum dsi_dfps_type type;
u32 min_refresh_rate;
@ -199,6 +205,7 @@ struct dsi_panel {
int panel_test_gpio;
int power_mode;
enum dsi_panel_physical_type panel_type;
};
static inline bool dsi_panel_ulps_feature_enabled(struct dsi_panel *panel)
@ -221,6 +228,11 @@ static inline void dsi_panel_release_panel_lock(struct dsi_panel *panel)
mutex_unlock(&panel->panel_lock);
}
static inline bool dsi_panel_is_type_oled(struct dsi_panel *panel)
{
return (panel->panel_type == DSI_DISPLAY_PANEL_TYPE_OLED);
}
struct dsi_panel *dsi_panel_get(struct device *parent,
struct device_node *of_node,
struct device_node *parser_node,