All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
To: Maxime Ripard <maxime.ripard@bootlin.com>,
	Daniel Vetter <daniel.vetter@intel.com>,
	David Airlie <airlied@linux.ie>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Sean Paul <seanpaul@chromium.org>,
	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>,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	linux-media@vger.kernel.org
Subject: Re: [RFC PATCH 03/20] drm/fourcc: Pass the format_info pointer to drm_format_plane_cpp
Date: Wed, 20 Mar 2019 15:24:26 +0100	[thread overview]
Message-ID: <2ef894df9d9e79d4a89e745e95c79bbb6a2505e4.camel@bootlin.com> (raw)
In-Reply-To: <6e5850afb02cc2851fe3229122fb3cb4869dc108.1553032382.git-series.maxime.ripard@bootlin.com>

Hi,

Le mardi 19 mars 2019 à 22:57 +0100, Maxime Ripard a écrit :
> So far, the drm_format_plane_cpp function was 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.

Well, it seems that drm_fourcc functions that take a drm_format_info
have a drm_format_info prefix, so having this would be more consistent.

And given what the helper does, I think it would make good sense to
switch it over to an inline drm_format_info_plane_cpp helper.

What do you think?

Cheers,

Paul

> Let's follow the latter pattern and remove the extra lookup while being a
> bit more consistent.
>
> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c         | 4 +++-
>  drivers/gpu/drm/arm/malidp_hw.c                | 4 +++-
>  drivers/gpu/drm/cirrus/cirrus_fbdev.c          | 4 +++-
>  drivers/gpu/drm/cirrus/cirrus_main.c           | 4 +++-
>  drivers/gpu/drm/drm_client.c                   | 3 ++-
>  drivers/gpu/drm/drm_fb_helper.c                | 2 +-
>  drivers/gpu/drm/drm_fourcc.c                   | 7 ++-----
>  drivers/gpu/drm/i915/intel_sprite.c            | 3 ++-
>  drivers/gpu/drm/mediatek/mtk_drm_fb.c          | 2 +-
>  drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c      | 3 ++-
>  drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c       | 2 +-
>  drivers/gpu/drm/msm/msm_fb.c                   | 2 +-
>  drivers/gpu/drm/radeon/radeon_fb.c             | 4 +++-
>  drivers/gpu/drm/rockchip/rockchip_drm_fb.c     | 2 +-
>  drivers/gpu/drm/stm/ltdc.c                     | 2 +-
>  drivers/gpu/drm/tegra/fb.c                     | 2 +-
>  drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c | 2 +-
>  drivers/gpu/drm/zte/zx_plane.c                 | 2 +-
>  include/drm/drm_fourcc.h                       | 2 +-
>  19 files changed, 33 insertions(+), 23 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
> index 5cbde74b97dd..48170a843b48 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
> @@ -123,6 +123,8 @@ static int amdgpufb_create_pinned_object(struct amdgpu_fbdev *rfbdev,
>  					 struct drm_mode_fb_cmd2 *mode_cmd,
>  					 struct drm_gem_object **gobj_p)
>  {
> +	const struct drm_format_info *info = drm_get_format_info(dev,
> +								 mode_cmd);
>  	struct amdgpu_device *adev = rfbdev->adev;
>  	struct drm_gem_object *gobj = NULL;
>  	struct amdgpu_bo *abo = NULL;
> @@ -133,7 +135,7 @@ static int amdgpufb_create_pinned_object(struct amdgpu_fbdev *rfbdev,
>  	int height = mode_cmd->height;
>  	u32 cpp;
>  
> -	cpp = drm_format_plane_cpp(mode_cmd->pixel_format, 0);
> +	cpp = drm_format_plane_cpp(info, 0);
>  
>  	/* need to align pitch with crtc limits */
>  	mode_cmd->pitches[0] = amdgpu_align_pitch(adev, mode_cmd->width, cpp,
> diff --git a/drivers/gpu/drm/arm/malidp_hw.c b/drivers/gpu/drm/arm/malidp_hw.c
> index b9bed1138fa3..07971ad53b29 100644
> --- a/drivers/gpu/drm/arm/malidp_hw.c
> +++ b/drivers/gpu/drm/arm/malidp_hw.c
> @@ -326,12 +326,14 @@ static void malidp500_modeset(struct malidp_hw_device *hwdev, struct videomode *
>  
>  static int malidp500_rotmem_required(struct malidp_hw_device *hwdev, u16 w, u16 h, u32 fmt)
>  {
> +	const struct drm_format_info *info = drm_format_info(fmt);
> +
>  	/*
>  	 * Each layer needs enough rotation memory to fit 8 lines
>  	 * worth of pixel data. Required size is then:
>  	 *    size = rotated_width * (bpp / 8) * 8;
>  	 */
> -	return w * drm_format_plane_cpp(fmt, 0) * 8;
> +	return w * drm_format_plane_cpp(info, 0) * 8;
>  }
>  
>  static void malidp500_se_write_pp_coefftab(struct malidp_hw_device *hwdev,
> diff --git a/drivers/gpu/drm/cirrus/cirrus_fbdev.c b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
> index 39df62acac69..759847bafda8 100644
> --- a/drivers/gpu/drm/cirrus/cirrus_fbdev.c
> +++ b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
> @@ -137,6 +137,8 @@ static int cirrusfb_create_object(struct cirrus_fbdev *afbdev,
>  			       const struct drm_mode_fb_cmd2 *mode_cmd,
>  			       struct drm_gem_object **gobj_p)
>  {
> +	const struct drm_format_info *info = drm_get_format_info(dev,
> +								 mode_cmd);
>  	struct drm_device *dev = afbdev->helper.dev;
>  	struct cirrus_device *cdev = dev->dev_private;
>  	u32 bpp;
> @@ -144,7 +146,7 @@ static int cirrusfb_create_object(struct cirrus_fbdev *afbdev,
>  	struct drm_gem_object *gobj;
>  	int ret = 0;
>  
> -	bpp = drm_format_plane_cpp(mode_cmd->pixel_format, 0) * 8;
> +	bpp = drm_format_plane_cpp(info, 0) * 8;
>  
>  	if (!cirrus_check_framebuffer(cdev, mode_cmd->width, mode_cmd->height,
>  				      bpp, mode_cmd->pitches[0]))
> diff --git a/drivers/gpu/drm/cirrus/cirrus_main.c b/drivers/gpu/drm/cirrus/cirrus_main.c
> index 57f8fe6d020b..66d0d2c5211d 100644
> --- a/drivers/gpu/drm/cirrus/cirrus_main.c
> +++ b/drivers/gpu/drm/cirrus/cirrus_main.c
> @@ -41,13 +41,15 @@ cirrus_user_framebuffer_create(struct drm_device *dev,
>  			       struct drm_file *filp,
>  			       const struct drm_mode_fb_cmd2 *mode_cmd)
>  {
> +	const struct drm_format_info *info = drm_get_format_info(dev,
> +								 mode_cmd);
>  	struct cirrus_device *cdev = dev->dev_private;
>  	struct drm_gem_object *obj;
>  	struct drm_framebuffer *fb;
>  	u32 bpp;
>  	int ret;
>  
> -	bpp = drm_format_plane_cpp(mode_cmd->pixel_format, 0) * 8;
> +	bpp = drm_format_plane_cpp(info, 0) * 8;
>  
>  	if (!cirrus_check_framebuffer(cdev, mode_cmd->width, mode_cmd->height,
>  				      bpp, mode_cmd->pitches[0]))
> diff --git a/drivers/gpu/drm/drm_client.c b/drivers/gpu/drm/drm_client.c
> index 9b2bd28dde0a..305d6dd5d201 100644
> --- a/drivers/gpu/drm/drm_client.c
> +++ b/drivers/gpu/drm/drm_client.c
> @@ -242,6 +242,7 @@ static void drm_client_buffer_delete(struct drm_client_buffer *buffer)
>  static struct drm_client_buffer *
>  drm_client_buffer_create(struct drm_client_dev *client, u32 width, u32 height, u32 format)
>  {
> +	const struct drm_format_info *info = drm_format_info(format);
>  	struct drm_mode_create_dumb dumb_args = { };
>  	struct drm_device *dev = client->dev;
>  	struct drm_client_buffer *buffer;
> @@ -257,7 +258,7 @@ drm_client_buffer_create(struct drm_client_dev *client, u32 width, u32 height, u
>  
>  	dumb_args.width = width;
>  	dumb_args.height = height;
> -	dumb_args.bpp = drm_format_plane_cpp(format, 0) * 8;
> +	dumb_args.bpp = drm_format_plane_cpp(info, 0) * 8;
>  	ret = drm_mode_create_dumb(dev, &dumb_args, client->file);
>  	if (ret)
>  		goto err_delete;
> diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
> index 04d23cb430bf..257a9c995057 100644
> --- a/drivers/gpu/drm/drm_fb_helper.c
> +++ b/drivers/gpu/drm/drm_fb_helper.c
> @@ -768,7 +768,7 @@ static void drm_fb_helper_dirty_blit_real(struct drm_fb_helper *fb_helper,
>  					  struct drm_clip_rect *clip)
>  {
>  	struct drm_framebuffer *fb = fb_helper->fb;
> -	unsigned int cpp = drm_format_plane_cpp(fb->format->format, 0);
> +	unsigned int cpp = drm_format_plane_cpp(fb->format, 0);
>  	size_t offset = clip->y1 * fb->pitches[0] + clip->x1 * cpp;
>  	void *src = fb_helper->fbdev->screen_buffer + offset;
>  	void *dst = fb_helper->buffer->vaddr + offset;
> diff --git a/drivers/gpu/drm/drm_fourcc.c b/drivers/gpu/drm/drm_fourcc.c
> index 04be330b7cae..d8ada4cb689e 100644
> --- a/drivers/gpu/drm/drm_fourcc.c
> +++ b/drivers/gpu/drm/drm_fourcc.c
> @@ -307,17 +307,14 @@ EXPORT_SYMBOL(drm_get_format_info);
>  
>  /**
>   * drm_format_plane_cpp - determine the bytes per pixel value
> - * @format: pixel format (DRM_FORMAT_*)
> + * @format: pixel format info
>   * @plane: plane index
>   *
>   * Returns:
>   * The bytes per pixel value for the specified plane.
>   */
> -int drm_format_plane_cpp(uint32_t format, int plane)
> +int drm_format_plane_cpp(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/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
> index b56a1a9ad01d..ee0e99b13532 100644
> --- a/drivers/gpu/drm/i915/intel_sprite.c
> +++ b/drivers/gpu/drm/i915/intel_sprite.c
> @@ -297,7 +297,8 @@ skl_plane_max_stride(struct intel_plane *plane,
>  		     u32 pixel_format, u64 modifier,
>  		     unsigned int rotation)
>  {
> -	int cpp = drm_format_plane_cpp(pixel_format, 0);
> +	const struct drm_format_info *info = drm_format_info(pixel_format);
> +	int cpp = drm_format_plane_cpp(info, 0);
>  
>  	/*
>  	 * "The stride in bytes must not exceed the
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_fb.c b/drivers/gpu/drm/mediatek/mtk_drm_fb.c
> index 68fdef8b12bd..af90c84e9e02 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_fb.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_fb.c
> @@ -104,7 +104,7 @@ struct drm_framebuffer *mtk_drm_mode_fb_create(struct drm_device *dev,
>  	if (!gem)
>  		return ERR_PTR(-ENOENT);
>  
> -	bpp = drm_format_plane_cpp(cmd->pixel_format, 0);
> +	bpp = drm_format_plane_cpp(info, 0);
>  	size = (height - 1) * cmd->pitches[0] + width * bpp;
>  	size += cmd->offsets[0];
>  
> diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c
> index b0cf63c4e3d7..aadae21f8818 100644
> --- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c
> +++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c
> @@ -782,6 +782,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);
>  	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);
> @@ -800,7 +801,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_plane_cpp(DRM_FORMAT_ARGB8888, 0);
> +	stride = width * drm_format_plane_cpp(info, 0);
>  
>  	get_roi(crtc, &roi_w, &roi_h);
>  
> diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c
> index b30b2f4efc60..03d503d8c3ba 100644
> --- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c
> +++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c
> @@ -158,7 +158,7 @@ uint32_t mdp5_smp_calculate(struct mdp5_smp *smp,
>  	for (i = 0; i < nplanes; i++) {
>  		int n, fetch_stride, cpp;
>  
> -		cpp = drm_format_plane_cpp(fmt, i);
> +		cpp = drm_format_plane_cpp(info, i);
>  		fetch_stride = width * cpp / (i ? hsub : 1);
>  
>  		n = DIV_ROUND_UP(fetch_stride * nlines, smp->blk_size);
> diff --git a/drivers/gpu/drm/msm/msm_fb.c b/drivers/gpu/drm/msm/msm_fb.c
> index f69c0afd6ec6..ee91058c7974 100644
> --- a/drivers/gpu/drm/msm/msm_fb.c
> +++ b/drivers/gpu/drm/msm/msm_fb.c
> @@ -181,7 +181,7 @@ static struct drm_framebuffer *msm_framebuffer_init(struct drm_device *dev,
>  		unsigned int min_size;
>  
>  		min_size = (height - 1) * mode_cmd->pitches[i]
> -			 + width * drm_format_plane_cpp(mode_cmd->pixel_format, i)
> +			 + width * drm_format_plane_cpp(info, i)
>  			 + mode_cmd->offsets[i];
>  
>  		if (bos[i]->size < min_size) {
> diff --git a/drivers/gpu/drm/radeon/radeon_fb.c b/drivers/gpu/drm/radeon/radeon_fb.c
> index 1179034024ae..88fc1a6e2e43 100644
> --- a/drivers/gpu/drm/radeon/radeon_fb.c
> +++ b/drivers/gpu/drm/radeon/radeon_fb.c
> @@ -125,6 +125,8 @@ static int radeonfb_create_pinned_object(struct radeon_fbdev *rfbdev,
>  					 struct drm_mode_fb_cmd2 *mode_cmd,
>  					 struct drm_gem_object **gobj_p)
>  {
> +	const struct drm_format_info *info = drm_get_format_info(dev,
> +								 mode_cmd);
>  	struct radeon_device *rdev = rfbdev->rdev;
>  	struct drm_gem_object *gobj = NULL;
>  	struct radeon_bo *rbo = NULL;
> @@ -135,7 +137,7 @@ static int radeonfb_create_pinned_object(struct radeon_fbdev *rfbdev,
>  	int height = mode_cmd->height;
>  	u32 cpp;
>  
> -	cpp = drm_format_plane_cpp(mode_cmd->pixel_format, 0);
> +	cpp = drm_format_plane_cpp(info, 0);
>  
>  	/* need to align pitch with crtc limits */
>  	mode_cmd->pitches[0] = radeon_align_pitch(rdev, mode_cmd->width, cpp,
> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_fb.c b/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
> index c318fae28581..c602cb2f4d3c 100644
> --- a/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
> @@ -98,7 +98,7 @@ rockchip_user_fb_create(struct drm_device *dev, struct drm_file *file_priv,
>  
>  		min_size = (height - 1) * mode_cmd->pitches[i] +
>  			mode_cmd->offsets[i] +
> -			width * drm_format_plane_cpp(mode_cmd->pixel_format, i);
> +			width * drm_format_plane_cpp(info, i);
>  
>  		if (obj->size < min_size) {
>  			drm_gem_object_put_unlocked(obj);
> diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c
> index b1741a9d5be2..b226df7dbf6f 100644
> --- a/drivers/gpu/drm/stm/ltdc.c
> +++ b/drivers/gpu/drm/stm/ltdc.c
> @@ -779,7 +779,7 @@ static void ltdc_plane_atomic_update(struct drm_plane *plane,
>  
>  	/* Configures the color frame buffer pitch in bytes & line length */
>  	pitch_in_bytes = fb->pitches[0];
> -	line_length = drm_format_plane_cpp(fb->format->format, 0) *
> +	line_length = drm_format_plane_cpp(fb->format, 0) *
>  		      (x1 - x0 + 1) + (ldev->caps.bus_width >> 3) - 1;
>  	val = ((pitch_in_bytes << 16) | line_length);
>  	reg_update_bits(ldev->regs, LTDC_L1CFBLR + lofs,
> diff --git a/drivers/gpu/drm/tegra/fb.c b/drivers/gpu/drm/tegra/fb.c
> index ddf2c764f24c..0a97458b286a 100644
> --- a/drivers/gpu/drm/tegra/fb.c
> +++ b/drivers/gpu/drm/tegra/fb.c
> @@ -149,7 +149,7 @@ struct drm_framebuffer *tegra_fb_create(struct drm_device *drm,
>  			goto unreference;
>  		}
>  
> -		bpp = drm_format_plane_cpp(cmd->pixel_format, i);
> +		bpp = drm_format_plane_cpp(info, i);
>  
>  		size = (height - 1) * cmd->pitches[i] +
>  		       width * bpp + cmd->offsets[i];
> diff --git a/drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c b/drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c
> index 2737b6fdadc8..57dda9d1a45d 100644
> --- a/drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c
> +++ b/drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c
> @@ -36,7 +36,7 @@ MODULE_PARM_DESC(spi_max, "Set a lower SPI max transfer size");
>  void tinydrm_memcpy(void *dst, void *vaddr, struct drm_framebuffer *fb,
>  		    struct drm_rect *clip)
>  {
> -	unsigned int cpp = drm_format_plane_cpp(fb->format->format, 0);
> +	unsigned int cpp = drm_format_plane_cpp(fb->format, 0);
>  	unsigned int pitch = fb->pitches[0];
>  	void *src = vaddr + (clip->y1 * pitch) + (clip->x1 * cpp);
>  	size_t len = (clip->x2 - clip->x1) * cpp;
> diff --git a/drivers/gpu/drm/zte/zx_plane.c b/drivers/gpu/drm/zte/zx_plane.c
> index c6a8be444300..41bd0db4e876 100644
> --- a/drivers/gpu/drm/zte/zx_plane.c
> +++ b/drivers/gpu/drm/zte/zx_plane.c
> @@ -222,7 +222,7 @@ static void zx_vl_plane_atomic_update(struct drm_plane *plane,
>  		cma_obj = drm_fb_cma_get_gem_obj(fb, i);
>  		paddr = cma_obj->paddr + fb->offsets[i];
>  		paddr += src_y * fb->pitches[i];
> -		paddr += src_x * drm_format_plane_cpp(format, i);
> +		paddr += src_x * drm_format_plane_cpp(fb->format, i);
>  		zx_writel(paddr_reg, paddr);
>  		paddr_reg += 4;
>  	}
> diff --git a/include/drm/drm_fourcc.h b/include/drm/drm_fourcc.h
> index eeec449d6c6a..97a58f3e7462 100644
> --- a/include/drm/drm_fourcc.h
> +++ b/include/drm/drm_fourcc.h
> @@ -268,7 +268,7 @@ drm_get_format_info(struct drm_device *dev,
>  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(uint32_t format, int plane);
> +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);
>  unsigned int drm_format_info_block_width(const struct drm_format_info *info,
-- 
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com


  reply	other threads:[~2019-03-20 14:24 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-19 21:57 [RFC PATCH 00/20] drm: Split out the formats API and move it to a common place Maxime Ripard
2019-03-19 21:57 ` [RFC PATCH 01/20] drm: Remove users of drm_format_num_planes Maxime Ripard
2019-03-20 14:16   ` Paul Kocialkowski
2019-04-02  9:43   ` Emil Velikov
2019-04-02 14:51     ` Maxime Ripard
2019-04-04 16:24       ` Emil Velikov
2019-03-19 21:57 ` [RFC PATCH 02/20] drm: Remove users of drm_format_(horz|vert)_chroma_subsampling Maxime Ripard
2019-03-20 14:19   ` Paul Kocialkowski
2019-03-20 14:19     ` Paul Kocialkowski
2019-03-19 21:57 ` [RFC PATCH 03/20] drm/fourcc: Pass the format_info pointer to drm_format_plane_cpp Maxime Ripard
2019-03-19 21:57   ` Maxime Ripard
2019-03-20 14:24   ` Paul Kocialkowski [this message]
2019-03-21 10:13     ` Maxime Ripard
2019-03-21 10:13       ` Maxime Ripard
2019-03-19 21:57 ` [RFC PATCH 04/20] drm/fourcc: Pass the format_info pointer to drm_format_plane_width/height Maxime Ripard
2019-03-20 14:26   ` Paul Kocialkowski
2019-03-19 21:57 ` [RFC PATCH 05/20] drm: Replace instances of drm_format_info by drm_get_format_info Maxime Ripard
2019-03-20 14:27   ` Paul Kocialkowski
2019-03-19 21:57 ` [RFC PATCH 06/20] lib: Add video format information library Maxime Ripard
2019-03-19 21:57   ` Maxime Ripard
2019-03-20 13:39   ` Boris Brezillon
2019-03-21  8:20     ` Maxime Ripard
2019-03-21  8:20       ` Maxime Ripard
2019-03-21  8:40       ` Boris Brezillon
2019-03-19 21:57 ` [RFC PATCH 07/20] drm/fb: Move from drm_format_info to image_format_info Maxime Ripard
2019-03-19 21:57 ` [RFC PATCH 08/20] drm/malidp: Convert to generic image format library Maxime Ripard
2019-03-19 21:57 ` [RFC PATCH 09/20] drm/client: " Maxime Ripard
2019-03-19 21:57 ` [RFC PATCH 10/20] drm/exynos: " Maxime Ripard
2019-03-19 21:57 ` [RFC PATCH 11/20] drm/i915: " Maxime Ripard
2019-03-19 21:57 ` [RFC PATCH 12/20] drm/ipuv3: " Maxime Ripard
2019-03-19 21:57   ` Maxime Ripard
2019-03-19 21:57 ` [RFC PATCH 13/20] drm/msm: " Maxime Ripard
2019-03-19 21:57 ` [RFC PATCH 14/20] drm/omap: " Maxime Ripard
2019-03-19 21:57 ` [RFC PATCH 15/20] drm/rockchip: " Maxime Ripard
2019-03-19 21:57 ` [RFC PATCH 16/20] drm/tegra: " Maxime Ripard
2019-03-19 21:57   ` Maxime Ripard
2019-03-19 21:57 ` [RFC PATCH 17/20] drm/fourcc: Remove old DRM format API Maxime Ripard
2019-03-19 21:57 ` [RFC PATCH 18/20] lib: image-formats: Add v4l2 formats support Maxime Ripard
2019-03-19 23:29   ` Nicolas Dufresne
2019-03-20 14:27     ` Ville Syrjälä
2019-03-20 15:51       ` Nicolas Dufresne
2019-03-20 16:09         ` Ville Syrjälä
2019-03-20 16:30           ` Nicolas Dufresne
2019-03-20 16:41             ` Ville Syrjälä
2019-03-20 18:27               ` Nicolas Dufresne
2019-03-20 18:39                 ` Ville Syrjälä
2019-03-21 16:04                   ` Paul Kocialkowski
2019-03-21 16:04                     ` Paul Kocialkowski
2019-03-21 16:35                     ` Ville Syrjälä
2019-03-21 19:14                       ` Nicolas Dufresne
2019-03-21 21:44                         ` Ville Syrjälä
2019-03-22 18:24                           ` Nicolas Dufresne
2019-03-22 18:44                             ` Ville Syrjälä
2019-03-22 19:25                               ` Nicolas Dufresne
2019-03-22 14:42                         ` Ville Syrjälä
2019-03-22 18:11                           ` Nicolas Dufresne
2019-03-20 18:15     ` Brian Starkey
2019-03-21 15:47       ` Maxime Ripard
2019-03-22 19:55   ` Nicolas Dufresne
2019-04-01 14:44     ` Maxime Ripard
2019-04-11  7:24       ` Hans Verkuil
2019-04-11  7:38     ` Hans Verkuil
2019-04-11 15:55       ` Maxime Ripard
2019-04-11  7:12   ` Hans Verkuil
2019-04-11  7:15     ` Hans Verkuil
2019-04-11  7:15       ` Hans Verkuil
2019-03-19 21:57 ` [RFC PATCH 19/20] lib: image-formats: Add more functions Maxime Ripard
2019-03-19 21:57   ` Maxime Ripard
2019-03-19 21:57 ` [RFC PATCH 20/20] media: sun6i: Convert to the image format API Maxime Ripard

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=2ef894df9d9e79d4a89e745e95c79bbb6a2505e4.camel@bootlin.com \
    --to=paul.kocialkowski@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=maxime.ripard@bootlin.com \
    --cc=mchehab@kernel.org \
    --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 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.