Subject: Re: linux-next: manual merge of the drm tree with the drm-misc-fixes tree

From: Stephen Rothwell <[email-masked]>
Date: Tue, 11 Jul 2023 11:17:07 +1000

Hi all,

On Tue, 27 Jun 2023 11:54:32 +1000 Stephen Rothwell <[email-masked]> wrote:
> 
> Today's linux-next merge of the drm tree got a conflict in:
> 
>   include/drm/gpu_scheduler.h
> 
> between commit:
> 
>   db8b4968a8d0 ("drm/sched: Call drm_sched_fence_set_parent() from drm_sched_fence_scheduled()")
> 
> from the drm-misc-fixes tree and commit:
> 
>   539f9ee4b52a ("drm/scheduler: properly forward fence errors")
> 
> from the drm tree.
> 
> I fixed it up (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.
> 
> diff --cc include/drm/gpu_scheduler.h
> index b29e347b10a9,e95b4837e5a3..000000000000
> --- a/include/drm/gpu_scheduler.h
> +++ b/include/drm/gpu_scheduler.h
> @@@ -581,16 -581,18 +581,17 @@@ void drm_sched_entity_push_job(struct d
>   void drm_sched_entity_set_priority(struct drm_sched_entity *entity,
>   				   enum drm_sched_priority priority);
>   bool drm_sched_entity_is_ready(struct drm_sched_entity *entity);
> + int drm_sched_entity_error(struct drm_sched_entity *entity);
>   
>  -void drm_sched_fence_set_parent(struct drm_sched_fence *s_fence,
>  -				struct dma_fence *fence);
>   struct drm_sched_fence *drm_sched_fence_alloc(
>   	struct drm_sched_entity *s_entity, void *owner);
>   void drm_sched_fence_init(struct drm_sched_fence *fence,
>   			  struct drm_sched_entity *entity);
>   void drm_sched_fence_free(struct drm_sched_fence *fence);
>   
>  -void drm_sched_fence_scheduled(struct drm_sched_fence *fence);
>  +void drm_sched_fence_scheduled(struct drm_sched_fence *fence,
>  +			       struct dma_fence *parent);
> - void drm_sched_fence_finished(struct drm_sched_fence *fence);
> + void drm_sched_fence_finished(struct drm_sched_fence *fence, int result);
>   
>   unsigned long drm_sched_suspend_timeout(struct drm_gpu_scheduler *sched);
>   void drm_sched_resume_timeout(struct drm_gpu_scheduler *sched,

This is now a conflict between the drm-misc-fixes tree and Linus' tree.

-- 
Cheers,
Stephen Rothwell