Patch #1 and #2 are Reviewed-by: Christian König <christian.koenig at amd.com>. Patch #3 is Acked-by: Christian König <christian.koenig at amd.com>. Regards, Christian. Am 05.07.2017 um 07:32 schrieb Huang Rui: > Signed-off-by: Huang Rui <ray.huang at amd.com> > --- > > Changes from V1 -> V2 > - amdgpu_bo_free_kernel is safe even the bo is NULL, so remove the "if" check. > > Thanks, > Ray > > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 15 +++++---------- > drivers/gpu/drm/amd/amdgpu/psp_v3_1.c | 8 ++++---- > 2 files changed, 9 insertions(+), 14 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c > index 79db294..d0104c7 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c > @@ -435,16 +435,11 @@ static int psp_hw_fini(void *handle) > > psp_ring_destroy(psp, PSP_RING_TYPE__KM); > > - if (psp->tmr_buf) > - amdgpu_bo_free_kernel(&psp->tmr_bo, &psp->tmr_mc_addr, &psp->tmr_buf); > - > - if (psp->fw_pri_buf) > - amdgpu_bo_free_kernel(&psp->fw_pri_bo, > - &psp->fw_pri_mc_addr, &psp->fw_pri_buf); > - > - if (psp->fence_buf_bo) > - amdgpu_bo_free_kernel(&psp->fence_buf_bo, > - &psp->fence_buf_mc_addr, &psp->fence_buf); > + amdgpu_bo_free_kernel(&psp->tmr_bo, &psp->tmr_mc_addr, &psp->tmr_buf); > + amdgpu_bo_free_kernel(&psp->fw_pri_bo, > + &psp->fw_pri_mc_addr, &psp->fw_pri_buf); > + amdgpu_bo_free_kernel(&psp->fence_buf_bo, > + &psp->fence_buf_mc_addr, &psp->fence_buf); > > kfree(psp->cmd); > psp->cmd = NULL; > diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v3_1.c b/drivers/gpu/drm/amd/amdgpu/psp_v3_1.c > index 988ebd9..2718e86 100644 > --- a/drivers/gpu/drm/amd/amdgpu/psp_v3_1.c > +++ b/drivers/gpu/drm/amd/amdgpu/psp_v3_1.c > @@ -341,10 +341,10 @@ int psp_v3_1_ring_destroy(struct psp_context *psp, enum psp_ring_type ring_type) > ret = psp_wait_for(psp, SOC15_REG_OFFSET(MP0, 0, mmMP0_SMN_C2PMSG_64), > 0x80000000, 0x80000000, false); > > - if (ring->ring_mem) > - amdgpu_bo_free_kernel(&adev->firmware.rbuf, > - &ring->ring_mem_mc_addr, > - (void **)&ring->ring_mem); > + amdgpu_bo_free_kernel(&adev->firmware.rbuf, > + &ring->ring_mem_mc_addr, > + (void **)&ring->ring_mem); > + > return ret; > } >