diff mbox series

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

Message ID 20211130103353.0ab1a44f@canb.auug.org.au (mailing list archive)
State New, archived
Headers show
Series linux-next: manual merge of the drm tree with the drm-misc-fixes tree | expand

Commit Message

Stephen Rothwell Nov. 29, 2021, 11:33 p.m. UTC
Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/vc4/vc4_kms.c

between commits:

  f927767978d2 ("drm/vc4: kms: Fix return code check")
  d354699e2292 ("drm/vc4: kms: Don't duplicate pending commit")

from the drm-misc-fixes tree and commit:

  16e101051f32 ("drm/vc4: Increase the core clock based on HVS load")

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.

Comments

Maxime Ripard Nov. 30, 2021, 8:58 a.m. UTC | #1
Hi Stephen,

On Tue, Nov 30, 2021 at 10:33:53AM +1100, Stephen Rothwell wrote:
> Hi all,
> 
> Today's linux-next merge of the drm tree got a conflict in:
> 
>   drivers/gpu/drm/vc4/vc4_kms.c
> 
> between commits:
> 
>   f927767978d2 ("drm/vc4: kms: Fix return code check")
>   d354699e2292 ("drm/vc4: kms: Don't duplicate pending commit")
> 
> from the drm-misc-fixes tree and commit:
> 
>   16e101051f32 ("drm/vc4: Increase the core clock based on HVS load")
> 
> 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.

Unfortunately the merge resolution isn't entirely correct :/

There's multiple conflicts between those two branches on that file, but
things went wrong between 16e101051f32 and 0c980a006d3f

The first one changes the logic a bit for the clk_set_min_rate argument,
and the second moves the clk_set_min_rate around.

However, the merge resolution reintroduced the initial clk_set_min_rate
call line (line 373), without changing the logic of the proper call site
(line 396).

This is the patch to fix the resolution:

-- >8 --
--- a/drivers/gpu/drm/vc4/vc4_kms.c	2021-11-30 08:56:28.748524275 +0100
+++ b/drivers/gpu/drm/vc4/vc4_kms.c	2021-11-29 15:46:11.692151678 +0100
@@ -365,14 +365,6 @@
 		vc4_hvs_mask_underrun(dev, vc4_crtc_state->assigned_channel);
 	}

-	if (vc4->hvs->hvs5) {
-		unsigned long core_rate = max_t(unsigned long,
-						500000000,
-						new_hvs_state->core_clock_rate);
-
-		clk_set_min_rate(hvs->core_clk, core_rate);
-	}
-
 	for (channel = 0; channel < HVS_NUM_CHANNELS; channel++) {
 		struct drm_crtc_commit *commit;
 		int ret;
@@ -392,8 +384,13 @@
 		old_hvs_state->fifo_state[channel].pending_commit = NULL;
 	}

-	if (vc4->hvs->hvs5)
-		clk_set_min_rate(hvs->core_clk, 500000000);
+	if (vc4->hvs->hvs5) {
+		unsigned long core_rate = max_t(unsigned long,
+						500000000,
+						new_hvs_state->core_clock_rate);
+
+		clk_set_min_rate(hvs->core_clk, core_rate);
+	}

 	drm_atomic_helper_commit_modeset_disables(dev, state);
-- >8 --

I'm wondering though, do you have access to the drm-rerere tree? I've
fixed up the merge yesterday to deal with this conflict and the conflict
resolution should be stored there already.

Maxime
Stephen Rothwell Nov. 30, 2021, 8:35 p.m. UTC | #2
Hi Maxime,

On Tue, 30 Nov 2021 09:58:31 +0100 Maxime Ripard <maxime@cerno.tech> wrote:
>
> Unfortunately the merge resolution isn't entirely correct :/
> 
> There's multiple conflicts between those two branches on that file, but
> things went wrong between 16e101051f32 and 0c980a006d3f
> 
> The first one changes the logic a bit for the clk_set_min_rate argument,
> and the second moves the clk_set_min_rate around.
> 
> However, the merge resolution reintroduced the initial clk_set_min_rate
> call line (line 373), without changing the logic of the proper call site
> (line 396).
> 
> This is the patch to fix the resolution:
> 
> -- >8 --  
> --- a/drivers/gpu/drm/vc4/vc4_kms.c	2021-11-30 08:56:28.748524275 +0100
> +++ b/drivers/gpu/drm/vc4/vc4_kms.c	2021-11-29 15:46:11.692151678 +0100
> @@ -365,14 +365,6 @@
>  		vc4_hvs_mask_underrun(dev, vc4_crtc_state->assigned_channel);
>  	}
> 
> -	if (vc4->hvs->hvs5) {
> -		unsigned long core_rate = max_t(unsigned long,
> -						500000000,
> -						new_hvs_state->core_clock_rate);
> -
> -		clk_set_min_rate(hvs->core_clk, core_rate);
> -	}
> -
>  	for (channel = 0; channel < HVS_NUM_CHANNELS; channel++) {
>  		struct drm_crtc_commit *commit;
>  		int ret;
> @@ -392,8 +384,13 @@
>  		old_hvs_state->fifo_state[channel].pending_commit = NULL;
>  	}
> 
> -	if (vc4->hvs->hvs5)
> -		clk_set_min_rate(hvs->core_clk, 500000000);
> +	if (vc4->hvs->hvs5) {
> +		unsigned long core_rate = max_t(unsigned long,
> +						500000000,
> +						new_hvs_state->core_clock_rate);
> +
> +		clk_set_min_rate(hvs->core_clk, core_rate);
> +	}
> 
>  	drm_atomic_helper_commit_modeset_disables(dev, state);
> -- >8 --  

Thanks, I have fixed that up in my resolution.
diff mbox series

Patch

diff --cc drivers/gpu/drm/vc4/vc4_kms.c
index b61792d2aa65,79d4d9dd1394..000000000000
--- a/drivers/gpu/drm/vc4/vc4_kms.c