From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: Daniel Vetter <daniel.vetter@intel.com>,
Tomi Valkeinen <tomi.valkeinen@ti.com>,
dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v4 12/14] drm: vmwgfx: Replace drm_fb_get_bpp_depth() with drm_format_info()
Date: Fri, 23 Sep 2016 15:40:17 +0300 [thread overview]
Message-ID: <2288447.mOOA5Jvle9@avalon> (raw)
In-Reply-To: <20160921073158.GC4714@dvetter-linux.ger.corp.intel.com>
Hi Daniel,
On Wednesday 21 Sep 2016 09:31:58 Daniel Vetter wrote:
> On Thu, Sep 08, 2016 at 05:44:26PM +0300, Laurent Pinchart wrote:
> > The driver is the last users of the drm_fb_get_bpp_depth() function. It
> > should ideally be converted to use struct drm_mode_fb_cmd2 instead of
> > the legacy struct drm_mode_fb_cmd internally, but that will require
> > broad changes across the code base. As a first step, replace
> > drm_fb_get_bpp_depth() with drm_format_info() in order to stop exporting
> > the function to drivers.
> >
> > The new DRM_ERROR() message comes from the vmw_create_dmabuf_proxy(),
> > vmw_kms_new_framebuffer_surface() and vmw_kms_new_framebuffer_dmabuf()
> > functions that currently print an error if the pixel format is
> > unsupported.
> >
> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > Reviewed-by: Sinclair Yeh <syeh@vmware.com>
> > ---
> >
> > drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 12 ++++++++++--
> > 1 file changed, 10 insertions(+), 2 deletions(-)
> >
> > Cc: VMware Graphics <linux-graphics-maintainer@vmware.com>
> > Cc: Sinclair Yeh <syeh@vmware.com>
> > Cc: Thomas Hellstrom <thellstrom@vmware.com>
> >
> > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> > b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c index bf28ccc150df..c965514b82be
> > 100644
> > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> > @@ -980,14 +980,22 @@ static struct drm_framebuffer
> > *vmw_kms_fb_create(struct drm_device *dev,>
> > struct vmw_dma_buffer *bo = NULL;
> > struct ttm_base_object *user_obj;
> > struct drm_mode_fb_cmd mode_cmd;
> >
> > + const struct drm_format_info *info;
> >
> > int ret;
> >
> > + info = drm_format_info(mode_cmd2->pixel_format);
> > + if (!info || !info->depth) {
> > + DRM_ERROR("Unsupported framebuffer format %s\n",
> > + drm_get_format_name(mode_cmd2->pixel_format));
> > + return ERR_PTR(-EINVAL);
> > + }
> > +
> >
> > mode_cmd.width = mode_cmd2->width;
> > mode_cmd.height = mode_cmd2->height;
> > mode_cmd.pitch = mode_cmd2->pitches[0];
> > mode_cmd.handle = mode_cmd2->handles[0];
> >
> > - drm_fb_get_bpp_depth(mode_cmd2->pixel_format, &mode_cmd.depth,
> > - &mode_cmd.bpp);
> > + mode_cmd.depth = info->depth;
> > + mode_cmd.bpp = info->cpp[0] * 8;
>
> I think this should use drm_helper_mode_fill_fb_struct instead.
I would do that if there was a struct drm_framebuffer to fill, but this piece
of code converts from struct drm_mode_fb_cmd2 to drm_mode_fb_cmd that is then
used all over the place internally. This should be fixed, but I think that's
out of scope for this patch series.
> > /**
> >
> > * This code should be conditioned on Screen Objects not being used.
--
Regards,
Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2016-09-23 12:39 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-08 14:44 [PATCH v4 00/14] Centralize format information Laurent Pinchart
2016-09-08 14:44 ` [PATCH v4 01/14] drm: " Laurent Pinchart
2016-09-14 11:49 ` Tomi Valkeinen
2016-09-14 22:22 ` Laurent Pinchart
2016-09-15 6:22 ` Tomi Valkeinen
2016-09-15 16:12 ` Eric Engestrom
2016-09-15 23:30 ` Laurent Pinchart
2016-09-16 9:44 ` Tomi Valkeinen
2016-09-16 9:59 ` Laurent Pinchart
2016-09-18 10:17 ` [PATCH v4.1 " Laurent Pinchart
2016-09-21 7:23 ` Daniel Vetter
2016-09-21 11:21 ` Laurent Pinchart
2016-09-21 12:43 ` Daniel Vetter
2016-09-21 13:40 ` Eric Engestrom
2016-09-22 6:37 ` Daniel Vetter
2016-09-08 14:44 ` [PATCH v4 02/14] drm: Implement the drm_format_*() helpers as drm_format_info() wrappers Laurent Pinchart
2016-09-14 11:56 ` Tomi Valkeinen
2016-09-21 7:34 ` Daniel Vetter
2016-09-21 11:29 ` Laurent Pinchart
2016-09-08 14:44 ` [PATCH v4 03/14] drm: Use drm_format_info() in DRM core code Laurent Pinchart
2016-09-14 13:23 ` Tomi Valkeinen
2016-09-14 22:31 ` Laurent Pinchart
2016-09-21 7:26 ` Daniel Vetter
2016-09-08 14:44 ` [PATCH v4 04/14] drm: WARN when calling drm_format_info() for an unsupported format Laurent Pinchart
2016-09-15 9:33 ` Tomi Valkeinen
2016-09-08 14:44 ` [PATCH v4 05/14] drm: sti: Replace drm_fb_get_bpp_depth() with drm_format_plane_cpp() Laurent Pinchart
2016-09-09 12:08 ` Vincent ABRIOU
2016-09-08 14:44 ` [PATCH v4 06/14] drm: hdlcd: " Laurent Pinchart
2016-09-08 14:44 ` [PATCH v4 07/14] drm: tilcdc: " Laurent Pinchart
2016-09-15 9:36 ` Tomi Valkeinen
2016-09-15 9:49 ` Jyri Sarha
2016-09-15 21:40 ` [PATCH v4.1 " Laurent Pinchart
2016-09-08 14:44 ` [PATCH v4 08/14] drm: cirrus: " Laurent Pinchart
2016-09-21 7:36 ` Daniel Vetter
2016-09-08 14:44 ` [PATCH v4 09/14] drm: gma500: Replace drm_fb_get_bpp_depth() with drm_format_info() Laurent Pinchart
2016-09-21 7:35 ` Daniel Vetter
2016-09-08 14:44 ` [PATCH v4 10/14] drm: amdgpu: Replace drm_fb_get_bpp_depth() with drm_format_plane_cpp() Laurent Pinchart
2016-09-21 7:51 ` Daniel Vetter
2016-09-21 12:39 ` Laurent Pinchart
2016-09-21 12:46 ` Daniel Vetter
2016-09-21 13:59 ` Laurent Pinchart
2016-09-22 5:31 ` Daniel Vetter
2016-09-22 6:33 ` Laurent Pinchart
2016-09-08 14:44 ` [PATCH v4 11/14] drm: radeon: " Laurent Pinchart
2016-09-21 7:52 ` Daniel Vetter
2016-09-08 14:44 ` [PATCH v4 12/14] drm: vmwgfx: Replace drm_fb_get_bpp_depth() with drm_format_info() Laurent Pinchart
2016-09-21 7:31 ` Daniel Vetter
2016-09-23 12:40 ` Laurent Pinchart [this message]
2016-09-23 12:48 ` Daniel Vetter
2016-09-08 14:44 ` [PATCH v4 13/14] drm/arm: mali-dp: Replace drm_fb_get_bpp_depth() with drm_format_plane_cpp() Laurent Pinchart
2016-09-21 7:53 ` Daniel Vetter
2016-09-08 14:44 ` [PATCH v4 14/14] drm: Don't export the drm_fb_get_bpp_depth() function Laurent Pinchart
2016-09-15 9:41 ` Tomi Valkeinen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2288447.mOOA5Jvle9@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=daniel.vetter@intel.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=tomi.valkeinen@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.