Message ID | 20180824203856.17700-2-dhinakaran.pandiyan@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] drm/i915: Clean up skl_plane_has_planar() | expand |
On Fri, Aug 24, 2018 at 01:38:56PM -0700, Dhinakaran Pandiyan wrote: > ICL requires two planes for scanning out a NV12 framebuffer. Do > not advertize support for creating NV12 framebuffers until required > plane programming is implemented. > > v2: Do not allow adding buffers. > Check inside skl_plane_has_planar (Ville) > > Bspec: Plane Planar YUV programming (18566) > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> > Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > --- > drivers/gpu/drm/i915/intel_display.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index 7e18bd8b21b8..8e4e88eb10e4 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -13622,6 +13622,13 @@ static bool skl_plane_has_fbc(struct drm_i915_private *dev_priv, > bool skl_plane_has_planar(struct drm_i915_private *dev_priv, > enum pipe pipe, enum plane_id plane_id) > { > + /* > + * FIXME: ICL requires two hardware planes for scanning out NV12 > + * framebuffers. Do not advertize support until this is implemented. > + */ > + if (INTEL_GEN(dev_priv) >= 11) > + return false; > + > if (IS_SKYLAKE(dev_priv) || IS_BROXTON(dev_priv)) > return false; > > @@ -14543,7 +14550,7 @@ static int intel_framebuffer_init(struct intel_framebuffer *intel_fb, > break; > case DRM_FORMAT_NV12: > if (INTEL_GEN(dev_priv) < 9 || IS_SKYLAKE(dev_priv) || > - IS_BROXTON(dev_priv)) { > + IS_BROXTON(dev_priv) || INTEL_GEN(dev_priv) >= 11) { > DRM_DEBUG_KMS("unsupported pixel format: %s\n", > drm_get_format_name(mode_cmd->pixel_format, > &format_name)); > -- > 2.17.1
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 7e18bd8b21b8..8e4e88eb10e4 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -13622,6 +13622,13 @@ static bool skl_plane_has_fbc(struct drm_i915_private *dev_priv, bool skl_plane_has_planar(struct drm_i915_private *dev_priv, enum pipe pipe, enum plane_id plane_id) { + /* + * FIXME: ICL requires two hardware planes for scanning out NV12 + * framebuffers. Do not advertize support until this is implemented. + */ + if (INTEL_GEN(dev_priv) >= 11) + return false; + if (IS_SKYLAKE(dev_priv) || IS_BROXTON(dev_priv)) return false; @@ -14543,7 +14550,7 @@ static int intel_framebuffer_init(struct intel_framebuffer *intel_fb, break; case DRM_FORMAT_NV12: if (INTEL_GEN(dev_priv) < 9 || IS_SKYLAKE(dev_priv) || - IS_BROXTON(dev_priv)) { + IS_BROXTON(dev_priv) || INTEL_GEN(dev_priv) >= 11) { DRM_DEBUG_KMS("unsupported pixel format: %s\n", drm_get_format_name(mode_cmd->pixel_format, &format_name));
ICL requires two planes for scanning out a NV12 framebuffer. Do not advertize support for creating NV12 framebuffers until required plane programming is implemented. v2: Do not allow adding buffers. Check inside skl_plane_has_planar (Ville) Bspec: Plane Planar YUV programming (18566) Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> --- drivers/gpu/drm/i915/intel_display.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)