ソースを参照

disp: msm: dp: use updated colorimetry and DSC definitions

Update colorimetry definition usage and how we access DSC information
as per changes in the upstream DRM framework code.

Change-Id: I28482380124734680e46904b8d536ebadba8cc60
Signed-off-by: Tatenda Chipeperekwa <[email protected]>
Tatenda Chipeperekwa 5 年 前
コミット
5977818ac3
2 ファイル変更13 行追加8 行削除
  1. 5 8
      msm/dp/dp_panel.c
  2. 8 0
      msm/sde/sde_connector.c

+ 5 - 8
msm/dp/dp_panel.c

@@ -268,13 +268,10 @@ static u8 get_misc_colorimetry_val(struct dp_panel_private *panel,
 	case DRM_MODE_COLORIMETRY_DCI_P3_RGB_THEATER:
 		colorimetry = 0x7;
 		break;
-	case DRM_MODE_DP_COLORIMETRY_SRGB:
-		colorimetry = 0x4;
-		break;
-	case DRM_MODE_DP_COLORIMETRY_RGB_WIDE_GAMUT:
+	case DRM_MODE_COLORIMETRY_RGB_WIDE_FIXED:
 		colorimetry = 0x3;
 		break;
-	case DRM_MODE_DP_COLORIMETRY_SCRGB:
+	case DRM_MODE_COLORIMETRY_RGB_WIDE_FLOAT:
 		colorimetry = 0xb;
 		break;
 	case DRM_MODE_COLORIMETRY_OPRGB:
@@ -1211,7 +1208,7 @@ static void dp_panel_dsc_pclk_param_calc(struct dp_panel *dp_panel,
 		u8 ratio,
 		struct dp_display_mode *dp_mode)
 {
-	int comp_ratio, intf_width;
+	int comp_ratio = 100, intf_width;
 	int slice_per_pkt, slice_per_intf;
 	s64 temp1_fp, temp2_fp;
 	s64 numerator_fp, denominator_fp;
@@ -1219,8 +1216,8 @@ static void dp_panel_dsc_pclk_param_calc(struct dp_panel *dp_panel,
 	u32 dsc_byte_count, temp1, temp2;
 
 	intf_width = dp_mode->timing.h_active;
-	if (!dsc || !dsc->slice_width || !dsc->slice_per_pkt ||
-			 (intf_width < dsc->slice_width))
+	if (!dsc || !dsc->config.slice_width || !dsc->slice_per_pkt ||
+			 (intf_width < dsc->config.slice_width))
 		return;
 
 	slice_per_pkt = dsc->slice_per_pkt;

+ 8 - 0
msm/sde/sde_connector.c

@@ -2385,6 +2385,7 @@ static int _sde_connector_install_properties(struct drm_device *dev,
 {
 	struct dsi_display *dsi_display;
 	int rc;
+	struct drm_connector *connector;
 
 	msm_property_install_blob(&c_conn->property_info, "capabilities",
 			DRM_MODE_PROP_IMMUTABLE, CONNECTOR_PROP_SDE_INFO);
@@ -2397,6 +2398,8 @@ static int _sde_connector_install_properties(struct drm_device *dev,
 		return rc;
 	}
 
+	connector = &c_conn->base;
+
 	msm_property_install_blob(&c_conn->property_info, "mode_properties",
 			DRM_MODE_PROP_IMMUTABLE, CONNECTOR_PROP_MODE_INFO);
 
@@ -2440,6 +2443,11 @@ static int _sde_connector_install_properties(struct drm_device *dev,
 			      &hdr,
 			      sizeof(hdr),
 			      CONNECTOR_PROP_EXT_HDR_INFO);
+
+		/* create and attach colorspace property for DP */
+		if (!drm_mode_create_dp_colorspace_property(connector))
+			drm_object_attach_property(&connector->base,
+				connector->colorspace_property, 0);
 	}
 
 	msm_property_install_volatile_range(&c_conn->property_info,