/** * vmw_sou_primary_plane_cleanup_fb - Frees sou backing buffer * * @plane: display plane * @old_state: Contains the FB to clean up * * Unpins the display surface * * Returns 0 on success */ static void vmw_sou_primary_plane_cleanup_fb(struct drm_plane *plane, struct drm_plane_state *old_state) { struct vmw_plane_state *vps = vmw_plane_state_to_vps(old_state); vmw_dmabuf_unreference(&vps->dmabuf); vps->dmabuf_size = 0; vmw_du_plane_cleanup_fb(plane, old_state); }
/** * vmw_sou_primary_plane_cleanup_fb - Frees sou backing buffer * * @plane: display plane * @old_state: Contains the FB to clean up * * Unpins the display surface * * Returns 0 on success */ static void vmw_sou_primary_plane_cleanup_fb(struct drm_plane *plane, struct drm_plane_state *old_state) { struct vmw_plane_state *vps = vmw_plane_state_to_vps(old_state); struct drm_crtc *crtc = plane->state->crtc ? plane->state->crtc : old_state->crtc; if (vps->bo) vmw_bo_unpin(vmw_priv(crtc->dev), vps->bo, false); vmw_bo_unreference(&vps->bo); vps->bo_size = 0; vmw_du_plane_cleanup_fb(plane, old_state); }