diff options
Diffstat (limited to 'drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c')
| -rw-r--r-- | drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c index e9dee367b597..30d57e74c42f 100644 --- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c +++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c | |||
| @@ -99,22 +99,28 @@ static const struct drm_plane_funcs mdp4_plane_funcs = { | |||
| 99 | }; | 99 | }; |
| 100 | 100 | ||
| 101 | static int mdp4_plane_prepare_fb(struct drm_plane *plane, | 101 | static int mdp4_plane_prepare_fb(struct drm_plane *plane, |
| 102 | struct drm_framebuffer *fb, | ||
| 103 | const struct drm_plane_state *new_state) | 102 | const struct drm_plane_state *new_state) |
| 104 | { | 103 | { |
| 105 | struct mdp4_plane *mdp4_plane = to_mdp4_plane(plane); | 104 | struct mdp4_plane *mdp4_plane = to_mdp4_plane(plane); |
| 106 | struct mdp4_kms *mdp4_kms = get_kms(plane); | 105 | struct mdp4_kms *mdp4_kms = get_kms(plane); |
| 106 | struct drm_framebuffer *fb = new_state->fb; | ||
| 107 | |||
| 108 | if (!fb) | ||
| 109 | return 0; | ||
| 107 | 110 | ||
| 108 | DBG("%s: prepare: FB[%u]", mdp4_plane->name, fb->base.id); | 111 | DBG("%s: prepare: FB[%u]", mdp4_plane->name, fb->base.id); |
| 109 | return msm_framebuffer_prepare(fb, mdp4_kms->id); | 112 | return msm_framebuffer_prepare(fb, mdp4_kms->id); |
| 110 | } | 113 | } |
| 111 | 114 | ||
| 112 | static void mdp4_plane_cleanup_fb(struct drm_plane *plane, | 115 | static void mdp4_plane_cleanup_fb(struct drm_plane *plane, |
| 113 | struct drm_framebuffer *fb, | ||
| 114 | const struct drm_plane_state *old_state) | 116 | const struct drm_plane_state *old_state) |
| 115 | { | 117 | { |
| 116 | struct mdp4_plane *mdp4_plane = to_mdp4_plane(plane); | 118 | struct mdp4_plane *mdp4_plane = to_mdp4_plane(plane); |
| 117 | struct mdp4_kms *mdp4_kms = get_kms(plane); | 119 | struct mdp4_kms *mdp4_kms = get_kms(plane); |
| 120 | struct drm_framebuffer *fb = old_state->fb; | ||
| 121 | |||
| 122 | if (!fb) | ||
| 123 | return; | ||
| 118 | 124 | ||
| 119 | DBG("%s: cleanup: FB[%u]", mdp4_plane->name, fb->base.id); | 125 | DBG("%s: cleanup: FB[%u]", mdp4_plane->name, fb->base.id); |
| 120 | msm_framebuffer_cleanup(fb, mdp4_kms->id); | 126 | msm_framebuffer_cleanup(fb, mdp4_kms->id); |
