Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[flash_ctrl] Enable firmware dealing with multi-bit ECC and ICV errors #22431

Merged
merged 1 commit into from
Apr 16, 2024

Conversation

vogelpi
Copy link
Contributor

@vogelpi vogelpi commented Apr 4, 2024

Before, these two errors types led to a fatal alert which is problematic during firmware selection and verification. This commit changes the design in the following way:

  • The two relevant bits in the FAULT_STATUS CSR are made clearable by software. Other bits in this register remain sticky.
  • The corresponding alert is no longer fatal.

This means the alert is only sent out until the two bits are cleared by software. To be on the safe side, firmware can still classify the alert as fatal on the receiver side (in the alert handler). For the other error sources, the alert keeps getting triggered as before, i.e., it remains fatal.

For more background information, refer to #21353.

This resolves #21637.

@vogelpi
Copy link
Contributor Author

vogelpi commented Apr 4, 2024

@matutem I've triggered a full DV regression locally and will report back once I have the results.

@vogelpi vogelpi requested a review from a team as a code owner April 4, 2024 20:51
@vogelpi vogelpi requested review from moidx and removed request for a team April 4, 2024 20:51
@vogelpi
Copy link
Contributor Author

vogelpi commented Apr 5, 2024

The results are here:

## FLASH_CTRL Simulation Results                                                                                                                                                          
### Thursday April 04 2024 17:05:55 UTC                                                                                                                                                   
### GitHub Revision: [`7dd8304be4`](https://github.com/lowrisc/opentitan/tree/7dd8304be4a590a1fb4b73c35611d3843938bd77)                                                                   
### Branch: flash-ctrl-alert-fix                                                                                                                                                          
### [Testplan](https://opentitan.org/book/hw/ip/flash_ctrl/data/flash_ctrl_testplan.html)                                                                                                 
### Simulator: VCS                                                                                                                                                                        
                                                                                                                                                                                          
