Skip to content

Commit 1b95049

Browse files
matborzyszkowskiigcbot
authored andcommitted
Add support for NVL-S (part 2)
Add support for NVL-S (part 2)
1 parent 72cb554 commit 1b95049

File tree

8 files changed

+116
-4
lines changed

8 files changed

+116
-4
lines changed

IGC/Compiler/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,8 @@ set(IGC_BUILD__SRC__Compiler
120120
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/igt_30_01_hw_wa.c"
121121
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/igt_30_03_hw_wa.c"
122122
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/igt_30_00_sw_wa.c"
123+
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/igt_30_04_hw_wa.c"
124+
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/igt_30_05_hw_wa.c"
123125
"${CMAKE_CURRENT_SOURCE_DIR}/SamplerPerfOptPass.cpp"
124126
"${CMAKE_CURRENT_SOURCE_DIR}/TranslateToProgrammableOffsetsPass.cpp"
125127
${IGC_BUILD__SRC__Compiler_CISACodeGen}

IGC/Compiler/igc_workaround_linux.cpp

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,8 @@ void SetWorkaroundTable(SKU_FEATURE_TABLE *pSkuFeatureTable, CPlatform *platform
162162
stWaInitParam.usMediaRevID = (unsigned short)GFX_GET_GMD_REV_ID_MEDIA(platform->getPlatformInfo());
163163

164164
// Applying GT WAs
165-
switch (GFX_GET_CURRENT_RENDERCORE(platform->getPlatformInfo())) {
166-
case IGFX_XE_HPG_CORE: {
165+
switch (GFX_GET_GMD_ARCH_VERSION_RENDER(platform->getPlatformInfo())) {
166+
case GFX_GMD_ARCH_12: {
167167
if (GFX_GET_GMD_RELEASE_VERSION_RENDER(platform->getPlatformInfo()) == GFX_GMD_ARCH_12_RELEASE_XE_LP_MD) {
168168
InitGt_12_70HwWaTable(&waTable, pSkuFeatureTable, &stWaInitParam);
169169
} else if (GFX_GET_GMD_RELEASE_VERSION_RENDER(platform->getPlatformInfo()) == GFX_GMD_ARCH_12_RELEASE_XE_LP_LG) {
@@ -175,7 +175,7 @@ void SetWorkaroundTable(SKU_FEATURE_TABLE *pSkuFeatureTable, CPlatform *platform
175175
InitGt_12_70SwWaTable(&waTable, pSkuFeatureTable, &stWaInitParam);
176176
break;
177177
}
178-
case IGFX_XE2_HPG_CORE: {
178+
case GFX_GMD_ARCH_20: {
179179
switch (GFX_GET_GMD_RELEASE_VERSION_RENDER(platform->getPlatformInfo())) {
180180
case GFX_GMD_ARCH_20_RELEASE_XE2_HPG_2001:
181181
InitGt_20_01HwWaTable(&waTable, pSkuFeatureTable, &stWaInitParam);
@@ -193,7 +193,7 @@ void SetWorkaroundTable(SKU_FEATURE_TABLE *pSkuFeatureTable, CPlatform *platform
193193
}
194194
break;
195195
}
196-
case IGFX_XE3_CORE: {
196+
case GFX_GMD_ARCH_30: {
197197
stWaInitParam.usWaIpShift = WA_BIT_GT;
198198
switch (GFX_GET_GMD_RELEASE_VERSION_RENDER(platform->getPlatformInfo())) {
199199
case GFX_GMD_ARCH_30_RELEASE_XE3_LPG_3000:
@@ -205,6 +205,12 @@ void SetWorkaroundTable(SKU_FEATURE_TABLE *pSkuFeatureTable, CPlatform *platform
205205
case GFX_GMD_ARCH_30_RELEASE_XE3_LPG_3003:
206206
InitGt_30_03HwWaTable(&waTable, pSkuFeatureTable, &stWaInitParam);
207207
break;
208+
case GFX_GMD_ARCH_30_RELEASE_XE3_LPG_3004:
209+
InitGt_30_04HwWaTable(&waTable, pSkuFeatureTable, &stWaInitParam);
210+
break;
211+
case GFX_GMD_ARCH_30_RELEASE_XE3_LPG_3005:
212+
InitGt_30_05HwWaTable(&waTable, pSkuFeatureTable, &stWaInitParam);
213+
break;
208214
default:
209215
fprintf(stderr, "ERROR! Trying to select a workaround table for an unknown architecture. Aborting.\n");
210216
exit(1);

inc/common/igfxfmid.h

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,10 @@ typedef struct GFX_GMD_ID_DEF
152152
};
153153
}GFX_GMD_ID;
154154

155+
#define GFX_GMD_ARCH_12 (12)
156+
#define GFX_GMD_ARCH_20 (20)
157+
#define GFX_GMD_ARCH_30 (30)
158+
155159
#define GFX_GMD_ARCH_12_RELEASE_XE_LP_MD (70)
156160
#define GFX_GMD_ARCH_12_RELEASE_XE_LP_LG (71)
157161
#define GFX_GMD_ARCH_12_RELEASE_XE_LPG_PLUS_1274 (74)
@@ -163,7 +167,12 @@ typedef struct GFX_GMD_ID_DEF
163167
#define GFX_GMD_ARCH_30_RELEASE_XE3_LPG_3000 (0)
164168
#define GFX_GMD_ARCH_30_RELEASE_XE3_LPG_3001 (1)
165169
#define GFX_GMD_ARCH_30_RELEASE_XE3_LPG_3003 (3)
170+
#define GFX_GMD_ARCH_30_RELEASE_XE3_LPG_3004 (4)
171+
#define GFX_GMD_ARCH_30_RELEASE_XE3_LPG_3005 (5)
166172

173+
#define GFX_GET_GMD_ARCH_VERSION_RENDER(p) ((p).sRenderBlockID.GmdID.GMDArch)
174+
#define GFX_GET_GMD_ARCH_VERSION_DISPLAY(p) ((p).sDisplayBlockID.GmdID.GMDArch)
175+
#define GFX_GET_GMD_ARCH_VERSION_MEDIA(p) ((p).sMediaBlockID.GmdID.GMDArch)
167176
#define GFX_GET_GMD_RELEASE_VERSION_RENDER(p) ((p).sRenderBlockID.GmdID.GMDRelease)
168177
#define GFX_GET_GMD_RELEASE_VERSION_DISPLAY(p) ((p).sDisplayBlockID.GmdID.GMDRelease)
169178
#define GFX_GET_GMD_RELEASE_VERSION_MEDIA(p) ((p).sMediaBlockID.GmdID.GMDRelease)
@@ -782,6 +791,13 @@ typedef enum __NATIVEGTTYPE
782791
#define DEV_ID_FD80 0xFD80
783792
#define DEV_ID_FD81 0xFD81
784793

794+
// NVL
795+
#define DEV_ID_D740 0xD740
796+
#define DEV_ID_D741 0xD741
797+
#define DEV_ID_D742 0xD742
798+
#define DEV_ID_D743 0xD743
799+
#define DEV_ID_D744 0xD744
800+
785801
#define GFX_IS_DG2_G11_CONFIG(d) ( ( d == DEV_ID_56A5 ) || \
786802
( d == DEV_ID_56A6 ) || \
787803
( d == DEV_ID_5693 ) || \

skuwa/igt_30_04_hw_wa.c

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/*========================== begin_copyright_notice ============================
2+
3+
Copyright (C) 2025 Intel Corporation
4+
5+
SPDX-License-Identifier: MIT
6+
7+
============================= end_copyright_notice ===========================*/
8+
9+
// This is an auto-generated file. Please do not edit!
10+
// If changes are needed here please reach out to the codeowners, thanks.
11+
12+
13+
#include "wa_def.h"
14+
#include "igt_30_04_rev_id.h"
15+
16+
17+
void InitGt_30_04HwWaTable(PWA_TABLE pWaTable, PSKU_FEATURE_TABLE pSkuTable, PWA_INIT_PARAM pWaParam)
18+
{
19+
int iStepId_GT_30_04 = (int)pWaParam->usRenderRevID;
20+
21+
}

skuwa/igt_30_04_rev_id.h

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/*========================== begin_copyright_notice ============================
2+
3+
Copyright (C) 2025 Intel Corporation
4+
5+
SPDX-License-Identifier: MIT
6+
7+
============================= end_copyright_notice ===========================*/
8+
9+
// This is an auto-generated file. Please do not edit!
10+
// If changes are needed here please reach out to the codeowners, thanks.
11+
12+
13+
#include "wa_def.h"
14+
15+
#define GT_30_04_REV_ID_A0 SI_REV_ID(0,0)
16+
17+
#define GT_30_04_REV_ID_B0 SI_REV_ID(4,4)
18+

skuwa/igt_30_05_hw_wa.c

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/*========================== begin_copyright_notice ============================
2+
3+
Copyright (C) 2025 Intel Corporation
4+
5+
SPDX-License-Identifier: MIT
6+
7+
============================= end_copyright_notice ===========================*/
8+
9+
// This is an auto-generated file. Please do not edit!
10+
// If changes are needed here please reach out to the codeowners, thanks.
11+
12+
13+
#include "wa_def.h"
14+
#include "igt_30_05_rev_id.h"
15+
16+
17+
void InitGt_30_05HwWaTable(PWA_TABLE pWaTable, PSKU_FEATURE_TABLE pSkuTable, PWA_INIT_PARAM pWaParam)
18+
{
19+
int iStepId_GT_30_05 = (int)pWaParam->usRenderRevID;
20+
21+
}

skuwa/igt_30_05_rev_id.h

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/*========================== begin_copyright_notice ============================
2+
3+
Copyright (C) 2025 Intel Corporation
4+
5+
SPDX-License-Identifier: MIT
6+
7+
============================= end_copyright_notice ===========================*/
8+
9+
// This is an auto-generated file. Please do not edit!
10+
// If changes are needed here please reach out to the codeowners, thanks.
11+
12+
13+
#include "wa_def.h"
14+
15+
#define GT_30_05_REV_ID_A0 SI_REV_ID(0,0)
16+
17+
#define GT_30_05_REV_ID_A1 SI_REV_ID(1,1)
18+
19+
#define GT_30_05_REV_ID_B0 SI_REV_ID(4,4)
20+

skuwa/wa_def.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -399,6 +399,14 @@ void InitGt_30_03HwWaTable(
399399
PWA_TABLE pWaTable,
400400
PSKU_FEATURE_TABLE pSkuTable,
401401
PWA_INIT_PARAM pWaParam);
402+
void InitGt_30_04HwWaTable(
403+
PWA_TABLE pWaTable,
404+
PSKU_FEATURE_TABLE pSkuTable,
405+
PWA_INIT_PARAM pWaParam);
406+
void InitGt_30_05HwWaTable(
407+
PWA_TABLE pWaTable,
408+
PSKU_FEATURE_TABLE pSkuTable,
409+
PWA_INIT_PARAM pWaParam);
402410
void InitGt_30_00_SwWaTable(
403411
PWA_TABLE pWaTable,
404412
PSKU_FEATURE_TABLE pSkuTable,

0 commit comments

Comments
 (0)