disp: msm: use upstream dsc config data

This change enforces dp, dsi and the sde drivers to use the
drm framework defined dsc_config data structure. As a part of this,
it introduces the sde_dsc_helper API to configure the dsc params
and creating a PPS command. Earlier each driver implemented it's
private versions leading to duplication of code. Additionaly the
helper api supports DSC spec 1.2 422 and 420 mode.

Change-Id: I25933fab08cdabbc6787079926885d1a78945e97
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
此提交包含在:
Abhijit Kulkarni
2019-05-14 10:21:07 -07:00
父節點 673ebb896c
當前提交 acb8d98e66
共有 14 個檔案被更改,包括 705 行新增930 行删除

查看文件

@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2016-2019, The Linux Foundation. All rights reserved.
* Copyright (c) 2016-2020, The Linux Foundation. All rights reserved.
*/
#include <linux/list.h>
@@ -1669,6 +1669,9 @@ static void adjust_timing_by_ctrl_count(const struct dsi_display *display,
mode->timing.h_back_porch /= display->ctrl_count;
mode->timing.h_skew /= display->ctrl_count;
mode->pixel_clk_khz /= display->ctrl_count;
if (mode->priv_info->dsc_enabled)
mode->priv_info->dsc.config.pic_width *=
display->ctrl_count;
}
}
@@ -7236,7 +7239,6 @@ int dsi_display_enable(struct dsi_display *display)
/* Block sending pps command if modeset is due to fps difference */
if ((mode->priv_info->dsc_enabled) &&
!(mode->dsi_mode_flags & DSI_MODE_FLAG_DMS_FPS)) {
mode->priv_info->dsc.pic_width *= display->ctrl_count;
rc = dsi_panel_update_pps(display->panel);
if (rc) {
DSI_ERR("[%s] panel pps cmd update failed, rc=%d\n",