]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
drm/i915/gen11: Expose planar format support on gen11, v2.
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Mon, 22 Oct 2018 13:45:14 +0000 (15:45 +0200)
committerMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Wed, 24 Oct 2018 08:30:15 +0000 (10:30 +0200)
Now that we implemented support for planar formats on gen11, we can
finally advertise it.

Changes since v1:
- Re-add change to skl_plane_has_planar(), was lost in rebase noise.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181022134514.14756-1-maarten.lankhorst@linux.intel.com
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_sprite.c

index ddcea4e42184403779353ae049f1c8bcc7b7fdc7..1062df80f9937c6cfad5ddec32e75e425e187cac 100644 (file)
@@ -14516,7 +14516,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) || INTEL_GEN(dev_priv) >= 11) {
+                   IS_BROXTON(dev_priv)) {
                        DRM_DEBUG_KMS("unsupported pixel format: %s\n",
                                      drm_get_format_name(mode_cmd->pixel_format,
                                                          &format_name));
index efb2701d315b2b61f33038b50eecf82d2cc609b0..c604f6bf665ca6462f1970302c8deb738770e91d 100644 (file)
@@ -1863,12 +1863,8 @@ static bool skl_plane_has_fbc(struct drm_i915_private *dev_priv,
 static 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;
+               return plane_id <= PLANE_SPRITE3;
 
        if (IS_SKYLAKE(dev_priv) || IS_BROXTON(dev_priv))
                return false;