Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 90069901 authored by Alisha Thapaliya's avatar Alisha Thapaliya
Browse files

Merge remote-tracking branch 'quic/display-kernel.lnx.4.19' into display-kernel.lnx.1.0



* quic/display-kernel.lnx.4.19:
  disp: msm: dsi: commit DSI PHY timings after update
  disp: msm: add cpu number to the sde event logs
  drm/msm/dsi: allocate current mode memory early for DMS
  drm/msm/dsi: fix panel physical dimensions updated to connector
  disp: msm: sde: fix handling the missing pp-done interrupt cases
  drm/msm/dsi: add flag for mode switch with fps
  disp: msm: dp: reset combo phy if peer_usb_comm is disabled
  Revert "disp: msm: sde: Add LTM sw fuse check support"
  disp: msm: dp: Check if DP version supports FEC and DSC
  disp: msm: sde: add support to handle mdp limits property
  disp: msm: dp: Ensure sink supports DSC decoding of selected BPC
  disp: msm: sde: add spinlocks to handle_frame_done call
  drm/msm/dsi-staging: update mdp transfer time preference
  drm/msm/dsi-staging: use usleep_range instead of msleep in dsi enable

Change-Id: I47253fcbf9c27a5ad477ca6506170a114a704f1d
Signed-off-by: default avatarAlisha Thapaliya <athapali@codeaurora.org>
parents 388e19fc ca2fbfd5
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1349,6 +1349,7 @@ static void dp_catalog_ctrl_usb_reset(struct dp_catalog_ctrl *ctrl, bool flip)

	io_data = catalog->io.usb3_dp_com;

	DP_DEBUG("Program PHYMODE to DP only\n");
	dp_write(USB3_DP_COM_RESET_OVRD_CTRL, 0x0a);
	dp_write(USB3_DP_COM_PHY_MODE_CTRL, 0x02);
	dp_write(USB3_DP_COM_SW_RESET, 0x01);
+2 −1
Original line number Diff line number Diff line
@@ -781,7 +781,8 @@ static void dp_display_host_init(struct dp_display_private *dp)
	if (dp->hpd->orientation == ORIENTATION_CC2)
		flip = true;

	reset = dp->debug->sim_mode ? false : !dp->hpd->multi_func;
	reset = dp->debug->sim_mode ? false :
		(!dp->hpd->multi_func || !dp->hpd->peer_usb_comm);

	dp->power->init(dp->power, flip);
	dp->hpd->host_init(dp->hpd, &dp->catalog->hpd);
+1 −0
Original line number Diff line number Diff line
@@ -63,6 +63,7 @@ struct dp_hpd {
	bool hpd_irq;
	bool alt_mode_cfg_done;
	bool multi_func;
	bool peer_usb_comm;

	void (*isr)(struct dp_hpd *dp_hpd);
	int (*register_hpd)(struct dp_hpd *dp_hpd);
+26 −4
Original line number Diff line number Diff line
@@ -2024,6 +2024,8 @@ static void dp_panel_decode_dsc_dpcd(struct dp_panel *dp_panel)
		dp_panel->sink_dsc_caps.version = dp_panel->dsc_dpcd[1];
		dp_panel->sink_dsc_caps.block_pred_en =
				dp_panel->dsc_dpcd[6] ? true : false;
		dp_panel->sink_dsc_caps.color_depth =
				dp_panel->dsc_dpcd[10];

		if (dp_panel->sink_dsc_caps.version >= 0x11)
			dp_panel->dsc_en = true;
@@ -2152,7 +2154,8 @@ static int dp_panel_read_sink_caps(struct dp_panel *dp_panel,
	dp_panel->fec_en = false;
	dp_panel->dsc_en = false;

	if (dp_panel->fec_feature_enable) {
	if (dp_panel->dpcd[DP_DPCD_REV] >= DP_DPCD_REV_14 &&
			dp_panel->fec_feature_enable) {
		dp_panel_read_sink_fec_caps(dp_panel);

		if (dp_panel->dsc_feature_enable && dp_panel->fec_en)
@@ -2181,12 +2184,31 @@ static u32 dp_panel_get_supported_bpp(struct dp_panel *dp_panel,
	link_info = &dp_panel->link_info;
	data_rate_khz = link_info->num_lanes * link_info->rate * 8;

	while (bpp > min_supported_bpp) {
	for (; bpp > min_supported_bpp; bpp -= 6) {
		if (dp_panel->dsc_en) {
			if (bpp == 36 && !(dp_panel->sink_dsc_caps.color_depth
					& DP_DSC_12_BPC))
				continue;
			else if (bpp == 30 &&
					!(dp_panel->sink_dsc_caps.color_depth &
					DP_DSC_10_BPC))
				continue;
			else if (bpp == 24 &&
					!(dp_panel->sink_dsc_caps.color_depth &
					DP_DSC_8_BPC))
				continue;
		}

		if (mode_pclk_khz * bpp <= data_rate_khz)
			break;
		bpp -= 6;
	}

	if (bpp < min_supported_bpp)
		DP_ERR("bpp %d is below minimum supported bpp %d\n", bpp,
				min_supported_bpp);
	if (dp_panel->dsc_en && bpp != 24 && bpp != 30 && bpp != 36)
		DP_ERR("bpp %d is not supported when dsc is enabled\n", bpp);

	return bpp;
}

+1 −0
Original line number Diff line number Diff line
@@ -81,6 +81,7 @@ struct dp_dsc_caps {
	bool dsc_capable;
	u8 version;
	bool block_pred_en;
	u8 color_depth;
};

struct dp_audio;
Loading