Commit eae3da27 authored by Anshuman Gupta's avatar Anshuman Gupta Committed by Ville Syrjälä
Browse files

drm/i915: Get first crtc instead of PIPE_A crtc



intel_plane_fb_max_stride should return the max stride of
primary plane for first available pipe in intel device info
pipe_mask.
Similarly glk_force_audio_cdclk() should also use the first
available CRTC instead of pipe 'A' crtc to force the cdclk
changes.

changes since RFC:
- Introduced a helper to get first intel_crtc intel_get_first_crtc. [Ville]
v1:
- Used intel_get_first_crtc() instead of PIPE_A crtc in
  glk_force_audio_cdclk(). [Ville]

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: default avatarAnshuman Gupta <anshuman.gupta@intel.com>
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200224124004.26712-6-anshuman.gupta@intel.com
parent d54c1a51
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -844,7 +844,7 @@ static void glk_force_audio_cdclk(struct drm_i915_private *dev_priv,
	struct intel_crtc *crtc;
	int ret;

	crtc = intel_get_crtc_for_pipe(dev_priv, PIPE_A);
	crtc = intel_get_first_crtc(dev_priv);
	if (!crtc)
		return;

+3 −2
Original line number Diff line number Diff line
@@ -2729,9 +2729,10 @@ u32 intel_plane_fb_max_stride(struct drm_i915_private *dev_priv,
	/*
	 * We assume the primary plane for pipe A has
	 * the highest stride limits of them all.
	 * the highest stride limits of them all,
	 * if in case pipe A is disabled, use the first pipe from pipe_mask.
	 */
	crtc = intel_get_crtc_for_pipe(dev_priv, PIPE_A);
	crtc = intel_get_first_crtc(dev_priv);
	if (!crtc)
		return 0;
+6 −0
Original line number Diff line number Diff line
@@ -1406,6 +1406,12 @@ vlv_pipe_to_channel(enum pipe pipe)
	}
}

static inline struct intel_crtc *
intel_get_first_crtc(struct drm_i915_private *dev_priv)
{
	return to_intel_crtc(drm_crtc_from_index(&dev_priv->drm, 0));
}

static inline struct intel_crtc *
intel_get_crtc_for_pipe(struct drm_i915_private *dev_priv, enum pipe pipe)
{