Skip to content
  • Feras Daoud's avatar
    net/mlx5: FW tracer, events handling · c71ad41c
    Feras Daoud authored
    
    
    The tracer has one event, event 0x26, with two subtypes:
    - Subtype 0: Ownership change
    - Subtype 1: Traces available
    
    An ownership change occurs in the following cases:
    1- Owner releases his ownership, in this case, an event will be
    sent to inform others to reattempt acquire ownership.
    2- Ownership was taken by a higher priority tool, in this case
    the owner should understand that it lost ownership, and go through
    tear down flow.
    
    The second subtype indicates that there are traces in the trace buffer,
    in this case, the driver polls the tracer buffer for new traces, parse
    them and prepares the messages for printing.
    
    The HW starts tracing from the first address in the tracer buffer.
    Driver receives an event notifying that new trace block exists.
    HW posts a timestamp event at the last 8B of every 256B block.
    Comparing the timestamp to the last handled timestamp would indicate
    that this is a new trace block. Once the new timestamp is detected,
    the entire block is considered valid.
    
    Block validation and parsing, should be done after copying the current
    block to a different location, in order to avoid block overwritten
    during processing.
    
    Signed-off-by: default avatarFeras Daoud <ferasda@mellanox.com>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    c71ad41c