forked from Minki/linux
drm/vmwgfx: Stop using plane->fb in atomic_enable()
Instead of looking at the (soon to be deprecated) plane->fb we'll examing plane->state->fb instead. We can do this because vmw_du_crtc_atomic_check() prevents us from enabling a crtc without the primary plane also being enabled. Due to that same reason, I'm actually not sure what the checks here are for NULL fb. If we can't enable the crtc without an enabled plane we should always have an fb. But I'll leave that for someone else to figure out. Cc: Deepak Rawat <drawat@vmware.com> Cc: Thomas Hellstrom <thellstrom@vmware.com> Cc: Sinclair Yeh <syeh@vmware.com> Cc: VMware Graphics <linux-graphics-maintainer@vmware.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Deepak Rawat <drawat@vmware.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180525185045.29689-6-ville.syrjala@linux.intel.com Reviewed-by: Sinclair Yeh <syeh@vmware.com>
This commit is contained in:
parent
e1cd4f8e45
commit
0d45d79de2
@ -414,6 +414,7 @@ static void vmw_stdu_crtc_helper_prepare(struct drm_crtc *crtc)
|
|||||||
static void vmw_stdu_crtc_atomic_enable(struct drm_crtc *crtc,
|
static void vmw_stdu_crtc_atomic_enable(struct drm_crtc *crtc,
|
||||||
struct drm_crtc_state *old_state)
|
struct drm_crtc_state *old_state)
|
||||||
{
|
{
|
||||||
|
struct drm_plane_state *plane_state = crtc->primary->state;
|
||||||
struct vmw_private *dev_priv;
|
struct vmw_private *dev_priv;
|
||||||
struct vmw_screen_target_display_unit *stdu;
|
struct vmw_screen_target_display_unit *stdu;
|
||||||
struct vmw_framebuffer *vfb;
|
struct vmw_framebuffer *vfb;
|
||||||
@ -422,7 +423,7 @@ static void vmw_stdu_crtc_atomic_enable(struct drm_crtc *crtc,
|
|||||||
|
|
||||||
stdu = vmw_crtc_to_stdu(crtc);
|
stdu = vmw_crtc_to_stdu(crtc);
|
||||||
dev_priv = vmw_priv(crtc->dev);
|
dev_priv = vmw_priv(crtc->dev);
|
||||||
fb = crtc->primary->fb;
|
fb = plane_state->fb;
|
||||||
|
|
||||||
vfb = (fb) ? vmw_framebuffer_to_vfb(fb) : NULL;
|
vfb = (fb) ? vmw_framebuffer_to_vfb(fb) : NULL;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user