2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-22 20:23:57 +08:00

drm/msm: add dirty framebuffer helper

Use drm_atomic_helper_dirtyfb() as the dirty callback in the
msm_framebuffer_funcs struct. Call drm_plane_enable_fb_damage_clips()
when the planes are initialized in mdp4, mdp5, and dpu1.

Signed-off-by: Brian Masney <masneyb@onstation.org>
Signed-off-by: Rob Clark <robdclark@chromium.org>
This commit is contained in:
Brian Masney 2019-05-31 05:46:14 -04:00 committed by Rob Clark
parent f47bee2ba4
commit 648fdc3f64
4 changed files with 11 additions and 0 deletions

View File

@ -21,6 +21,7 @@
#include <linux/debugfs.h> #include <linux/debugfs.h>
#include <linux/dma-buf.h> #include <linux/dma-buf.h>
#include <drm/drm_damage_helper.h>
#include <drm/drm_atomic_uapi.h> #include <drm/drm_atomic_uapi.h>
#include "msm_drv.h" #include "msm_drv.h"
@ -1537,6 +1538,8 @@ struct drm_plane *dpu_plane_init(struct drm_device *dev,
if (ret) if (ret)
DPU_ERROR("failed to install zpos property, rc = %d\n", ret); DPU_ERROR("failed to install zpos property, rc = %d\n", ret);
drm_plane_enable_fb_damage_clips(plane);
/* success! finalize initialization */ /* success! finalize initialization */
drm_plane_helper_add(plane, &dpu_plane_helper_funcs); drm_plane_helper_add(plane, &dpu_plane_helper_funcs);

View File

@ -15,6 +15,7 @@
* this program. If not, see <http://www.gnu.org/licenses/>. * this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include <drm/drm_damage_helper.h>
#include "mdp4_kms.h" #include "mdp4_kms.h"
#define DOWN_SCALE_MAX 8 #define DOWN_SCALE_MAX 8
@ -391,6 +392,8 @@ struct drm_plane *mdp4_plane_init(struct drm_device *dev,
mdp4_plane_install_properties(plane, &plane->base); mdp4_plane_install_properties(plane, &plane->base);
drm_plane_enable_fb_damage_clips(plane);
return plane; return plane;
fail: fail:

View File

@ -16,6 +16,7 @@
* this program. If not, see <http://www.gnu.org/licenses/>. * this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include <drm/drm_damage_helper.h>
#include <drm/drm_print.h> #include <drm/drm_print.h>
#include "mdp5_kms.h" #include "mdp5_kms.h"
@ -1099,6 +1100,8 @@ struct drm_plane *mdp5_plane_init(struct drm_device *dev,
mdp5_plane_install_properties(plane, &plane->base); mdp5_plane_install_properties(plane, &plane->base);
drm_plane_enable_fb_damage_clips(plane);
return plane; return plane;
fail: fail:

View File

@ -16,6 +16,7 @@
*/ */
#include <drm/drm_crtc.h> #include <drm/drm_crtc.h>
#include <drm/drm_damage_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>
@ -35,6 +36,7 @@ static struct drm_framebuffer *msm_framebuffer_init(struct drm_device *dev,
static const struct drm_framebuffer_funcs msm_framebuffer_funcs = { static const struct drm_framebuffer_funcs msm_framebuffer_funcs = {
.create_handle = drm_gem_fb_create_handle, .create_handle = drm_gem_fb_create_handle,
.destroy = drm_gem_fb_destroy, .destroy = drm_gem_fb_destroy,
.dirty = drm_atomic_helper_dirtyfb,
}; };
#ifdef CONFIG_DEBUG_FS #ifdef CONFIG_DEBUG_FS