So we can disable ce log manually.

Signed-off-by: Tao Zhou <[email protected]>
---
 drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c | 1 +
 drivers/gpu/drm/amd/ras/rascore/ras.h            | 2 ++
 drivers/gpu/drm/amd/ras/rascore/ras_aca.c        | 7 ++++++-
 drivers/gpu/drm/amd/ras/rascore/ras_core.c       | 1 +
 4 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c 
b/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c
index c55288c2df9a..1e95419989b4 100644
--- a/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c
+++ b/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c
@@ -310,6 +310,7 @@ static struct ras_core_context 
*amdgpu_ras_mgr_create_ras_core(struct amdgpu_dev
                amdgpu_ras_mgr_eeprom_is_supported(adev);
        init_config.poison_supported =
                amdgpu_ras_is_poison_mode_supported(adev);
+       init_config.debug_disable_ce_logs = adev->debug_disable_ce_logs;
 
        amdgpu_ras_mgr_init_aca_config(adev, &init_config);
        amdgpu_ras_mgr_init_eeprom_config(adev, &init_config);
diff --git a/drivers/gpu/drm/amd/ras/rascore/ras.h 
b/drivers/gpu/drm/amd/ras/rascore/ras.h
index 5719bc1b6167..9d538a07c50e 100644
--- a/drivers/gpu/drm/amd/ras/rascore/ras.h
+++ b/drivers/gpu/drm/amd/ras/rascore/ras.h
@@ -301,6 +301,7 @@ struct ras_core_config {
 
        bool poison_supported;
        bool ras_eeprom_supported;
+       bool debug_disable_ce_logs;
        const struct ras_sys_func *sys_fn;
 
        struct ras_aca_config aca_cfg;
@@ -348,6 +349,7 @@ struct ras_core_context {
        bool ras_core_enabled;
 
        u64 ras_fw_features;
+       bool debug_disable_ce_logs;
 };
 
 struct ras_core_context *ras_core_create(struct ras_core_config *init_config);
diff --git a/drivers/gpu/drm/amd/ras/rascore/ras_aca.c 
b/drivers/gpu/drm/amd/ras/rascore/ras_aca.c
index 67a35409ff0e..9760894c4c66 100644
--- a/drivers/gpu/drm/amd/ras/rascore/ras_aca.c
+++ b/drivers/gpu/drm/amd/ras/rascore/ras_aca.c
@@ -98,7 +98,7 @@ static void aca_report_ecc_info(struct ras_core_context 
*ras_core,
                        blk_name(blk));
        }
 
-       if (ecc_count.new_ce_count) {
+       if (ecc_count.new_ce_count && !ras_core->debug_disable_ce_logs) {
                RAS_DEV_INFO(ras_core->dev,
                "{%llu} socket: %d, die: %d, %u new correctable hardware errors 
detected in %s block\n",
                        seq_no, skt, aid, ecc_count.new_ce_count, 
blk_name(blk));
@@ -114,6 +114,11 @@ static void aca_bank_log(struct ras_core_context *ras_core,
 {
        int i;
 
+       if (ras_core->debug_disable_ce_logs &&
+           bank->ecc_type == RAS_ERR_TYPE__CE &&
+           !bank_ecc->real_de_count)
+               return;
+
        RAS_DEV_INFO(ras_core->dev,
                "{%llu}" RAS_HW_ERR "Accelerator Check Architecture events 
logged\n",
                bank->seq_no);
diff --git a/drivers/gpu/drm/amd/ras/rascore/ras_core.c 
b/drivers/gpu/drm/amd/ras/rascore/ras_core.c
index 2346918c7736..cdef7727decb 100644
--- a/drivers/gpu/drm/amd/ras/rascore/ras_core.c
+++ b/drivers/gpu/drm/amd/ras/rascore/ras_core.c
@@ -377,6 +377,7 @@ int ras_core_hw_init(struct ras_core_context *ras_core)
                        ras_core->config->ras_eeprom_supported;
 
        ras_core->poison_supported = ras_core->config->poison_supported;
+       ras_core->debug_disable_ce_logs = 
ras_core->config->debug_disable_ce_logs;
 
        ret = ras_psp_hw_init(ras_core);
        if (ret)
-- 
2.34.1

Reply via email to