drm/msm: Move implicit sync handling to prepare_fb
In preparation for moving to atomic helpers, move the implicit sync fence handling out of atomic commit and into the plane->prepare_fb() hook. While we're at it, de-duplicate the mdp*_prepare_fb functions. Changes in v4: - Added Reported-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Sean Paul <seanpaul@chromium.org> Signed-off-by: Rob Clark <robdclark@gmail.com>
这个提交包含在:
@@ -245,20 +245,6 @@ static const struct drm_plane_funcs mdp5_plane_funcs = {
|
||||
.atomic_print_state = mdp5_plane_atomic_print_state,
|
||||
};
|
||||
|
||||
static int mdp5_plane_prepare_fb(struct drm_plane *plane,
|
||||
struct drm_plane_state *new_state)
|
||||
{
|
||||
struct mdp5_kms *mdp5_kms = get_kms(plane);
|
||||
struct msm_kms *kms = &mdp5_kms->base.base;
|
||||
struct drm_framebuffer *fb = new_state->fb;
|
||||
|
||||
if (!new_state->fb)
|
||||
return 0;
|
||||
|
||||
DBG("%s: prepare: FB[%u]", plane->name, fb->base.id);
|
||||
return msm_framebuffer_prepare(fb, kms->aspace);
|
||||
}
|
||||
|
||||
static void mdp5_plane_cleanup_fb(struct drm_plane *plane,
|
||||
struct drm_plane_state *old_state)
|
||||
{
|
||||
@@ -543,7 +529,7 @@ static void mdp5_plane_atomic_async_update(struct drm_plane *plane,
|
||||
}
|
||||
|
||||
static const struct drm_plane_helper_funcs mdp5_plane_helper_funcs = {
|
||||
.prepare_fb = mdp5_plane_prepare_fb,
|
||||
.prepare_fb = msm_atomic_prepare_fb,
|
||||
.cleanup_fb = mdp5_plane_cleanup_fb,
|
||||
.atomic_check = mdp5_plane_atomic_check,
|
||||
.atomic_update = mdp5_plane_atomic_update,
|
||||
|
在新工单中引用
屏蔽一个用户