File: sku_wa.h

package info (click to toggle)
intel-graphics-compiler 1.0.12504.6-1%2Bdeb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 83,912 kB
  • sloc: cpp: 910,147; lisp: 202,655; ansic: 15,197; python: 4,025; yacc: 2,241; lex: 1,570; pascal: 244; sh: 104; makefile: 25
file content (431 lines) | stat: -rw-r--r-- 14,621 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
/*========================== begin_copyright_notice ============================

Copyright (C) 2019-2021 Intel Corporation

SPDX-License-Identifier: MIT

============================= end_copyright_notice ===========================*/

#ifndef __SKU_WA_H__
#define __SKU_WA_H__

#if (_DEBUG || _RELEASE_INTERNAL)
#define GLOBAL_WAFTR_ENABLED 1
#endif

#ifdef _USC_

#include "usc.h"
#define SKU_FEATURE_TABLE  SUscSkuFeatureTable
#define PSKU_FEATURE_TABLE SUscSkuFeatureTable*

#else
#include "Driver_Model.h"

#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wpedantic"
#elif defined(__GNUC__)
#pragma GCC diagnostic push
#if __GNUC__ >= 6
#pragma GCC diagnostic ignored "-Wpedantic"
#else
#pragma GCC diagnostic ignored "-pedantic"
#endif
#endif