### Test Results                                                                                                                                                                          
|  Stage  |                   Name                    | Tests                                    |  Max Job Runtime  |  Simulated Time  |  Passing  |  Total  |  Pass Rate  |             
|:-------:|:-----------------------------------------:|:-----------------------------------------|:-----------------:|:----------------:|:---------:|:-------:|:-----------:|             
|   V1    |                   smoke                   | flash_ctrl_smoke                         |      4.257m       |     45.650us     |    50     |   50    |  100.00 %   |             
|   V1    |                 smoke_hw                  | flash_ctrl_smoke_hw                      |      35.130s      |     31.717us     |     5     |    5    |  100.00 %   |             
|   V1    |               csr_hw_reset                | flash_ctrl_csr_hw_reset                  |      1.003m       |     90.854us     |     5     |    5    |  100.00 %   |             
|   V1    |                  csr_rw                   | flash_ctrl_csr_rw                        |      22.960s      |    194.230us     |    20     |   20    |  100.00 %   |             
|   V1    |               csr_bit_bash                | flash_ctrl_csr_bit_bash                  |      44.970s      |    685.277us     |     5     |    5    |  100.00 %   |             
|   V1    |               csr_aliasing                | flash_ctrl_csr_aliasing                  |      43.400s      |     2.226ms      |     5     |    5    |  100.00 %   |             
|   V1    |        csr_mem_rw_with_rand_reset         | flash_ctrl_csr_mem_rw_with_rand_reset    |      25.010s      |    310.645us     |    20     |   20    |  100.00 %   |             
|   V1    | regwen_csr_and_corresponding_lockable_csr | flash_ctrl_csr_rw                        |      22.960s      |    194.230us     |    20     |   20    |  100.00 %   |             
|         |                                           | flash_ctrl_csr_aliasing                  |      43.400s      |     2.226ms      |     5     |    5    |  100.00 %   |             
|   V1    |                 mem_walk                  | flash_ctrl_mem_walk                      |      19.910s      |     16.699us     |     5     |    5    |  100.00 %   |             
|   V1    |            mem_partial_access             | flash_ctrl_mem_partial_access            |      21.020s      |    127.364us     |     5     |    5    |  100.00 %   |             
|   V1    |                                           | **TOTAL**                                |                   |                  |    120    |   120   |  100.00 %   |             
|   V2    |                   sw_op                   | flash_ctrl_sw_op                         |      38.950s      |     27.471us     |     5     |    5    |  100.00 %   |             
|   V2    |             host_read_direct              | flash_ctrl_host_dir_rd                   |      1.456m       |     37.181us     |     5     |    5    |  100.00 %   |             
|   V2    |                 rma_hw_if                 | flash_ctrl_hw_rma                        |      14.551m      |    167.433ms     |     3     |    3    |  100.00 %   |             
|         |                                           | flash_ctrl_hw_rma_reset                  |      13.532m      |    760.496ms     |    20     |   20    |  100.00 %   |             
|         |                                           | flash_ctrl_lcmgr_intg                    |      20.190s      |     15.558us     |    20     |   20    |  100.00 %   |             
|   V2    |            host_controller_arb            | flash_ctrl_host_ctrl_arb                 |      36.867m      |    273.616ms     |     5     |    5    |  100.00 %   |             
|   V2    |               erase_suspend               | flash_ctrl_erase_suspend                 |      8.778m       |     4.008ms      |     5     |    5    |  100.00 %   |             
|   V2    |               program_reset               | flash_ctrl_prog_reset                    |      47.780s      |     2.437ms      |    30     |   30    |  100.00 %   |             
|   V2    |            full_memory_access             | flash_ctrl_full_mem_access               |      34.667m      |    489.088ms     |     5     |    5    |  100.00 %   |             
|   V2    |             rd_buff_eviction              | flash_ctrl_rd_buff_evict                 |      2.483m       |    110.554us     |     5     |    5    |  100.00 %   |             
|   V2    |          rd_buff_eviction_w_ecc           | flash_ctrl_rw_evict                      |      46.250s      |     57.698us     |    40     |   40    |  100.00 %   |             
|         |                                           | flash_ctrl_rw_evict_all_en               |      48.460s      |    128.617us     |    39     |   40    |   97.50 %   |             
|         |                                           | flash_ctrl_re_evict                      |      53.070s      |     1.996ms      |    20     |   20    |  100.00 %   |             
|   V2    |                 host_arb                  | flash_ctrl_phy_arb                       |      8.136m       |     5.129ms      |    20     |   20    |  100.00 %   |             
|   V2    |              host_interleave              | flash_ctrl_phy_arb                       |      8.136m       |     5.129ms      |    20     |   20    |  100.00 %   |             
|   V2    |             memory_protection             | flash_ctrl_mp_regions                    |      7.280m       |     15.803ms     |    20     |   20    |  100.00 %   |             
|   V2    |                fetch_code                 | flash_ctrl_fetch_code                    |      30.910s      |    419.356us     |    10     |   10    |  100.00 %   |             
|   V2    |              all_partitions               | flash_ctrl_rand_ops                      |      24.313m      |    151.534us     |    20     |   20    |  100.00 %   |             
|   V2    |                 error_mp                  | flash_ctrl_error_mp                      |      40.071m      |     63.814ms     |    10     |   10    |  100.00 %   |             
|   V2    |              error_prog_win               | flash_ctrl_error_prog_win                |      20.158m      |    801.255us     |    10     |   10    |  100.00 %   |             
|   V2    |              error_prog_type              | flash_ctrl_error_prog_type               |      49.916m      |    964.553us     |     5     |    5    |  100.00 %   |             
|   V2    |              error_read_seed              | flash_ctrl_hw_read_seed_err              |      20.970s      |    117.913us     |    20     |   20    |  100.00 %   |             
|   V2    |            read_write_overflow            | flash_ctrl_oversize_error                |      2.249m       |     1.493ms      |     5     |    5    |  100.00 %   |             
|   V2    |            flash_ctrl_disable             | flash_ctrl_disable                       |      32.190s      |     18.325us     |    50     |   50    |  100.00 %   |             
|   V2    |            flash_ctrl_connect             | flash_ctrl_connect                       |      23.930s      |     13.447us     |    80     |   80    |  100.00 %   |             
|   V2    |                stress_all                 | flash_ctrl_stress_all                    |      25.623m      |     13.720ms     |     5     |    5    |  100.00 %   |             
|   V2    |             secret_partition              | flash_ctrl_hw_sec_otp                    |      2.933m       |     4.412ms      |    50     |   50    |  100.00 %   |             
|         |                                           | flash_ctrl_otp_reset                     |      3.230m       |    110.209us     |    80     |   80    |  100.00 %   |             
|   V2    |            isolation_partition            | flash_ctrl_hw_rma                        |      14.551m      |    167.433ms     |     3     |    3    |  100.00 %   |             
|   V2    |                interrupts                 | flash_ctrl_intr_rd                       |      2.781m       |     2.455ms      |    40     |   40    |  100.00 %   |             
|         |                                           | flash_ctrl_intr_wr                       |      1.410m       |     49.361ms     |    10     |   10    |  100.00 %   |             
|         |                                           | flash_ctrl_intr_rd_slow_flash            |      4.207m       |     99.360ms     |    40     |   40    |  100.00 %   |             
|         |                                           | flash_ctrl_intr_wr_slow_flash            |      5.195m       |     50.967ms     |    10     |   10    |  100.00 %   |             
|   V2    |                invalid_op                 | flash_ctrl_invalid_op                    |      1.338m       |     29.410ms     |    20     |   20    |  100.00 %   |             
|   V2    |                mid_op_rst                 | flash_ctrl_mid_op_rst                    |      1.585m       |     3.760ms      |     5     |    5    |  100.00 %   |             
|   V2    |              double_bit_err               | flash_ctrl_read_word_sweep_derr          |      32.650s      |     37.058us     |     5     |    5    |  100.00 %   |             
|         |                                           | flash_ctrl_ro_derr                       |      1.768m       |     1.446ms      |    10     |   10    |  100.00 %   |             
|         |                                           | flash_ctrl_rw_derr                       |      5.026m       |     19.067ms     |    10     |   10    |  100.00 %   |             
|         |                                           | flash_ctrl_derr_detect                   |      2.551m       |    457.467us     |     5     |    5    |  100.00 %   |             
|         |                                           | flash_ctrl_integrity                     |      5.634m       |     12.694ms     |     5     |    5    |  100.00 %   |             
|   V2    |              single_bit_err               | flash_ctrl_read_word_sweep_serr          |      33.090s      |    269.546us     |     5     |    5    |  100.00 %   |             
|         |                                           | flash_ctrl_ro_serr                       |      1.810m       |    784.548us     |    10     |   10    |  100.00 %   |             
|         |                                           | flash_ctrl_rw_serr                       |      5.583m       |     3.804ms      |    10     |   10    |  100.00 %   |             
|   V2    |           singlebit_err_counter           | flash_ctrl_serr_counter                  |      55.270s      |    546.677us     |     5     |    5    |  100.00 %   |             
|   V2    |           singlebit_err_address           | flash_ctrl_serr_address                  |      1.076m       |     3.310ms      |     5     |    5    |  100.00 %   |             
|   V2    |                 scramble                  | flash_ctrl_wo                            |      2.022m       |     9.960ms      |    20     |   20    |  100.00 %   |             
|         |                                           | flash_ctrl_write_word_sweep              |      20.200s      |     66.693us     |     1     |    1    |  100.00 %   |             
|         |                                           | flash_ctrl_read_word_sweep               |      13.690s      |    252.042us     |     1     |    1    |  100.00 %   |             
|         |                                           | flash_ctrl_ro                            |      1.220m       |    556.839us     |    20     |   20    |  100.00 %   |             
|         |                                           | flash_ctrl_rw                            |      5.275m       |     7.721ms      |    20     |   20    |  100.00 %   |             
|   V2    |            filesystem_support             | flash_ctrl_fs_sup                        |      32.370s      |    292.535us     |     5     |    5    |  100.00 %   |             
|   V2    |          rma_write_process_error          | flash_ctrl_rma_err                       |      8.670m       |     93.554ms     |     3     |    3    |  100.00 %   |             
|         |                                           | flash_ctrl_hw_prog_rma_wipe_err          |      2.291m       |     10.012ms     |    20     |   20    |  100.00 %   |             
|   V2    |                alert_test                 | flash_ctrl_alert_test                    |      20.520s      |     87.260us     |    50     |   50    |  100.00 %   |             
|   V2    |                 intr_test                 | flash_ctrl_intr_test                     |      20.270s      |     52.918us     |    50     |   50    |  100.00 %   |             
|   V2    |           tl_d_oob_addr_access            | flash_ctrl_tl_errors                     |      26.340s      |     55.797us     |    20     |   20    |  100.00 %   |             
|   V2    |            tl_d_illegal_access            | flash_ctrl_tl_errors                     |      26.340s      |     55.797us     |    20     |   20    |  100.00 %   |             
|   V2    |          tl_d_outstanding_access          | flash_ctrl_csr_hw_reset                  |      1.003m       |     90.854us     |     5     |    5    |  100.00 %   |
|         |                                           | flash_ctrl_csr_rw                        |      22.960s      |    194.230us     |    20     |   20    |  100.00 %   |
|         |                                           | flash_ctrl_csr_aliasing                  |      43.400s      |     2.226ms      |     5     |    5    |  100.00 %   |
|         |                                           | flash_ctrl_same_csr_outstanding          |      40.900s      |    850.692us     |    20     |   20    |  100.00 %   |
|   V2    |            tl_d_partial_access            | flash_ctrl_csr_hw_reset                  |      1.003m       |     90.854us     |     5     |    5    |  100.00 %   |
|         |                                           | flash_ctrl_csr_rw                        |      22.960s      |    194.230us     |    20     |   20    |  100.00 %   |
|         |                                           | flash_ctrl_csr_aliasing                  |      43.400s      |     2.226ms      |     5     |    5    |  100.00 %   |
|         |                                           | flash_ctrl_same_csr_outstanding          |      40.900s      |    850.692us     |    20     |   20    |  100.00 %   |
|   V2    |                                           | **TOTAL**                                |                   |                  |   1012    |  1013   |   99.90 %   |
|   V2S   |          shadow_reg_update_error          | flash_ctrl_shadow_reg_errors             |      24.200s      |     14.298us     |    20     |   20    |  100.00 %   |
|   V2S   |    shadow_reg_read_clear_staged_value     | flash_ctrl_shadow_reg_errors             |      24.200s      |     14.298us     |    20     |   20    |  100.00 %   |
|   V2S   |         shadow_reg_storage_error          | flash_ctrl_shadow_reg_errors             |      24.200s      |     14.298us     |    20     |   20    |  100.00 %   |
|   V2S   |           shadowed_reset_glitch           | flash_ctrl_shadow_reg_errors             |      24.200s      |     14.298us     |    20     |   20    |  100.00 %   |
|   V2S   |    shadow_reg_update_error_with_csr_rw    | flash_ctrl_shadow_reg_errors_with_csr_rw |      24.300s      |     36.696us     |    20     |   20    |  100.00 %   |
|   V2S   |                tl_intg_err                | flash_ctrl_sec_cm                        |      1.535h       |     3.604ms      |     5     |    5    |  100.00 %   |
|         |                                           | flash_ctrl_tl_intg_err                   |      20.563m      |    690.861us     |    20     |   20    |  100.00 %   |
|   V2S   |         sec_cm_reg_bus_integrity          | flash_ctrl_tl_intg_err                   |      20.563m      |    690.861us     |    20     |   20    |  100.00 %   |
|   V2S   |         sec_cm_host_bus_integrity         | flash_ctrl_tl_intg_err                   |      20.563m      |    690.861us     |    20     |   20    |  100.00 %   |
|   V2S   |         sec_cm_mem_bus_integrity          | flash_ctrl_rd_intg                       |      40.330s      |    101.278us     |     3     |    3    |  100.00 %   |
|         |                                           | flash_ctrl_wr_intg                       |      19.440s      |    162.959us     |     3     |    3    |  100.00 %   |
|   V2S   |       sec_cm_scramble_key_sideload        | flash_ctrl_smoke                         |      4.257m       |     45.650us     |    50     |   50    |  100.00 %   |
|   V2S   |       sec_cm_lc_ctrl_intersig_mubi        | flash_ctrl_otp_reset                     |      3.230m       |    110.209us     |    80     |   80    |  100.00 %   |
|         |                                           | flash_ctrl_disable                       |      32.190s      |     18.325us     |    50     |   50    |  100.00 %   |
|         |                                           | flash_ctrl_sec_info_access               |      1.134m       |     2.591ms      |    50     |   50    |  100.00 %   |
|         |                                           | flash_ctrl_connect                       |      23.930s      |     13.447us     |    80     |   80    |  100.00 %   |
|   V2S   |         sec_cm_ctrl_config_regwen         | flash_ctrl_config_regwen                 |      20.470s      |     66.891us     |     5     |    5    |  100.00 %   |
|   V2S   |     sec_cm_data_regions_config_regwen     | flash_ctrl_csr_rw                        |      22.960s      |    194.230us     |    20     |   20    |  100.00 %   |
|   V2S   |     sec_cm_data_regions_config_shadow     | flash_ctrl_shadow_reg_errors             |      24.200s      |     14.298us     |    20     |   20    |  100.00 %   |
|   V2S   |     sec_cm_info_regions_config_regwen     | flash_ctrl_csr_rw                        |      22.960s      |    194.230us     |    20     |   20    |  100.00 %   |
|   V2S   |     sec_cm_info_regions_config_shadow     | flash_ctrl_shadow_reg_errors             |      24.200s      |     14.298us     |    20     |   20    |  100.00 %   |
|   V2S   |         sec_cm_bank_config_regwen         | flash_ctrl_csr_rw                        |      22.960s      |    194.230us     |    20     |   20    |  100.00 %   |
|   V2S   |         sec_cm_bank_config_shadow         | flash_ctrl_shadow_reg_errors             |      24.200s      |     14.298us     |    20     |   20    |  100.00 %   |
|   V2S   |        sec_cm_mem_ctrl_global_esc         | flash_ctrl_disable                       |      32.190s      |     18.325us     |    50     |   50    |  100.00 %   |
|   V2S   |         sec_cm_mem_ctrl_local_esc         | flash_ctrl_rd_intg                       |      40.330s      |    101.278us     |     3     |    3    |  100.00 %   |
|         |                                           | flash_ctrl_access_after_disable          |      17.610s      |     41.032us     |     3     |    3    |  100.00 %   |
|   V2S   |      sec_cm_mem_disable_config_mubi       | flash_ctrl_disable                       |      32.190s      |     18.325us     |    50     |   50    |  100.00 %   |
|   V2S   |         sec_cm_exec_config_redun          | flash_ctrl_fetch_code                    |      30.910s      |    419.356us     |    10     |   10    |  100.00 %   |
|   V2S   |            sec_cm_mem_scramble            | flash_ctrl_rw                            |      5.275m       |     7.721ms      |    20     |   20    |  100.00 %   |
|   V2S   |           sec_cm_mem_integrity            | flash_ctrl_rw_serr                       |      5.583m       |     3.804ms      |    10     |   10    |  100.00 %   |
         |                                           | flash_ctrl_rw_derr                       |      5.026m       |     19.067ms     |    10     |   10    |  100.00 %   |
