[PATCH 20/37] drm/vmwgfx: Populate fb->format correctly

Laurent Pinchart laurent.pinchart at ideasonboard.com
Wed Nov 30 16:09:02 UTC 2016


Hello,

(Thomas, there's a question for you below)

On Wednesday 30 Nov 2016 18:03:30 Ville Syrjälä wrote:
> On Wed, Nov 30, 2016 at 04:40:27PM +0100, Daniel Vetter wrote:
> > On Fri, Nov 18, 2016 at 09:52:56PM +0200, ville.syrjala at linux.intel.com 
wrote:
> >> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> >> 
> >> Populate the fb->format to point at the correct format information
> >> structure.
> >> 
> >> Cc: linux-graphics-maintainer at vmware.com
> >> Cc: Sinclair Yeh <syeh at vmware.com>
> >> Cc: Thomas Hellstrom <thellstrom at vmware.com>
> >> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> >> ---
> >> 
> >>  drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 2 ++
> >>  1 file changed, 2 insertions(+)
> >> 
> >> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> >> b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c index 5788913ca8f9..77f936e3056e
> >> 100644
> >> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> >> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> >> @@ -589,6 +589,7 @@ static int vmw_kms_new_framebuffer_surface(struct
> >> vmw_private *dev_priv,
> >>  	vfbs->base.base.dev = dev;
> >>  	/* XXX get the first 4 from the surface info */
> >> 
> >> +	vfbs->base.base.format = drm_format_info(pixel_format);
> >>  	vfbs->base.base.pixel_format = pixel_format;
> >>  	vfbs->base.base.bits_per_pixel = mode_cmd->bpp;
> >>  	vfbs->base.base.pitches[0] = mode_cmd->pitch;
> >> @@ -897,6 +898,7 @@ static int vmw_kms_new_framebuffer_dmabuf(struct
> >> vmw_private *dev_priv,
> >>  	}
> >>  	
> >>  	vfbd->base.base.dev = dev;
> >> +	vfbd->base.base.format = drm_format_info(pixel_format);
> > 
> > Why not use drm_mode_fill_fb_struct here? This just seems to be bad
> > copypasta in both cases ...
> 
> That it is. I was hoping I'd trick the vmware folks into fixing it by
> posting this series. One issue is that this code still used the old
> mode_cmd struct rather than the new mode_cmd2 struct. So the fix may
> not be entirely trivial, and hence I was hoping people who care
> about the driver would do it.

I gave it a try and it required touching too much code for my limited (or 
rather non-existing) knowledge of the driver. Pretty please to the vmwgfx 
maintainers, could you fix this ? vmwgfx is the last driver still relying on 
the old mode_cmd structure.

> >>  	vfbd->base.base.pixel_format = pixel_format;
> >>  	vfbd->base.base.bits_per_pixel = mode_cmd->bpp;
> >>  	vfbd->base.base.pitches[0] = mode_cmd->pitch;

-- 
Regards,

Laurent Pinchart



More information about the dri-devel mailing list