typedef struct _SKU_FEATURE_TABLE
{

    struct
    {
        unsigned int   FtrDesktop : 1;
        unsigned int   FtrMultiFunc : 1;
        unsigned int   FtrGttBar : 1;
        unsigned int   FtrGmadrBar : 1;
        unsigned int   FtrMmioBar : 1;
        unsigned int   FtrDioBar : 1;
        unsigned int   FtrPrimaryVga : 1;
        unsigned int   FtrBandwidthLimit : 1;
        unsigned int   FtrCoreClkLimit : 1;
        unsigned int   Ftr36BitPhysAddress : 1;
        unsigned int   FtrVTdEnabled : 1;
        unsigned int   FtrPgtblEnableSupported : 1;
        unsigned int   FtrVERing : 1;
        unsigned int   FtrBlitterRing : 1;
        unsigned int   FtrMFXRing : 1;
        unsigned int   FtrVcs2 : 1;
        unsigned int   Ftr3dRing : 1;
        unsigned int   FtrPics : 1;
        unsigned int   FtrGtBigDie : 1;
        unsigned int   FtrGtMediumDie : 1;
        unsigned int   FtrGtSmallDie : 1;
        unsigned int   FtrGT1 : 1;
        unsigned int   FtrNativeGT1 : 1;
        unsigned int   FtrGT1_5 : 1;
        unsigned int   FtrGT1_75 : 1;
        unsigned int   FtrGT1_6 : 1;
        unsigned int   FtrGT2 : 1;
        unsigned int   FtrNativeGT2 : 1;
        unsigned int   FtrGT2_5 : 1;
        unsigned int   FtrGT3 : 1;
        unsigned int   FtrNativeGT3 : 1;
        unsigned int   FtrGT4 : 1;
        unsigned int   FtrPureGT1 : 1;
        unsigned int   FtrGTEuRowSelectLower : 1;
        unsigned int   FtrGTEuRowSelectUpper : 1;
        unsigned int   FtrGT4plus2 : 1;
        unsigned int   FtrGT4plus1 : 1;
        unsigned int   FtrGT2plus2 : 1;
        unsigned int   FtrGT2plus1 : 1;
        unsigned int   FtrEmbeddedPlatformEnabled : 1;
        unsigned int   FtrULT : 1;
        unsigned int   FtrIVBK0Platform : 1;
        unsigned int   FtrIVBM0M1Platform : 1;
        unsigned int   FtrIVBL0Platform : 1;
        unsigned int   FtrIVBL1Platform : 1;
        unsigned int   FtrIVBN0Platform : 1;
        unsigned int   FtrIVBE0E1Platform : 1;
        unsigned int   FtrIVBE2Platform : 1;
        unsigned int   FtrInternalSSC : 1;
        unsigned int   FtrUseMuxedSSCAsRef : 1;
        unsigned int   FtrChannelSwizzlingXOREnabled : 1;
        unsigned int   FtrULX : 1;
        unsigned int   FtrPipeCDisabled : 1;
        unsigned int   FtrPipeDDisabled : 1;
        unsigned int   FtrNumOfPipes : 3;
        unsigned int   FtrGTA : 1;
        unsigned int   FtrGTC : 1;
        unsigned int   FtrGTX : 1;
        unsigned int   Ftr5Slice : 1;
        unsigned int   FtrLLCMLCNotSupported : 1;
        unsigned int   FtrGfxClientSubmission : 1;
        unsigned int   FtrLCIA : 1;
        unsigned int   FtrPinning : 1;
        unsigned int   FtrHalo : 1;
        unsigned int   FtrDt : 1;
        unsigned int   FtrResourceStreamer : 1;
        unsigned int   FtrShaderDoubleSupportDisabled : 1;
        unsigned int   FtrHwSemaphore : 1;
        unsigned int   FtrCCSRing : 1;
        unsigned int   FtrSuperSku : 1;
    };
        struct
    {
        unsigned int   FtrPooledEuEnabled : 1;
    };

    struct
    {
        unsigned int   FtrMultiPipe : 1;
        unsigned int   Ftr3Pipes : 1;
        unsigned int   FtrInternalLvds : 1;
        unsigned int   FtrCrtOnPipeB : 1;
        unsigned int   FtrSerialDvo : 1;
        unsigned int   FtrSDVOHDMI : 1;
        unsigned int   FtrDualView : 1;
        unsigned int   FtrWirelessDisplayNndi : 1;
        unsigned int   FtreDPonPortD : 1;
        unsigned int   FtreDPonPortC : 1;
        unsigned int   FtreDPonPortB : 1;
        unsigned int   FtrWirelessDisplay_2_1 : 1;
        unsigned int   FtrDisplayDisabled : 1;
        unsigned int   FtrSGTPVSKUStrapPresent : 1;
        unsigned int   FtrS0ixSKU : 1;
        unsigned int   FtrS0ixSRByGunit : 1;
        unsigned int   FtrGfxS0ixCapable : 1;
        unsigned int   FtrConnectedStandby : 1;
        unsigned int   FtrSKU4KDisplay : 1;
        unsigned int   FtrSupportModesGreaterThan3840Horizontal : 1;
        unsigned int   FtrCollageSupport : 1;
        unsigned int   FtrLPEAudio : 1;
        unsigned int   FtrHDMIPixelMax225Mhz : 1;
        unsigned int   FtrDPMaxRes25x16_60 : 1;
        unsigned int   FtrCRTNotSupported : 1;
        unsigned int   FtrMipi : 1;
        unsigned int   FtrCommandModeMIPI  :   1;
        unsigned int   FtrAllowDC9WithMIPIDSR : 1;
        unsigned int   FtrDualMipi : 1;
        unsigned int   FtrSF1_0 : 1;
        unsigned int   FtrMPOSupport : 1;
        unsigned int   FtrDisableMPOMultiDisplayConfig : 1;
        unsigned int   FtrFractional48Hz : 1;
        unsigned int   FtrCHVBxSku : 1;
        unsigned int   FtrSplitScreenMPO : 1;
        unsigned int   FtrInvertRotation : 1;
        unsigned int   FtrPortraitLFP : 1;
        unsigned int   FtrGunitOffset : 1;
        unsigned int   FtrHWScalingNotSupported : 1;
        unsigned int   FtrDynamicCDClkOnlyForSDInternal : 1;
        unsigned int   FtrDDI4 : 1;
        unsigned int   FtrEnableUnderRun : 1;
        unsigned int   FtrEnable10bitRGBMPO : 1;
        unsigned int   FtrSAGVNotifyPCode : 1;
        unsigned int   FtrCoG : 1;
        unsigned int   FtreDPVDSC : 1;
        unsigned int   FtrPeriodicFrameNotification : 1;
        unsigned int   FtrDPVDSC : 1;
    };

    struct
    {
        unsigned int   FtrCapGttMapAddr : 1;

        unsigned int   FtrOverlay : 1;
        unsigned int   FtrOverlayMmioFlip : 1;
        unsigned int   FtrFullOverlayDownscale : 1;
        unsigned int   FtrFixedGfxMem64MbMax : 1;
        unsigned int   FtrTotalGfxMem256MbMax : 1;
        unsigned int   FtrAsyncMMIOFlipSupport : 1;


        unsigned int   FtrMediaReset : 1;
        unsigned int   FtrParallelEngine : 1;

        unsigned int   FtrEnableCloneOverlay : 1;
        unsigned int   FtrEnableCollageOverlay : 1;

        unsigned int   FtrGpGpuMidBatchPreempt                     :   1;
        unsigned int   FtrGpGpuThreadGroupLevelPreempt             :   1;
        unsigned int   FtrGpGpuMidThreadLevelPreempt               :   1;
        unsigned int   Ftr3dMidBatchPreempt                        :   1;
        unsigned int   Ftr3dObjectLevelPreempt                     :   1;
        unsigned int   FtrMediaMidBatchPreempt                     :   1;
        unsigned int   FtrMediaThreadGroupLevelPreempt             :   1;
        unsigned int   FtrMediaMidThreadLevelPreempt               :   1;
        unsigned int   FtrPerCtxtPreemptionGranularityControl      :   1;
        unsigned int   FtrDisableWDDMPreempt                       :   1;

        unsigned int   FtrBigPage                       : 1;
        unsigned int   FtrPPGTT                         : 1;
        unsigned int   FtrIA32eGfxPTEs                  : 1;
        unsigned int   FtrPml4Support                   : 1;
        unsigned int   FtrPml3OnHwPml4Support           : 1;
        unsigned int   FtrSVM                           : 1;
        unsigned int   FtrTileMappedResource            : 1;
        unsigned int   FtrTranslationTable              : 1;
        unsigned int   FtrUserModeTranslationTable      : 1;
        unsigned int   FtrNullPages                     : 1;
        unsigned int   FtrL3IACoherency                 : 1;
        unsigned int   FtrMIUpdateGTTCanUpdatePPGTT     : 1;
        unsigned int   FtrReportCombinedDVMSSVM         : 1;
        unsigned int   FtrRemoteFx                      : 1;
        unsigned int   FtrDriverManagedL3ParityErrors   : 1;
        unsigned int   FtrL3HangOnParityError           : 1;
        unsigned int   FtrEDram                         : 1;
        unsigned int   FtrLLCBypass                     : 1;
        unsigned int   FtrCrystalwell                   : 1;
        unsigned int   FtrCentralCachePolicy            : 1;
        unsigned int   FtrIoMmu                         : 1;
        unsigned int   FtrDriverControlledIoMmu         : 1;
        unsigned int   FtrIoMmuPageFaulting             : 1;
        unsigned int   FtrDmaBufferMemSpaceSplitting    : 1;
        unsigned int   FtrSecurePPGTTUpdate             : 1;
        unsigned int   FtrPigms                         : 1;
        unsigned int   FtrWddm2GpuMmu                   : 1;
        unsigned int   FtrWddm2Svm                      : 1;
        unsigned int   FtrStandardMipTailFormat         : 1;
        unsigned int   FtrDisplayColorEnhancement       : 1;
        unsigned int   FtrWddm2_1_64kbPages             : 1;
        unsigned int   FtrGttCacheInvalidation          : 1;
        unsigned int   FtrMemorySeg                     : 1;
        unsigned int   FtrCacheCoherentMemSeg           : 1;
        unsigned int   FtrDynamicDisplayAliasing        : 1;
        unsigned int   FtrLinearCCS                     : 1;

        unsigned int   FtrKMDTestSupportFromRegKey : 1;
        unsigned int   FtrKmdDaf : 1;
        unsigned int   FtrDisableOverlayRotation : 1;
        unsigned int   FtrUnmapPagingReservedGTTSeg : 1;
        unsigned int   FtrKmdNotifyUmd : 1;
        unsigned int   FtrDeferredWaitForEventOnAsyncFlip : 1;
        unsigned int   FtrPerfModeSdiWrite : 1;
        unsigned int   FtrUse3DEngineforLateralBlts : 1;
        unsigned int   FtrPreemptTestMode : 1;
        unsigned int   FtrGuCWriteCombineEnable : 1;
        unsigned int   FtrGuCInternalMsgChannelEnable : 1;

        unsigned int   FtrSubSliceIzHashing : 1;
        unsigned int   FtrFrameBufferLLC : 1;
        unsigned int   FtrGpuMmuPageFault : 1;
        unsigned int   FtrOSManagedAllocations  : 1;
        unsigned int   FtrCsResponseEventOptimization : 1;
        unsigned int   FtrRuntimeLogBuffer            : 1;
        unsigned int   FtrLocalMemory                 : 1;

    };

    struct
    {
        unsigned int   FtrHwBin : 1;
        unsigned int   Ftr8BitPalette : 1;
        unsigned int   FtrPixelShader : 1;
        unsigned int   FtrPixelShader30 : 1;
        unsigned int   FtrBWGConsumerTextures : 1;
        unsigned int   FtrMultiRenderTarget : 1;
        unsigned int   FtrHWTnL : 1;
        unsigned int   FtrOcclusionQuery : 1;
        unsigned int   FtrOcclusionQueryOGL : 1;
        unsigned int   FtrAutoGenMipMap : 1;
        unsigned int   FtrWorkstation : 1;
        unsigned int   FtrEtcFormats : 1;
        unsigned int   FtrAstcLdr2D : 1;
        unsigned int   FtrAstcHdr2D : 1;
        unsigned int   FtrAstc3D : 1;
        unsigned int   FtrUmdThreadingShim : 1;
        unsigned int   FtrBoundingBoxOptOGL : 1;
        unsigned int   FtrResourceStreamerEnabled : 1;
        unsigned int   FtrHiZSamplerDisabled : 1;
    };



    struct
    {
        unsigned int FtrWin7 : 1;
        unsigned int FtrWin8 : 1;
        unsigned int FtrWddm1_3 : 1;
        unsigned int FtrWddm2_0 : 1;
        unsigned int FtrWddm2_1 : 1;
        unsigned int FtrWddm2_2 : 1;
        unsigned int FtrWddm2_3 : 1;
        unsigned int FtrWddm2_4 : 1;
        unsigned int FtrWddm2_5 : 1;
    };

    struct
    {
        unsigned int    FtrKmSecurityParser : 1;
    };

    struct
    {
        unsigned int    FtrOsManagedHwContext : 1;
    };

    struct
    {
        unsigned int    FtrVgt : 1;
    };

    struct
    {
        unsigned int    FtrOGLTexelOffsetPrecisionFix : 1;
    };

    struct
    {
        unsigned int    FtrEnableMissingAlpaFormatFilter             : 1;
        unsigned int    FtrEnablePlanarYUVFilteringFix               : 1;
    };


    struct
    {
        unsigned int FtrGtPsmi : 1;

    };

} SKU_FEATURE_TABLE, *PSKU_FEATURE_TABLE;

