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 <tatendac@codeaurora.org>
This commit is contained in:
Tatenda Chipeperekwa
2020-02-05 19:34:31 -08:00
parent 32ad348d81
commit 5977818ac3
2 changed files with 13 additions and 8 deletions

View File

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

View File

@@ -2385,6 +2385,7 @@ static int _sde_connector_install_properties(struct drm_device *dev,
{ {
struct dsi_display *dsi_display; struct dsi_display *dsi_display;
int rc; int rc;
struct drm_connector *connector;
msm_property_install_blob(&c_conn->property_info, "capabilities", msm_property_install_blob(&c_conn->property_info, "capabilities",
DRM_MODE_PROP_IMMUTABLE, CONNECTOR_PROP_SDE_INFO); DRM_MODE_PROP_IMMUTABLE, CONNECTOR_PROP_SDE_INFO);
@@ -2397,6 +2398,8 @@ static int _sde_connector_install_properties(struct drm_device *dev,
return rc; return rc;
} }
connector = &c_conn->base;
msm_property_install_blob(&c_conn->property_info, "mode_properties", msm_property_install_blob(&c_conn->property_info, "mode_properties",
DRM_MODE_PROP_IMMUTABLE, CONNECTOR_PROP_MODE_INFO); DRM_MODE_PROP_IMMUTABLE, CONNECTOR_PROP_MODE_INFO);
@@ -2440,6 +2443,11 @@ static int _sde_connector_install_properties(struct drm_device *dev,
&hdr, &hdr,
sizeof(hdr), sizeof(hdr),
CONNECTOR_PROP_EXT_HDR_INFO); 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, msm_property_install_volatile_range(&c_conn->property_info,