Lines Matching refs:rfb
87 struct amdgpu_framebuffer *rfb,
1006 static int amdgpu_display_verify_plane(struct amdgpu_framebuffer *rfb, int plane, in amdgpu_display_verify_plane() argument
1011 unsigned int width = rfb->base.width / in amdgpu_display_verify_plane()
1013 unsigned int height = rfb->base.height / in amdgpu_display_verify_plane()
1021 if (rfb->base.pitches[plane] % block_pitch) { in amdgpu_display_verify_plane()
1022 drm_dbg_kms(rfb->base.dev, in amdgpu_display_verify_plane()
1024 rfb->base.pitches[plane], plane, block_pitch); in amdgpu_display_verify_plane()
1027 if (rfb->base.pitches[plane] < min_pitch) { in amdgpu_display_verify_plane()
1028 drm_dbg_kms(rfb->base.dev, in amdgpu_display_verify_plane()
1030 rfb->base.pitches[plane], plane, min_pitch); in amdgpu_display_verify_plane()
1035 if (rfb->base.offsets[plane] % block_size) { in amdgpu_display_verify_plane()
1036 drm_dbg_kms(rfb->base.dev, in amdgpu_display_verify_plane()
1038 rfb->base.offsets[plane], plane, block_size); in amdgpu_display_verify_plane()
1042 size = rfb->base.offsets[plane] + in amdgpu_display_verify_plane()
1043 (uint64_t)rfb->base.pitches[plane] / block_pitch * in amdgpu_display_verify_plane()
1046 if (rfb->base.obj[0]->size < size) { in amdgpu_display_verify_plane()
1047 drm_dbg_kms(rfb->base.dev, in amdgpu_display_verify_plane()
1049 rfb->base.obj[0]->size, size, plane); in amdgpu_display_verify_plane()
1057 static int amdgpu_display_verify_sizes(struct amdgpu_framebuffer *rfb) in amdgpu_display_verify_sizes() argument
1059 const struct drm_format_info *format_info = drm_format_info(rfb->base.format->format); in amdgpu_display_verify_sizes()
1060 uint64_t modifier = rfb->base.modifier; in amdgpu_display_verify_sizes()
1064 if (rfb->base.dev->mode_config.fb_modifiers_not_supported) in amdgpu_display_verify_sizes()
1089 drm_dbg_kms(rfb->base.dev, in amdgpu_display_verify_sizes()
1116 drm_dbg_kms(rfb->base.dev, in amdgpu_display_verify_sizes()
1125 ret = amdgpu_display_verify_plane(rfb, i, format_info, in amdgpu_display_verify_sizes()
1137 ret = amdgpu_display_verify_plane(rfb, i, format_info, in amdgpu_display_verify_sizes()
1152 ret = amdgpu_display_verify_plane(rfb, i, format_info, in amdgpu_display_verify_sizes()
1195 struct amdgpu_framebuffer *rfb, in amdgpu_display_gem_fb_verify_and_init() argument
1203 rfb->base.obj[0] = obj; in amdgpu_display_gem_fb_verify_and_init()
1204 drm_helper_mode_fill_fb_struct(dev, &rfb->base, info, mode_cmd); in amdgpu_display_gem_fb_verify_and_init()
1216 ret = amdgpu_display_framebuffer_init(dev, rfb, mode_cmd, obj); in amdgpu_display_gem_fb_verify_and_init()
1221 ret = drm_framebuffer_init(dev, &rfb->base, in amdgpu_display_gem_fb_verify_and_init()
1224 ret = drm_framebuffer_init(dev, &rfb->base, &amdgpu_fb_funcs); in amdgpu_display_gem_fb_verify_and_init()
1232 rfb->base.obj[0] = NULL; in amdgpu_display_gem_fb_verify_and_init()
1237 struct amdgpu_framebuffer *rfb, in amdgpu_display_framebuffer_init() argument
1248 for (i = 1; i < rfb->base.format->num_planes; ++i) { in amdgpu_display_framebuffer_init()
1257 ret = amdgpu_display_get_fb_info(rfb, &rfb->tiling_flags, &rfb->tmz_surface, in amdgpu_display_framebuffer_init()
1258 &rfb->gfx12_dcc); in amdgpu_display_framebuffer_init()
1265 ret = check_tiling_flags_gfx6(rfb); in amdgpu_display_framebuffer_init()
1271 !(rfb->base.flags & DRM_MODE_FB_MODIFIERS)) { in amdgpu_display_framebuffer_init()
1273 ret = convert_tiling_flags_to_modifier_gfx12(rfb); in amdgpu_display_framebuffer_init()
1275 ret = convert_tiling_flags_to_modifier(rfb); in amdgpu_display_framebuffer_init()
1279 rfb->tiling_flags); in amdgpu_display_framebuffer_init()
1284 ret = amdgpu_display_verify_sizes(rfb); in amdgpu_display_framebuffer_init()
1288 for (i = 0; i < rfb->base.format->num_planes; ++i) { in amdgpu_display_framebuffer_init()
1289 drm_gem_object_get(rfb->base.obj[0]); in amdgpu_display_framebuffer_init()
1290 rfb->base.obj[i] = rfb->base.obj[0]; in amdgpu_display_framebuffer_init()