Merge b5e68eb86f on remote branch

Change-Id: Id06cb8a5a78c90479621caa06714f1e788eccd2d
This commit is contained in:
Linux Build Service Account 2024-10-14 00:40:35 -07:00
commit d32a2506e3
6 changed files with 22 additions and 15 deletions

View file

@ -4,7 +4,7 @@ export CONFIG_DRM_MSM_DP=y
export CONFIG_DRM_MSM_DP_MST=y
export CONFIG_SYNC_FILE=y
export CONFIG_DRM_MSM_DSI=y
export CONFIG_DSI_PARSER=y
export CONFIG_DSI_PARSER=n
export CONFIG_DRM_SDE_WB=y
export CONFIG_DRM_MSM_REGISTER_LOGGING=y
export CONFIG_QCOM_MDSS_PLL=y

View file

@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
* Copyright (c) 2020, 2024 The Linux Foundation. All rights reserved.
*/
#define CONFIG_DRM_MSM 1
@ -9,7 +9,6 @@
#define CONFIG_DRM_MSM_SDE 1
#define CONFIG_SYNC_FILE 1
#define CONFIG_DRM_MSM_DSI 1
#define CONFIG_DSI_PARSER 1
#define CONFIG_DRM_SDE_WB 1
#define CONFIG_DRM_MSM_REGISTER_LOGGING 1
#define CONFIG_DRM_SDE_EVTLOG_DEBUG 1

View file

@ -3918,6 +3918,7 @@ static int dp_display_get_display_type(struct dp_display *dp_display,
const char **display_type)
{
struct dp_display_private *dp;
struct device_node *of_node;
if (!dp_display || !display_type) {
pr_err("invalid input\n");
@ -3927,7 +3928,11 @@ static int dp_display_get_display_type(struct dp_display *dp_display,
dp = container_of(dp_display, struct dp_display_private, dp_display);
if (dp->parser)
*display_type = dp->parser->display_type;
else {
of_node = dp->pdev->dev.of_node;
*display_type = of_get_property(of_node, "qcom,display-type",
NULL);
}
return 0;
}

View file

@ -471,6 +471,7 @@ int dp_connector_get_info(struct drm_connector *connector,
{
struct dp_display *display = data;
const char *display_type = NULL;
u32 conn_disp_type = SDE_CONNECTOR_PRIMARY;
if (!info || !display || !display->drm_dev) {
DP_ERR("invalid params\n");
@ -480,11 +481,11 @@ int dp_connector_get_info(struct drm_connector *connector,
info->intf_type = DRM_MODE_CONNECTOR_DisplayPort;
display->get_display_type(display, &display_type);
if (display_type){
if (display_type) {
if (!strcmp(display_type, "primary"))
info->display_type = SDE_CONNECTOR_PRIMARY;
conn_disp_type = SDE_CONNECTOR_PRIMARY;
else if (!strcmp(display_type, "secondary"))
info->display_type = SDE_CONNECTOR_SECONDARY;
conn_disp_type = SDE_CONNECTOR_SECONDARY;
}
info->num_of_h_tiles = 1;
@ -495,7 +496,8 @@ int dp_connector_get_info(struct drm_connector *connector,
if (display && display->is_edp) {
info->intf_type = DRM_MODE_CONNECTOR_eDP;
if(display->ext_hpd_en)
info->display_type = conn_disp_type;
if (display->ext_hpd_en)
info->capabilities |= MSM_DISPLAY_CAP_HOT_PLUG;
else
info->is_connected = true;

View file

@ -178,13 +178,10 @@ static int dp_parser_misc(struct dp_parser *parser)
&parser->pixel_base_off[i]);
}
parser->display_type = of_get_property(of_node, "qcom,display-type", NULL);
if (!parser->display_type) {
if (parser->is_edp)
parser->display_type = "primary";
else
parser->display_type = "secondary";
}
parser->display_type = of_get_property(of_node, "qcom,display-type",
NULL);
if (!parser->display_type)
parser->display_type = "unknown";
parser->panel_notifier_support = of_property_read_bool(of_node,
"qcom,panel-notifier-support");

View file

@ -6131,6 +6131,10 @@ int dsi_display_dev_remove(struct platform_device *pdev)
}
display = platform_get_drvdata(pdev);
if (!display || !display->panel_node) {
DSI_ERR("invalid display\n");
return -EINVAL;
}
/* decrement ref count */
of_node_put(display->panel_node);