• Huang Rui's avatar
    drm/amdgpu: add mmhub v2.3 for vangogh (v4) · 4d8d75a4
    Huang Rui authored
    There are too many register offset mismatch between mmhub v2.0 and v2.3.
    
    E.X:
    
    mmMM_ATC_L2_MISC_CG:  0x064a(v2.0)  0x06cd(v2.3)
    mmMMVM_L2_PROTECTION_FAULT_CNTL: 0x0688(v2.0) 0x0708(v2.3)
    mmMMVM_CONTEXT0_PAGE_TABLE_BASE_ADDR_LO32: 0x072b(v2.0) 0x0940(v2.3)
    mmMMVM_CONTEXT0_PAGE_TABLE_BASE_ADDR_HI32: 0x072c(v2.0) 0x0941(v2.3)
    mmMMVM_INVALIDATE_ENG0_REQ: 0x06e3(v2.0) 0x0a01(v2.3)
    mmMMVM_INVALIDATE_ENG0_ACK: 0x06f5(v2.0) 0x0a02(v2.3)
    mmMMVM_CONTEXT0_CNTL: 0x06c0(v2.0) 0x0740(v2.3)
    mmMMVM_L2_PROTECTION_FAULT_STATUS: 0x068c(v2.0) 0x070c(v2.3)
    mmMMVM_L2_PROTECTION_FAULT_CNTL: 0x0688(v2.0) 0x0708(v2.3)
    mmMM_ATC_L2_MISC_CG: 0x064a(v2.0) 0x06cd(v2.3)
    mmDAGB0_CNTL_MISC2: 0x0071(v2.0) 0x0096(v2.3)
    ...
    
    Continuing using the same file mmhub v2.0 is not good choice, it will
    introduce a lot of checking with ASIC types. And also easy to introduce the
    issues that offset not align, this kind of issues are really hard to find. Van
    Gogh's mmhub vm invalidation is actually caused by the offset mismatch as well.
    
    So it would like to create a new file rather than stick to re-use orignal mmhub
    v2.0 here.
    
    v2: add missed translate_further programming.
    v3: sync with latest code
    v4: add missing callbacks
    Signed-off-by: default avatarHuang Rui <ray.huang@amd.com>
    Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    4d8d75a4
mmhub_v2_3.c 19.8 KB