Commit 06082d9b authored by Alex Deucher's avatar Alex Deucher

drm/amdgpu/vi: implement asic need_full_reset callback

Used to check on a per SoC basis whether the SoC needs
a full reset of a per IP soft reset.
Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarHuang Rui <ray.huang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent b7acb46f
...@@ -876,6 +876,27 @@ static void vi_invalidate_hdp(struct amdgpu_device *adev, ...@@ -876,6 +876,27 @@ static void vi_invalidate_hdp(struct amdgpu_device *adev,
} }
} }
static bool vi_need_full_reset(struct amdgpu_device *adev)
{
switch (adev->asic_type) {
case CHIP_CARRIZO:
case CHIP_STONEY:
/* CZ has hang issues with full reset at the moment */
return false;
case CHIP_FIJI:
case CHIP_TONGA:
/* XXX: soft reset should work on fiji and tonga */
return true;
case CHIP_POLARIS10:
case CHIP_POLARIS11:
case CHIP_POLARIS12:
case CHIP_TOPAZ:
default:
/* change this when we support soft reset */
return true;
}
}
static const struct amdgpu_asic_funcs vi_asic_funcs = static const struct amdgpu_asic_funcs vi_asic_funcs =
{ {
.read_disabled_bios = &vi_read_disabled_bios, .read_disabled_bios = &vi_read_disabled_bios,
...@@ -889,6 +910,7 @@ static const struct amdgpu_asic_funcs vi_asic_funcs = ...@@ -889,6 +910,7 @@ static const struct amdgpu_asic_funcs vi_asic_funcs =
.get_config_memsize = &vi_get_config_memsize, .get_config_memsize = &vi_get_config_memsize,
.flush_hdp = &vi_flush_hdp, .flush_hdp = &vi_flush_hdp,
.invalidate_hdp = &vi_invalidate_hdp, .invalidate_hdp = &vi_invalidate_hdp,
.need_full_reset = &vi_need_full_reset,
}; };
#define CZ_REV_BRISTOL(rev) \ #define CZ_REV_BRISTOL(rev) \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment