Subject: Re: [PATCH] drm/ingenic: Fix bad revert

From: Daniel Vetter <[email-masked]>
Date: Mon, 12 Oct 2020 16:10:41 +0200

On Mon, Oct 12, 2020 at 12:25:09PM +0200, Paul Cercueil wrote:
> Fix a badly reverted commit. The revert commit was cherry-picked from
> drm-misc-next to drm-misc-next-fixes, and in the process some unrelated
> code was added.
> 
> Fixes: a3fb64c00d44 "Revert "gpu/drm: ingenic: Add option to mmap GEM buffers cached""
> Signed-off-by: Paul Cercueil <[email-masked]>

Acked-by: Daniel Vetter <[email-masked]>

And yes if you use git cherry-pick it'll do a 3 way merge, and
occasionally it's very tricky to resolve that properly. Especially when
you're not used to it.

What I tend to do to double check cerry-picks is git show both commits,
and compare the entire diff line-by-line to make sure I didn't misplace
anything.

Another trick is to use the raw patch instead of cherry-pick, since that
won't do a 3 way merge where you might get confused with other context and
fun stuff like that.

Cheers, Daniel
> ---
>  drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 16 ----------------
>  1 file changed, 16 deletions(-)
> 
> diff --git a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
> index 1be1235bd546..a3d1617d7c67 100644
> --- a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
> +++ b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
> @@ -440,20 +440,6 @@ void ingenic_drm_plane_config(struct device *dev,
>  	}
>  }
>  
> -static void ingenic_drm_update_palette(struct ingenic_drm *priv,
> -				       const struct drm_color_lut *lut)
> -{
> -	unsigned int i;
> -
> -	for (i = 0; i < ARRAY_SIZE(priv->dma_hwdescs->palette); i++) {
> -		u16 color = drm_color_lut_extract(lut[i].red, 5) << 11
> -			| drm_color_lut_extract(lut[i].green, 6) << 5
> -			| drm_color_lut_extract(lut[i].blue, 5);
> -
> -		priv->dma_hwdescs->palette[i] = color;
> -	}
> -}
> -
>  static void ingenic_drm_plane_atomic_update(struct drm_plane *plane,
>  					    struct drm_plane_state *oldstate)
>  {
> @@ -464,8 +450,6 @@ static void ingenic_drm_plane_atomic_update(struct drm_plane *plane,
>  	dma_addr_t addr;
>  
>  	if (state && state->fb) {
> -		crtc_state = state->crtc->state;
> -
>  		addr = drm_fb_cma_get_gem_addr(state->fb, state, 0);
>  		width = state->src_w >> 16;
>  		height = state->src_h >> 16;
> -- 
> 2.28.0
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch