[Mesa-dev] [PATCH 1/3] addrlib: add support for Fiji (v2)

Alex Deucher alexdeucher at gmail.com
Mon Aug 3 10:51:08 PDT 2015


v2: fix tonga chip check

Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Reviewed-by: Christian König <christian.koenig at amd.com>
Reviewed-by: David Zhang <david1.zhang at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
---
 src/gallium/winsys/amdgpu/drm/addrlib/r800/ciaddrlib.cpp | 5 +++++
 src/gallium/winsys/amdgpu/drm/addrlib/r800/ciaddrlib.h   | 1 +
 src/gallium/winsys/amdgpu/drm/amdgpu_id.h                | 6 +++++-
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/gallium/winsys/amdgpu/drm/addrlib/r800/ciaddrlib.cpp b/src/gallium/winsys/amdgpu/drm/addrlib/r800/ciaddrlib.cpp
index 264e2ef..7393953 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 0220736..4515086 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 08a1591..8882c41 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 {
-- 
1.8.3.1



More information about the mesa-dev mailing list