From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2] drm/crtc: Remove duplicated ioctl code Date: Tue, 21 Oct 2014 17:08:10 +0300 Message-ID: <20141021140810.GL4284@intel.com> References: <20141008114034.2e1ab40d@as> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id DD2C16E0C3 for ; Tue, 21 Oct 2014 13:34:26 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20141008114034.2e1ab40d@as> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Chuck Ebbert Cc: "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org On Wed, Oct 08, 2014 at 11:40:34AM -0500, Chuck Ebbert wrote: > Make drm_mode_add_fb() call drm_mode_add_fb2() after converting its > args to the new internal format, instead of duplicating code. > = > Also picks up a lot more error checking, which the legacy modes > should pass after being converted to the new format. > = > Signed-off-by: Chuck Ebbert Looks good to me. Reviewed-by: Ville Syrj=E4l=E4 > --- > drm_crtc.c | 31 +++++++------------------------ > 1 file changed, 7 insertions(+), 24 deletions(-) > = > Against 3.17.0, compile tested only. > This time with the correct signed-off-by. > = > diff a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c > --- a/drivers/gpu/drm/drm_crtc.c > +++ b/drivers/gpu/drm/drm_crtc.c > @@ -2925,11 +2925,9 @@ int drm_mode_addfb(struct drm_device *dev, > { > struct drm_mode_fb_cmd *or =3D data; > struct drm_mode_fb_cmd2 r =3D {}; > - struct drm_mode_config *config =3D &dev->mode_config; > - struct drm_framebuffer *fb; > - int ret =3D 0; > + int ret; > = > - /* Use new struct with format internally */ > + /* convert to new format and call new ioctl */ > r.fb_id =3D or->fb_id; > r.width =3D or->width; > r.height =3D or->height; > @@ -2937,27 +2934,12 @@ int drm_mode_addfb(struct drm_device *dev, > r.pixel_format =3D drm_mode_legacy_fb_format(or->bpp, or->depth); > r.handles[0] =3D or->handle; > = > - if (!drm_core_check_feature(dev, DRIVER_MODESET)) > - return -EINVAL; > - > - if ((config->min_width > r.width) || (r.width > config->max_width)) > - return -EINVAL; > - > - if ((config->min_height > r.height) || (r.height > config->max_height)) > - return -EINVAL; > - > - fb =3D dev->mode_config.funcs->fb_create(dev, file_priv, &r); > - if (IS_ERR(fb)) { > - DRM_DEBUG_KMS("could not create framebuffer\n"); > - return PTR_ERR(fb); > - } > + ret =3D drm_mode_addfb2(dev, &r, file_priv); > + if (ret) > + return ret; > + > + or->fb_id =3D r.fb_id; > = > - mutex_lock(&file_priv->fbs_lock); > - or->fb_id =3D fb->base.id; > - list_add(&fb->filp_head, &file_priv->fbs); > - DRM_DEBUG_KMS("[FB:%d]\n", fb->base.id); > - mutex_unlock(&file_priv->fbs_lock); > - > return ret; > } > = > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel -- = Ville Syrj=E4l=E4 Intel OTC