[PATCHv7 4/6] drm/arm/malidp: Allocate an afbc-specific drm_framebuffer
Emil Velikov
emil.l.velikov at gmail.com
Mon Mar 16 14:05:59 UTC 2020
On Wed, 11 Mar 2020 at 14:56, Andrzej Pietrasiewicz
<andrzej.p at collabora.com> wrote:
>
> Prepare for using generic afbc helpers.
>
> Use an existing helper which allows allocating a struct drm_framebuffer
> in the driver.
>
> afbc-specific checks should go after drm_gem_fb_init_with_funcs().
>
> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p at collabora.com>
> ---
> drivers/gpu/drm/arm/malidp_drv.c | 50 +++++++++++++++++++++++++-------
> 1 file changed, 39 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_drv.c
> index cafbd81e4c1e..b9715b19af94 100644
> --- a/drivers/gpu/drm/arm/malidp_drv.c
> +++ b/drivers/gpu/drm/arm/malidp_drv.c
> @@ -269,13 +269,36 @@ static const struct drm_mode_config_helper_funcs malidp_mode_config_helpers = {
> .atomic_commit_tail = malidp_atomic_commit_tail,
> };
>
> +static const struct drm_framebuffer_funcs malidp_fb_funcs = {
> + .destroy = drm_gem_fb_destroy,
> + .create_handle = drm_gem_fb_create_handle,
> +};
> +
> static struct drm_framebuffer *
> malidp_fb_create(struct drm_device *dev, struct drm_file *file,
> const struct drm_mode_fb_cmd2 *mode_cmd)
> {
> + struct drm_afbc_framebuffer *afbc_fb;
> + const struct drm_format_info *info;
> + int ret, i;
> +
> + info = drm_get_format_info(dev, mode_cmd);
> + if (!info)
> + return ERR_PTR(-ENOMEM);
> +
The underlying implementation in drm_get_format_info() will throw a
WARN_ON() if we return NULL.
Returning ENOMEM here is misleading and EINVAL sounds better IMHO.
Regardless, of the above 1-5 are:
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
I don't know much about Rockchip HW to review 6/6.
-Emil
More information about the dri-devel
mailing list