.format_mod_supported = dcss_plane_format_mod_supported,
};
-static bool dcss_plane_mod_supported(int type, uint64_t mod)
-{
- if (type == DRM_PLANE_TYPE_OVERLAY)
- return mod == DRM_FORMAT_MOD_VSI_G1_TILED ||
- mod == DRM_FORMAT_MOD_VSI_G2_TILED ||
- mod == DRM_FORMAT_MOD_VSI_G2_TILED_COMPRESSED;
-
- return false;
-}
-
static int dcss_plane_atomic_check(struct drm_plane *plane,
struct drm_plane_state *state)
{
}
if ((fb->flags & DRM_MODE_FB_MODIFIERS) &&
- !dcss_plane_mod_supported(plane->type, fb->modifier)) {
- DRM_DEBUG_KMS("Invalid modifier: %llx", fb->modifier);
+ !plane->funcs->format_mod_supported(plane,
+ fb->format->format,
+ fb->modifier)) {
+ DRM_INFO("Invalid modifier: %llx", fb->modifier);
return -EINVAL;
}