|         |                                           | flash_ctrl_integrity                     |      5.634m       |     12.694ms     |     5     |    5    |  100.00 %   |
|   V2S   |       sec_cm_rma_entry_mem_sec_wipe       | flash_ctrl_hw_rma                        |      14.551m      |    167.433ms     |     3     |    3    |  100.00 %   |
|   V2S   |          sec_cm_ctrl_fsm_sparse           | flash_ctrl_sec_cm                        |      1.535h       |     3.604ms      |     5     |    5    |  100.00 %   |
|   V2S   |           sec_cm_phy_fsm_sparse           | flash_ctrl_sec_cm                        |      1.535h       |     3.604ms      |     5     |    5    |  100.00 %   |
|   V2S   |        sec_cm_phy_prog_fsm_sparse         | flash_ctrl_sec_cm                        |      1.535h       |     3.604ms      |     5     |    5    |  100.00 %   |
|   V2S   |             sec_cm_ctr_redun              | flash_ctrl_sec_cm                        |      1.535h       |     3.604ms      |     5     |    5    |  100.00 %   |
|   V2S   |       sec_cm_phy_arbiter_ctrl_redun       | flash_ctrl_phy_arb_redun                 |      32.630s      |    705.312us     |     4     |    5    |   80.00 %   |
|   V2S   |  sec_cm_phy_host_grant_ctrl_consistency   | flash_ctrl_phy_host_grant_err            |      21.630s      |     16.284us     |     5     |    5    |  100.00 %   |
|   V2S   |      sec_cm_phy_ack_ctrl_consistency      | flash_ctrl_phy_ack_consistency           |      18.290s      |     16.032us     |     5     |    5    |  100.00 %   |
|   V2S   |           sec_cm_fifo_ctr_redun           | flash_ctrl_sec_cm                        |      1.535h       |     3.604ms      |     5     |    5    |  100.00 %   |
|   V2S   |     sec_cm_mem_tl_lc_gate_fsm_sparse      | flash_ctrl_sec_cm                        |      1.535h       |     3.604ms      |     5     |    5    |  100.00 %   |
|   V2S   |     sec_cm_prog_tl_lc_gate_fsm_sparse     | flash_ctrl_sec_cm                        |      1.535h       |     3.604ms      |     5     |    5    |  100.00 %   |
|   V2S   |                                           | **TOTAL**                                |                   |                  |    143    |   144   |   99.31 %   |
|   V3    |           asymmetric_read_path            | flash_ctrl_rd_ooo                        |      40.580s      |     1.373ms      |     1     |    1    |  100.00 %   |
|   V3    |                                           | **TOTAL**                                |                   |                  |     1     |    1    |  100.00 %   |
|         |                                           | **TOTAL**                                |                   |                  |   1276    |  1278   |   99.84 %   |

