Skip to content

Commit 8676b7d

Browse files
committed
Updating platform devices and workaround tables and adding Elkhartlake platform.
Change-Id: I2f7b53a53392a4d5ee123753624028326bd348e9
1 parent 3655768 commit 8676b7d

File tree

10 files changed

+94
-29
lines changed

10 files changed

+94
-29
lines changed

IGC/Compiler/CISACodeGen/CISABuilder.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2944,6 +2944,7 @@ namespace IGC
29442944
case IGFX_GEN11_CORE:
29452945
if (platform->getPlatformInfo().eProductFamily == IGFX_ICELAKE_LP ||
29462946
platform->getPlatformInfo().eProductFamily == IGFX_LAKEFIELD
2947+
|| platform->getPlatformInfo().eProductFamily == IGFX_ELKHARTLAKE
29472948
)
29482949
{
29492950
return GENX_ICLLP;

IGC/Compiler/CISACodeGen/Platform.hpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,8 @@ namespace IGC
291291
//all the platforms which do not support 64 bit operations (int64 and double)
292292
bool hasNo64BitInst() const {
293293
return m_platformInfo.eProductFamily == IGFX_ICELAKE_LP ||
294-
m_platformInfo.eProductFamily == IGFX_LAKEFIELD;
294+
m_platformInfo.eProductFamily == IGFX_LAKEFIELD ||
295+
m_platformInfo.eProductFamily == IGFX_ELKHARTLAKE;
295296
}
296297

297298
//all the platforms which have correctly rounded macros (INVM, RSQRTM, MADM)
@@ -309,14 +310,16 @@ namespace IGC
309310
return (m_platformInfo.eProductFamily == IGFX_GEMINILAKE ||
310311
m_platformInfo.eProductFamily == IGFX_BROXTON ||
311312
m_platformInfo.eProductFamily == IGFX_ICELAKE_LP ||
312-
m_platformInfo.eProductFamily == IGFX_LAKEFIELD);
313+
m_platformInfo.eProductFamily == IGFX_LAKEFIELD ||
314+
m_platformInfo.eProductFamily == IGFX_ELKHARTLAKE);
313315
}
314316

315317
//all the platforms which do not support 64 bit float operations
316318
bool supportFP64() const {
317319
return (m_platformInfo.eRenderCoreFamily >= IGFX_GEN7_CORE &&
318320
m_platformInfo.eProductFamily != IGFX_ICELAKE_LP &&
319-
m_platformInfo.eProductFamily != IGFX_LAKEFIELD);
321+
m_platformInfo.eProductFamily != IGFX_LAKEFIELD &&
322+
m_platformInfo.eProductFamily != IGFX_ELKHARTLAKE);
320323
}
321324
bool has8DWA64ScatteredMessage() const { return true; }
322325
bool useOnlyEightPatchDispatchHS() const { return false; }

