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: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180525185045.29689-2-ville.syrjala@linux.intel.com Reviewed-by: Sinclair Yeh <syeh@vmware.com>
This commit is contained in:
parent
6931317c71
commit
0616844873
@ -1536,9 +1536,13 @@ vmw_kms_atomic_check_modeset(struct drm_device *dev,
|
||||
unsigned long requested_bb_mem = 0;
|
||||
|
||||
if (dev_priv->active_display_unit == vmw_du_screen_target) {
|
||||
if (crtc->primary->fb) {
|
||||
int cpp = crtc->primary->fb->pitches[0] /
|
||||
crtc->primary->fb->width;
|
||||
struct drm_plane *plane = crtc->primary;
|
||||
struct drm_plane_state *plane_state;
|
||||
|
||||
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 *
|
||||
crtc->mode.vdisplay;
|
||||
|
Loading…
x
Reference in New Issue
Block a user