• Philip Yang's avatar
    drm/amdgpu: handle IH ring1 overflow · 3c2d6ea2
    Philip Yang authored
    IH ring1 is used to process GPU retry fault, overflow is enabled to
    drain retry fault because we want receive other interrupts while
    handling retry fault to recover range. There is no overflow flag set
    when wptr pass rptr. Use timestamp of rptr and wptr to handle overflow
    and drain retry fault.
    
    If fault timestamp goes backward, the fault is filtered and should not
    be processed. Drain fault is finished if processed_timestamp is equal to
    or larger than checkpoint timestamp.
    
    Add amdgpu_ih_functions interface decode_iv_ts for different chips to
    get timestamp from IV entry with different iv size and timestamp offset.
    amdgpu_ih_decode_iv_ts_helper is used for vega10, vega20, navi10.
    Signed-off-by: default avatarPhilip Yang <Philip.Yang@amd.com>
    Reviewed-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
    Acked-by: default avatarChristian König <christian.koenig@amd.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    3c2d6ea2
amdgpu_gmc.h 11.7 KB