drm/msm: atomic fixes
Fixes for a couple little issues found in testing. Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
parent
32c0e3e24c
commit
3e2f29e413
3 changed files with 9 additions and 2 deletions
|
@ -117,7 +117,7 @@ int msm_atomic_commit(struct drm_device *dev,
|
||||||
if (!plane)
|
if (!plane)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (plane->state->fb != new_state->fb)
|
if ((plane->state->fb != new_state->fb) && new_state->fb)
|
||||||
add_fb(c, new_state->fb);
|
add_fb(c, new_state->fb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -120,6 +120,8 @@ void msm_framebuffer_cleanup(struct drm_framebuffer *fb, int id)
|
||||||
uint32_t msm_framebuffer_iova(struct drm_framebuffer *fb, int id, int plane)
|
uint32_t msm_framebuffer_iova(struct drm_framebuffer *fb, int id, int plane)
|
||||||
{
|
{
|
||||||
struct msm_framebuffer *msm_fb = to_msm_framebuffer(fb);
|
struct msm_framebuffer *msm_fb = to_msm_framebuffer(fb);
|
||||||
|
if (!msm_fb->planes[plane])
|
||||||
|
return 0;
|
||||||
return msm_gem_iova(msm_fb->planes[plane], id);
|
return msm_gem_iova(msm_fb->planes[plane], id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -68,6 +68,11 @@ struct msm_kms *mdp5_kms_init(struct drm_device *dev);
|
||||||
/* TODO move these helper iterator macro somewhere common: */
|
/* TODO move these helper iterator macro somewhere common: */
|
||||||
#define for_each_plane_on_crtc(_crtc, _plane) \
|
#define for_each_plane_on_crtc(_crtc, _plane) \
|
||||||
list_for_each_entry((_plane), &(_crtc)->dev->mode_config.plane_list, head) \
|
list_for_each_entry((_plane), &(_crtc)->dev->mode_config.plane_list, head) \
|
||||||
if ((_plane)->crtc == (_crtc))
|
if ((_plane)->state->crtc == (_crtc))
|
||||||
|
|
||||||
|
#define for_each_pending_plane_on_crtc(_state, _crtc, _plane) \
|
||||||
|
list_for_each_entry((_plane), &(_crtc)->dev->mode_config.plane_list, head) \
|
||||||
|
if (({struct drm_plane_state *_ps = (_state)->plane_states[drm_plane_index(_plane)]; \
|
||||||
|
_ps && _ps->crtc == (_crtc);}))
|
||||||
|
|
||||||
#endif /* __MSM_KMS_H__ */
|
#endif /* __MSM_KMS_H__ */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue