Loading msm/dp/dp_catalog.c +7 −0 Original line number Diff line number Diff line Loading @@ -1534,6 +1534,7 @@ static void dp_catalog_panel_dp_flush(struct dp_catalog_panel *panel, struct dp_catalog_private *catalog; struct dp_io_data *io_data; u32 dp_flush, offset; struct dp_dsc_cfg_data *dsc; if (!panel) { DP_ERR("invalid input\n"); Loading @@ -1547,6 +1548,7 @@ static void dp_catalog_panel_dp_flush(struct dp_catalog_panel *panel, catalog = dp_catalog_get_priv(panel); io_data = catalog->io.dp_link; dsc = &panel->dsc; if (panel->stream_id == DP_STREAM_0) offset = 0; Loading @@ -1554,6 +1556,11 @@ static void dp_catalog_panel_dp_flush(struct dp_catalog_panel *panel, offset = MMSS_DP1_FLUSH - MMSS_DP_FLUSH; dp_flush = dp_read(MMSS_DP_FLUSH + offset); if ((flush_bit == DP_PPS_FLUSH) && dsc->continuous_pps) dp_flush &= ~BIT(2); dp_flush |= BIT(flush_bit); dp_write(MMSS_DP_FLUSH + offset, dp_flush); } Loading msm/dp/dp_catalog.h +1 −0 Original line number Diff line number Diff line Loading @@ -149,6 +149,7 @@ struct dp_catalog_audio { struct dp_dsc_cfg_data { bool dsc_en; bool continuous_pps; char pps[128]; u32 pps_len; u32 pps_word[32]; Loading msm/dp/dp_display.c +1 −0 Original line number Diff line number Diff line Loading @@ -1883,6 +1883,7 @@ static int dp_init_sub_modules(struct dp_display_private *dp) } g_dp_display->is_mst_supported = dp->parser->has_mst; g_dp_display->dsc_cont_pps = dp->parser->dsc_continuous_pps; dp->catalog = dp_catalog_get(dev, dp->parser); if (IS_ERR(dp->catalog)) { Loading msm/dp/dp_display.h +1 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,7 @@ struct dp_display { void *base_dp_panel; bool is_sst_connected; bool is_mst_supported; bool dsc_cont_pps; u32 max_pclk_khz; void *dp_mst_prv_info; u32 max_mixer_count; Loading msm/dp/dp_drm.c +4 −0 Original line number Diff line number Diff line Loading @@ -366,6 +366,10 @@ int dp_connector_post_init(struct drm_connector *connector, void *display) dp_display->bridge->dp_panel = sde_conn->drv_panel; rc = dp_mst_init(dp_display); if (dp_display->dsc_cont_pps) sde_conn->ops.update_pps = NULL; end: return rc; } Loading Loading
msm/dp/dp_catalog.c +7 −0 Original line number Diff line number Diff line Loading @@ -1534,6 +1534,7 @@ static void dp_catalog_panel_dp_flush(struct dp_catalog_panel *panel, struct dp_catalog_private *catalog; struct dp_io_data *io_data; u32 dp_flush, offset; struct dp_dsc_cfg_data *dsc; if (!panel) { DP_ERR("invalid input\n"); Loading @@ -1547,6 +1548,7 @@ static void dp_catalog_panel_dp_flush(struct dp_catalog_panel *panel, catalog = dp_catalog_get_priv(panel); io_data = catalog->io.dp_link; dsc = &panel->dsc; if (panel->stream_id == DP_STREAM_0) offset = 0; Loading @@ -1554,6 +1556,11 @@ static void dp_catalog_panel_dp_flush(struct dp_catalog_panel *panel, offset = MMSS_DP1_FLUSH - MMSS_DP_FLUSH; dp_flush = dp_read(MMSS_DP_FLUSH + offset); if ((flush_bit == DP_PPS_FLUSH) && dsc->continuous_pps) dp_flush &= ~BIT(2); dp_flush |= BIT(flush_bit); dp_write(MMSS_DP_FLUSH + offset, dp_flush); } Loading
msm/dp/dp_catalog.h +1 −0 Original line number Diff line number Diff line Loading @@ -149,6 +149,7 @@ struct dp_catalog_audio { struct dp_dsc_cfg_data { bool dsc_en; bool continuous_pps; char pps[128]; u32 pps_len; u32 pps_word[32]; Loading
msm/dp/dp_display.c +1 −0 Original line number Diff line number Diff line Loading @@ -1883,6 +1883,7 @@ static int dp_init_sub_modules(struct dp_display_private *dp) } g_dp_display->is_mst_supported = dp->parser->has_mst; g_dp_display->dsc_cont_pps = dp->parser->dsc_continuous_pps; dp->catalog = dp_catalog_get(dev, dp->parser); if (IS_ERR(dp->catalog)) { Loading
msm/dp/dp_display.h +1 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,7 @@ struct dp_display { void *base_dp_panel; bool is_sst_connected; bool is_mst_supported; bool dsc_cont_pps; u32 max_pclk_khz; void *dp_mst_prv_info; u32 max_mixer_count; Loading
msm/dp/dp_drm.c +4 −0 Original line number Diff line number Diff line Loading @@ -366,6 +366,10 @@ int dp_connector_post_init(struct drm_connector *connector, void *display) dp_display->bridge->dp_panel = sde_conn->drv_panel; rc = dp_mst_init(dp_display); if (dp_display->dsc_cont_pps) sde_conn->ops.update_pps = NULL; end: return rc; } Loading