IGC/Compiler/CMakeLists.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,6 @@ set(IGC_BUILD__SRC__Compiler
6666
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/iicl_lp_sw_wa.c"
6767
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/ilkf_hw_wa.c"
6868
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/ilkf_sw_wa.c"
69-
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/ijsl_hw_wa.c"
70-
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/ijsl_sw_wa.c"
7169
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/itgl_lp_hw_wa.c"
7270
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/itgl_lp_sw_wa.c"
7371
${IGC_BUILD__SRC__Compiler_CISACodeGen}
@@ -76,6 +74,11 @@ set(IGC_BUILD__SRC__Compiler
7674
${IGC_BUILD__SRC__Compiler_MetaDataApi}
7775
${IGC_BUILD__SRC__Compiler_Optimizer}
7876
)
77+
78+
list(APPEND IGC_BUILD__SRC__Compiler
79+
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/iehl_hw_wa.c"
80+
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/iehl_sw_wa.c")
81+
7982
if(NOT ANDROID)
8083
set(IGC_BUILD__SRC_Win_Lin_Dar__Compiler
8184
"${CMAKE_CURRENT_SOURCE_DIR}/VerificationPass.cpp"

IGC/Compiler/igc_workaround.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,9 @@ namespace IGC
8383
case IGFX_TIGERLAKE_LP:
8484
InitTglLpHwWaTable(&waTable, pSkuFeatureTable, &stWaInitParam);
8585
break;
86+
case IGFX_ELKHARTLAKE:
87+
InitEhlHwWaTable(&waTable, pSkuFeatureTable, &stWaInitParam);
88+
break;
8689
default:
8790
assert(false);
8891
break;

IGC/common/SystemThread.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,7 @@ CGenSystemInstructionKernelProgram* CGenSystemInstructionKernelProgram::Create(
281281
SIPIndex = GEN11_HP_SIP_CSR;
282282
}
283283
if ((platform.getPlatformInfo().eProductFamily == IGFX_LAKEFIELD)
284+
|| (platform.getPlatformInfo().eProductFamily == IGFX_ELKHARTLAKE)
284285
)
285286
{
286287
SIPIndex = GEN11_LKF_SIP_CSR;

inc/common/igfxfmid.h

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ typedef enum {
4040
IGFX_ICELAKE,
4141
IGFX_ICELAKE_LP,
4242
IGFX_LAKEFIELD,
43+
IGFX_ELKHARTLAKE,
4344
IGFX_TIGERLAKE_LP,
4445
IGFX_MAX_PRODUCT,
4546

@@ -568,7 +569,11 @@ typedef enum __NATIVEGTTYPE
568569
#define ILKF_1x8x8_DESK_DEVICE_F0_ID 0x9840
569570
#define ILKF_GT0_DESK_DEVICE_A0_ID 0x9850
570571

571-
//JSL
572-
#define IJSL_1x4x8_DEVICE_A0_ID 0x4500
572+
//EHL
573+
#define IEHL_1x4x8_SUPERSKU_DEVICE_A0_ID 0x4500
574+
#define IEHL_1x2x4_DEVICE_A0_ID 0x4541
575+
#define IEHL_1x4x4_DEVICE_A0_ID 0x4551
576+
#define IEHL_1x4x8_DEVICE_A0_ID 0x4571
577+
#define IEHL_VAL_0x0x0_DEVICE_A0_ID 0x4569
573578

574579
#endif

inc/common/sku_wa.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8407,6 +8407,30 @@ typedef struct _WA_TABLE
84078407
"Workaround",
84088408
WA_BUG_TYPE_UNKNOWN,
84098409
WA_BUG_PERF_IMPACT_UNKNOWN, WA_COMPONENT_UNKNOWN)
8410+
8411+
WA_DECLARE(
8412+
Wa_2201039848,
8413+
"Workaround",
8414+
WA_BUG_TYPE_UNKNOWN,
8415+
WA_BUG_PERF_IMPACT_UNKNOWN, WA_COMPONENT_UNKNOWN)
8416+
8417+
WA_DECLARE(
8418+
Wa_1406614636,
8419+
"Workaround",
8420+
WA_BUG_TYPE_UNKNOWN,
8421+
WA_BUG_PERF_IMPACT_UNKNOWN, WA_COMPONENT_UNKNOWN)
8422+
8423+
WA_DECLARE(
8424+
Wa_1806230709,
8425+
"Workaround",
8426+
WA_BUG_TYPE_UNKNOWN,
8427+
WA_BUG_PERF_IMPACT_UNKNOWN, WA_COMPONENT_UNKNOWN)
8428+
8429+
WA_DECLARE(
8430+
Wa_1306055483,
8431+
"Workaround",
8432+
WA_BUG_TYPE_UNKNOWN,
8433+
WA_BUG_PERF_IMPACT_UNKNOWN, WA_COMPONENT_UNKNOWN)
84108434

84118435
} WA_TABLE, *PWA_TABLE;
84128436

skuwa/ijsl_hw_wa.c renamed to skuwa/iehl_hw_wa.c

Lines changed: 37 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,43 +28,68 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2828

2929
//******************* Main Wa Initializer for Device Id ********************
3030

31-
#define JSL_REV_ID_A0 SI_REV_ID(0,0)
32-
#define JSL_REV_ID_B0 SI_REV_ID(3,3) //placeholder until stepping value is decided
33-
#define JSL_REV_ID_C0 SI_REV_ID(6,6) //placeholder until stepping value is decided
31+
#define EHL_REV_ID_A0 SI_REV_ID(0,0)
32+
#define EHL_REV_ID_A1 SI_REV_ID(0,0)
33+
#define EHL_REV_ID_B0 SI_REV_ID(3,3) //placeholder until stepping value is decided
34+
#define EHL_REV_ID_C0 SI_REV_ID(6,6) //placeholder until stepping value is decided
3435

35-
void InitJslHwWaTable(PWA_TABLE pWaTable, PSKU_FEATURE_TABLE pSkuTable, PWA_INIT_PARAM pWaParam)
36+
void InitEhlHwWaTable(PWA_TABLE pWaTable, PSKU_FEATURE_TABLE pSkuTable, PWA_INIT_PARAM pWaParam)
3637
{
37-
int iStepId_JSL = (int)pWaParam->usRevId;
38+
int iStepId_EHL = (int)pWaParam->usRevId;
3839

3940
// Components affected: igc
4041
SI_WA_ENABLE(
4142
Wa_220856683,
4243
"No Link provided",
4344
"No HWSightingLink provided",
4445
PLATFORM_ALL,
45-
SI_WA_BETWEEN(iStepId_JSL, JSL_REV_ID_A0, FUTURE_PROJECT));
46+
SI_WA_BETWEEN(iStepId_EHL, EHL_REV_ID_A0, FUTURE_PROJECT));
4647

4748
// Components affected: igc
4849
SI_WA_ENABLE(
49-
Wa_1406306137,
50+
Wa_2201039848,
5051
"No Link provided",
5152
"No HWSightingLink provided",
5253
PLATFORM_ALL,
53-
SI_WA_BETWEEN(iStepId_JSL, JSL_REV_ID_A0, FUTURE_PROJECT));
54+
SI_WA_BETWEEN(iStepId_EHL, EHL_REV_ID_A0, FUTURE_PROJECT));
5455

55-
// Components affected: igc visa
56+
// Components affected: visa
5657
SI_WA_ENABLE(
57-
Wa_1406950495,
58+
Wa_1406614636,
5859
"No Link provided",
5960
"No HWSightingLink provided",
6061
PLATFORM_ALL,
61-
SI_WA_BETWEEN(iStepId_JSL, JSL_REV_ID_A0, FUTURE_PROJECT));
62+
SI_WA_BETWEEN(iStepId_EHL, EHL_REV_ID_A0, FUTURE_PROJECT));
63+
64+
// Components affected: igc
65+
SI_WA_ENABLE(
66+
Wa_1806230709,
67+
"No Link provided",
68+
"No HWSightingLink provided",
69+
PLATFORM_ALL,
70+
SI_WA_BETWEEN(iStepId_EHL, EHL_REV_ID_A0, EHL_REV_ID_B0));
71+
72+
// Components affected: igc
73+
SI_WA_ENABLE(
74+
Wa_1306055483,
75+
"No Link provided",
76+
"No HWSightingLink provided",
77+
PLATFORM_ALL,
78+
SI_WA_BETWEEN(iStepId_EHL, EHL_REV_ID_A0, FUTURE_PROJECT));
79+
80+
// Components affected: igc
81+
SI_WA_ENABLE(
82+
Wa_1604402567,
83+
"No Link provided",
84+
"No HWSightingLink provided",
85+
PLATFORM_ALL,
86+
SI_WA_BETWEEN(iStepId_EHL, EHL_REV_ID_A0, FUTURE_PROJECT));
6287

6388
// Components affected: igc
6489
SI_WA_ENABLE(
6590
Wa_1805992985,
6691
"No Link provided",
6792
"No Link provided",
6893
PLATFORM_ALL,
69-
SI_WA_BETWEEN(iStepId_JSL, JSL_REV_ID_A0, FUTURE_PROJECT));
94+
SI_WA_BETWEEN(iStepId_EHL, EHL_REV_ID_A0, FUTURE_PROJECT));
7095
}

