Loading drivers/clk/qcom/mdss/mdss_pll_trace.h +2 −2 Original line number Diff line number Diff line /* Copyright (c) 2018, The Linux Foundation. All rights reserved. /* Copyright (c) 2019, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -112,5 +112,5 @@ TRACE_EVENT(mdss_pll_trace_counter, /* This part must be outside protection */ #undef TRACE_INCLUDE_PATH #define TRACE_INCLUDE_PATH . #define TRACE_INCLUDE_PATH ../../drivers/clk/qcom/mdss/ #include <trace/define_trace.h> drivers/gpu/drm/msm/dp/dp_display.c +45 −1 Original line number Diff line number Diff line Loading @@ -2551,7 +2551,8 @@ static int dp_display_mst_connector_update_link_info( memcpy(&dp_panel->link_info, &dp->panel->link_info, sizeof(dp_panel->link_info)); DP_MST_DEBUG("dp mst connector:%d link info updated\n"); DP_MST_DEBUG("dp mst connector: %d link info updated\n", sde_conn->base.base.id); return rc; } Loading Loading @@ -2629,6 +2630,46 @@ static void dp_display_wakeup_phy_layer(struct dp_display *dp_display, hpd->wakeup_phy(hpd, wakeup); } static int dp_display_get_display_type(struct dp_display *dp_display, const char **display_type) { struct dp_display_private *dp; if (!dp_display || !display_type) { pr_err("invalid input\n"); return -EINVAL; } dp = container_of(dp_display, struct dp_display_private, dp_display); *display_type = dp->parser->display_type; return 0; } static int dp_display_mst_get_fixed_topology_display_type( struct dp_display *dp_display, u32 strm_id, const char **display_type) { struct dp_display_private *dp; if (!dp_display || !display_type) { pr_err("invalid input\n"); return -EINVAL; } if (strm_id >= DP_STREAM_MAX) { pr_err("invalid stream id:%d\n", strm_id); return -EINVAL; } dp = container_of(dp_display, struct dp_display_private, dp_display); *display_type = dp->parser->mst_fixed_display_type[strm_id]; return 0; } static int dp_display_probe(struct platform_device *pdev) { int rc = 0; Loading Loading @@ -2707,6 +2748,9 @@ static int dp_display_probe(struct platform_device *pdev) dp_display_mst_get_fixed_topology_port; g_dp_display->wakeup_phy_layer = dp_display_wakeup_phy_layer; g_dp_display->get_display_type = dp_display_get_display_type; g_dp_display->mst_get_fixed_topology_display_type = dp_display_mst_get_fixed_topology_display_type; rc = component_add(&pdev->dev, &dp_display_comp_ops); if (rc) { Loading drivers/gpu/drm/msm/dp/dp_display.h +5 −0 Original line number Diff line number Diff line Loading @@ -130,6 +130,11 @@ struct dp_display { struct drm_connector *connector, char *pps_cmd); void (*wakeup_phy_layer)(struct dp_display *dp_display, bool wakeup); int (*get_display_type)(struct dp_display *dp_display, const char **display_type); int (*mst_get_fixed_topology_display_type)( struct dp_display *dp_display, u32 strm_id, const char **display_type); }; int dp_display_get_num_of_displays(void); Loading drivers/gpu/drm/msm/dp/dp_drm.c +13 −0 Original line number Diff line number Diff line Loading @@ -532,6 +532,19 @@ int dp_connector_get_modes(struct drm_connector *connector, return rc; } int dp_connnector_set_info_blob(struct drm_connector *connector, void *info, void *display, struct msm_mode_info *mode_info) { struct dp_display *dp_display = display; const char *display_type = NULL; dp_display->get_display_type(dp_display, &display_type); sde_kms_info_add_keystr(info, "display type", display_type); return 0; } int dp_drm_bridge_init(void *data, struct drm_encoder *encoder) { int rc = 0; Loading drivers/gpu/drm/msm/dp/dp_drm.h +12 −1 Original line number Diff line number Diff line /* * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -114,6 +114,17 @@ int dp_connector_get_info(struct drm_connector *connector, */ void dp_connector_post_open(struct drm_connector *connector, void *display); /** * dp_conn_set_info_blob - callback to perform info blob initialization * @connector: Pointer to drm connector structure * @info: Pointer to sde connector info structure * @display: Pointer to private display handle * @mode_info: Pointer to mode info structure * Returns: Zero on success */ int dp_connnector_set_info_blob(struct drm_connector *connector, void *info, void *display, struct msm_mode_info *mode_info); int dp_drm_bridge_init(void *display, struct drm_encoder *encoder); Loading Loading
drivers/clk/qcom/mdss/mdss_pll_trace.h +2 −2 Original line number Diff line number Diff line /* Copyright (c) 2018, The Linux Foundation. All rights reserved. /* Copyright (c) 2019, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -112,5 +112,5 @@ TRACE_EVENT(mdss_pll_trace_counter, /* This part must be outside protection */ #undef TRACE_INCLUDE_PATH #define TRACE_INCLUDE_PATH . #define TRACE_INCLUDE_PATH ../../drivers/clk/qcom/mdss/ #include <trace/define_trace.h>
drivers/gpu/drm/msm/dp/dp_display.c +45 −1 Original line number Diff line number Diff line Loading @@ -2551,7 +2551,8 @@ static int dp_display_mst_connector_update_link_info( memcpy(&dp_panel->link_info, &dp->panel->link_info, sizeof(dp_panel->link_info)); DP_MST_DEBUG("dp mst connector:%d link info updated\n"); DP_MST_DEBUG("dp mst connector: %d link info updated\n", sde_conn->base.base.id); return rc; } Loading Loading @@ -2629,6 +2630,46 @@ static void dp_display_wakeup_phy_layer(struct dp_display *dp_display, hpd->wakeup_phy(hpd, wakeup); } static int dp_display_get_display_type(struct dp_display *dp_display, const char **display_type) { struct dp_display_private *dp; if (!dp_display || !display_type) { pr_err("invalid input\n"); return -EINVAL; } dp = container_of(dp_display, struct dp_display_private, dp_display); *display_type = dp->parser->display_type; return 0; } static int dp_display_mst_get_fixed_topology_display_type( struct dp_display *dp_display, u32 strm_id, const char **display_type) { struct dp_display_private *dp; if (!dp_display || !display_type) { pr_err("invalid input\n"); return -EINVAL; } if (strm_id >= DP_STREAM_MAX) { pr_err("invalid stream id:%d\n", strm_id); return -EINVAL; } dp = container_of(dp_display, struct dp_display_private, dp_display); *display_type = dp->parser->mst_fixed_display_type[strm_id]; return 0; } static int dp_display_probe(struct platform_device *pdev) { int rc = 0; Loading Loading @@ -2707,6 +2748,9 @@ static int dp_display_probe(struct platform_device *pdev) dp_display_mst_get_fixed_topology_port; g_dp_display->wakeup_phy_layer = dp_display_wakeup_phy_layer; g_dp_display->get_display_type = dp_display_get_display_type; g_dp_display->mst_get_fixed_topology_display_type = dp_display_mst_get_fixed_topology_display_type; rc = component_add(&pdev->dev, &dp_display_comp_ops); if (rc) { Loading
drivers/gpu/drm/msm/dp/dp_display.h +5 −0 Original line number Diff line number Diff line Loading @@ -130,6 +130,11 @@ struct dp_display { struct drm_connector *connector, char *pps_cmd); void (*wakeup_phy_layer)(struct dp_display *dp_display, bool wakeup); int (*get_display_type)(struct dp_display *dp_display, const char **display_type); int (*mst_get_fixed_topology_display_type)( struct dp_display *dp_display, u32 strm_id, const char **display_type); }; int dp_display_get_num_of_displays(void); Loading
drivers/gpu/drm/msm/dp/dp_drm.c +13 −0 Original line number Diff line number Diff line Loading @@ -532,6 +532,19 @@ int dp_connector_get_modes(struct drm_connector *connector, return rc; } int dp_connnector_set_info_blob(struct drm_connector *connector, void *info, void *display, struct msm_mode_info *mode_info) { struct dp_display *dp_display = display; const char *display_type = NULL; dp_display->get_display_type(dp_display, &display_type); sde_kms_info_add_keystr(info, "display type", display_type); return 0; } int dp_drm_bridge_init(void *data, struct drm_encoder *encoder) { int rc = 0; Loading
drivers/gpu/drm/msm/dp/dp_drm.h +12 −1 Original line number Diff line number Diff line /* * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -114,6 +114,17 @@ int dp_connector_get_info(struct drm_connector *connector, */ void dp_connector_post_open(struct drm_connector *connector, void *display); /** * dp_conn_set_info_blob - callback to perform info blob initialization * @connector: Pointer to drm connector structure * @info: Pointer to sde connector info structure * @display: Pointer to private display handle * @mode_info: Pointer to mode info structure * Returns: Zero on success */ int dp_connnector_set_info_blob(struct drm_connector *connector, void *info, void *display, struct msm_mode_info *mode_info); int dp_drm_bridge_init(void *display, struct drm_encoder *encoder); Loading