Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp32791img; Tue, 19 Mar 2019 14:58:51 -0700 (PDT) X-Google-Smtp-Source: APXvYqxa8s4sOJtnEV6Jx8x2RNOhw2efRO3Z2uLmHuFJsHIjzecMqIFhMpsT1CSYMQC1kfN/4BuP X-Received: by 2002:a17:902:7e49:: with SMTP id a9mr4043148pln.303.1553032731397; Tue, 19 Mar 2019 14:58:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553032731; cv=none; d=google.com; s=arc-20160816; b=DZn67iDuMvUkmVrGPLGvA98EdNmEJfUCQEoKcN/FXVgHYrCqrbgdFVaARHpTCNphZ5 FR4UgjxqSyTnT2/ioY+amsFoWktb1rCsIrt541FVoziCOSXmmOeaX0LeISjV8px+mL0t x3q8yIWkcAvKR5CGg2nrahxVXdNRlPM9zWt0kHFyzP+yXg0judA7TB90Dh6pMshuI/XE UjYpuu/1vImVyFNPzxZh+D61vsgcqt+ZA8aN6TNAQIqJ8fX7d501Dyr/l0Ea0dvR/I9q bZXwXuhoF1QI8NGmDLpob2ZSz6b3+TSR2tuE5VsQcqGmOtXPnXNdZeviuUl3nyn+p67a rZgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=i1VhaHoc/M6JCB6kDLZ0Ka5TPo9E1d6jJQ00Sq9u9YM=; b=JKIW138Oz5vn49UC9Hd7CoXR0KixDmwfmPJmm0abM0YR0FAagRdln/iNYjWYy3gSLg p9mTLrRfv7WKWw9VOl/fWfwQ2sx01RQq8lec5dWyUuvuLtA8nsadEtBs9fNBcp4o8tXG qsMTvzDQ+2lXQaPiUo1RdHslueH3J6BEpKzdmH1CShVitpVzW9TZ8vx/u4gL1CkJgugk A7p5evTWyj16WeZ289ALnCcszDnVEvLVKjcb4pQI3YYoz4k1uLeFbzl/Y507ICETF50E ufEs2sSHZK7ptcODRSV0mGUppucv2eKl07cPJ+89qy1aoiz9IwNY5bXeXUdTXuVbWKdl JamQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 25si12658393pgt.419.2019.03.19.14.58.36; Tue, 19 Mar 2019 14:58:51 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727674AbfCSV5r (ORCPT + 99 others); Tue, 19 Mar 2019 17:57:47 -0400 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:40077 "EHLO relay1-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727606AbfCSV5o (ORCPT ); Tue, 19 Mar 2019 17:57:44 -0400 X-Originating-IP: 90.89.68.76 Received: from localhost (lfbn-1-10718-76.w90-89.abo.wanadoo.fr [90.89.68.76]) (Authenticated sender: maxime.ripard@bootlin.com) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id 377EE240003; Tue, 19 Mar 2019 21:57:39 +0000 (UTC) From: Maxime Ripard To: Daniel Vetter , David Airlie , Maarten Lankhorst , Sean Paul , Maxime Ripard , Mauro Carvalho Chehab Cc: Sakari Ailus , Hans Verkuil , Laurent Pinchart , Thomas Petazzoni , Paul Kocialkowski , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org Subject: [RFC PATCH 04/20] drm/fourcc: Pass the format_info pointer to drm_format_plane_width/height Date: Tue, 19 Mar 2019 22:57:09 +0100 Message-Id: X-Mailer: git-send-email 2.20.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org So far, the drm_format_plane_height/width functions were operating on the format's fourcc and was doing a lookup to retrieve the drm_format_info structure and return the cpp. However, this is inefficient since in most cases, we will have the drm_format_info pointer already available so we shouldn't have to perform a new lookup. Some drm_fourcc functions also already operate on the drm_format_info pointer for that reason, so the API is quite inconsistent there. Let's follow the latter pattern and remove the extra lookup while being a bit more consistent. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/drm_fourcc.c | 16 ++++++---------- drivers/gpu/drm/meson/meson_overlay.c | 6 +++--- include/drm/drm_fourcc.h | 6 ++++-- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/drivers/gpu/drm/drm_fourcc.c b/drivers/gpu/drm/drm_fourcc.c index d8ada4cb689e..57389b9753b2 100644 --- a/drivers/gpu/drm/drm_fourcc.c +++ b/drivers/gpu/drm/drm_fourcc.c @@ -325,17 +325,15 @@ EXPORT_SYMBOL(drm_format_plane_cpp); /** * drm_format_plane_width - width of the plane given the first plane * @width: width of the first plane - * @format: pixel format + * @format: pixel format info * @plane: plane index * * Returns: * The width of @plane, given that the width of the first plane is @width. */ -int drm_format_plane_width(int width, uint32_t format, int plane) +int drm_format_plane_width(int width, const struct drm_format_info *info, + int plane) { - const struct drm_format_info *info; - - info = drm_format_info(format); if (!info || plane >= info->num_planes) return 0; @@ -349,17 +347,15 @@ EXPORT_SYMBOL(drm_format_plane_width); /** * drm_format_plane_height - height of the plane given the first plane * @height: height of the first plane - * @format: pixel format + * @format: pixel format info * @plane: plane index * * Returns: * The height of @plane, given that the height of the first plane is @height. */ -int drm_format_plane_height(int height, uint32_t format, int plane) +int drm_format_plane_height(int height, const struct drm_format_info *info, + int plane) { - const struct drm_format_info *info; - - info = drm_format_info(format); if (!info || plane >= info->num_planes) return 0; diff --git a/drivers/gpu/drm/meson/meson_overlay.c b/drivers/gpu/drm/meson/meson_overlay.c index 8ff15d01a8f9..6987c15b6ab9 100644 --- a/drivers/gpu/drm/meson/meson_overlay.c +++ b/drivers/gpu/drm/meson/meson_overlay.c @@ -475,7 +475,7 @@ static void meson_overlay_atomic_update(struct drm_plane *plane, priv->viu.vd1_stride2 = fb->pitches[2]; priv->viu.vd1_height2 = drm_format_plane_height(fb->height, - fb->format->format, 2); + fb->format, 2); DRM_DEBUG("plane 2 addr 0x%x stride %d height %d\n", priv->viu.vd1_addr2, priv->viu.vd1_stride2, @@ -487,7 +487,7 @@ static void meson_overlay_atomic_update(struct drm_plane *plane, priv->viu.vd1_stride1 = fb->pitches[1]; priv->viu.vd1_height1 = drm_format_plane_height(fb->height, - fb->format->format, 1); + fb->format, 1); DRM_DEBUG("plane 1 addr 0x%x stride %d height %d\n", priv->viu.vd1_addr1, priv->viu.vd1_stride1, @@ -499,7 +499,7 @@ static void meson_overlay_atomic_update(struct drm_plane *plane, priv->viu.vd1_stride0 = fb->pitches[0]; priv->viu.vd1_height0 = drm_format_plane_height(fb->height, - fb->format->format, 0); + fb->format, 0); DRM_DEBUG("plane 0 addr 0x%x stride %d height %d\n", priv->viu.vd1_addr0, priv->viu.vd1_stride0, diff --git a/include/drm/drm_fourcc.h b/include/drm/drm_fourcc.h index 97a58f3e7462..2291f2618211 100644 --- a/include/drm/drm_fourcc.h +++ b/include/drm/drm_fourcc.h @@ -269,8 +269,10 @@ uint32_t drm_mode_legacy_fb_format(uint32_t bpp, uint32_t depth); uint32_t drm_driver_legacy_fb_format(struct drm_device *dev, uint32_t bpp, uint32_t depth); int drm_format_plane_cpp(const struct drm_format_info *info, int plane); -int drm_format_plane_width(int width, uint32_t format, int plane); -int drm_format_plane_height(int height, uint32_t format, int plane); +int drm_format_plane_width(int width, const struct drm_format_info *info, + int plane); +int drm_format_plane_height(int height, const struct drm_format_info *info, + int plane); unsigned int drm_format_info_block_width(const struct drm_format_info *info, int plane); unsigned int drm_format_info_block_height(const struct drm_format_info *info, -- git-series 0.9.1