skuwa/ijsl_sw_wa.c renamed to skuwa/iehl_sw_wa.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,25 +25,25 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2525
======================= end_copyright_notice ==================================*/
2626
#include "wa_def.h"
2727

28-
#define JSL_REV_ID_A0 SI_REV_ID(0,0)
29-
#define JSL_REV_ID_B0 SI_REV_ID(1,1)
28+
#define EHL_REV_ID_A0 SI_REV_ID(0,0)
29+
#define EHL_REV_ID_B0 SI_REV_ID(1,1)
3030

3131

3232
//******************* Main Wa Initializer for Device Id ********************
3333
// Initialize COMMON/DESKTOP/MOBILE WA using PLATFORM_STEP_APPLICABLE() macro.
3434

35-
void InitJslSwWaTable(PWA_TABLE pWaTable, PSKU_FEATURE_TABLE pSkuTable, PWA_INIT_PARAM pWaParam)
35+
void InitEhlSwWaTable(PWA_TABLE pWaTable, PSKU_FEATURE_TABLE pSkuTable, PWA_INIT_PARAM pWaParam)
3636
{
3737

3838
#ifdef __KCH
3939
// compilation issue with UTF: KCHASSERT(NULL != pWaParam);
4040
#endif
4141

42-
int iStepId_JSL = (int)pWaParam->usRevId;
42+
int iStepId_EHL = (int)pWaParam->usRevId;
4343

4444
//=================================================================================================================
4545
//
46-
// JSL SW WA for all platforms
46+
// EHL SW WA for all platforms
4747
//
4848
//=================================================================================================================
4949

@@ -55,11 +55,11 @@ void InitJslSwWaTable(PWA_TABLE pWaTable, PSKU_FEATURE_TABLE pSkuTable, PWA_INIT
5555
"No Link provided",
5656
"No HWSightingLink provided",
5757
PLATFORM_ALL,
58-
SI_WA_UNTIL(iStepId_JSL, JSL_REV_ID_A0));
58+
SI_WA_UNTIL(iStepId_EHL, EHL_REV_ID_A0));
5959
}
6060

