On Tue, Dec 12, 2023 at 12:30 PM Mario Limonciello <mario.limonciello@xxxxxxx> wrote: > > commit 751e293f2c99 ("drm/amd: Move microcode init from sw_init to > early_init for SDMA v2.4") made a fateful mistake in > `adev->sdma.num_instances` wasn't declared when sdma_v2_4_init_microcode() > was run. This caused probing to fail. > > Move the declaration to right before sdma_v2_4_init_microcode(). > > Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3043 > Fixes: 751e293f2c99 ("drm/amd: Move microcode init from sw_init to early_init for SDMA v2.4") > Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx> FWIW, looks like cik_sdma.c and sdma_v3_0.c never switched their microcode init to early init. Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c > index 45377a175250..8d5d86675a7f 100644 > --- a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c > +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c > @@ -813,12 +813,12 @@ static int sdma_v2_4_early_init(void *handle) > struct amdgpu_device *adev = (struct amdgpu_device *)handle; > int r; > > + adev->sdma.num_instances = SDMA_MAX_INSTANCE; > + > r = sdma_v2_4_init_microcode(adev); > if (r) > return r; > > - adev->sdma.num_instances = SDMA_MAX_INSTANCE; > - > sdma_v2_4_set_ring_funcs(adev); > sdma_v2_4_set_buffer_funcs(adev); > sdma_v2_4_set_vm_pte_funcs(adev); > -- > 2.34.1 >