• Lancelot SIX's avatar
    drm/amdkfd: Enable SQ watchpoint for gfx10 · bd31e502
    Lancelot SIX authored
    There are new control registers introduced in gfx10 used to configure
    hardware watchpoints triggered by SMEM instructions:
    SQ_WATCH{0,1,2,3}_{CNTL_ADDR_HI,ADDR_L}.
    
    Those registers work in a similar way as the TCP_WATCH* registers
    currently used for gfx9 and above.
    
    This patch adds support to program the SQ_WATCH registers for gfx10.
    
    The SQ_WATCH?_CNTL.MASK field has one bit more than
    TCP_WATCH?_CNTL.MASK, so SQ watchpoints can have a finer granularity
    than TCP_WATCH watchpoints.  In this patch, we keep the capabilities
    advertised to the debugger unchanged
    (HSA_DBG_WATCH_ADDR_MASK_*_BIT_GFX10) as this reflects what both TCP and
    SQ watchpoints can do and both watchpoints are configured together.
    Signed-off-by: default avatarLancelot SIX <lancelot.six@amd.com>
    Reviewed-by: default avatarJonathan Kim <jonathan.kim@amd.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    bd31e502
amdgpu_amdkfd_gfx_v10.c 32.1 KB