linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Maxime Ripard <maxime.ripard@bootlin.com>
To: Daniel Vetter <daniel.vetter@intel.com>,
	David Airlie <airlied@linux.ie>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Sean Paul <seanpaul@chromium.org>,
	Maxime Ripard <maxime.ripard@bootlin.com>,
	Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Sakari Ailus <sakari.ailus@linux.intel.com>,
	Hans Verkuil <hans.verkuil@cisco.com>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	Paul Kocialkowski <paul.kocialkowski@bootlin.com>,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	linux-media@vger.kernel.org
Subject: [PATCH 13/20] drm/msm: Convert to generic image format library
Date: Wed, 17 Apr 2019 09:54:39 +0200	[thread overview]
Message-ID: <4956babf82a2ed9508b96d188d285287c088b251.1555487650.git-series.maxime.ripard@bootlin.com> (raw)
In-Reply-To: <cover.8ec406bf8f4f097e9dc909d5aac466556822f592.1555487650.git-series.maxime.ripard@bootlin.com>

Now that we have a generic image format libary, let's convert drivers to
use it so that we can deprecate the old DRM one.

Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c |  6 ++++--
 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c   |  3 ++-
 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c   |  5 +++--
 drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c  |  9 +++++----
 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c    |  5 +++--
 5 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c
index c3d491e8d44b..94fc4330b6de 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c
@@ -12,6 +12,8 @@
 
 #define pr_fmt(fmt)	"[drm:%s:%d] " fmt, __func__, __LINE__
 
+#include <linux/image-formats.h>
+
 #include <uapi/drm/drm_fourcc.h>
 
 #include "msm_media_info.h"
