[Freedreno] [RFC] checking drm_framebuffer against config width/height

jsanka at codeaurora.org jsanka at codeaurora.org
Thu Sep 19 03:30:49 UTC 2019


Hello All, 

I bumped into the below check [1] enforced in drm_framebuffer creation which
checks the requested framebuffer width/height parameters against the drm
mode config width/height limits. As I understand, drm_mode_config: min/max
width/height indicate the upper and lower bounds of the display panel
(drm_connector) resolutions the DRM device can support. But the pixel
processing pipeline can apply cropping/scaling transformations on much
larger input framebuffers and flip the buffers within the display
resolution. Such configurations are very common and the final resolution
will be still within drm_mode_config bounds. So I believe the checks should
be relaxed / removed from the drm_framebuffer creation api's. 

 

If my understanding is incorrect, could somehow explain the motivation
behind having these checks here?

 

Thanks and Regards,

Jeykumar S.

 

[1]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/driv
ers/gpu/drm/drm_framebuffer.c?h=v5.3#n303

 

struct drm_framebuffer *
drm_internal_framebuffer_create(struct drm_device *dev,
                               const struct drm_mode_fb_cmd2 *r,
                               struct drm_file *file_priv)
{

                     /* snip */

 

        if ((config->min_width > r->width) || (r->width >
config->max_width)) {

               DRM_DEBUG_KMS("bad framebuffer width %d, should be >= %d &&
<= %d\n",

                         r->width, config->min_width, config->max_width);

               return ERR_PTR(-EINVAL);

        }

        if ((config->min_height > r->height) || (r->height >
config->max_height)) {

               DRM_DEBUG_KMS("bad framebuffer height %d, should be >= %d &&
<= %d\n",

                         r->height, config->min_height, config->max_height);

               return ERR_PTR(-EINVAL);

        }

        /* snip */

}

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/freedreno/attachments/20190918/16366f7d/attachment-0001.html>


More information about the Freedreno mailing list