Lines Matching full:fb
20 struct drm_framebuffer **fb, in intel_reuse_initial_plane_obj() argument
41 *fb = plane_state->hw.fb; in intel_reuse_initial_plane_obj()
164 * If the FB is too big, just don't use it since fbdev is not very in initial_plane_vma()
171 drm_dbg_kms(&i915->drm, "Initial FB size exceeds half of stolen, discarding\n"); in initial_plane_vma()
179 drm_dbg_kms(&i915->drm, "Failed to preallocate initial FB in %s\n", in initial_plane_vma()
198 plane_config->fb->base.pitches[0] | in initial_plane_vma()
258 "Initial plane fb bound to 0x%x in the ggtt (original 0x%x)\n", in initial_plane_vma()
277 struct drm_framebuffer *fb = &plane_config->fb->base; in intel_alloc_initial_plane_obj() local
280 switch (fb->modifier) { in intel_alloc_initial_plane_obj()
288 "Unsupported modifier for initial FB: 0x%llx\n", in intel_alloc_initial_plane_obj()
289 fb->modifier); in intel_alloc_initial_plane_obj()
297 mode_cmd.pixel_format = fb->format->format; in intel_alloc_initial_plane_obj()
298 mode_cmd.width = fb->width; in intel_alloc_initial_plane_obj()
299 mode_cmd.height = fb->height; in intel_alloc_initial_plane_obj()
300 mode_cmd.pitches[0] = fb->pitches[0]; in intel_alloc_initial_plane_obj()
301 mode_cmd.modifier[0] = fb->modifier; in intel_alloc_initial_plane_obj()
304 if (intel_framebuffer_init(to_intel_framebuffer(fb), in intel_alloc_initial_plane_obj()
306 drm_dbg_kms(&dev_priv->drm, "intel fb init failed\n"); in intel_alloc_initial_plane_obj()
329 struct drm_framebuffer *fb; in intel_find_initial_plane_obj() local
337 if (!plane_config->fb) in intel_find_initial_plane_obj()
341 fb = &plane_config->fb->base; in intel_find_initial_plane_obj()
348 * an fb with another CRTC instead in intel_find_initial_plane_obj()
350 if (intel_reuse_initial_plane_obj(crtc, plane_configs, &fb, &vma)) in intel_find_initial_plane_obj()
354 * We've failed to reconstruct the BIOS FB. Current display state in intel_find_initial_plane_obj()
355 * indicates that the primary plane is visible, but has a NULL FB, in intel_find_initial_plane_obj()
366 intel_fb_fill_view(to_intel_framebuffer(fb), in intel_find_initial_plane_obj()
377 plane_state->uapi.src_w = fb->width << 16; in intel_find_initial_plane_obj()
378 plane_state->uapi.src_h = fb->height << 16; in intel_find_initial_plane_obj()
382 plane_state->uapi.crtc_w = fb->width; in intel_find_initial_plane_obj()
383 plane_state->uapi.crtc_h = fb->height; in intel_find_initial_plane_obj()
388 plane_state->uapi.fb = fb; in intel_find_initial_plane_obj()
389 drm_framebuffer_get(fb); in intel_find_initial_plane_obj()
394 atomic_or(plane->frontbuffer_bit, &to_intel_frontbuffer(fb)->bits); in intel_find_initial_plane_obj()
399 if (plane_config->fb) { in plane_config_fini()
400 struct drm_framebuffer *fb = &plane_config->fb->base; in plane_config_fini() local
403 if (drm_framebuffer_read_refcount(fb)) in plane_config_fini()
404 drm_framebuffer_put(fb); in plane_config_fini()
406 kfree(fb); in plane_config_fini()
426 * Note that reserving the BIOS fb up front prevents us in intel_initial_plane_config()
430 * fb is large enough for the active pipe configuration. in intel_initial_plane_config()
435 * If the fb is shared between multiple heads, we'll in intel_initial_plane_config()