All of lore.kernel.org
 help / color / mirror / Atom feed
From: Boris Brezillon <boris.brezillon@collabora.com>
To: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
Cc: kernel@collabora.com, Mihail Atanassov <mihail.atanassov@arm.com>,
	David Airlie <airlied@linux.ie>,
	Liviu Dudau <liviu.dudau@arm.com>,
	Sandy Huang <hjc@rock-chips.com>,
	dri-devel@lists.freedesktop.org,
	James Wang <james.qian.wang@arm.com>,
	Ayan Halder <Ayan.Halder@arm.com>, Sean Paul <sean@poorly.run>
Subject: Re: [PATCHv5 34/34] drm/rockchip: Add support for afbc
Date: Thu, 20 Feb 2020 12:20:32 +0100	[thread overview]
Message-ID: <20200220122032.76d9bd7e@collabora.com> (raw)
In-Reply-To: <20191217145020.14645-35-andrzej.p@collabora.com>

On Tue, 17 Dec 2019 15:50:20 +0100
Andrzej Pietrasiewicz <andrzej.p@collabora.com> wrote:

>  static const struct drm_mode_config_funcs rockchip_drm_mode_config_funcs = {
> -	.fb_create = drm_gem_fb_create_with_dirty,
> +	.fb_create = rockchip_fb_create,
>  	.output_poll_changed = drm_fb_helper_output_poll_changed,
>  	.atomic_check = drm_atomic_helper_check,
>  	.atomic_commit = drm_atomic_helper_commit,
> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> index d04b3492bdac..ffe1e4b9a9ca 100644
> --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> @@ -91,9 +91,21 @@
>  #define VOP_WIN_TO_INDEX(vop_win) \
>  	((vop_win) - (vop_win)->vop->win)
>  
> +#define VOP_AFBC_SET(vop, name, v) \
> +	do { \
> +		if ((vop)->data->afbc) \
> +			vop_reg_set((vop), &(vop)->data->afbc->name, 0, ~0, v, #name); \
> +	} while (0)
> +
>  #define to_vop(x) container_of(x, struct vop, crtc)
>  #define to_vop_win(x) container_of(x, struct vop_win, base)
>  
> +#define AFBC_FMT_RGB565		0x0
> +#define AFBC_FMT_U8U8U8U8	0x5
> +#define AFBC_FMT_U8U8U8		0x4
> +
> +#define AFBC_TILE_16x16		BIT(4)
> +
>  /*
>   * The coefficients of the following matrix are all fixed points.
>   * The format is S2.10 for the 3x3 part of the matrix, and S9.12 for the offsets.
> @@ -166,6 +178,7 @@ struct vop {
>  	/* optional internal rgb encoder */
>  	struct rockchip_rgb *rgb;
>  
> +	struct vop_win *afbc_win;

Looks like something that should be in the VOP specialized crtc_state.
Also, do we really need a vop_win pointer or can it be replaced by an
index directly?

>  	struct vop_win win[];
>  };
>  
> @@ -274,6 +287,29 @@ static enum vop_data_format vop_convert_format(uint32_t format)
>  	}
>  }
>  
> +static int vop_convert_afbc_format(uint32_t format)
> +{
> +	switch (format) {
> +	case DRM_FORMAT_XRGB8888:
> +	case DRM_FORMAT_ARGB8888:
> +	case DRM_FORMAT_XBGR8888:
> +	case DRM_FORMAT_ABGR8888:
> +		return AFBC_FMT_U8U8U8U8;
> +	case DRM_FORMAT_RGB888:
> +	case DRM_FORMAT_BGR888:
> +		return AFBC_FMT_U8U8U8;
> +	case DRM_FORMAT_RGB565:
> +	case DRM_FORMAT_BGR565:
> +		return AFBC_FMT_RGB565;
> +	/* either of the below should not be reachable */
> +	default:
> +		DRM_WARN_ONCE("unsupported AFBC format[%08x]\n", format);
> +		return -EINVAL;
> +	}
> +
> +	return -EINVAL;
> +}
> +
>  static uint16_t scl_vop_cal_scale(enum scale_mode mode, uint32_t src,
>  				  uint32_t dst, bool is_horizontal,
>  				  int vsu_mode, int *vskiplines)
> @@ -598,6 +634,15 @@ static int vop_enable(struct drm_crtc *crtc, struct drm_crtc_state *old_state)
>  			vop_win_disable(vop, vop_win);
>  		}
>  	}
> +
> +	if (vop->data->afbc) {
> +		/*
> +		 * Disable AFBC and forget there was a vop window with AFBC
> +		 */
> +		VOP_AFBC_SET(vop, enable, 0);
> +		vop->afbc_win = NULL;
> +	}
> +
>  	spin_unlock(&vop->reg_lock);
>  
>  	vop_cfg_done(vop);
> @@ -710,6 +755,37 @@ static void vop_plane_destroy(struct drm_plane *plane)
>  	drm_plane_cleanup(plane);
>  }
>  
> +static bool rockchip_afbc(u64 modifier)
> +{
> +	return modifier == DRM_FORMAT_MOD_ARM_AFBC(AFBC_FORMAT_MOD_BLOCK_SIZE_16x16 | AFBC_FORMAT_MOD_SPARSE);
> +}
> +
> +static bool rockchip_mod_supported(struct drm_plane *plane,
> +				   u32 format, u64 modifier)
> +{
> +	const struct drm_format_info *info;
> +
> +	if (WARN_ON(modifier == DRM_FORMAT_MOD_INVALID))
> +		return false;
> +
> +	if (modifier == DRM_FORMAT_MOD_LINEAR)
> +		return true;
> +
> +	if (!rockchip_afbc(modifier)) {
> +		DRM_DEBUG_KMS("Unsupported format modifer 0x%llx\n", modifier);
> +
> +		return false;
> +	}
> +
> +	info = drm_format_info(format);
> +	if (info->num_planes != 1) {
> +		DRM_DEBUG_KMS("AFBC buffers expect one plane\n");
> +		return false;
> +	}

Should we have a call to vop_convert_afbc_format() to make sure AFBC
can be applied to this specific format?

> +
> +	return true;
> +}
> +
>  static int vop_plane_atomic_check(struct drm_plane *plane,
>  			   struct drm_plane_state *state)
>  {
> @@ -719,10 +795,8 @@ static int vop_plane_atomic_check(struct drm_plane *plane,
>  	struct vop_win *vop_win = to_vop_win(plane);
>  	const struct vop_win_data *win = vop_win->data;
>  	int ret;
> -	int min_scale = win->phy->scl ? FRAC_16_16(1, 8) :
> -					DRM_PLANE_HELPER_NO_SCALING;
> -	int max_scale = win->phy->scl ? FRAC_16_16(8, 1) :
> -					DRM_PLANE_HELPER_NO_SCALING;
> +	int min_scale = win->phy->scl ? FRAC_16_16(1, 8) : DRM_PLANE_HELPER_NO_SCALING;
> +	int max_scale = win->phy->scl ? FRAC_16_16(8, 1) : DRM_PLANE_HELPER_NO_SCALING;

Looks like those coding-style fixes have nothing to do in this patch :).

>  
>  	if (!crtc || !fb)
>  		return 0;
> @@ -731,9 +805,7 @@ static int vop_plane_atomic_check(struct drm_plane *plane,
>  	if (WARN_ON(!crtc_state))
>  		return -EINVAL;
>  
> -	ret = drm_atomic_helper_check_plane_state(state, crtc_state,
> -						  min_scale, max_scale,
> -						  true, true);
> +	ret = drm_atomic_helper_check_plane_state(state, crtc_state, min_scale, max_scale, true, true);

Same here, plus, following the 80 char rule when it doesn't hurt
readability is a good thing I think.

>  	if (ret)
>  		return ret;
>  
> @@ -758,6 +830,31 @@ static int vop_plane_atomic_check(struct drm_plane *plane,
>  		return -EINVAL;
>  	}
>  
> +	if (rockchip_afbc(fb->modifier)) {
> +		struct vop *vop = to_vop(crtc);
> +
> +		if (!vop->data->afbc) {
> +			DRM_ERROR("vop does not support AFBC\n");
> +			return -EINVAL;
> +		}
> +
> +		ret = vop_convert_afbc_format(fb->format->format);
> +		if (ret < 0)
> +			return ret;
> +
> +		if (state->src.x1 || state->src.y1) {
> +			DRM_ERROR("afbc does not support offset display\n");
> +			DRM_ERROR("xpos=%d, ypos=%d, offset=%d\n", state->src.x1, state->src.y1, fb->offsets[0]);

Why splitting that in 2 error messages?

> +			return -EINVAL;
> +		}
> +
> +		if (state->rotation && state->rotation != DRM_MODE_ROTATE_0) {
> +			DRM_ERROR("afbc does not support rotation\n");
> +			DRM_ERROR("rotation=%d\n", state->rotation);

Ditto.

> +			return -EINVAL;
> +		}
> +	}
> +
>  	return 0;
>  }
>  
> @@ -773,6 +870,11 @@ static void vop_plane_atomic_disable(struct drm_plane *plane,
>  	spin_lock(&vop->reg_lock);
>  
>  	vop_win_disable(vop, vop_win);
> +	/*
> +	 * Forget about the AFBC window if it is being disabled
> +	 */
> +	if (vop_win == vop->afbc_win)
> +		vop->afbc_win = NULL;
>  
>  	spin_unlock(&vop->reg_lock);
>  }
> @@ -812,6 +914,13 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
>  	if (WARN_ON(!vop->is_enabled))
>  		return;
>  
> +	/*
> +	 * If updating the AFBC window then assume that
> +	 * after the update there will be no AFBC window.
> +	 */
> +	if (vop_win == vop->afbc_win)
> +		vop->afbc_win = NULL;
> +
>  	if (!state->visible) {
>  		vop_plane_atomic_disable(plane, old_state);
>  		return;
> @@ -846,6 +955,21 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
>  
>  	spin_lock(&vop->reg_lock);
>  
> +	if (rockchip_afbc(fb->modifier)) {
> +		int afbc_format = vop_convert_afbc_format(fb->format->format);
> +
> +		VOP_AFBC_SET(vop, format, afbc_format | AFBC_TILE_16x16);
> +		VOP_AFBC_SET(vop, hreg_block_split, 0);
> +		VOP_AFBC_SET(vop, win_sel, VOP_WIN_TO_INDEX(vop_win));

IIUC, only one plane can use AFBC at a given time, but you don't seem
to check the value of vop->afbc_win in your atomic_check. What happens
if the user tries to enable this modifier on 2+ planes?

> +		VOP_AFBC_SET(vop, hdr_ptr, dma_addr);
> +		VOP_AFBC_SET(vop, pic_size, act_info);
> +
> +		/*
> +		 * The window being udated becomes the AFBC window
> +		 */
> +		vop->afbc_win = vop_win;
> +	}
> +
>  	VOP_WIN_SET(vop, win, format, format);
>  	VOP_WIN_SET(vop, win, yrgb_vir, DIV_ROUND_UP(fb->pitches[0], 4));
>  	VOP_WIN_SET(vop, win, yrgb_mst, dma_addr);
> @@ -1001,6 +1125,7 @@ static const struct drm_plane_funcs vop_plane_funcs = {
>  	.reset = drm_atomic_helper_plane_reset,
>  	.atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state,
>  	.atomic_destroy_state = drm_atomic_helper_plane_destroy_state,
> +	.format_mod_supported = rockchip_mod_supported,
>  };
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2020-02-20 11:20 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-13 15:58 [PATCHv4 00/36] AFBC support for Rockchip Andrzej Pietrasiewicz
2019-12-13 15:58 ` [PATCHv4 01/36] drm/framebuffer: Add optional modifier info Andrzej Pietrasiewicz
2020-02-17  5:50   ` [PATCHv4,01/36] " james qian wang (Arm Technology China)
2019-12-13 15:58 ` [PATCHv4 02/36] drm/core: Add afbc helper functions Andrzej Pietrasiewicz
2020-02-17  6:09   ` [PATCHv4,02/36] " james qian wang (Arm Technology China)
2019-12-13 15:58 ` [PATCHv4 03/36] drm/gem-fb-helper: Allow drivers to allocate struct drm_framebuffer on their own Andrzej Pietrasiewicz
2019-12-16 17:08   ` Liviu Dudau
2019-12-16 20:37     ` Andrzej Pietrasiewicz
2020-02-17  6:39   ` [PATCHv4,03/36] " james qian wang (Arm Technology China)
2019-12-13 15:58 ` [PATCHv4 04/36] drm/gem-fb-helper: Add special version of drm_gem_fb_size_check Andrzej Pietrasiewicz
2019-12-16 17:11   ` Liviu Dudau
2020-02-17  8:16   ` [PATCHv4,04/36] " james qian wang (Arm Technology China)
2020-02-17 10:55     ` Andrzej Pietrasiewicz
2020-02-17 11:34       ` james qian wang (Arm Technology China)
2019-12-13 15:58 ` [PATCHv4 05/36] drm/gem-fb-helper: Add generic afbc size checks Andrzej Pietrasiewicz
2019-12-16 17:19   ` Liviu Dudau
2019-12-16 18:41     ` Andrzej Pietrasiewicz
2019-12-17  9:18       ` Liviu Dudau
2020-02-17 11:02   ` [PATCHv4,05/36] " james qian wang (Arm Technology China)
2019-12-13 15:58 ` [PATCHv4 06/36] drm/gem-fb-helper: Add method to allocate struct drm_framebuffer Andrzej Pietrasiewicz
2019-12-13 17:33   ` Daniel Vetter
2019-12-17 14:49     ` [PATCHv5 00/34] Add AFBC support for Rockchip Andrzej Pietrasiewicz
2019-12-17 14:49       ` [PATCHv5 01/34] drm/core: Add afbc helper functions Andrzej Pietrasiewicz
2020-02-18  3:13         ` james qian wang (Arm Technology China)
2020-02-20  9:19         ` Boris Brezillon
2020-02-20 10:47         ` Boris Brezillon
2019-12-17 14:49       ` [PATCHv5 02/34] drm/gem-fb-helper: Allow drivers to allocate struct drm_framebuffer on their own Andrzej Pietrasiewicz
2020-02-18  3:34         ` james qian wang (Arm Technology China)
2020-02-20  9:47         ` Boris Brezillon
2019-12-17 14:49       ` [PATCHv5 03/34] drm/gem-fb-helper: Add special version of drm_gem_fb_size_check Andrzej Pietrasiewicz
2020-02-18  3:42         ` james qian wang (Arm Technology China)
2020-02-20  9:59         ` Boris Brezillon
2019-12-17 14:49       ` [PATCHv5 04/34] drm/gem-fb-helper: Add generic afbc size checks Andrzej Pietrasiewicz
2020-02-18  5:02         ` james qian wang (Arm Technology China)
2019-12-17 14:49       ` [PATCHv5 05/34] drm/komeda: Use afbc helper Andrzej Pietrasiewicz
2019-12-17 14:49       ` [PATCHv5 06/34] drm/komeda: Move checking src coordinates to komeda_fb_create Andrzej Pietrasiewicz
2019-12-17 14:49       ` [PATCHv5 07/34] drm/komeda: Use the already available local variable Andrzej Pietrasiewicz
2019-12-17 14:49       ` [PATCHv5 08/34] drm/komeda: Retrieve drm_format_info once Andrzej Pietrasiewicz
2019-12-17 14:49       ` [PATCHv5 09/34] drm/komeda: Explicitly require 1 plane for AFBC Andrzej Pietrasiewicz
2019-12-17 14:49       ` [PATCHv5 10/34] drm/komeda: Move pitches comparison to komeda_fb_create Andrzej Pietrasiewicz
2019-12-17 14:49       ` [PATCHv5 11/34] drm/komeda: Provide and use komeda_fb_get_pixel_addr variant not requiring a fb Andrzej Pietrasiewicz
2019-12-17 14:49       ` [PATCHv5 12/34] drm/komeda: Factor out object lookups for non-afbc case Andrzej Pietrasiewicz
2019-12-17 14:49       ` [PATCHv5 13/34] drm/komeda: Make komeda_fb_none_size_check independent from framebuffer Andrzej Pietrasiewicz
2019-12-17 14:50       ` [PATCHv5 14/34] drm/komeda: Factor out object lookups for afbc case Andrzej Pietrasiewicz
2019-12-17 14:50       ` [PATCHv5 15/34] drm/komeda: Free komeda_fb_afbc_size_check from framebuffer dependency Andrzej Pietrasiewicz
2019-12-17 14:50       ` [PATCHv5 16/34] drm/komeda: Simplify error handling Andrzej Pietrasiewicz
2019-12-17 14:50       ` [PATCHv5 17/34] drm/komeda: Move object lookup before size checks Andrzej Pietrasiewicz
2019-12-17 14:50       ` [PATCHv5 18/34] drm/komeda: Move object assignments to framebuffer to after " Andrzej Pietrasiewicz
2019-12-17 14:50       ` [PATCHv5 19/34] drm/komeda: Make the size checks independent from framebuffer structure Andrzej Pietrasiewicz
2019-12-17 14:50       ` [PATCHv5 20/34] drm/komeda: Move helper invocation to after size checks Andrzej Pietrasiewicz
2019-12-17 14:50       ` [PATCHv5 21/34] drm/komeda: Use helper for common tasks Andrzej Pietrasiewicz
2019-12-17 14:50       ` [PATCHv5 22/34] drm/komeda: Use return value of drm_gem_fb_lookup Andrzej Pietrasiewicz
2019-12-17 14:50       ` [PATCHv5 23/34] drm/komeda: Use special helper for non-afbc size checks Andrzej Pietrasiewicz
2019-12-17 14:50       ` [PATCHv5 24/34] drm/komeda: Factor in the invocation of special helper Andrzej Pietrasiewicz
2019-12-17 14:50       ` [PATCHv5 25/34] drm/komeda: Use special helper for afbc case size check Andrzej Pietrasiewicz
2019-12-17 14:50       ` [PATCHv5 26/34] drm/komeda: Factor in the invocation of special helper, afbc case Andrzej Pietrasiewicz
2019-12-17 14:50       ` [PATCHv5 27/34] drm/komeda: Move special helper invocation outside if-else Andrzej Pietrasiewicz
2019-12-17 14:50       ` [PATCHv5 28/34] drm/komeda: Move to helper checking afbc buffer size Andrzej Pietrasiewicz
2019-12-17 14:50       ` [PATCHv5 29/34] drm/arm/malidp: Make verify funcitons invocations independent Andrzej Pietrasiewicz
2020-02-20 11:26         ` Boris Brezillon
2020-02-20 11:29           ` Boris Brezillon
2020-02-20 11:35             ` Boris Brezillon
2019-12-17 14:50       ` [PATCHv5 30/34] drm/arm/malidp: Integrate verify functions Andrzej Pietrasiewicz
2019-12-17 14:50       ` [PATCHv5 31/34] drm/arm/malidp: Factor in afbc framebuffer verification Andrzej Pietrasiewicz
2019-12-17 14:50       ` [PATCHv5 32/34] drm/arm/malidp: Use generic helpers for afbc checks Andrzej Pietrasiewicz
2019-12-17 14:50       ` [PATCHv5 33/34] drm/rockchip: Use helper for common task Andrzej Pietrasiewicz
2020-02-20 11:24         ` Boris Brezillon
2019-12-17 14:50       ` [PATCHv5 34/34] drm/rockchip: Add support for afbc Andrzej Pietrasiewicz
2020-02-20 11:20         ` Boris Brezillon [this message]
2020-01-30  9:08       ` [PATCHv5 00/34] Add AFBC support for Rockchip Andrzej Pietrasiewicz
2020-01-30 11:44         ` Liviu Dudau
2020-01-30 11:57           ` Andrzej Pietrasiewicz
2020-02-07 11:44         ` Andrzej Pietrasiewicz
2020-02-07 17:10           ` Liviu Dudau
2020-02-20 16:54       ` Daniel Vetter
2020-02-21 19:54         ` Daniel Vetter
2019-12-13 15:58 ` [PATCHv4 07/36] drm/komeda: Use afbc helper Andrzej Pietrasiewicz
2019-12-13 15:58 ` [PATCHv4 08/36] drm/komeda: Move checking src coordinates to komeda_fb_create Andrzej Pietrasiewicz
2019-12-13 15:58 ` [PATCHv4 09/36] drm/komeda: Use the already available local variable Andrzej Pietrasiewicz
2019-12-13 15:58 ` [PATCHv4 10/36] drm/komeda: Retrieve drm_format_info once Andrzej Pietrasiewicz
2019-12-13 15:58 ` [PATCHv4 11/36] drm/komeda: Explicitly require 1 plane for AFBC Andrzej Pietrasiewicz
2019-12-13 15:58 ` [PATCHv4 12/36] drm/komeda: Move pitches comparison to komeda_fb_create Andrzej Pietrasiewicz
2019-12-13 15:58 ` [PATCHv4 13/36] drm/komeda: Provide and use komeda_fb_get_pixel_addr variant not requiring a fb Andrzej Pietrasiewicz
2019-12-13 15:58 ` [PATCHv4 14/36] drm/komeda: Factor out object lookups for non-afbc case Andrzej Pietrasiewicz
2019-12-13 15:58 ` [PATCHv4 15/36] drm/komeda: Make komeda_fb_none_size_check independent from framebuffer Andrzej Pietrasiewicz
2019-12-13 15:58 ` [PATCHv4 16/36] drm/komeda: Factor out object lookups for afbc case Andrzej Pietrasiewicz
2019-12-13 15:58 ` [PATCHv4 17/36] drm/komeda: Free komeda_fb_afbc_size_check from framebuffer dependency Andrzej Pietrasiewicz
2019-12-13 15:58 ` [PATCHv4 18/36] drm/komeda: Simplify error handling Andrzej Pietrasiewicz
2019-12-13 15:58 ` [PATCHv4 19/36] drm/komeda: Move object lookup before size checks Andrzej Pietrasiewicz
2019-12-13 15:58 ` [PATCHv4 20/36] drm/komeda: Move object assignments to framebuffer to after " Andrzej Pietrasiewicz
2019-12-13 15:58 ` [PATCHv4 21/36] drm/komeda: Make the size checks independent from framebuffer structure Andrzej Pietrasiewicz
2019-12-13 15:58 ` [PATCHv4 22/36] drm/komeda: Move helper invocation to after size checks Andrzej Pietrasiewicz
2019-12-13 15:58 ` [PATCHv4 23/36] drm/komeda: Use helper for common tasks Andrzej Pietrasiewicz
2019-12-13 15:58 ` [PATCHv4 24/36] drm/komeda: Use return value of drm_gem_fb_lookup Andrzej Pietrasiewicz
2019-12-13 15:58 ` [PATCHv4 25/36] drm/komeda: Use special helper for non-afbc size checks Andrzej Pietrasiewicz
2019-12-13 15:58 ` [PATCHv4 26/36] drm/komeda: Factor in the invocation of special helper Andrzej Pietrasiewicz
2019-12-13 15:58 ` [PATCHv4 27/36] drm/komeda: Use special helper for afbc case size check Andrzej Pietrasiewicz
2019-12-13 15:58 ` [PATCHv4 28/36] drm/komeda: Factor in the invocation of special helper, afbc case Andrzej Pietrasiewicz
2019-12-13 15:59 ` [PATCHv4 29/36] drm/komeda: Move special helper invocation outside if-else Andrzej Pietrasiewicz
2019-12-13 15:59 ` [PATCHv4 30/36] drm/komeda: Move to helper checking afbc buffer size Andrzej Pietrasiewicz
2019-12-13 15:59 ` [PATCHv4 31/36] drm/arm/malidp: Make verify funcitons invocations independent Andrzej Pietrasiewicz
2019-12-13 15:59 ` [PATCHv4 32/36] drm/arm/malidp: Integrate verify functions Andrzej Pietrasiewicz
2019-12-13 15:59 ` [PATCHv4 33/36] drm/arm/malidp: Factor in afbc framebuffer verification Andrzej Pietrasiewicz
2019-12-13 15:59 ` [PATCHv4 34/36] drm/arm/malidp: Use generic helpers for afbc checks Andrzej Pietrasiewicz
2019-12-13 15:59 ` [PATCHv4 35/36] drm/rockchip: Use helper for common task Andrzej Pietrasiewicz
2019-12-13 15:59 ` [PATCHv4 36/36] drm/rockchip: Add support for afbc Andrzej Pietrasiewicz

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=20200220122032.76d9bd7e@collabora.com \
    --to=boris.brezillon@collabora.com \
    --cc=Ayan.Halder@arm.com \
    --cc=airlied@linux.ie \
    --cc=andrzej.p@collabora.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hjc@rock-chips.com \
    --cc=james.qian.wang@arm.com \
    --cc=kernel@collabora.com \
    --cc=liviu.dudau@arm.com \
    --cc=mihail.atanassov@arm.com \
    --cc=sean@poorly.run \
    /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.