#if defined(__clang__)
#pragma clang diagnostic pop
#elif defined(__GNUC__)
#pragma GCC diagnostic pop
#endif

#endif




enum WA_BUG_TYPE
{
    WA_BUG_TYPE_UNKNOWN = 0,
    WA_BUG_TYPE_CORRUPTION = 1,
    WA_BUG_TYPE_HANG = 2,
    WA_BUG_TYPE_PERF = 4,
    WA_BUG_TYPE_FUNCTIONAL = 8,
    WA_BUG_TYPE_SPEC = 16,
    WA_BUG_TYPE_FAIL = 32
};

#define WA_BUG_PERF_IMPACT(f) f
#define WA_BUG_PERF_IMPACT_UNKNOWN -1

enum WA_COMPONENT
{
    WA_COMPONENT_UNKNOWN = 0,
    WA_COMPONENT_KMD = 0x1,
    WA_COMPONENT_MINIPORT = 0x2,
    WA_COMPONENT_GMM = 0x4,
    WA_COMPONENT_D3D = 0x8,
    WA_COMPONENT_OGL = 0x10,
    WA_COMPONENT_SOFTBIOS = 0x20,
    WA_COMPONENT_PWRCONS = 0x40,
    WA_COMPONENT_MEDIA = 0x80,
    WA_COMPONENT_OCL = 0x100,
};


