[PATCH] drm/amdgpu: Moving out the mutex lock and unlcok outside of the "if" statements

Luben Tuikov luben.tuikov at amd.com
Mon Jul 6 16:22:45 UTC 2020


Fix the spelling mistake in the title of the patch,
"unlcok" --> "unlock".

Use present tense in the title and in commit text:
"Moving" --> "Move".

Shorten your title to fit within 80-char limit.
A Git hook checks for this and complains about it
when doing a git-push. I suggest:

	drm/amdgpu: move the mutex lock/unlock out

And then you start your first sentence of your commit
message with the title as a capitalized sentence:

	Move the mutext lock/unlock outside of the if(),
	as the mutex is always taken: either in the if()
	branch or in the else branch.

The commit message text should be 55-65 line width
aligned as Git indents it by 8 spaces when viewed
individually or in a log. (Modern Emacs recognizes
that you're writing a Git commit message and sets
the wrap at 55 chars.)

After all those are fixed, you can add,

Reviewed-by: Luben Tuikov <luben.tuikov at amd.com>

On 2020-07-06 12:10 p.m., Alex Jivin wrote:
> Moving mutex unlock and lock outside of the "if" statement as it can be shown that
> the mutex will be taken and released, regardless of the value checked in the if statement.
> 
> Signed-off-by: Alex Jivin <alex.jivin at amd.com>
> Suggested-By: Luben Tukov <luben.tuikov at amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | 12 ++++--------
>  1 file changed, 4 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
> index 838d6d51904c..d2401379bd33 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
> @@ -3559,16 +3559,14 @@ void amdgpu_dpm_enable_uvd(struct amdgpu_device *adev, bool enable)
>  	int ret = 0;
>  
>  	if (adev->family == AMDGPU_FAMILY_SI) {
> +		mutex_lock(&adev->pm.mutex);
>  		if (enable) {
> -			mutex_lock(&adev->pm.mutex);
>  			adev->pm.dpm.uvd_active = true;
>  			adev->pm.dpm.state = POWER_STATE_TYPE_INTERNAL_UVD;
> -			mutex_unlock(&adev->pm.mutex);
>  		} else {
> -			mutex_lock(&adev->pm.mutex);
>  			adev->pm.dpm.uvd_active = false;
> -			mutex_unlock(&adev->pm.mutex);
>  		}
> +		mutex_unlock(&adev->pm.mutex);
>  
>  		amdgpu_pm_compute_clocks(adev);
>  	} else {
> @@ -3596,17 +3594,15 @@ void amdgpu_dpm_enable_vce(struct amdgpu_device *adev, bool enable)
>  	int ret = 0;
>  
>  	if (adev->family == AMDGPU_FAMILY_SI) {
> +		mutex_lock(&adev->pm.mutex);
>  		if (enable) {
> -			mutex_lock(&adev->pm.mutex);
>  			adev->pm.dpm.vce_active = true;
>  			/* XXX select vce level based on ring/task */
>  			adev->pm.dpm.vce_level = AMD_VCE_LEVEL_AC_ALL;
> -			mutex_unlock(&adev->pm.mutex);
>  		} else {
> -			mutex_lock(&adev->pm.mutex);
>  			adev->pm.dpm.vce_active = false;
> -			mutex_unlock(&adev->pm.mutex);
>  		}
> +		mutex_unlock(&adev->pm.mutex);
>  
>  		amdgpu_pm_compute_clocks(adev);
>  	} else {
> 



More information about the amd-gfx mailing list