Skip to content

Commit bdd20c3

Browse files
lwesiersigcbot
authored andcommitted
Open source ROCKETLAKE and ALDERLAKE_S
1 parent eab67e5 commit bdd20c3

File tree

14 files changed

+609
-0
lines changed

14 files changed

+609
-0
lines changed

IGC/Compiler/CISACodeGen/CISABuilder.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2945,6 +2945,8 @@ namespace IGC
29452945
case IGFX_GEN12LP_CORE:
29462946
if ( platform->getPlatformInfo().eProductFamily == IGFX_TIGERLAKE_LP
29472947
|| platform->getPlatformInfo().eProductFamily == IGFX_DG1
2948+
|| platform->getPlatformInfo().eProductFamily == IGFX_ROCKETLAKE
2949+
|| platform->getPlatformInfo().eProductFamily == IGFX_ALDERLAKE_S
29482950
)
29492951
{
29502952
return GENX_TGLLP;

IGC/Compiler/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,10 @@ set(IGC_BUILD__SRC__Compiler
7171
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/itgl_lp_sw_wa.c"
7272
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/idg1_hw_wa.c"
7373
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/idg1_sw_wa.c"
74+
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/irkl_hw_wa.c"
75+
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/irkl_sw_wa.c"
76+
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/iadls_hw_wa.c"
77+
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/iadls_sw_wa.c"
7478
${IGC_BUILD__SRC__Compiler_CISACodeGen}
7579
${IGC_BUILD__SRC__Compiler_DebugInfo}
7680
${IGC_BUILD__SRC__Compiler_Legalizer}

IGC/Compiler/igc_workaround.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,14 @@ namespace IGC
102102
InitDg1HwWaTable(&waTable, pSkuFeatureTable, &stWaInitParam);
103103
InitDg1SwWaTable(&waTable, pSkuFeatureTable, &stWaInitParam);
104104
break;
105+
case IGFX_ROCKETLAKE:
106+
InitRklHwWaTable(&waTable, pSkuFeatureTable, &stWaInitParam);
107+
InitRklSwWaTable(&waTable, pSkuFeatureTable, &stWaInitParam);
108+
break;
109+
case IGFX_ALDERLAKE_S:
110+
InitAdlsHwWaTable(&waTable, pSkuFeatureTable, &stWaInitParam);
111+
InitAdlsSwWaTable(&waTable, pSkuFeatureTable, &stWaInitParam);
112+
break;
105113
default:
106114
IGC_ASSERT(0);
107115
break;

IGC/common/ShaderOverride.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,8 @@ iga_gen_t GetIGAPlatform(const IGC::CPlatform* platform)
142142
case IGFX_GEN12LP_CORE:
143143
if ( platform->getPlatformInfo().eProductFamily == IGFX_TIGERLAKE_LP
144144
|| platform->getPlatformInfo().eProductFamily == IGFX_DG1
145+
|| platform->getPlatformInfo().eProductFamily == IGFX_ROCKETLAKE
146+
|| platform->getPlatformInfo().eProductFamily == IGFX_ALDERLAKE_S
145147
)
146148
{
147149
return IGA_GEN12p1;

IGC/common/SystemThread.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,8 @@ CGenSystemInstructionKernelProgram* CGenSystemInstructionKernelProgram::Create(
326326
{
327327
if ( platform.getPlatformInfo().eProductFamily == IGFX_TIGERLAKE_LP
328328
|| platform.getPlatformInfo().eProductFamily == IGFX_DG1
329+
|| platform.getPlatformInfo().eProductFamily == IGFX_ROCKETLAKE
330+
|| platform.getPlatformInfo().eProductFamily == IGFX_ALDERLAKE_S
329331
)
330332
{
331333
SIPIndex = GEN12_LP_CSR;

inc/common/igfxfmid.h

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ typedef enum {
4343
IGFX_JASPERLAKE,
4444
IGFX_ELKHARTLAKE = IGFX_JASPERLAKE,
4545
IGFX_TIGERLAKE_LP,
46+
IGFX_ROCKETLAKE,
47+
IGFX_ALDERLAKE_S,
4648
IGFX_DG1 = 1210,
4749
IGFX_MAX_PRODUCT,
4850

@@ -570,6 +572,21 @@ typedef enum __NATIVEGTTYPE
570572
#define ITGL_LP_GT0_ULT_DEVICE_F0_ID 0x9A7F
571573

572574
#define DEV_ID_4905 0x4905
575+
#define IRKL_1x2x16_GT1_ULT_SKU_DEVICE_F0_ID_0 0x4C80 // Obsolete, to be removed once removed from linux code base
576+
#define IRKL_1x2x16_GT1_SUPER_SKU_DEVICE_F0_ID_1 0x4C8A // Obsolete, to be removed once removed from linux code base
577+
#define IRKL_1X2X12_GT1_SUPER_SKU_DEVICE_F0_ID_2 0x4C8B // Obsolete, to be removed once removed from linux code base
578+
#define IRKL_1X1X16_GT0P5_SUPER_SKU_DEVICE_F0_ID_3 0x4C8C // Obsolete, to be removed once removed from linux code base
579+
#define IRKL_1X2X16_GT1_SUPER_SKU_DEVICE_F0_ID_4 0x4C90 // Obsolete, to be removed once removed from linux code base
580+
#define IRKL_1X2X16_GT1_SUPER_SKU_DEVICE_F0_ID_5 0x4C9A // Obsolete, to be removed once removed from linux code base
581+
#define IRKL_GT0_SKU_DEVICE_F0_ID 0x4C9F // Obsolete, to be removed once removed from linux code base
582+
583+
#define DEV_ID_4C80 0x4C80
584+
#define DEV_ID_4C8A 0x4C8A
585+
#define DEV_ID_4C8B 0x4C8B
586+
#define DEV_ID_4C8C 0x4C8C
587+
#define DEV_ID_4C90 0x4C90
588+
#define DEV_ID_4C9A 0x4C9A
589+
#define DEV_ID_4C9F 0x4C9F
573590
//LKF
574591
#define ILKF_1x8x8_DESK_DEVICE_F0_ID 0x9840
575592
#define ILKF_GT0_DESK_DEVICE_A0_ID 0x9850
@@ -584,4 +601,21 @@ typedef enum __NATIVEGTTYPE
584601
//JSL
585602
#define IJSL_1x4x8_DEVICE_A0_ID 0x4500
586603

604+
// ADL-S
605+
#define IADLS_1X2X16_GT1_UNKNOWN_SKU_ID_0 0x4680
606+
#define IADLS_1X2X16_GT1_UNKNOWN_SKU_ID_1 0x4681
607+
#define IADLS_1X2X12_GT1_UNKNOWN_SKU_ID_2 0X4682
608+
#define IADLS_1X1X16_GT0P5_UNKNOWN_SKU_ID_3 0x4683
609+
#define IADLS_1X2X16_GT1_UNKNOWN_SKU_ID_4 0x4690
610+
#define IADLS_1X2X16_GT1_UNKNOWN_SKU_ID_5 0x4691
611+
#define IADLS_1X2X12_GT1_UNKNOWN_SKU_ID_6 0x4692
612+
#define IADLS_1X1X16_GT1_UNKNOWN_SKU_ID_7 0x4693
613+
#define IADLS_1X2X16_GT1_UNKNOWN_SKU_ID_8 0x4698
614+
#define IADLS_1X2X16_GT1_UNKNOWN_SKU_ID_9 0x4699
615+
616+
617+
#define IADLS_GT0_DEVICE_A0_ID 0x469F
618+
#define DEV_ID_4600 0x4600
619+
#define DEV_ID_461F 0x461F
620+
587621
#endif

inc/common/sku_wa.h

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8380,6 +8380,12 @@ typedef struct _WA_TABLE
83808380
WA_BUG_TYPE_UNKNOWN,
83818381
WA_BUG_PERF_IMPACT_UNKNOWN, WA_COMPONENT_UNKNOWN)
83828382

8383+
WA_DECLARE(
8384+
Wa_1407901919,
8385+
"Workaround",
8386+
WA_BUG_TYPE_UNKNOWN,
8387+
WA_BUG_PERF_IMPACT_UNKNOWN, WA_COMPONENT_UNKNOWN)
8388+
83838389
WA_DECLARE(
83848390
Wa_1606931601,
83858391
"Workaround",
@@ -8470,6 +8476,11 @@ typedef struct _WA_TABLE
84708476
WA_BUG_TYPE_UNKNOWN,
84718477
WA_BUG_PERF_IMPACT_UNKNOWN, WA_COMPONENT_UNKNOWN)
84728478

8479+
WA_DECLARE(
8480+
Wa_1606932921,
8481+
"Workaround",
8482+
WA_BUG_TYPE_UNKNOWN,
8483+
WA_BUG_PERF_IMPACT_UNKNOWN, WA_COMPONENT_D3D)
84738484
WA_DECLARE(
84748485
Wa_14010875903,
84758486
"Workaround",
@@ -8506,6 +8517,32 @@ typedef struct _WA_TABLE
85068517
WA_BUG_TYPE_UNKNOWN,
85078518
WA_BUG_PERF_IMPACT_UNKNOWN, WA_COMPONENT_UNKNOWN)
85088519

8520+
WA_DECLARE(
8521+
Wa_1808326800,
8522+
"Workaround",
8523+
WA_BUG_TYPE_UNKNOWN,
8524+
WA_BUG_PERF_IMPACT_UNKNOWN, WA_COMPONENT_GMM)
8525+
WA_DECLARE(
8526+
Wa_1607610283,
8527+
"Workaround",
8528+
WA_BUG_TYPE_UNKNOWN,
8529+
WA_BUG_PERF_IMPACT_UNKNOWN, WA_COMPONENT_UNKNOWN)
8530+
WA_DECLARE(
8531+
Wa_1406664125,
8532+
"Workaround",
8533+
WA_BUG_TYPE_UNKNOWN,
8534+
WA_BUG_PERF_IMPACT_UNKNOWN, WA_COMPONENT_UNKNOWN)
8535+
WA_DECLARE(
8536+
Wa_22010594632,
8537+
"Workaround",
8538+
WA_BUG_TYPE_HANG,
8539+
WA_BUG_PERF_IMPACT_UNKNOWN, WA_COMPONENT_UNKNOWN)
8540+
WA_DECLARE(
8541+
Wa_1809626530,
8542+
"Workaround",
8543+
WA_BUG_TYPE_CORRUPTION,
8544+
WA_BUG_PERF_IMPACT_UNKNOWN, WA_COMPONENT_UNKNOWN)
8545+
85098546
} WA_TABLE, *PWA_TABLE;
85108547

85118548
#ifdef _USC_
@@ -8559,3 +8596,4 @@ struct HW_STATUS
85598596
#define GRAPHICS_IS_WA(s, w) ((s)->w)
85608597

85618598
#endif
8599+

skuwa/iadls_hw_wa.c

Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
/*===================== begin_copyright_notice ==================================
2+
3+
Copyright (c) 2017 Intel Corporation
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a
6+
copy of this software and associated documentation files (the
7+
"Software"), to deal in the Software without restriction, including
8+
without limitation the rights to use, copy, modify, merge, publish,
9+
distribute, sublicense, and/or sell copies of the Software, and to
10+
permit persons to whom the Software is furnished to do so, subject to
11+
the following conditions:
12+
13+
The above copyright notice and this permission notice shall be included
14+
in all copies or substantial portions of the Software.
15+
16+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17+
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23+
24+
25+
======================= end_copyright_notice ==================================*/
26+
27+
#include "wa_def.h"
28+
#include "iadls_rev_id.h"
29+
30+
//******************* Main Wa Initializer for ADLS ********************
31+
32+
void InitAdlsHwWaTable(PWA_TABLE pWaTable, PSKU_FEATURE_TABLE pSkuTable, PWA_INIT_PARAM pWaParam)
33+
{
34+
int iStepId_ADLS = (int)pWaParam->usRevId;
35+
36+
// Components affected: compute
37+
SI_WA_ENABLE(
38+
Wa_1606932921,
39+
"No Link provided",
40+
"No HWSightingLink provided",
41+
PLATFORM_ALL,
42+
SI_WA_BETWEEN(iStepId_ADLS, ADLS_GT_REV_ID_A0, FUTURE_PROJECT));
43+
44+
// Components affected: igc
45+
SI_WA_ENABLE(
46+
Wa_1407528679,
47+
"No Link provided",
48+
"No HWSightingLink provided",
49+
PLATFORM_ALL,
50+
SI_WA_BETWEEN(iStepId_ADLS, ADLS_GT_REV_ID_A0, FUTURE_PROJECT));
51+
52+
// Components affected: igc
53+
SI_WA_ENABLE(
54+
Wa_14010017096,
55+
"No Link provided",
56+
"No HWSightingLink provided",
57+
PLATFORM_ALL,
58+
SI_WA_BETWEEN(iStepId_ADLS, ADLS_GT_REV_ID_A0, FUTURE_PROJECT));
59+
60+
// Components affected: igc
61+
SI_WA_ENABLE(
62+
Wa_1607610283,
63+
"No Link provided",
64+
"No HWSightingLink provided",
65+
PLATFORM_ALL,
66+
SI_WA_BETWEEN(iStepId_ADLS, ADLS_GT_REV_ID_A0, FUTURE_PROJECT));
67+
68+
// Components affected: igc
69+
SI_WA_ENABLE(
70+
Wa_1808850743,
71+
"No Link provided",
72+
"No HWSightingLink provided",
73+
PLATFORM_ALL,
74+
SI_WA_BETWEEN(iStepId_ADLS, ADLS_GT_REV_ID_A0, FUTURE_PROJECT));
75+
76+
// Components affected: igc
77+
SI_WA_ENABLE(
78+
Wa_14010595310,
79+
"No Link provided",
80+
"No HWSightingLink provided",
81+
PLATFORM_ALL,
82+
SI_WA_BETWEEN(iStepId_ADLS, ADLS_GT_REV_ID_A0, ADLS_GT_REV_ID_B0));
83+
84+
// Components affected: igc
85+
SI_WA_ENABLE(
86+
Wa_1807084924,
87+
"No Link provided",
88+
"No HWSightingLink provided",
89+
PLATFORM_ALL,
90+
SI_WA_BETWEEN(iStepId_ADLS, ADLS_GT_REV_ID_A0, FUTURE_PROJECT));
91+
92+
// Components affected: igc
93+
SI_WA_ENABLE(
94+
Wa_1604402567,
95+
"No Link provided",
96+
"No HWSightingLink provided",
97+
PLATFORM_ALL,
98+
SI_WA_BETWEEN(iStepId_ADLS, ADLS_GT_REV_ID_A0, FUTURE_PROJECT));
99+
100+
// Components affected: igc
101+
SI_WA_ENABLE(
102+
Wa_220856683,
103+
"No Link provided",
104+
"No HWSightingLink provided",
105+
PLATFORM_ALL,
106+
SI_WA_BETWEEN(iStepId_ADLS, ADLS_GT_REV_ID_A0, FUTURE_PROJECT));
107+
108+
// Components affected: igc
109+
SI_WA_ENABLE(
110+
Wa_1406664125,
111+
"No Link provided",
112+
"No HWSightingLink provided",
113+
PLATFORM_ALL,
114+
SI_WA_BETWEEN(iStepId_ADLS, ADLS_GT_REV_ID_A0, FUTURE_PROJECT));
115+
116+
// Components affected: igc visa
117+
SI_WA_ENABLE(
118+
Wa_1406872168,
119+
"No Link provided",
120+
"No HWSightingLink provided",
121+
PLATFORM_ALL,
122+
SI_WA_BETWEEN(iStepId_ADLS, ADLS_GT_REV_ID_A0, FUTURE_PROJECT));
123+
124+
// Components affected: igc
125+
SI_WA_ENABLE(
126+
Wa_1607871015,
127+
"No Link provided",
128+
"No HWSightingLink provided",
129+
PLATFORM_ALL,
130+
SI_WA_BETWEEN(iStepId_ADLS, ADLS_GT_REV_ID_A0, FUTURE_PROJECT));
131+
132+
// Components affected: igc
133+
SI_WA_ENABLE(
134+
Wa_1809626530,
135+
"No Link provided",
136+
"No HWSightingLink provided",
137+
PLATFORM_ALL,
138+
SI_WA_BETWEEN(iStepId_ADLS, ADLS_GT_REV_ID_A0, FUTURE_PROJECT));
139+
140+
// Components affected: compute
141+
SI_WA_ENABLE(
142+
Wa_22010594632,
143+
"No Link provided",
144+
"No HWSightingLink provided",
145+
PLATFORM_ALL,
146+
SI_WA_BETWEEN(iStepId_ADLS, ADLS_GT_REV_ID_A0, ADLS_GT_REV_ID_C0));
147+
148+
}

skuwa/iadls_rev_id.h

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/*===================== begin_copyright_notice ==================================
2+
3+
Copyright (c) 2017 Intel Corporation
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a
6+
copy of this software and associated documentation files (the
7+
"Software"), to deal in the Software without restriction, including
8+
without limitation the rights to use, copy, modify, merge, publish,
9+
distribute, sublicense, and/or sell copies of the Software, and to
10+
permit persons to whom the Software is furnished to do so, subject to
11+
the following conditions:
12+
13+
The above copyright notice and this permission notice shall be included
14+
in all copies or substantial portions of the Software.
15+
16+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17+
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23+
24+
25+
======================= end_copyright_notice ==================================*/
26+
27+
#include "wa_def.h"
28+
29+
#define ADLS_GT_REV_ID_A0 SI_REV_ID(0,0)
30+
#define ADLS_GT_REV_ID_B0 SI_REV_ID(4,4)
31+
#define ADLS_GT_REV_ID_C0 SI_REV_ID(8,8)

0 commit comments

Comments
 (0)