[Intel-gfx] [PATCH 2/2] drm/i915: Use intel_hdmi_port_clock() more
Kahola, Mika
mika.kahola at intel.com
Fri Feb 5 13:50:47 UTC 2021
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces at lists.freedesktop.org> On Behalf Of Ville
> Syrjala
> Sent: Thursday, February 4, 2021 4:09 AM
> To: intel-gfx at lists.freedesktop.org
> Subject: [Intel-gfx] [PATCH 2/2] drm/i915: Use intel_hdmi_port_clock() more
>
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Replace the hand rolled intel_hdmi_port_clock() stuff with the real thing.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Reviewed-by: Mika Kahola <mika.kahola at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_hdmi.c | 27 ++++++++++++-----------
> 1 file changed, 14 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c
> b/drivers/gpu/drm/i915/display/intel_hdmi.c
> index 66e1ac3887c6..457a16c8803a 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
> @@ -2229,6 +2229,16 @@ hdmi_port_clock_valid(struct intel_hdmi *hdmi,
> return MODE_OK;
> }
>
> +static int intel_hdmi_port_clock(int clock, int bpc) {
> + /*
> + * Need to adjust the port link by:
> + * 1.5x for 12bpc
> + * 1.25x for 10bpc
> + */
> + return clock * bpc / 8;
> +}
> +
> static enum drm_mode_status
> intel_hdmi_mode_valid(struct drm_connector *connector,
> struct drm_display_mode *mode)
> @@ -2260,17 +2270,18 @@ intel_hdmi_mode_valid(struct drm_connector
> *connector,
> clock /= 2;
>
> /* check if we can do 8bpc */
> - status = hdmi_port_clock_valid(hdmi, clock, true, has_hdmi_sink);
> + status = hdmi_port_clock_valid(hdmi, intel_hdmi_port_clock(clock,
> 8),
> + true, has_hdmi_sink);
>
> if (has_hdmi_sink) {
> /* if we can't do 8bpc we may still be able to do 12bpc */
> if (status != MODE_OK && !HAS_GMCH(dev_priv))
> - status = hdmi_port_clock_valid(hdmi, clock * 3 / 2,
> + status = hdmi_port_clock_valid(hdmi,
> intel_hdmi_port_clock(clock,
> +12),
> true, has_hdmi_sink);
>
> /* if we can't do 8,12bpc we may still be able to do 10bpc */
> if (status != MODE_OK && INTEL_GEN(dev_priv) >= 11)
> - status = hdmi_port_clock_valid(hdmi, clock * 5 / 4,
> + status = hdmi_port_clock_valid(hdmi,
> intel_hdmi_port_clock(clock,
> +10),
> true, has_hdmi_sink);
> }
> if (status != MODE_OK)
> @@ -2378,16 +2389,6 @@ intel_hdmi_ycbcr420_config(struct
> intel_crtc_state *crtc_state,
> return intel_pch_panel_fitting(crtc_state, conn_state); }
>
> -static int intel_hdmi_port_clock(int clock, int bpc) -{
> - /*
> - * Need to adjust the port link by:
> - * 1.5x for 12bpc
> - * 1.25x for 10bpc
> - */
> - return clock * bpc / 8;
> -}
> -
> static int intel_hdmi_compute_bpc(struct intel_encoder *encoder,
> struct intel_crtc_state *crtc_state,
> int clock)
> --
> 2.26.2
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
More information about the Intel-gfx
mailing list