intel_fb_bo_framebuffer_fini(intel_fb_bo(fb));
- intel_frontbuffer_put(intel_fb->frontbuffer);
+ intel_parent_frontbuffer_put(display, intel_fb->frontbuffer);
kfree(intel_fb->panic);
kfree(intel_fb);
return -ENOMEM;
/*
- * intel_frontbuffer_get() must be done before
+ * intel_parent_frontbuffer_get() must be done before
* intel_fb_bo_framebuffer_init() to avoid set_tiling vs. addfb race.
*/
- intel_fb->frontbuffer = intel_frontbuffer_get(obj);
+ intel_fb->frontbuffer = intel_parent_frontbuffer_get(display, obj);
if (!intel_fb->frontbuffer) {
ret = -ENOMEM;
goto err_free_panic;
err_bo_framebuffer_fini:
intel_fb_bo_framebuffer_fini(obj);
err_frontbuffer_put:
- intel_frontbuffer_put(intel_fb->frontbuffer);
+ intel_parent_frontbuffer_put(display, intel_fb->frontbuffer);
err_free_panic:
kfree(intel_fb->panic);
frontbuffer_flush(display, frontbuffer_bits, origin);
}
-static void intel_frontbuffer_ref(struct intel_frontbuffer *front)
-{
- intel_parent_frontbuffer_ref(front->display, front);
-}
-
static void intel_frontbuffer_flush_work(struct work_struct *work)
{
struct intel_frontbuffer *front =
container_of(work, struct intel_frontbuffer, flush_work);
intel_frontbuffer_flush(front, ORIGIN_DIRTYFB);
- intel_frontbuffer_put(front);
+ intel_parent_frontbuffer_put(front->display, front);
}
/**
if (!front)
return;
- intel_frontbuffer_ref(front);
+ intel_parent_frontbuffer_ref(front->display, front);
if (!schedule_work(&front->flush_work))
- intel_frontbuffer_put(front);
+ intel_parent_frontbuffer_put(front->display, front);
}
void intel_frontbuffer_init(struct intel_frontbuffer *front, struct drm_device *drm)
drm_WARN_ON(front->display->drm, atomic_read(&front->bits));
}
-struct intel_frontbuffer *intel_frontbuffer_get(struct drm_gem_object *obj)
-{
- struct intel_display *display = to_intel_display(obj->dev);
-
- return intel_parent_frontbuffer_get(display, obj);
-}
-
-void intel_frontbuffer_put(struct intel_frontbuffer *front)
-{
- intel_parent_frontbuffer_put(front->display, front);
-}
-
/**
* intel_frontbuffer_track - update frontbuffer tracking
* @old: current buffer for the frontbuffer slots
void intel_frontbuffer_flip(struct intel_display *display,
unsigned frontbuffer_bits);
-void intel_frontbuffer_put(struct intel_frontbuffer *front);
-
-struct intel_frontbuffer *
-intel_frontbuffer_get(struct drm_gem_object *obj);
-
void __intel_fb_invalidate(struct intel_frontbuffer *front,
enum fb_op_origin origin,
unsigned int frontbuffer_bits);