diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 9 | 
1 files changed, 5 insertions, 4 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c index dc7aab68ed66..c5ea32687eb5 100644 --- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c @@ -1087,6 +1087,7 @@ static void sdma_v3_0_ring_emit_wreg(struct amdgpu_ring *ring,  static int sdma_v3_0_early_init(void *handle)  {  	struct amdgpu_device *adev = (struct amdgpu_device *)handle; +	int r;  	switch (adev->asic_type) {  	case CHIP_STONEY: @@ -1097,6 +1098,10 @@ static int sdma_v3_0_early_init(void *handle)  		break;  	} +	r = sdma_v3_0_init_microcode(adev); +	if (r) +		return r; +  	sdma_v3_0_set_ring_funcs(adev);  	sdma_v3_0_set_buffer_funcs(adev);  	sdma_v3_0_set_vm_pte_funcs(adev); @@ -1129,10 +1134,6 @@ static int sdma_v3_0_sw_init(void *handle)  	if (r)  		return r; -	r = sdma_v3_0_init_microcode(adev); -	if (r) -		return r; -  	for (i = 0; i < adev->sdma.num_instances; i++) {  		ring = &adev->sdma.instance[i].ring;  		ring->ring_obj = NULL; | 
