diff options
author | Alex Deucher <[email protected]> | 2015-07-07 22:18:13 -0400 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2015-08-14 15:02:29 +0200 |
commit | 528a6ff5992e6710921d6e4157a8a51884bc277f (patch) | |
tree | 9555b558cbb061ae829c35b136444af7145ec505 | |
parent | d69686f1d375c3a65a4398f69da843e833987b0e (diff) |
winsys/amdgpu: add addrlib support for Fiji (v2)
v2: fix tonga chip check
Reviewed-by: Marek Olšák <[email protected]>
Reviewed-by: Christian König <[email protected]>
Reviewed-by: David Zhang <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
-rw-r--r-- | src/gallium/winsys/amdgpu/drm/addrlib/r800/ciaddrlib.cpp | 5 | ||||
-rw-r--r-- | src/gallium/winsys/amdgpu/drm/addrlib/r800/ciaddrlib.h | 1 | ||||
-rw-r--r-- | src/gallium/winsys/amdgpu/drm/amdgpu_id.h | 6 |
3 files changed, 11 insertions, 1 deletions
diff --git a/src/gallium/winsys/amdgpu/drm/addrlib/r800/ciaddrlib.cpp b/src/gallium/winsys/amdgpu/drm/addrlib/r800/ciaddrlib.cpp index 264e2efb8b2..7393953c120 100644 --- a/src/gallium/winsys/amdgpu/drm/addrlib/r800/ciaddrlib.cpp +++ b/src/gallium/winsys/amdgpu/drm/addrlib/r800/ciaddrlib.cpp @@ -350,6 +350,7 @@ AddrChipFamily CIAddrLib::HwlConvertChipFamily( m_settings.isVolcanicIslands = 1; m_settings.isIceland = ASICREV_IS_ICELAND_M(uChipRevision); m_settings.isTonga = ASICREV_IS_TONGA_P(uChipRevision); + m_settings.isFiji = ASICREV_IS_FIJI_P(uChipRevision); break; case FAMILY_CZ: m_settings.isCarrizo = 1; @@ -410,6 +411,10 @@ BOOL_32 CIAddrLib::HwlInitGlobalParams( { m_pipes = 2; } + else if (m_settings.isFiji) + { + m_pipes = 16; + } if (valid) { diff --git a/src/gallium/winsys/amdgpu/drm/addrlib/r800/ciaddrlib.h b/src/gallium/winsys/amdgpu/drm/addrlib/r800/ciaddrlib.h index 0220736c7bc..451508619f9 100644 --- a/src/gallium/winsys/amdgpu/drm/addrlib/r800/ciaddrlib.h +++ b/src/gallium/winsys/amdgpu/drm/addrlib/r800/ciaddrlib.h @@ -59,6 +59,7 @@ struct CIChipSettings UINT_32 isVolcanicIslands : 1; UINT_32 isIceland : 1; UINT_32 isTonga : 1; + UINT_32 isFiji : 1; // VI fusion (Carrizo) UINT_32 isCarrizo : 1; }; diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_id.h b/src/gallium/winsys/amdgpu/drm/amdgpu_id.h index 08a1591496e..8882c418e12 100644 --- a/src/gallium/winsys/amdgpu/drm/amdgpu_id.h +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_id.h @@ -136,6 +136,8 @@ enum { VI_TONGA_P_A0 = 20, VI_TONGA_P_A1 = 21, + VI_FIJI_P_A0 = 60, + VI_UNKNOWN = 0xFF }; @@ -143,7 +145,9 @@ enum { #define ASICREV_IS_ICELAND_M(eChipRev) \ (eChipRev < VI_TONGA_P_A0) #define ASICREV_IS_TONGA_P(eChipRev) \ - (eChipRev >= VI_TONGA_P_A0) + ((eChipRev >= VI_TONGA_P_A0) && (eChipRev < VI_FIJI_P_A0)) +#define ASICREV_IS_FIJI_P(eChipRev) \ + (eChipRev >= VI_FIJI_P_A0) /* CZ specific rev IDs */ enum { |