lkml.org 
[lkml]   [2021]   [Nov]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: linux-next: manual merge of the drm tree with the drm-misc-fixes tree
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
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2021-11-30 09:59    [W:0.288 / U:0.212 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site