## Failure Buckets                                                                           

* `UVM_ERROR (csr_utils_pkg.sv:466) [csr_utils::csr_rd_check] Check failed obs == exp (* [*] vs * [*]) Regname: flash_ctrl_core_reg_block.op_status.err reset value: *` has 1 failures:
    * Test flash_ctrl_rw_evict_all_en has 1 failures.                                        
        * 2.flash_ctrl_rw_evict_all_en.98617306044765743469475087889531055493042539760567869114643958433207808827914\                                                                     
          Line 72, in log /home/dev/src/scratch/flash-ctrl-alert-fix/flash_ctrl-sim-vcs/2.flash_ctrl_rw_evict_all_en/latest/run.log

                UVM_ERROR @ 68506.4 ns: (csr_utils_pkg.sv:466) [csr_utils::csr_rd_check] Check failed obs == exp (0 [0x0] vs 1 [0x1]) Regname: flash_ctrl_core_reg_block.op_status.err res
et value: 0x0
                UVM_INFO @ 68506.4 ns: (uvm_report_catcher.svh:705) [UVM/REPORT/CATCHER]                                                                                                  
                --- UVM Report catcher Summary ---                                           
                                                                                             
                                                                                             

* `UVM_ERROR (cip_base_scoreboard.sv:241) [scoreboard] Check failed expected_alert[alert_name].expected == * (* [*] vs * [*]) alert recov_err triggered unexpectedly` has 1 failures:
    * Test flash_ctrl_phy_arb_redun has 1 failures.                                          
        * 4.flash_ctrl_phy_arb_redun.79481903659732843559493199112123358250740252934694650912601330197783080465856\                                                                       
          Line 72, in log /home/dev/src/scratch/flash-ctrl-alert-fix/flash_ctrl-sim-vcs/4.flash_ctrl_phy_arb_redun/latest/run.log

                UVM_ERROR @ 4794.1 ns: (cip_base_scoreboard.sv:241) [uvm_test_top.env.scoreboard] Check failed expected_alert[alert_name].expected == 1 (0 [0x0] vs 1 [0x1]) alert recov_e
rr triggered unexpectedly
                UVM_INFO @ 4794.1 ns: (uvm_report_catcher.svh:705) [UVM/REPORT/CATCHER]                                                                                                   
                --- UVM Report catcher Summary ---                                           

Before, these two errors types led to a fatal alert which is problematic
during firmware selection and verification. This commit changes the
design in the following way:
- The two relevant bits in the FAULT_STATUS CSR are made clearable by
  software. Other bits in this register remain sticky.
- The corresponding alert is no longer fatal.

This means the alert is only sent out until the two bits are cleared by
software. To be on the safe side, firmware can still classify the alert
as fatal on the receiver side (in the alert handler). For the other
error sources, the alert keeps getting triggered as before, i.e., it
remains fatal.

For more background information, refer to lowRISC#21353.

This resolves lowRISC#21637.

Signed-off-by: Pirmin Vogel <[email protected]>
Copy link
Contributor

@matutem matutem left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@vogelpi vogelpi merged commit dec4bc1 into lowRISC:master Apr 16, 2024
31 checks passed
@vogelpi vogelpi deleted the flash-ctrl-alert-fix branch April 18, 2024 21:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[flash_ctrl] Reduce severity of ECC error from fatal to recoverable
2 participants