Lines Matching full:fb
28 struct drm_framebuffer **fb) in intel_reuse_initial_plane_obj() argument
48 *fb = plane_state->hw.fb; in intel_reuse_initial_plane_obj()
114 * If the FB is too big, just don't use it since fbdev is not very in initial_plane_bo()
145 struct drm_framebuffer *fb = &plane_config->fb->base; in intel_alloc_initial_plane_obj() local
148 switch (fb->modifier) { in intel_alloc_initial_plane_obj()
156 "Unsupported modifier for initial FB: 0x%llx\n", in intel_alloc_initial_plane_obj()
157 fb->modifier); in intel_alloc_initial_plane_obj()
161 mode_cmd.pixel_format = fb->format->format; in intel_alloc_initial_plane_obj()
162 mode_cmd.width = fb->width; in intel_alloc_initial_plane_obj()
163 mode_cmd.height = fb->height; in intel_alloc_initial_plane_obj()
164 mode_cmd.pitches[0] = fb->pitches[0]; in intel_alloc_initial_plane_obj()
165 mode_cmd.modifier[0] = fb->modifier; in intel_alloc_initial_plane_obj()
172 if (intel_framebuffer_init(to_intel_framebuffer(fb), in intel_alloc_initial_plane_obj()
174 drm_dbg_kms(&xe->drm, "intel fb init failed\n"); in intel_alloc_initial_plane_obj()
177 /* Reference handed over to fb */ in intel_alloc_initial_plane_obj()
197 struct drm_framebuffer *fb; in intel_find_initial_plane_obj() local
205 if (!plane_config->fb) in intel_find_initial_plane_obj()
209 fb = &plane_config->fb->base; in intel_find_initial_plane_obj()
210 else if (!intel_reuse_initial_plane_obj(crtc, plane_configs, &fb)) in intel_find_initial_plane_obj()
214 intel_fb_fill_view(to_intel_framebuffer(fb), in intel_find_initial_plane_obj()
217 vma = intel_fb_pin_to_ggtt(fb, &plane_state->view.gtt, in intel_find_initial_plane_obj()
225 plane_state->uapi.src_w = fb->width << 16; in intel_find_initial_plane_obj()
226 plane_state->uapi.src_h = fb->height << 16; in intel_find_initial_plane_obj()
230 plane_state->uapi.crtc_w = fb->width; in intel_find_initial_plane_obj()
231 plane_state->uapi.crtc_h = fb->height; in intel_find_initial_plane_obj()
233 plane_state->uapi.fb = fb; in intel_find_initial_plane_obj()
234 drm_framebuffer_get(fb); in intel_find_initial_plane_obj()
239 atomic_or(plane->frontbuffer_bit, &to_intel_frontbuffer(fb)->bits); in intel_find_initial_plane_obj()
246 * We've failed to reconstruct the BIOS FB. Current display state in intel_find_initial_plane_obj()
247 * indicates that the primary plane is visible, but has a NULL FB, in intel_find_initial_plane_obj()
257 if (plane_config->fb) { in plane_config_fini()
258 struct drm_framebuffer *fb = &plane_config->fb->base; in plane_config_fini() local
261 if (drm_framebuffer_read_refcount(fb)) in plane_config_fini()
262 drm_framebuffer_put(fb); in plane_config_fini()
264 kfree(fb); in plane_config_fini()
281 * Note that reserving the BIOS fb up front prevents us in intel_initial_plane_config()
285 * fb is large enough for the active pipe configuration. in intel_initial_plane_config()
290 * If the fb is shared between multiple heads, we'll in intel_initial_plane_config()