• Luo Jiaxing's avatar
    scsi: hisi_sas: Add trace FIFO debugfs support · cd96fe60
    Luo Jiaxing authored
    The controller provides trace FIFO DFX tool to assist link fault debugging
    and link optimization. This tool can be helpful when debugging link faults
    without SAS analyzers. Each PHY has an independent trace FIFO interface.
    
    The user can configure the trace FIFO tool of one PHY by using the
    following six interfaces:
    
    signal_sel: select signal group applies to different scenarios.
      0x0: linkrate negotiation
      0x1: Host 12G TX train
      0x2: Disk 12G TX train
      0x3: SAS PHY CTRL DFX 0
      0x4: SAS PHY CTRL DFX 1
      0x5: SAS PCS DFX
      other: linkrate negotiation
    dump_mask: The masked hardware status bit will not be updated.
    dump_mode: determines how to dump data after trigger signal is generated.
      0x0: dump forever
      0x1: dump 32 data after trigger signal is generated
      0x2: no more dump after trigger signal is generated
    trigger_mode: determines the trigger mode, level or edge.
      0x0: dump when trigger signal changed
      0x1: dump when trigger signal's level equal to trigger_level
      0x2: dump when trigger signal's level different from trigger_level
    trigger_level: determines the trigger level.
    trigger_msk: mask trigger signal
    
    The user can get 32-byte values from hardware by reading the rd_data.
    These values consitute the status record of the hardware at different time
    points.
    
    Link: https://lore.kernel.org/r/1611659068-131975-6-git-send-email-john.garry@huawei.comSigned-off-by: default avatarLuo Jiaxing <luojiaxing@huawei.com>
    Signed-off-by: default avatarJohn Garry <john.garry@huawei.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    cd96fe60
hisi_sas_v3_hw.c 141 KB