Loading msm/dp/dp_drm.c +1 −0 Original line number Diff line number Diff line Loading @@ -425,6 +425,7 @@ int dp_connector_get_mode_info(struct drm_connector *connector, sizeof(mode_info->comp_info)); topology->num_enc = topology->num_lm; topology->comp_type = mode_info->comp_info.comp_type; } return 0; Loading msm/dsi/dsi_drm.c +2 −2 Original line number Diff line number Diff line Loading @@ -512,14 +512,14 @@ int dsi_conn_get_mode_info(struct drm_connector *connector, memcpy(&mode_info->topology, &dsi_mode.priv_info->topology, sizeof(struct msm_display_topology)); mode_info->comp_info.comp_type = MSM_DISPLAY_COMPRESSION_NONE; if (dsi_mode.priv_info->dsc_enabled) { mode_info->comp_info.comp_type = MSM_DISPLAY_COMPRESSION_DSC; mode_info->topology.comp_type = MSM_DISPLAY_COMPRESSION_DSC; memcpy(&mode_info->comp_info.dsc_info, &dsi_mode.priv_info->dsc, sizeof(dsi_mode.priv_info->dsc)); } else if (dsi_mode.priv_info->vdc_enabled) { mode_info->comp_info.comp_type = MSM_DISPLAY_COMPRESSION_VDC; mode_info->topology.comp_type = MSM_DISPLAY_COMPRESSION_VDC; memcpy(&mode_info->comp_info.vdc_info, &dsi_mode.priv_info->vdc, sizeof(dsi_mode.priv_info->vdc)); } Loading msm/msm_drv.h +2 −0 Original line number Diff line number Diff line Loading @@ -645,11 +645,13 @@ struct msm_compression_info { * @num_lm: number of layer mixers used * @num_enc: number of compression encoder blocks used * @num_intf: number of interfaces the panel is mounted on * @comp_type: type of compression supported */ struct msm_display_topology { u32 num_lm; u32 num_enc; u32 num_intf; enum msm_display_compression_type comp_type; }; /** Loading msm/sde/sde_connector.c +2 −2 Original line number Diff line number Diff line Loading @@ -2303,7 +2303,7 @@ static int sde_connector_populate_mode_info(struct drm_connector *conn, sde_kms_info_add_keyint(info, "bit_clk_rate", mode_info.clk_rate); topology_idx = (int)sde_rm_get_topology_name( topology_idx = (int)sde_rm_get_topology_name(&sde_kms->rm, mode_info.topology); if (topology_idx < SDE_RM_TOPOLOGY_MAX) { sde_kms_info_add_keystr(info, "topology", Loading msm/sde/sde_connector.h +46 −0 Original line number Diff line number Diff line Loading @@ -926,6 +926,52 @@ int sde_connector_helper_reset_custom_properties( int sde_connector_state_get_mode_info(struct drm_connector_state *conn_state, struct msm_mode_info *mode_info); /** * sde_connector_state_get_topology - get topology from given connector state * conn_state: Pointer to the DRM connector state object * topology: Pointer to store topology info of the display */ static inline int sde_connector_state_get_topology( struct drm_connector_state *conn_state, struct msm_display_topology *topology) { struct sde_connector_state *sde_conn_state = NULL; if (!conn_state || !topology) { SDE_ERROR("invalid arguments conn_state %d, topology %d\n", !conn_state, !topology); return -EINVAL; } sde_conn_state = to_sde_connector_state(conn_state); memcpy(topology, &sde_conn_state->mode_info.topology, sizeof(struct msm_display_topology)); return 0; } /** * sde_connector_state_get_compression_info- get compression info of display * from given connector state * conn_state: Pointer to the DRM connector state object * comp_info: Pointer to the compression info structure */ static inline int sde_connector_state_get_compression_info( struct drm_connector_state *conn_state, struct msm_compression_info *comp_info) { struct sde_connector_state *sde_conn_state = NULL; if (!conn_state || !comp_info) { SDE_ERROR("invalid arguments\n"); return -EINVAL; } sde_conn_state = to_sde_connector_state(conn_state); memcpy(comp_info, &sde_conn_state->mode_info.comp_info, sizeof(struct msm_compression_info)); return 0; } /** * sde_connector_get_mode_info - retrieve mode info for given mode * @connector: Pointer to drm connector structure Loading Loading
msm/dp/dp_drm.c +1 −0 Original line number Diff line number Diff line Loading @@ -425,6 +425,7 @@ int dp_connector_get_mode_info(struct drm_connector *connector, sizeof(mode_info->comp_info)); topology->num_enc = topology->num_lm; topology->comp_type = mode_info->comp_info.comp_type; } return 0; Loading
msm/dsi/dsi_drm.c +2 −2 Original line number Diff line number Diff line Loading @@ -512,14 +512,14 @@ int dsi_conn_get_mode_info(struct drm_connector *connector, memcpy(&mode_info->topology, &dsi_mode.priv_info->topology, sizeof(struct msm_display_topology)); mode_info->comp_info.comp_type = MSM_DISPLAY_COMPRESSION_NONE; if (dsi_mode.priv_info->dsc_enabled) { mode_info->comp_info.comp_type = MSM_DISPLAY_COMPRESSION_DSC; mode_info->topology.comp_type = MSM_DISPLAY_COMPRESSION_DSC; memcpy(&mode_info->comp_info.dsc_info, &dsi_mode.priv_info->dsc, sizeof(dsi_mode.priv_info->dsc)); } else if (dsi_mode.priv_info->vdc_enabled) { mode_info->comp_info.comp_type = MSM_DISPLAY_COMPRESSION_VDC; mode_info->topology.comp_type = MSM_DISPLAY_COMPRESSION_VDC; memcpy(&mode_info->comp_info.vdc_info, &dsi_mode.priv_info->vdc, sizeof(dsi_mode.priv_info->vdc)); } Loading
msm/msm_drv.h +2 −0 Original line number Diff line number Diff line Loading @@ -645,11 +645,13 @@ struct msm_compression_info { * @num_lm: number of layer mixers used * @num_enc: number of compression encoder blocks used * @num_intf: number of interfaces the panel is mounted on * @comp_type: type of compression supported */ struct msm_display_topology { u32 num_lm; u32 num_enc; u32 num_intf; enum msm_display_compression_type comp_type; }; /** Loading
msm/sde/sde_connector.c +2 −2 Original line number Diff line number Diff line Loading @@ -2303,7 +2303,7 @@ static int sde_connector_populate_mode_info(struct drm_connector *conn, sde_kms_info_add_keyint(info, "bit_clk_rate", mode_info.clk_rate); topology_idx = (int)sde_rm_get_topology_name( topology_idx = (int)sde_rm_get_topology_name(&sde_kms->rm, mode_info.topology); if (topology_idx < SDE_RM_TOPOLOGY_MAX) { sde_kms_info_add_keystr(info, "topology", Loading
msm/sde/sde_connector.h +46 −0 Original line number Diff line number Diff line Loading @@ -926,6 +926,52 @@ int sde_connector_helper_reset_custom_properties( int sde_connector_state_get_mode_info(struct drm_connector_state *conn_state, struct msm_mode_info *mode_info); /** * sde_connector_state_get_topology - get topology from given connector state * conn_state: Pointer to the DRM connector state object * topology: Pointer to store topology info of the display */ static inline int sde_connector_state_get_topology( struct drm_connector_state *conn_state, struct msm_display_topology *topology) { struct sde_connector_state *sde_conn_state = NULL; if (!conn_state || !topology) { SDE_ERROR("invalid arguments conn_state %d, topology %d\n", !conn_state, !topology); return -EINVAL; } sde_conn_state = to_sde_connector_state(conn_state); memcpy(topology, &sde_conn_state->mode_info.topology, sizeof(struct msm_display_topology)); return 0; } /** * sde_connector_state_get_compression_info- get compression info of display * from given connector state * conn_state: Pointer to the DRM connector state object * comp_info: Pointer to the compression info structure */ static inline int sde_connector_state_get_compression_info( struct drm_connector_state *conn_state, struct msm_compression_info *comp_info) { struct sde_connector_state *sde_conn_state = NULL; if (!conn_state || !comp_info) { SDE_ERROR("invalid arguments\n"); return -EINVAL; } sde_conn_state = to_sde_connector_state(conn_state); memcpy(comp_info, &sde_conn_state->mode_info.comp_info, sizeof(struct msm_compression_info)); return 0; } /** * sde_connector_get_mode_info - retrieve mode info for given mode * @connector: Pointer to drm connector structure Loading