Re: [PATCH] drm/amd/display: Simplify same effect if/else blocks

From: Deepak R Varma
Date: Fri Mar 03 2023 - 12:50:58 EST


On Thu, Mar 02, 2023 at 11:37:30AM -0500, Harry Wentland wrote:
>
>
> On 3/1/23 15:21, Deepak R Varma wrote:
> > On Mon, Jan 23, 2023 at 12:23:19AM +0530, Deepak R Varma wrote:
> >> On Sun, Jan 15, 2023 at 12:52:10PM -0800, Joe Perches wrote:
> >>> On Sun, 2023-01-15 at 15:30 +0530, Deepak R Varma wrote:
> >>>> The if / else block code has same effect irrespective of the logical
> >>>> evaluation. Hence, simply the implementation by removing the unnecessary
> >>>> conditional evaluation. While at it, also fix the long line checkpatch
> >>>> complaint. Issue identified using cond_no_effect.cocci Coccinelle
> >>>> semantic patch script.
> >>>>
> >>>> Signed-off-by: Deepak R Varma <drv@xxxxxxxxx>
> >>>> ---
> >>>> Please note: The proposed change is compile tested only. If there are any
> >>>> inbuilt test cases that I should run for further verification, I will appreciate
> >>>> guidance about it. Thank you.
> >>>
> >>> Preface: I do not know the code.
> >>>
> >>> Perhaps Rodrigo Siqueira made a copy/paste error submitting the code for
> >>> commit 9114b55fabae ("drm/amd/display: Fix SubVP control flow in the MPO context")
> >>> as the code prior to this change is identical.
> >>>
> >>> Perhaps one of the false uses should be true or dependent on the
> >>> interdependent_update_lock state.
> >>
> >> Thank you Joe for the recommendation.
> >>
> >> Hi Rodrigo,
> >> Can you review and comment on if and what is wrong with your commit?
> >
> > Hello Rodrigo, Alex,
> > Could you please suggest what would be the necessary fix for this typo error?
> >
>
> It's not quite a "typo" error. When I look at this code in our internal repo I see
> a couple missing lock calls here that differ between the two cases. I don't know why
> this was never ported over and am surprised it doesn't lead to issues.
>
> I would prefer we keep the code as-is for now until this gets sorted.

Sounds good. Do let me know if I can be of any help.

Deepak.

>
> Harry
>
> > Thank you,
> > Deepak.
> >
> >>
> >> Thank you,
> >> ./drv
> >>
> >>>
> >>>> diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
> >>> []
> >>>> @@ -3470,14 +3470,9 @@ static void commit_planes_for_stream(struct dc *dc,
> >>>> /* Since phantom pipe programming is moved to post_unlock_program_front_end,
> >>>> * move the SubVP lock to after the phantom pipes have been setup
> >>>> */
> >>>> - if (should_lock_all_pipes && dc->hwss.interdependent_update_lock) {
> >>>> - if (dc->hwss.subvp_pipe_control_lock)
> >>>> - dc->hwss.subvp_pipe_control_lock(dc, context, false, should_lock_all_pipes, NULL, subvp_prev_use);
> >>>> - } else {
> >>>> - if (dc->hwss.subvp_pipe_control_lock)
> >>>> - dc->hwss.subvp_pipe_control_lock(dc, context, false, should_lock_all_pipes, NULL, subvp_prev_use);
> >>>> - }
> >>>> -
> >>>
> >>> Perhaps something like:
> >>>
> >>> if (dc->hwss.subvp_pipe_control_lock)
> >>> dc->hwss.subvp_pipe_control_lock(dc, context,
> >>> should_lock_all_pipes &&
> >>> dc->hwss.interdependent_update_lock,
> >>> should_lock_all_pipes, NULL, subvp_prev_use);
> >>>
> >>>> + if (dc->hwss.subvp_pipe_control_lock)
> >>>> + dc->hwss.subvp_pipe_control_lock(dc, context, false, should_lock_all_pipes,
> >>>> + NULL, subvp_prev_use);
> >>>> return;
> >>>> }
> >>>>
> >>>
> >>
> >>
> >
> >
>