2020-10-12 14:13:04

by Daniel Vetter

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

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 protected]>

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

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


2020-10-12 19:17:29

by Paul Cercueil

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



Le lun. 12 oct. 2020 ? 16:10, Daniel Vetter <[email protected]> a ?crit
:
> 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 protected]>
>
> Acked-by: Daniel Vetter <[email protected]>

I applied the patch to drm-misc-next-fixes.

Thanks,
-Paul

> 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