mirror of
https://github.com/torvalds/linux.git
synced 2026-11-02 03:39:03 +01:00
drm/amd/ras: skip poison banks read through the UE channel
Outside of UMC a bank with the poison bit set describes the consumption of an error that was already reported, not a new uncorrectable one. Injecting an uncorrectable error while a workload is running therefore buries the real bank under a dump of GFX poison banks collected from every other device of the hive. Signed-off-by: Xiang Liu <xiang.liu@amd.com> Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
8fad652e72
commit
004ffd7af4
|
|
@ -403,6 +403,13 @@ static int aca_banks_update(struct ras_core_context *ras_core,
|
|||
|
||||
memset(&bank_ecc, 0, sizeof(bank_ecc));
|
||||
aca_blk = aca_get_bank_aca_block(ras_core, &bank);
|
||||
|
||||
/* Outside of UMC a poison bank is a consumption, not a new error. */
|
||||
if (ecc_type == RAS_ERR_TYPE__UE &&
|
||||
ACA_REG_STATUS_POISON(bank.regs[ACA_REG_IDX__STATUS]) &&
|
||||
(!aca_blk || aca_blk->blk_info->ras_block_id != RAS_BLOCK_ID__UMC))
|
||||
continue;
|
||||
|
||||
if (aca_blk)
|
||||
ret = aca_parse_bank(ras_core, aca_blk, &bank, &bank_ecc);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user