drm/vc4: Correct SAND support for FKMS.
authorDave Stevenson <dave.stevenson@raspberrypi.org>
Wed, 29 May 2019 14:44:11 +0000 (15:44 +0100)
committerpopcornmix <popcornmix@gmail.com>
Wed, 1 Jul 2020 15:33:00 +0000 (16:33 +0100)
It was accepting NV21 which doesn't map through, but
also wasn't advertising the modifier so nothing would know
to request it.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
drivers/gpu/drm/vc4/vc4_firmware_kms.c

index 1081878..3b9dc3e 100644 (file)
@@ -546,7 +546,6 @@ static bool vc4_fkms_format_mod_supported(struct drm_plane *plane,
                        return false;
                }
        case DRM_FORMAT_NV12:
-       case DRM_FORMAT_NV21:
                switch (fourcc_mod_broadcom_mod(modifier)) {
                case DRM_FORMAT_MOD_LINEAR:
                case DRM_FORMAT_MOD_BROADCOM_SAND128:
@@ -554,6 +553,7 @@ static bool vc4_fkms_format_mod_supported(struct drm_plane *plane,
                default:
                        return false;
                }
+       case DRM_FORMAT_NV21:
        case DRM_FORMAT_RGB888:
        case DRM_FORMAT_BGR888:
        case DRM_FORMAT_YUV422:
@@ -600,6 +600,7 @@ static struct drm_plane *vc4_fkms_plane_init(struct drm_device *dev,
                 * would prefer to scan out linear (less bus traffic).
                 */
                DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED,
+               DRM_FORMAT_MOD_BROADCOM_SAND128,
                DRM_FORMAT_MOD_INVALID,
        };
        int i;