Lines Matching refs:rfb
903 static int amdgpu_display_verify_plane(struct amdgpu_framebuffer *rfb, int plane, in amdgpu_display_verify_plane() argument
908 unsigned int width = rfb->base.width / in amdgpu_display_verify_plane()
910 unsigned int height = rfb->base.height / in amdgpu_display_verify_plane()
918 if (rfb->base.pitches[plane] % block_pitch) { in amdgpu_display_verify_plane()
919 drm_dbg_kms(rfb->base.dev, in amdgpu_display_verify_plane()
921 rfb->base.pitches[plane], plane, block_pitch); in amdgpu_display_verify_plane()
924 if (rfb->base.pitches[plane] < min_pitch) { in amdgpu_display_verify_plane()
925 drm_dbg_kms(rfb->base.dev, in amdgpu_display_verify_plane()
927 rfb->base.pitches[plane], plane, min_pitch); in amdgpu_display_verify_plane()
932 if (rfb->base.offsets[plane] % block_size) { in amdgpu_display_verify_plane()
933 drm_dbg_kms(rfb->base.dev, in amdgpu_display_verify_plane()
935 rfb->base.offsets[plane], plane, block_size); in amdgpu_display_verify_plane()
939 size = rfb->base.offsets[plane] + in amdgpu_display_verify_plane()
940 (uint64_t)rfb->base.pitches[plane] / block_pitch * in amdgpu_display_verify_plane()
943 if (rfb->base.obj[0]->size < size) { in amdgpu_display_verify_plane()
944 drm_dbg_kms(rfb->base.dev, in amdgpu_display_verify_plane()
946 rfb->base.obj[0]->size, size, plane); in amdgpu_display_verify_plane()
954 static int amdgpu_display_verify_sizes(struct amdgpu_framebuffer *rfb) in amdgpu_display_verify_sizes() argument
956 const struct drm_format_info *format_info = drm_format_info(rfb->base.format->format); in amdgpu_display_verify_sizes()
957 uint64_t modifier = rfb->base.modifier; in amdgpu_display_verify_sizes()
961 if (!rfb->base.dev->mode_config.allow_fb_modifiers) in amdgpu_display_verify_sizes()
986 drm_dbg_kms(rfb->base.dev, in amdgpu_display_verify_sizes()
995 ret = amdgpu_display_verify_plane(rfb, i, format_info, in amdgpu_display_verify_sizes()
1006 ret = amdgpu_display_verify_plane(rfb, i, format_info, in amdgpu_display_verify_sizes()
1021 ret = amdgpu_display_verify_plane(rfb, i, format_info, in amdgpu_display_verify_sizes()
1064 struct amdgpu_framebuffer *rfb, in amdgpu_display_gem_fb_init() argument
1070 rfb->base.obj[0] = obj; in amdgpu_display_gem_fb_init()
1071 drm_helper_mode_fill_fb_struct(dev, &rfb->base, mode_cmd); in amdgpu_display_gem_fb_init()
1073 ret = amdgpu_display_framebuffer_init(dev, rfb, mode_cmd, obj); in amdgpu_display_gem_fb_init()
1077 ret = drm_framebuffer_init(dev, &rfb->base, &amdgpu_fb_funcs); in amdgpu_display_gem_fb_init()
1084 rfb->base.obj[0] = NULL; in amdgpu_display_gem_fb_init()
1089 struct drm_device *dev, struct amdgpu_framebuffer *rfb, in amdgpu_display_gem_fb_verify_and_init() argument
1095 rfb->base.obj[0] = obj; in amdgpu_display_gem_fb_verify_and_init()
1096 drm_helper_mode_fill_fb_struct(dev, &rfb->base, mode_cmd); in amdgpu_display_gem_fb_verify_and_init()
1108 ret = amdgpu_display_framebuffer_init(dev, rfb, mode_cmd, obj); in amdgpu_display_gem_fb_verify_and_init()
1112 ret = drm_framebuffer_init(dev, &rfb->base, &amdgpu_fb_funcs); in amdgpu_display_gem_fb_verify_and_init()
1119 rfb->base.obj[0] = NULL; in amdgpu_display_gem_fb_verify_and_init()
1124 struct amdgpu_framebuffer *rfb, in amdgpu_display_framebuffer_init() argument
1135 for (i = 1; i < rfb->base.format->num_planes; ++i) { in amdgpu_display_framebuffer_init()
1144 ret = amdgpu_display_get_fb_info(rfb, &rfb->tiling_flags, &rfb->tmz_surface); in amdgpu_display_framebuffer_init()
1151 ret = check_tiling_flags_gfx6(rfb); in amdgpu_display_framebuffer_init()
1157 !(rfb->base.flags & DRM_MODE_FB_MODIFIERS)) { in amdgpu_display_framebuffer_init()
1158 ret = convert_tiling_flags_to_modifier(rfb); in amdgpu_display_framebuffer_init()
1161 rfb->tiling_flags); in amdgpu_display_framebuffer_init()
1166 ret = amdgpu_display_verify_sizes(rfb); in amdgpu_display_framebuffer_init()
1170 for (i = 0; i < rfb->base.format->num_planes; ++i) { in amdgpu_display_framebuffer_init()
1171 drm_gem_object_get(rfb->base.obj[0]); in amdgpu_display_framebuffer_init()
1172 rfb->base.obj[i] = rfb->base.obj[0]; in amdgpu_display_framebuffer_init()