typedef struct _WA_TABLE
{

#define WA_DECLARE( wa, wa_comment, wa_bugType, wa_impact, wa_component) unsigned int wa : 1;
#include "sku_wa_defs.h"
#undef WA_DECLARE

} WA_TABLE, *PWA_TABLE;

#ifdef _USC_
/*****************************************************************************\

STRUCT:
    HW_STATUS

Description:
    holds WA info for compiler

\*****************************************************************************/
struct HW_STATUS
{
    SKU_FEATURE_TABLE   SkuTable;
    WA_TABLE            WaTable;

    SKU_FEATURE_TABLE*  pSkuTable;
    WA_TABLE*           pWaTable;
};
#endif



#if (defined(__MINIPORT) || defined(__KCH) || defined(__SOFTBIOS) || defined(__GRM) || defined(__PWRCONS))
#if LHDM || LINUX
#define GFX_IS_SKU(s, f) ((s)->SkuTable.f)
#define GFX_IS_WA(s, w)  ((s)->WaTable.w)
#define GFX_WRITE_WA(x, y, z) ((x)->WaTable.y = z)


#define GFX_WRITE_SKU(x, y, z) ((x)->SkuTable.y = z)
#else
#define GFX_IS_SKU(h, f) (((PHW_DEVICE_EXTENSION)(h))->pHWStatusPage->pSkuTable->f)
#define GFX_IS_WA(h, w) (((PHW_DEVICE_EXTENSION)(h))->pHWStatusPage->pWaTable->w)
#define GFX_WRITE_WA(x, y, z) (((HW_DEVICE_EXTENSION *)(x))->pHWStatusPage->pWaTable->y = z)


#define GFX_WRITE_SKU(x, y, z) (((HW_DEVICE_EXTENSION *)(x))->pHWStatusPage->pSkuTable->y = z)
#endif
#else
#if XPDM
#define GFX_IS_SKU(s, f) ((s)->pSkuTable->f)
#define GFX_IS_WA(s, w)  ((s)->pWaTable->w)
#else
#define GFX_IS_SKU(s, f) ((s)->SkuTable.f)
#define GFX_IS_WA(s, w)  ((s)->WaTable.w)
#endif
#endif
#define GRAPHICS_IS_SKU(s, f) ((s)->f)
#define GRAPHICS_IS_WA(s, w)  ((s)->w)

#endif