forked from Minki/linux
drm/vram-helpers: Set plane fence for display update
Calling the VRAM helper's prepare_fb() helper now sets the plane's fence object. This will be useful for PRIME support. VRAM helpers don't support buffer sharing ATM, so for now there are no drivers requiring this change. v2: * removed a TODO comment about buffer synchronization Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20200331092740.29282-1-tzimmermann@suse.de
This commit is contained in:
parent
8e334c1d89
commit
d7b001d852
@ -5,6 +5,7 @@
|
|||||||
#include <drm/drm_drv.h>
|
#include <drm/drm_drv.h>
|
||||||
#include <drm/drm_file.h>
|
#include <drm/drm_file.h>
|
||||||
#include <drm/drm_framebuffer.h>
|
#include <drm/drm_framebuffer.h>
|
||||||
|
#include <drm/drm_gem_framebuffer_helper.h>
|
||||||
#include <drm/drm_gem_ttm_helper.h>
|
#include <drm/drm_gem_ttm_helper.h>
|
||||||
#include <drm/drm_gem_vram_helper.h>
|
#include <drm/drm_gem_vram_helper.h>
|
||||||
#include <drm/drm_mode.h>
|
#include <drm/drm_mode.h>
|
||||||
@ -670,9 +671,9 @@ EXPORT_SYMBOL(drm_gem_vram_driver_dumb_mmap_offset);
|
|||||||
* @plane: a DRM plane
|
* @plane: a DRM plane
|
||||||
* @new_state: the plane's new state
|
* @new_state: the plane's new state
|
||||||
*
|
*
|
||||||
* During plane updates, this function pins the GEM VRAM
|
* During plane updates, this function sets the plane's fence and
|
||||||
* objects of the plane's new framebuffer to VRAM. Call
|
* pins the GEM VRAM objects of the plane's new framebuffer to VRAM.
|
||||||
* drm_gem_vram_plane_helper_cleanup_fb() to unpin them.
|
* Call drm_gem_vram_plane_helper_cleanup_fb() to unpin them.
|
||||||
*
|
*
|
||||||
* Returns:
|
* Returns:
|
||||||
* 0 on success, or
|
* 0 on success, or
|
||||||
@ -698,6 +699,10 @@ drm_gem_vram_plane_helper_prepare_fb(struct drm_plane *plane,
|
|||||||
goto err_drm_gem_vram_unpin;
|
goto err_drm_gem_vram_unpin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ret = drm_gem_fb_prepare_fb(plane, new_state);
|
||||||
|
if (ret)
|
||||||
|
goto err_drm_gem_vram_unpin;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err_drm_gem_vram_unpin:
|
err_drm_gem_vram_unpin:
|
||||||
|
Loading…
Reference in New Issue
Block a user