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

From: Harry Wentland
Date: Fri Mar 03 2023 - 15:36:11 EST




On 3/2/23 11:37, 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.
>

Actually I was wrong. Too many similar-looking snippets in this
function made me look at the wrong thing. This change is fine and
Reviewed-by: Harry Wentland <harry.wentland@xxxxxxx.

Harry

> 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;
>>>>> }
>>>>>
>>>>
>>>
>>>
>>
>>
>