diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2020-04-22 19:19:16 +0300 |
---|---|---|
committer | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2020-04-24 17:33:35 +0300 |
commit | 4cecc7c0cc2b5d6e5d8350f77d210d189a25dfb8 (patch) | |
tree | 37a1bf310a5b5bfe8885c693c9c5804a8caed363 /drivers/gpu/drm/i915/display/intel_hdmi.c | |
parent | f650af72e5ba499755eaa729eb9f1bc802ecf2f6 (diff) | |
download | linux-4cecc7c0cc2b5d6e5d8350f77d210d189a25dfb8.tar.bz2 |
drm/i915: Pass connector state to pfit calculations
Pass the entire connector state to intel_{gmch,pch}_panel_fitting().
For now we just need to get at .scaling_mode but in the future we'll
want access to the margin properties as well.
v2: Deal with intel_dp_ycbcr420_config()
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200422161917.17389-5-ville.syrjala@linux.intel.com
Reviewed-by: Manasi Navare <manasi.d.navare@intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915/display/intel_hdmi.c')
-rw-r--r-- | drivers/gpu/drm/i915/display/intel_hdmi.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c index 275a676c7b08..0edbdd39f462 100644 --- a/drivers/gpu/drm/i915/display/intel_hdmi.c +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c @@ -2322,9 +2322,10 @@ static bool hdmi_deep_color_possible(const struct intel_crtc_state *crtc_state, } static bool -intel_hdmi_ycbcr420_config(struct drm_connector *connector, - struct intel_crtc_state *config) +intel_hdmi_ycbcr420_config(struct intel_crtc_state *crtc_state, + const struct drm_connector_state *conn_state) { + struct drm_connector *connector = conn_state->connector; struct drm_i915_private *i915 = to_i915(connector->dev); if (!connector->ycbcr_420_allowed) { @@ -2333,9 +2334,9 @@ intel_hdmi_ycbcr420_config(struct drm_connector *connector, return false; } - config->output_format = INTEL_OUTPUT_FORMAT_YCBCR420; + crtc_state->output_format = INTEL_OUTPUT_FORMAT_YCBCR420; - intel_pch_panel_fitting(config, DRM_MODE_SCALE_FULLSCREEN); + intel_pch_panel_fitting(crtc_state, conn_state); return true; } @@ -2466,7 +2467,7 @@ int intel_hdmi_compute_config(struct intel_encoder *encoder, pipe_config->pixel_multiplier = 2; if (drm_mode_is_420_only(&connector->display_info, adjusted_mode)) { - if (!intel_hdmi_ycbcr420_config(connector, pipe_config)) { + if (!intel_hdmi_ycbcr420_config(pipe_config, conn_state)) { drm_err(&dev_priv->drm, "Can't support YCBCR420 output\n"); return -EINVAL; |