drm/rockchip: Use dirtyfb helper
Instead of flushing all vops every time we get a dirtyfb call, use the damage helper to kick off an atomic commit. Even though we don't use damage clips, the helper commit will force us through the normal psr_inhibit_get/put sequence. Changes in v3: - Added to the set Changes in v4: - None Changes in v5: - None Link to v3: https://patchwork.freedesktop.org/patch/msgid/20190502194956.218441-7-sean@poorly.run Link to v4: https://patchwork.freedesktop.org/patch/msgid/20190508160920.144739-7-sean@poorly.run Suggested-by: Daniel Vetter <daniel@ffwll.ch> Tested-by: Heiko Stuebner <heiko@sntech.de> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Sean Paul <seanpaul@chromium.org> Link: https://patchwork.freedesktop.org/patch/msgid/20190611160844.257498-7-sean@poorly.run
This commit is contained in:
parent
1452c25b0e
commit
6c83ca795f
|
@ -16,6 +16,7 @@
|
||||||
#include <drm/drm.h>
|
#include <drm/drm.h>
|
||||||
#include <drm/drmP.h>
|
#include <drm/drmP.h>
|
||||||
#include <drm/drm_atomic.h>
|
#include <drm/drm_atomic.h>
|
||||||
|
#include <drm/drm_damage_helper.h>
|
||||||
#include <drm/drm_fb_helper.h>
|
#include <drm/drm_fb_helper.h>
|
||||||
#include <drm/drm_gem_framebuffer_helper.h>
|
#include <drm/drm_gem_framebuffer_helper.h>
|
||||||
#include <drm/drm_probe_helper.h>
|
#include <drm/drm_probe_helper.h>
|
||||||
|
@ -25,20 +26,10 @@
|
||||||
#include "rockchip_drm_gem.h"
|
#include "rockchip_drm_gem.h"
|
||||||
#include "rockchip_drm_psr.h"
|
#include "rockchip_drm_psr.h"
|
||||||
|
|
||||||
static int rockchip_drm_fb_dirty(struct drm_framebuffer *fb,
|
|
||||||
struct drm_file *file,
|
|
||||||
unsigned int flags, unsigned int color,
|
|
||||||
struct drm_clip_rect *clips,
|
|
||||||
unsigned int num_clips)
|
|
||||||
{
|
|
||||||
rockchip_drm_psr_flush_all(fb->dev);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct drm_framebuffer_funcs rockchip_drm_fb_funcs = {
|
static const struct drm_framebuffer_funcs rockchip_drm_fb_funcs = {
|
||||||
.destroy = drm_gem_fb_destroy,
|
.destroy = drm_gem_fb_destroy,
|
||||||
.create_handle = drm_gem_fb_create_handle,
|
.create_handle = drm_gem_fb_create_handle,
|
||||||
.dirty = rockchip_drm_fb_dirty,
|
.dirty = drm_atomic_helper_dirtyfb,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct drm_framebuffer *
|
static struct drm_framebuffer *
|
||||||
|
|
Loading…
Reference in New Issue