• Xiaofei Tan's avatar
    scsi: hisi_sas: workaround a v3 hw hilink bug · f70c1251
    Xiaofei Tan authored
    There is an SoC bug of v3 hw development version. When hot- unplugging a
    directly attached disk, the PHY down interrupt may not happen. It is
    very easy to appear on some boards.
    
    When this issue occurs, the controller will receive many invalid dword
    frames, and the "alos" fields of register HILINK_ERR_DFX can indicate
    that disk was unplugged.
    
    As an workaround solution, this patch detects this issue in the channel
    interrupt, and workaround it by following steps:
    
     - Disable the PHY
     - Clear error code and interrupt
     - Enable the PHY
    
    Then the HW will reissue PHY down interrupt.
    Signed-off-by: default avatarXiaofei Tan <tanxiaofei@huawei.com>
    Signed-off-by: default avatarJohn Garry <john.garry@huawei.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    f70c1251
hisi_sas_v3_hw.c 73.7 KB