Implement the missing "drm_plane_funcs.format_mod_supported" function to avoid exposing an invalid IN_FORMATS blob with modifiers but no formats. Signed-off-by: José Expósito <jose.exposito89@xxxxxxxxx> --- drivers/gpu/drm/msm/disp/mdp4/mdp4_plane.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_plane.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_plane.c index 49bdabea8ed5..8809f1633786 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_plane.c +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_plane.c @@ -80,6 +80,13 @@ static int mdp4_plane_set_property(struct drm_plane *plane, return -EINVAL; } +static bool mdp4_plane_format_mod_supported(struct drm_plane *plane, u32 format, + u64 modifier) +{ + return (modifier == DRM_FORMAT_MOD_SAMSUNG_64_32_TILE) || + (modifier == DRM_FORMAT_MOD_LINEAR); +} + static const struct drm_plane_funcs mdp4_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, @@ -88,6 +95,7 @@ static const struct drm_plane_funcs mdp4_plane_funcs = { .reset = drm_atomic_helper_plane_reset, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, + .format_mod_supported = mdp4_plane_format_mod_supported, }; static void mdp4_plane_cleanup_fb(struct drm_plane *plane, -- 2.25.1