On Tue, 17 Dec 2019 15:49:49 +0100 Andrzej Pietrasiewicz andrzej.p@collabora.com wrote:
static const struct drm_framebuffer_funcs drm_gem_fb_funcs_dirtyfb = { diff --git a/include/drm/drm_gem_framebuffer_helper.h b/include/drm/drm_gem_framebuffer_helper.h index c85d4b152e91..4955af96d6c3 100644 --- a/include/drm/drm_gem_framebuffer_helper.h +++ b/include/drm/drm_gem_framebuffer_helper.h @@ -11,6 +11,18 @@ struct drm_mode_fb_cmd2; struct drm_plane; struct drm_plane_state; struct drm_simple_display_pipe; +struct drm_size_check;
+/**
- struct drm_size_check - Description of special requirements for size checks.
- */
+struct drm_size_check {
- unsigned int min_size[4];
- bool use_min_size;
- u32 pitch_multiplier[4];
- u32 pitch_modulo;
- bool use_pitch_multiplier;
+};
How about adding a ->size_check() hook to drm_framebuffer_funcs so that each driver can provide its custom size_check logic. That sounds more future-prood than trying to make all kind of size-checking fit in this size-constraint descriptor, plus you wouldn't need this new drm_gem_fb_size_check2 function.