6161
#ifdef __KCH
62-
void InitJslHASWaTable( PHW_DEVICE_EXTENSION pKchContext, PWA_TABLE pWaTable, PSKU_FEATURE_TABLE pSkuTable, PWA_INIT_PARAM pWaParam )
62+
void InitEhlHASWaTable( PHW_DEVICE_EXTENSION pKchContext, PWA_TABLE pWaTable, PSKU_FEATURE_TABLE pSkuTable, PWA_INIT_PARAM pWaParam )
6363
{
6464
//TODO Gen11LP: Add WA as needed
6565
}

skuwa/wa_def.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -288,11 +288,11 @@ void InitLkfSwWaTable(
288288
PWA_TABLE pWaTable,
289289
PSKU_FEATURE_TABLE pSkuTable,
290290
PWA_INIT_PARAM pWaParam);
291-
void InitJslHwWaTable(
291+
void InitEhlHwWaTable(
292292
PWA_TABLE pWaTable,
293293
PSKU_FEATURE_TABLE pSkuTable,
294294
PWA_INIT_PARAM pWaParam);
295-
void InitJslSwWaTable(
295+
void InitEhlSwWaTable(
296296
PWA_TABLE pWaTable,
297297
PSKU_FEATURE_TABLE pSkuTable,
298298
PWA_INIT_PARAM pWaParam);
@@ -374,7 +374,7 @@ void InitLkfHASWaTable(
374374
PWA_TABLE pWaTable,
375375
PSKU_FEATURE_TABLE pSkuTable,
376376
PWA_INIT_PARAM pWaParam);
377-
void InitJslHASWaTable(
377+
void InitEhlHASWaTable(
378378
PHW_DEVICE_EXTENSION pKchContext,
379379
PWA_TABLE pWaTable,
380380
PSKU_FEATURE_TABLE pSkuTable,

0 commit comments

Comments
 (0)