Hi Dave,

On Wed, 2 Aug 2017 12:23:06 +1000 Stephen Rothwell <s...@canb.auug.org.au> 
wrote:
>
> Today's linux-next merge of the drm-misc tree got a conflict in:
> 
>   drivers/gpu/drm/nouveau/nv50_display.c
> 
> between commit:
> 
>   4a5431af19bc ("drm/nouveau/kms/nv50: update vblank state in response to 
> modeset actions")
> 
> from Linus' tree and commit:
> 
>   3c847d6cdadb ("drm/nouveau: Convert nouveau to use new iterator macros, 
> v2.")
> 
> from the drm-misc tree.
> 
> I fixed it up (I think - see below) and can carry the fix as necessary.
> This is now fixed as far as linux-next is concerned, but any non
> trivial conflicts should be mentioned to your upstream maintainer when
> your tree is submitted for merging.  You may also want to consider
> cooperating with the maintainer of the conflicting tree to minimise any
> particularly complex conflicts.
> 
> -- 
> Cheers,
> Stephen Rothwell
> 
> diff --cc drivers/gpu/drm/nouveau/nv50_display.c
> index 9d40b2a8be4d,bd1199b67eb4..000000000000
> --- a/drivers/gpu/drm/nouveau/nv50_display.c
> +++ b/drivers/gpu/drm/nouveau/nv50_display.c
> @@@ -3941,8 -3933,6 +3942,8 @@@ nv50_disp_atomic_commit_tail(struct drm
>   
>               NV_ATOMIC(drm, "%s: clr %04x (set %04x)\n", crtc->name,
>                         asyh->clr.mask, asyh->set.mask);
> -             if (crtc_state->active && !asyh->state.active)
> ++            if (new_crtc_state->active && !asyh->state.active)
>  +                    drm_crtc_vblank_off(crtc);
>   
>               if (asyh->clr.mask) {
>                       nv50_head_flush_clr(head, asyh, atom->flush_disable);
> @@@ -4028,13 -4018,11 +4029,13 @@@
>                       nv50_head_flush_set(head, asyh);
>                       interlock_core = 1;
>               }
>  -    }
>   
>  -    for_each_new_crtc_in_state(state, crtc, new_crtc_state, i) {
>  -            if (new_crtc_state->event)
>  -                    drm_crtc_vblank_get(crtc);
>  +            if (asyh->state.active) {
> -                     if (!crtc_state->active)
> ++                    if (!new_crtc_state->active)
>  +                            drm_crtc_vblank_on(crtc);
>  +                    if (asyh->state.event)
>  +                            drm_crtc_vblank_get(crtc);
>  +            }
>       }
>   
>       /* Update plane(s). */
> @@@ -4077,18 -4065,16 +4078,18 @@@
>                       NV_ERROR(drm, "%s: timeout\n", plane->name);
>       }
>   
> -     for_each_crtc_in_state(state, crtc, crtc_state, i) {
> -             if (crtc->state->event) {
> +     for_each_new_crtc_in_state(state, crtc, new_crtc_state, i) {
> +             if (new_crtc_state->event) {
>                       unsigned long flags;
>                       /* Get correct count/ts if racing with vblank irq */
>  -                    drm_crtc_accurate_vblank_count(crtc);
>  +                    if (crtc->state->active)
>  +                            drm_crtc_accurate_vblank_count(crtc);
>                       spin_lock_irqsave(&crtc->dev->event_lock, flags);
> -                     drm_crtc_send_vblank_event(crtc, crtc->state->event);
> +                     drm_crtc_send_vblank_event(crtc, new_crtc_state->event);
>                       spin_unlock_irqrestore(&crtc->dev->event_lock, flags);
> -                     crtc->state->event = NULL;
> +                     new_crtc_state->event = NULL;
>  -                    drm_crtc_vblank_put(crtc);
>  +                    if (crtc->state->active)
>  +                            drm_crtc_vblank_put(crtc);
>               }
>       }
>   

This conflict is now between the drm tree and Linus' tree.

-- 
Cheers,
Stephen Rothwell
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to