• Xiang Chen's avatar
    scsi: hisi_sas: process error codes according to their priority · 634a9585
    Xiang Chen authored
    There are some rules to decide which error code has the high priority
    when errors happen together:
    
    (1) Error phase of CQ decides the error happens on RX or TX;
    
    (2) For TX error, when DMA/TRANS TX error happen simultaneously, the
        priority of DMA TX error is higher than TRANS TX error, so for the
        priority of TX error: DW2 (DMA TX part) > DW0;
    
    (3) For RX error, when TRANS/DMA/SIPC RX error happen simultaneously,
        the priority of TRANS RX error is higher than DMA and SIPC RX error,
        and we should also keep the rules (the priority of DW3 > DW2), so
        for the priority of RX error: DW1 > DW3 > DW2(SIPC RX part);
    
    (4) There are also a priority we should keep in the same error type.
    
    So, modify slot error code to handle this.
    
    In addition to this, some some error codes are modified according to
    recommendation from SoC designer.
    Signed-off-by: default avatarXiang Chen <chenxiang66@hisilicon.com>
    Signed-off-by: default avatarJohn Garry <john.garry@huawei.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    634a9585
hisi_sas_v2_hw.c 96.3 KB