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

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
...@@ -844,7 +844,7 @@ static void glk_force_audio_cdclk(struct drm_i915_private *dev_priv, ...@@ -844,7 +844,7 @@ static void glk_force_audio_cdclk(struct drm_i915_private *dev_priv,
struct intel_crtc *crtc; struct intel_crtc *crtc;
int ret; int ret;
crtc = intel_get_crtc_for_pipe(dev_priv, PIPE_A); crtc = intel_get_first_crtc(dev_priv);
if (!crtc) if (!crtc)
return; return;
......
...@@ -2729,9 +2729,10 @@ u32 intel_plane_fb_max_stride(struct drm_i915_private *dev_priv, ...@@ -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 * 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) if (!crtc)
return 0; return 0;
......
...@@ -1406,6 +1406,12 @@ vlv_pipe_to_channel(enum pipe pipe) ...@@ -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 * static inline struct intel_crtc *
intel_get_crtc_for_pipe(struct drm_i915_private *dev_priv, enum pipe pipe) intel_get_crtc_for_pipe(struct drm_i915_private *dev_priv, enum pipe pipe)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment