Don't use a separate function to call the helper. The ultimate goal is to unify non-afbc and afbc cases as much as possible and then moving the helper invocation outside the if-else clause. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxxxx> --- .../arm/display/komeda/komeda_framebuffer.c | 57 +++++++------------ 1 file changed, 20 insertions(+), 37 deletions(-) diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_framebuffer.c b/drivers/gpu/drm/arm/display/komeda/komeda_framebuffer.c index d75176e24f24..766b6944c53c 100644 --- a/drivers/gpu/drm/arm/display/komeda/komeda_framebuffer.c +++ b/drivers/gpu/drm/arm/display/komeda/komeda_framebuffer.c @@ -87,41 +87,6 @@ komeda_fb_afbc_size_check(struct komeda_fb *kfb, return 0; } -static int -komeda_fb_none_afbc_size_check(struct drm_device *dev, - const struct drm_format_info *info, - struct drm_gem_object **objs, - struct drm_file *file, - const struct drm_mode_fb_cmd2 *mode_cmd) -{ - struct komeda_dev *mdev = dev->dev_private; - struct drm_size_check check = { 0 }; - struct drm_gem_object *obj; - u32 i; - - for (i = 0; i < info->num_planes; i++) { - obj = objs[i]; - - check.pitch_multiplier[i] = - drm_format_info_block_height(info, i); - - check.min_size[i] = - komeda_fb_get_pixel_addr_nofb(info, - mode_cmd->modifier[0], - mode_cmd->pitches, - mode_cmd->offsets, - obj, - 0, mode_cmd->height, i) - - to_drm_gem_cma_obj(obj)->paddr; - } - - check.pitch_modulo = mdev->chip.bus_width; - check.use_pitch_multiplier = true; - check.use_min_size = true; - - return drm_gem_fb_size_check2(dev, mode_cmd, &check, objs); -} - struct drm_framebuffer * komeda_fb_create(struct drm_device *dev, struct drm_file *file, const struct drm_mode_fb_cmd2 *mode_cmd) @@ -163,13 +128,31 @@ komeda_fb_create(struct drm_device *dev, struct drm_file *file, ret = komeda_fb_afbc_size_check(kfb, info, objs, file, mode_cmd); } else { + struct drm_size_check check = { 0 }; + ret = komeda_fb_check_src_coords(kfb, 0, 0, mode_cmd->width, mode_cmd->height); if (ret) goto err_cleanup; - ret = komeda_fb_none_afbc_size_check(dev, info, objs, - file, mode_cmd); + for (i = 0; i < num_planes; i++) { + check.pitch_multiplier[i] = + drm_format_info_block_height(info, i); + + check.min_size[i] = + komeda_fb_get_pixel_addr_nofb(info, + mode_cmd->modifier[0], + mode_cmd->pitches, + mode_cmd->offsets, objs[i], + 0, mode_cmd->height, i) + - to_drm_gem_cma_obj(objs[i])->paddr; + } + + check.pitch_modulo = mdev->chip.bus_width; + check.use_pitch_multiplier = true; + check.use_min_size = true; + + ret = drm_gem_fb_size_check2(dev, mode_cmd, &check, objs); } if (ret < 0) goto err_cleanup; -- 2.17.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel