[Intel-gfx] [PATCH 2/7] drm/vmwgfx: Stop using plane->fb in vmw_kms_atomic_check_modeset()
Ville Syrjälä
ville.syrjala at linux.intel.com
Thu Apr 5 20:29:13 UTC 2018
On Thu, Apr 05, 2018 at 08:15:05PM +0000, Deepak Singh Rawat wrote:
>
> >
> > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> >
> > 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: Thomas Hellstrom <thellstrom at vmware.com>
> > Cc: Sinclair Yeh <syeh at vmware.com>
> > Cc: VMware Graphics <linux-graphics-maintainer at vmware.com>
> > Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> > Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > ---
> > drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 10 +++++++---
> > 1 file changed, 7 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> > b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> > index 6728c6247b4b..a2a796b4cc23 100644
> > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> > @@ -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];
>
> Hi Ville,
>
> Thanks for the patch, recently I have done some refactoring of this code area
> which is no yet sent to dri-devel. But the refactored code eliminated the need
> to look the fb
>
> https://cgit.freedesktop.org/mesa/vmwgfx/commit/?id=c54cdb6549b7d1c04ff61e639fc0e6de0dcc1ed6
Hmm. What's the timelike for landing that stuff?
A cursory glance tells me we should just change the current code with
s/cpp/4/ and it should still be fine?
BTW the drm_for_each_crtc(crtc, dev) loop in there doesn't look entirely
kosher. It's potentially going to access crtc->state w/o holding the lock.
>
> There is still some future work to be done in this area.
>
> >
> > requested_bb_mem += crtc->mode.hdisplay
> > * cpp *
> > crtc->mode.vdisplay;
> > --
> > 2.16.1
--
Ville Syrjälä
Intel OTC
More information about the Intel-gfx
mailing list