@@ -1040,7 +1042,7 @@ int dpu_format_check_modified_format(
 		const struct drm_mode_fb_cmd2 *cmd,
 		struct drm_gem_object **bos)
 {
-	const struct drm_format_info *info;
+	const struct image_format_info *info;
 	const struct dpu_format *fmt;
 	struct dpu_hw_fmt_layout layout;
 	uint32_t bos_total_size = 0;
@@ -1052,7 +1054,7 @@ int dpu_format_check_modified_format(
 	}
 
 	fmt = to_dpu_format(msm_fmt);
-	info = drm_format_info(fmt->base.pixel_format);
+	info = image_format_drm_lookup(fmt->base.pixel_format);
 	if (!info)
 		return -EINVAL;
 
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
index 7994de952353..b22d350c7537 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
@@ -20,6 +20,7 @@
 
 #include <linux/debugfs.h>
 #include <linux/dma-buf.h>
+#include <linux/image-formats.h>
 
 #include <drm/drm_atomic_uapi.h>
 
@@ -557,7 +558,7 @@ static void _dpu_plane_setup_scaler(struct dpu_plane *pdpu,
 		struct dpu_plane_state *pstate,
 		const struct dpu_format *fmt, bool color_fill)
 {
-	const struct drm_format_info *info = drm_format_info(fmt->base.pixel_format);
+	const struct image_format_info *info = image_format_drm_lookup(fmt->base.pixel_format);
 
 	/* don't chroma subsample if decimating */
 	/* update scaler. calculate default config for QSEED3 */
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c
index a565dccaba3a..ef71dde2a3b6 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c
@@ -16,6 +16,7 @@
  * this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <linux/image-formats.h>
 #include <linux/sort.h>
 #include <drm/drm_mode.h>
 #include <drm/drm_crtc.h>
@@ -782,7 +783,7 @@ static void get_roi(struct drm_crtc *crtc, uint32_t *roi_w, uint32_t *roi_h)
 
 static void mdp5_crtc_restore_cursor(struct drm_crtc *crtc)
 {
-	const struct drm_format_info *info = drm_format_info(DRM_FORMAT_ARGB8888);
+	const struct image_format_info *info = image_format_drm_lookup(DRM_FORMAT_ARGB8888);
 	struct mdp5_crtc_state *mdp5_cstate = to_mdp5_crtc_state(crtc->state);
 	struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc);
 	struct mdp5_kms *mdp5_kms = get_kms(crtc);
@@ -801,7 +802,7 @@ static void mdp5_crtc_restore_cursor(struct drm_crtc *crtc)
 	width = mdp5_crtc->cursor.width;
 	height = mdp5_crtc->cursor.height;
 
-	stride = width * drm_format_info_plane_cpp(info, 0);
+	stride = width * image_format_info_plane_cpp(info, 0);
 
 	get_roi(crtc, &roi_w, &roi_h);
 
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c
index 9d9fb6c5fd68..00091637a00c 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c
@@ -17,6 +17,7 @@
  */
 
 #include <drm/drm_print.h>
+#include <linux/image-formats.h>
 #include "mdp5_kms.h"
 
 struct mdp5_plane {
@@ -650,7 +651,7 @@ static int calc_scalex_steps(struct drm_plane *plane,
 		uint32_t pixel_format, uint32_t src, uint32_t dest,
 		uint32_t phasex_steps[COMP_MAX])
 {
-	const struct drm_format_info *info = drm_format_info(pixel_format);
+	const struct image_format_info *info = image_format_drm_lookup(pixel_format);
 	struct mdp5_kms *mdp5_kms = get_kms(plane);
 	struct device *dev = mdp5_kms->dev->dev;
 	uint32_t phasex_step;
@@ -673,7 +674,7 @@ static int calc_scaley_steps(struct drm_plane *plane,
 		uint32_t pixel_format, uint32_t src, uint32_t dest,
 		uint32_t phasey_steps[COMP_MAX])
 {
-	const struct drm_format_info *info = drm_format_info(pixel_format);
+	const struct image_format_info *info = image_format_drm_lookup(pixel_format);
 	struct mdp5_kms *mdp5_kms = get_kms(plane);
 	struct device *dev = mdp5_kms->dev->dev;
 	uint32_t phasey_step;
@@ -695,7 +696,7 @@ static int calc_scaley_steps(struct drm_plane *plane,
 static uint32_t get_scale_config(const struct mdp_format *format,
 		uint32_t src, uint32_t dst, bool horz)
 {
-	const struct drm_format_info *info = drm_format_info(format->base.pixel_format);
+	const struct image_format_info *info = image_format_drm_lookup(format->base.pixel_format);
 	bool scaling = format->is_yuv ? true : (src != dst);
 	uint32_t sub;
 	uint32_t ya_filter, uv_filter;
@@ -750,7 +751,7 @@ static void mdp5_write_pixel_ext(struct mdp5_kms *mdp5_kms, enum mdp5_pipe pipe,
 	uint32_t src_w, int pe_left[COMP_MAX], int pe_right[COMP_MAX],
 	uint32_t src_h, int pe_top[COMP_MAX], int pe_bottom[COMP_MAX])
 {
-	const struct drm_format_info *info = drm_format_info(format->base.pixel_format);
+	const struct image_format_info *info = image_format_drm_lookup(format->base.pixel_format);
 	uint32_t lr, tb, req;
 	int i;
 
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c
index 1ca294694597..05fbf1028c78 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c
@@ -16,6 +16,7 @@
  * this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <linux/image-formats.h>
 #include <drm/drm_util.h>
 
 #include "mdp5_kms.h"
@@ -127,7 +128,7 @@ uint32_t mdp5_smp_calculate(struct mdp5_smp *smp,
 		const struct mdp_format *format,
 		u32 width, bool hdecim)
 {
-	const struct drm_format_info *info = drm_format_info(format->base.pixel_format);
+	const struct image_format_info *info = image_format_drm_lookup(format->base.pixel_format);
 	struct mdp5_kms *mdp5_kms = get_kms(smp);
 	int rev = mdp5_cfg_get_hw_rev(mdp5_kms->cfg);
 	int i, hsub, nplanes, nlines;
@@ -158,7 +159,7 @@ uint32_t mdp5_smp_calculate(struct mdp5_smp *smp,
 	for (i = 0; i < nplanes; i++) {
 		int n, fetch_stride, cpp;
 
-		cpp = drm_format_info_plane_cpp(info, i);
+		cpp = image_format_info_plane_cpp(info, i);
 		fetch_stride = width * cpp / (i ? hsub : 1);
 
 		n = DIV_ROUND_UP(fetch_stride * nlines, smp->blk_size);
-- 
git-series 0.9.1

  parent reply	other threads:[~2019-04-17  7:56 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-17  7:54 [PATCH 00/20] drm: Split out the formats API and move it to a common place Maxime Ripard
2019-04-17  7:54 ` [PATCH 01/20] drm: Remove users of drm_format_num_planes Maxime Ripard
2019-04-17  7:54 ` [PATCH 02/20] drm: Remove users of drm_format_(horz|vert)_chroma_subsampling Maxime Ripard
2019-04-17 13:32   ` Philipp Zabel
2019-04-17  7:54 ` [PATCH 03/20] drm/fourcc: Pass the format_info pointer to drm_format_plane_cpp Maxime Ripard
2019-04-17  7:54 ` [PATCH 04/20] drm/fourcc: Pass the format_info pointer to drm_format_plane_width/height Maxime Ripard
     [not found]   ` <776131c6-b8be-4302-ea9a-f7d84203f28c@linux.intel.com>
2019-04-17 11:01     ` Maxime Ripard
2019-04-17 11:10       ` Maarten Lankhorst
2019-04-17 13:12         ` Maxime Ripard
2019-04-17  7:54 ` [PATCH 05/20] drm: Replace instances of drm_format_info by drm_get_format_info Maxime Ripard
2019-04-17  7:54 ` [PATCH 06/20] lib: Add video format information library Maxime Ripard
2019-04-17 12:34   ` Paul Kocialkowski
2019-04-17 12:48     ` Maxime Ripard
2019-04-17 14:03       ` Paul Kocialkowski
2019-04-23 11:22   ` Thomas Zimmermann
2019-04-23 16:56     ` Paul Kocialkowski
2019-04-17  7:54 ` [PATCH 07/20] drm/fb: Move from drm_format_info to image_format_info Maxime Ripard
2019-04-17  7:54 ` [PATCH 08/20] drm/malidp: Convert to generic image format library Maxime Ripard
2019-04-17  7:54 ` [PATCH 09/20] drm/client: " Maxime Ripard
2019-04-17  7:54 ` [PATCH 10/20] drm/exynos: " Maxime Ripard
2019-04-17  7:54 ` [PATCH 11/20] drm/i915: " Maxime Ripard
2019-04-17  7:54 ` [PATCH 12/20] drm/ipuv3: " Maxime Ripard
2019-04-17  7:54 ` Maxime Ripard [this message]
2019-04-17  7:54 ` [PATCH 14/20] drm/omap: " Maxime Ripard
2019-04-17  7:54 ` [PATCH 15/20] drm/rockchip: " Maxime Ripard
2019-04-17  7:54 ` [PATCH 16/20] drm/tegra: " Maxime Ripard
2019-04-17  7:54 ` [PATCH 17/20] drm/fourcc: Remove old DRM format API Maxime Ripard
2019-04-17  7:54 ` [PATCH 18/20] lib: image-formats: Add v4l2 formats support Maxime Ripard
2019-05-02  8:24   ` Hans Verkuil
2019-05-06 13:22     ` Maxime Ripard
2019-04-17  7:54 ` [PATCH 19/20] lib: image-formats: Add more functions Maxime Ripard
2019-04-17 12:39   ` Paul Kocialkowski
2019-04-17 12:41   ` Sakari Ailus
2019-04-17  7:54 ` [PATCH 20/20] media: sun6i: Convert to the image format API Maxime Ripard
2019-04-17 12:23 ` [PATCH 00/20] drm: Split out the formats API and move it to a common place Paul Kocialkowski
2019-04-17 12:38 ` Paul Kocialkowski
2019-04-17 15:41 ` Daniel Vetter
2019-04-18  6:22   ` Maxime Ripard
2019-04-18  7:52     ` Daniel Vetter
2019-04-18  9:02       ` Maxime Ripard
2019-04-18 10:07         ` Daniel Vetter
2019-04-18 12:01           ` Maxime Ripard
2019-04-18 12:32             ` Daniel Vetter
2019-04-18 20:56               ` Maxime Ripard
2019-04-20 23:05                 ` Laurent Pinchart
2019-05-02  8:25                 ` Hans Verkuil
2019-04-20 22:59           ` Laurent Pinchart
2019-04-23  7:25             ` Daniel Vetter
2019-04-23  8:59               ` Daniel Stone
2019-04-23 15:54                 ` Laurent Pinchart
2019-04-23 16:02                   ` Daniel Stone
2019-04-23 16:38                     ` Paul Kocialkowski
2019-04-23 15:45               ` Laurent Pinchart
2019-04-23 16:46                 ` Paul Kocialkowski
2019-04-23 19:18                 ` Daniel Vetter
2019-05-11 19:26                   ` Laurent Pinchart
2019-05-13 14:57                     ` Daniel Vetter
2019-05-13 15:23                       ` Mauro Carvalho Chehab
2019-04-18 11:49         ` Paul Kocialkowski
2019-04-20 22:40           ` Laurent Pinchart
2019-04-23  7:30             ` Daniel Vetter
2019-04-23 12:33               ` Paul Kocialkowski
2019-04-23 14:28                 ` Nicolas Dufresne
2019-04-23 14:55                   ` Paul Kocialkowski
2019-04-23 15:09                   ` Daniel Vetter
2019-04-23 17:16                     ` Nicolas Dufresne
2019-04-23 19:06                       ` Daniel Vetter
2019-04-23 16:54             ` Paul Kocialkowski
2019-05-11 19:19               ` Laurent Pinchart

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=4956babf82a2ed9508b96d188d285287c088b251.1555487650.git-series.maxime.ripard@bootlin.com \
    --to=maxime.ripard@bootlin.com \
    --cc=airlied@linux.ie \
    --cc=daniel.vetter@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hans.verkuil@cisco.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mchehab@kernel.org \
    --cc=paul.kocialkowski@bootlin.com \
    --cc=sakari.ailus@linux.intel.com \
    --cc=seanpaul@chromium.org \
    --cc=thomas.petazzoni@bootlin.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).