Commit 06168448 authored by Ville Syrjälä's avatar Ville Syrjälä

drm/vmwgfx: Stop using plane->fb in vmw_kms_atomic_check_modeset()

Instead of looking at plane->fb let's look at the proper new
plane state.

Not that the code makes a ton of sense. It's only going through the
crtcs in the atomic state, so assuming not all of them are included
we're not even calculating the total bandwidth here. Also we're
not considering whether each crtc is actually enabled or not.

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: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180525185045.29689-2-ville.syrjala@linux.intel.comReviewed-by: default avatarSinclair Yeh <syeh@vmware.com>
parent 6931317c
...@@ -1536,9 +1536,13 @@ vmw_kms_atomic_check_modeset(struct drm_device *dev, ...@@ -1536,9 +1536,13 @@ vmw_kms_atomic_check_modeset(struct drm_device *dev,
unsigned long requested_bb_mem = 0; unsigned long requested_bb_mem = 0;
if (dev_priv->active_display_unit == vmw_du_screen_target) { if (dev_priv->active_display_unit == vmw_du_screen_target) {
if (crtc->primary->fb) { struct drm_plane *plane = crtc->primary;
int cpp = crtc->primary->fb->pitches[0] / struct drm_plane_state *plane_state;
crtc->primary->fb->width;
plane_state = drm_atomic_get_new_plane_state(state, plane);
if (plane_state && plane_state->fb) {
int cpp = plane_state->fb->format->cpp[0];
requested_bb_mem += crtc->mode.hdisplay * cpp * requested_bb_mem += crtc->mode.hdisplay * cpp *
crtc->mode.vdisplay; crtc->mode.vdisplay;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment