From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomi Valkeinen Subject: Re: [PATCH v3 09/15] drm: tilcdc: Replace drm_fb_get_bpp_depth() with drm_format_plane_cpp() Date: Fri, 10 Jun 2016 14:51:45 +0300 Message-ID: <575AA9D1.7090002@ti.com> References: <1465428739-26529-1-git-send-email-laurent.pinchart@ideasonboard.com> <1465428739-26529-10-git-send-email-laurent.pinchart@ideasonboard.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1533741290==" Return-path: Received: from bear.ext.ti.com (bear.ext.ti.com [198.47.19.11]) by gabe.freedesktop.org (Postfix) with ESMTPS id 766856ED13 for ; Fri, 10 Jun 2016 11:51:59 +0000 (UTC) In-Reply-To: <1465428739-26529-10-git-send-email-laurent.pinchart@ideasonboard.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Laurent Pinchart , dri-devel@lists.freedesktop.org Cc: Daniel Vetter , Jyri Sarha List-Id: dri-devel@lists.freedesktop.org --===============1533741290== Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="ujPDnm4pR08EGw4v6L2C68p6Ko4RkJNWv" --ujPDnm4pR08EGw4v6L2C68p6Ko4RkJNWv Content-Type: multipart/mixed; boundary="UvlQvAH2T9woNG06LmVAhPuqNUqmPSMVK" From: Tomi Valkeinen To: Laurent Pinchart , dri-devel@lists.freedesktop.org Cc: Daniel Vetter , =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= , Eric Engestrom , Jyri Sarha Message-ID: <575AA9D1.7090002@ti.com> Subject: Re: [PATCH v3 09/15] drm: tilcdc: Replace drm_fb_get_bpp_depth() with drm_format_plane_cpp() References: <1465428739-26529-1-git-send-email-laurent.pinchart@ideasonboard.com> <1465428739-26529-10-git-send-email-laurent.pinchart@ideasonboard.com> In-Reply-To: <1465428739-26529-10-git-send-email-laurent.pinchart@ideasonboard.com> --UvlQvAH2T9woNG06LmVAhPuqNUqmPSMVK Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 09/06/16 02:32, Laurent Pinchart wrote: > The driver needs the number of bytes per pixel, not the bpp and depth > info meant for fbdev compatibility. Use the right API. >=20 > In the tilcdc_crtc_mode_set() function compute the hardware register > value directly from the pixel format instead of computing the number of= > bits per pixels first. >=20 > Signed-off-by: Laurent Pinchart > --- > drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 23 ++++++++++------------- > 1 file changed, 10 insertions(+), 13 deletions(-) >=20 > Cc: Jyri Sarha >=20 > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c b/drivers/gpu/drm/til= cdc/tilcdc_crtc.c > index 79027b1c64d3..d63c7363dabc 100644 > --- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c > +++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c > @@ -65,15 +65,13 @@ static void set_scanout(struct drm_crtc *crtc, stru= ct drm_framebuffer *fb) > struct tilcdc_crtc *tilcdc_crtc =3D to_tilcdc_crtc(crtc); > struct drm_device *dev =3D crtc->dev; > struct drm_gem_cma_object *gem; > - unsigned int depth, bpp; > dma_addr_t start, end; > =20 > - drm_fb_get_bpp_depth(fb->pixel_format, &depth, &bpp); > gem =3D drm_fb_cma_get_gem_obj(fb, 0); > =20 > start =3D gem->paddr + fb->offsets[0] + > crtc->y * fb->pitches[0] + > - crtc->x * bpp / 8; > + crtc->x * drm_format_plane_cpp(fb->pixel_format, 0); > =20 > end =3D start + (crtc->mode.vdisplay * fb->pitches[0]); > =20 > @@ -132,11 +130,12 @@ static void tilcdc_crtc_destroy(struct drm_crtc *= crtc) > static int tilcdc_verify_fb(struct drm_crtc *crtc, struct drm_framebuf= fer *fb) > { > struct drm_device *dev =3D crtc->dev; > - unsigned int depth, bpp; > + unsigned int min_pitch; > =20 > - drm_fb_get_bpp_depth(fb->pixel_format, &depth, &bpp); > + min_pitch =3D crtc->mode.hdisplay > + * drm_format_plane_cpp(fb->pixel_format, 0); Why 'min_pitch'? Plain 'pitch' should be fine here. > =20 > - if (fb->pitches[0] !=3D crtc->mode.hdisplay * bpp / 8) { > + if (fb->pitches[0] !=3D min_pitch) { > dev_err(dev->dev, > "Invalid pitch: fb and crtc widths must be the same"); > return -EINVAL; > @@ -401,16 +400,14 @@ static int tilcdc_crtc_mode_set(struct drm_crtc *= crtc, > if (info->tft_alt_mode) > reg |=3D LCDC_TFT_ALT_ENABLE; > if (priv->rev =3D=3D 2) { > - unsigned int depth, bpp; > - > - drm_fb_get_bpp_depth(crtc->primary->fb->pixel_format, &depth, &bpp);= > - switch (bpp) { > - case 16: > + switch (crtc->primary->fb->pixel_format) { > + case DRM_FORMAT_RGB565: > break; > - case 32: > + case DRM_FORMAT_XRGB8888: > + case DRM_FORMAT_ARGB8888: I'm not sure what's the common way, but tilcdc doesn't support alpha. ARGB works, of course, by ignoring A, but... If an userspace app creates ARGB buffer, does the app expect alpha to work? Tomi --UvlQvAH2T9woNG06LmVAhPuqNUqmPSMVK-- --ujPDnm4pR08EGw4v6L2C68p6Ko4RkJNWv Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJXWqnRAAoJEPo9qoy8lh719MYQAInT9qNG8QNR7uHeK0Jdvjee kd5REK/JLNn2OHkEE2MVcA1Wz0mav/i6cHyrt4j6oqxrBvn0oUJb6BcI1HARZD72 1Hae5BcSS8Ws7LRooycCJOzzqC3v8myuMgn9R8bMDpNPHsPjWZuTFIvSV5vYdbgv JTgKQ34ZfB5OKPLTUWkTPf5mQ/VLEd9iMh+UV541LdYCsW4xCzYo2hA9mwUoGNkV T8Mp6BQn4sG7PE0TXPfDSG/T260BltspvyZg7Z4lXHxu3lrCJZcm4UKEYYzjO21J oS9NTakPgCajoinCXvRNaaP1JQTxmGWfpbeuWXPWAFd842XcPHMEVuwcvmPjtii9 4gWHtgsEnJe5AfPgXU4OptoNKQSfqEU3ZkOE5OKnxHR1hQWMr6QoR6UQmpgkohj1 bmpYaVsqLipbJyu+M/pwNDdBUw4OrsXTRSrj6w7o9DsflrStKTC3qEl0Iim7xapc KDYfTVvjJgER+u9GNPhN6DV9HRIEy5JJv2Vxu9p/EPgJ6udnB6xOU8QkfyrlZqlb YLTecf5NRmk8wOfaSeB9lx7bioGlnFE1FbC02Cp8b2Vayu4tAtZKTb+EpfEFZ0M2 EEs3Is/3kqW+gEgOXWVH3R9naFEoTK9ufnzcWTk2X2+YooIE8bCWgTmWN7LH/ysX zNPbABTTAhmYrcgVLHGQ =kWqN -----END PGP SIGNATURE----- --ujPDnm4pR08EGw4v6L2C68p6Ko4RkJNWv-- --===============1533741290== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== --===============1533741290==--