mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-05 22:55:53 -04:00
drm/amdgpu: fix the gb_addr_config_fields init value mismatch
For gfx_v9_4_3 specifically, before regGB_ADDR_CONFIG is overwritten in gfx hw_init it is read out to popluate the gb_addr_config_fields in the sw_init stage, which causes mismatch. Fix it by using the golden value in sw_init as well. v2: This is a driver-set golden reg and keep as it is (Lijo) Signed-off-by: Shiwu Zhang <shiwu.zhang@amd.com> Reviewed-by: Lijo Lazar <lijo.lazar@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
3bc7bc73af
commit
216be476f1
@@ -916,8 +916,6 @@ static const struct aca_info gfx_v9_4_3_aca_info = {
|
||||
|
||||
static int gfx_v9_4_3_gpu_early_init(struct amdgpu_device *adev)
|
||||
{
|
||||
u32 gb_addr_config;
|
||||
|
||||
adev->gfx.funcs = &gfx_v9_4_3_gfx_funcs;
|
||||
adev->gfx.ras = &gfx_v9_4_3_ras;
|
||||
|
||||
@@ -926,9 +924,7 @@ static int gfx_v9_4_3_gpu_early_init(struct amdgpu_device *adev)
|
||||
adev->gfx.config.sc_prim_fifo_size_backend = 0x100;
|
||||
adev->gfx.config.sc_hiz_tile_fifo_size = 0x30;
|
||||
adev->gfx.config.sc_earlyz_tile_fifo_size = 0x4C0;
|
||||
gb_addr_config = RREG32_SOC15(GC, GET_INST(GC, 0), regGB_ADDR_CONFIG);
|
||||
|
||||
adev->gfx.config.gb_addr_config = gb_addr_config;
|
||||
adev->gfx.config.gb_addr_config = GOLDEN_GB_ADDR_CONFIG;
|
||||
|
||||
adev->gfx.config.gb_addr_config_fields.num_pipes = 1 <<
|
||||
REG_GET_FIELD(
|
||||
|
||||
Reference in New Issue
Block a user