File: ichv_wa.c

package info (click to toggle)
intel-graphics-compiler2 2.16.0-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 106,644 kB
  • sloc: cpp: 805,640; lisp: 287,672; ansic: 16,414; python: 3,952; yacc: 2,588; lex: 1,666; pascal: 313; sh: 186; makefile: 35
file content (551 lines) | stat: -rw-r--r-- 13,664 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
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
/*========================== begin_copyright_notice ============================

Copyright (C) 2013-2021 Intel Corporation

SPDX-License-Identifier: MIT

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

// This is an auto-generated file. Please do not edit!
// If changes are needed here please reach out to the codeowners, thanks.


#include "wa_def.h"

#define SIWA_ONLY_CHV_A0    SIWA_ONLY_A0
#define SIWA_UNTIL_CHV_A1   SIWA_UNTIL_A0
#define SIWA_FROM_CHV_A0    SIWA_FROM_A0
#define SIWA_AFTER_CHV_A1   SIWA_AFTER_A0

#define SIWA_ONLY_CHV_A1    SIWA_ONLY_A1
#define SIWA_UNTIL_CHV_A3   SIWA_UNTIL_A1
#define SIWA_FROM_CHV_A1    SIWA_FROM_A1
#define SIWA_AFTER_CHV_A3   SIWA_AFTER_A1

#define SIWA_ONLY_CHV_A3    SIWA_ONLY_A2
#define SIWA_UNTIL_CHV_A7   SIWA_UNTIL_A2
#define SIWA_FROM_CHV_A3    SIWA_FROM_A2
#define SIWA_AFTER_CHV_A7   SIWA_AFTER_A2

#define SIWA_ONLY_CHV_B0    SIWA_ONLY_A3
#define SIWA_UNTIL_CHV_B7   SIWA_UNTIL_A3
#define SIWA_FROM_CHV_B0    SIWA_FROM_A3
#define SIWA_AFTER_CHV_B7   SIWA_AFTER_A3

#define SIWA_ONLY_CHV_C0    SIWA_ONLY_A4
#define SIWA_UNTIL_CHV_C7   SIWA_UNTIL_A4
#define SIWA_FROM_CHV_C0    SIWA_FROM_A4
#define SIWA_AFTER_CHV_C7   SIWA_AFTER_A4

#define SIWA_ONLY_CHV_D0    SIWA_ONLY_A5
#define SIWA_UNTIL_CHV_D1   SIWA_UNTIL_A5
#define SIWA_FROM_CHV_D0    SIWA_FROM_A5
#define SIWA_AFTER_CHV_D1   SIWA_AFTER_A5

#define SIWA_ONLY_CHV_K0    SIWA_ONLY_A6
#define SIWA_UNTIL_CHV_K7   SIWA_UNTIL_A6
#define SIWA_FROM_CHV_K0    SIWA_FROM_A6
#define SIWA_AFTER_CHV_K7   SIWA_AFTER_A6


#define SIWA_ONLY_CHV_E0    SIWA_ONLY_CHV_K0
#define SIWA_UNTIL_CHV_E7   SIWA_UNTIL_CHV_K7
#define SIWA_FROM_CHV_E0    SIWA_FROM_CHV_K0
#define SIWA_AFTER_CHV_E7   SIWA_AFTER_CHV_K7


typedef enum CHV_GFX_REVISION_ID_REC {
#if(_DEBUG || _RELEASE_INTERNAL)
    CHV_HAS_A_Backward_Compatibile = 0xFF,
    CHV_HAS_A = 0xFA,
    CHV_HAS_B = 0xFB,
    CHV_HAS_C = 0xFC,
    CHV_HAS_D = 0xFD,
    CHV_HAS_K = 0xFE,
#endif
    CHV_A0_17x17_Type4 = 0x00,
    CHV_A0_25x27 = 0x01,
    CHV_A0_17x17_Type3 = 0x02,
    CHV_A0_CoPOP = 0x03,
    CHV_A1_17x17_Type4 = 0x04,
    CHV_A1_25x27 = 0x05,
    CHV_A1_17x17_Type3 = 0x06,
    CHV_A1_CoPOP = 0x07,
    CHV_A2_17x17_Type4 = 0x08,
    CHV_A2_25x27 = 0x09,
    CHV_A2_17x17_Type3 = 0x0A,
    CHV_A2_CoPOP = 0x0B,
    CHV_A3_17x17_Type4 = 0x0C,
    CHV_A3_25x27 = 0x0D,
    CHV_A3_17x17_Type3 = 0x0E,
    CHV_A3_CoPOP = 0x0F,
    CHV_A4_17x17_Type4 = 0x80,
    CHV_A4_25x27 = 0x81,
    CHV_A4_17x17_Type3 = 0x82,
    CHV_A4_CoPOP = 0x83,
    CHV_A5_17x17_Type4 = 0x84,
    CHV_A5_25x27 = 0x85,
    CHV_A5_17x17_Type3 = 0x86,
    CHV_A5_CoPOP = 0x87,
    CHV_A6_17x17_Type4 = 0x88,
    CHV_A6_25x27 = 0x89,
    CHV_A6_17x17_Type3 = 0x8A,
    CHV_A6_CoPOP = 0x8B,
    CHV_A7_17x17_Type4 = 0x8C,
    CHV_A7_25x27 = 0x8D,
    CHV_A7_17x17_Type3 = 0x8E,
    CHV_A7_CoPOP = 0x8F,
    CHV_B0_17x17_Type4 = 0x10,
    CHV_B0_25x27 = 0x11,
    CHV_B0_17x17_Type3 = 0x12,
    CHV_B0_CoPOP = 0x13,
    CHV_B1_17x17_Type4 = 0x14,
    CHV_B1_25x27 = 0x15,
    CHV_B1_17x17_Type3 = 0x16,
    CHV_B1_CoPOP = 0x17,
    CHV_B2_17x17_Type4 = 0x18,
    CHV_B2_25x27 = 0x19,
    CHV_B2_17x17_Type3 = 0x1A,
    CHV_B2_CoPOP = 0x1B,
    CHV_B3_17x17_Type4 = 0x1C,
    CHV_B3_25x27 = 0x1D,
    CHV_B3_17x17_Type3 = 0x1E,
    CHV_B3_CoPOP = 0x1F,
    CHV_B4_17x17_Type4 = 0x90,
    CHV_B4_25x27 = 0x91,
    CHV_B4_17x17_Type3 = 0x92,
    CHV_B4_CoPOP = 0x93,
    CHV_B5_17x17_Type4 = 0x94,
    CHV_B5_25x27 = 0x95,
    CHV_B5_17x17_Type3 = 0x96,
    CHV_B5_CoPOP = 0x97,
    CHV_B6_17x17_Type4 = 0x98,
    CHV_B6_25x27 = 0x99,
    CHV_B6_17x17_Type3 = 0x9A,
    CHV_B6_CoPOP = 0x9B,
    CHV_B7_17x17_Type4 = 0x9C,
    CHV_B7_25x27 = 0x9D,
    CHV_B7_17x17_Type3 = 0x9E,
    CHV_B7_CoPOP = 0x9F,
    CHV_C0_17x17_Type4 = 0x20,
    CHV_C0_25x27 = 0x21,
    CHV_C0_17x17_Type3 = 0x22,
    CHV_C0_CoPOP = 0x23,
    CHV_C1_17x17_Type4 = 0x24,
    CHV_C1_25x27 = 0x25,
    CHV_C1_17x17_Type3 = 0x26,
    CHV_C1_CoPOP = 0x27,
    CHV_C2_17x17_Type4 = 0x28,
    CHV_C2_25x27 = 0x29,
    CHV_C2_17x17_Type3 = 0x2A,
    CHV_C2_CoPOP = 0x2B,
    CHV_C3_17x17_Type4 = 0x2C,
    CHV_C3_25x27 = 0x2D,
    CHV_C3_17x17_Type3 = 0x2E,
    CHV_C3_CoPOP = 0x2F,
    CHV_C4_17x17_Type4 = 0xA0,
    CHV_C4_25x27 = 0xA1,
    CHV_C4_17x17_Type3 = 0xA2,
    CHV_C4_CoPOP = 0xA3,
    CHV_C5_17x17_Type4 = 0xA4,
    CHV_C5_25x27 = 0xA5,
    CHV_C5_17x17_Type3 = 0xA6,
    CHV_C5_CoPOP = 0xA7,
    CHV_C6_17x17_Type4 = 0xA8,
    CHV_C6_25x27 = 0xA9,
    CHV_C6_17x17_Type3 = 0xAA,
    CHV_C6_CoPOP = 0xAB,
    CHV_C7_17x17_Type4 = 0xAC,
    CHV_C7_25x27 = 0xAD,
    CHV_C7_17x17_Type3 = 0xAE,
    CHV_C7_CoPOP = 0xAF,
    CHV_D0_17x17_Type4 = 0x30,
    CHV_D0_25x27 = 0x31,
    CHV_D0_17x17_Type3 = 0x32,
    CHV_D0_CoPOP = 0x33,
    CHV_D1_17x17_Type4 = 0x34,
    CHV_D1_25x27 = 0x35,
    CHV_D1_17x17_Type3 = 0x36,
    CHV_D1_CoPOP = 0x37,
    CHV_K0_17x17_Type4 = 0x40,
    CHV_K0_25x27 = 0x41,
    CHV_K0_17x17_Type3 = 0x42,
    CHV_K0_CoPOP = 0x43,
    CHV_K1_17x17_Type4 = 0x44,
    CHV_K1_25x27 = 0x45,
    CHV_K1_17x17_Type3 = 0x46,
    CHV_K1_CoPOP = 0x47,
    CHV_K2_17x17_Type4 = 0x48,
    CHV_K2_25x27 = 0x49,
    CHV_K2_17x17_Type3 = 0x4A,
    CHV_K2_CoPOP = 0x4B,
    CHV_K3_17x17_Type4 = 0x4C,
    CHV_K3_25x27 = 0x4D,
    CHV_K3_17x17_Type3 = 0x4E,
    CHV_K3_CoPOP = 0x4F,
    CHV_K4_17x17_Type4 = 0xC0,
    CHV_K4_25x27 = 0xC1,
    CHV_K4_17x17_Type3 = 0xC2,
    CHV_K4_CoPOP = 0xC3,
    CHV_K5_17x17_Type4 = 0xC4,
    CHV_K5_25x27 = 0xC5,
    CHV_K5_17x17_Type3 = 0xC6,
    CHV_K5_CoPOP = 0xC7,
    CHV_K6_17x17_Type4 = 0xC8,
    CHV_K6_25x27 = 0xC9,
    CHV_K6_17x17_Type3 = 0xCA,
    CHV_K6_CoPOP = 0xCB,
    CHV_K7_17x17_Type4 = 0xCC,
    CHV_K7_25x27 = 0xCD,
    CHV_K7_17x17_Type3 = 0xCE,
    CHV_K7_CoPOP = 0xCF
} CHV_GFX_REVISION_ID;


unsigned short ConvertChvRevId(unsigned short usRevId)
{
    switch (usRevId)
    {

    case CHV_A0_17x17_Type4:
    case CHV_A0_25x27:
    case CHV_A0_17x17_Type3:
    case CHV_A0_CoPOP:
        return REVISION_A0;
    case CHV_A1_17x17_Type4:
    case CHV_A1_25x27:
    case CHV_A1_17x17_Type3:
    case CHV_A1_CoPOP:
        return REVISION_A1;
    case CHV_A2_17x17_Type4:
    case CHV_A2_25x27:
    case CHV_A2_17x17_Type3:
    case CHV_A2_CoPOP:
    case CHV_A3_17x17_Type4:
    case CHV_A3_25x27:
    case CHV_A3_17x17_Type3:
    case CHV_A3_CoPOP:
    case CHV_A4_17x17_Type4:
    case CHV_A4_25x27:
    case CHV_A4_17x17_Type3:
    case CHV_A4_CoPOP:
    case CHV_A5_17x17_Type4:
    case CHV_A5_25x27:
    case CHV_A5_17x17_Type3:
    case CHV_A5_CoPOP:
    case CHV_A6_17x17_Type4:
    case CHV_A6_25x27:
    case CHV_A6_17x17_Type3:
    case CHV_A6_CoPOP:
    case CHV_A7_17x17_Type4:
    case CHV_A7_25x27:
    case CHV_A7_17x17_Type3:
    case CHV_A7_CoPOP:
#if(_DEBUG || _RELEASE_INTERNAL)
    case CHV_HAS_A:
    case CHV_HAS_A_Backward_Compatibile:
#endif
        return REVISION_A3;
        break;

    case CHV_B0_17x17_Type4:
    case CHV_B0_25x27:
    case CHV_B0_17x17_Type3:
    case CHV_B0_CoPOP:
    case CHV_B1_17x17_Type4:
    case CHV_B1_25x27:
    case CHV_B1_17x17_Type3:
    case CHV_B1_CoPOP:
    case CHV_B2_17x17_Type4:
    case CHV_B2_25x27:
    case CHV_B2_17x17_Type3:
    case CHV_B2_CoPOP:
    case CHV_B3_17x17_Type4:
    case CHV_B3_25x27:
    case CHV_B3_17x17_Type3:
    case CHV_B3_CoPOP:
    case CHV_B4_17x17_Type4:
    case CHV_B4_25x27:
    case CHV_B4_17x17_Type3:
    case CHV_B4_CoPOP:
    case CHV_B5_17x17_Type4:
    case CHV_B5_25x27:
    case CHV_B5_17x17_Type3:
    case CHV_B5_CoPOP:
    case CHV_B6_17x17_Type4:
    case CHV_B6_25x27:
    case CHV_B6_17x17_Type3:
    case CHV_B6_CoPOP:
    case CHV_B7_17x17_Type4:
    case CHV_B7_25x27:
    case CHV_B7_17x17_Type3:
    case CHV_B7_CoPOP:
#if(_DEBUG || _RELEASE_INTERNAL)
    case CHV_HAS_B:
#endif
        return REVISION_B;
        break;

    case CHV_C0_17x17_Type4:
    case CHV_C0_25x27:
    case CHV_C0_17x17_Type3:
    case CHV_C0_CoPOP:
    case CHV_C1_17x17_Type4:
    case CHV_C1_25x27:
    case CHV_C1_17x17_Type3:
    case CHV_C1_CoPOP:
    case CHV_C2_17x17_Type4:
    case CHV_C2_25x27:
    case CHV_C2_17x17_Type3:
    case CHV_C2_CoPOP:
    case CHV_C3_17x17_Type4:
    case CHV_C3_25x27:
    case CHV_C3_17x17_Type3:
    case CHV_C3_CoPOP:
    case CHV_C4_17x17_Type4:
    case CHV_C4_25x27:
    case CHV_C4_17x17_Type3:
    case CHV_C4_CoPOP:
    case CHV_C5_17x17_Type4:
    case CHV_C5_25x27:
    case CHV_C5_17x17_Type3:
    case CHV_C5_CoPOP:
    case CHV_C6_17x17_Type4:
    case CHV_C6_25x27:
    case CHV_C6_17x17_Type3:
    case CHV_C6_CoPOP:
    case CHV_C7_17x17_Type4:
    case CHV_C7_25x27:
    case CHV_C7_17x17_Type3:
    case CHV_C7_CoPOP:
#if(_DEBUG || _RELEASE_INTERNAL)
    case CHV_HAS_C:
#endif
        return REVISION_C;
        break;

    case CHV_D0_17x17_Type4:
    case CHV_D0_25x27:
    case CHV_D0_17x17_Type3:
    case CHV_D0_CoPOP:
    case CHV_D1_17x17_Type4:
    case CHV_D1_25x27:
    case CHV_D1_17x17_Type3:
    case CHV_D1_CoPOP:
#if(_DEBUG || _RELEASE_INTERNAL)
    case CHV_HAS_D:
#endif
        return REVISION_D;
        break;

    case CHV_K0_17x17_Type4:
    case CHV_K0_25x27:
    case CHV_K0_17x17_Type3:
    case CHV_K0_CoPOP:
    case CHV_K1_17x17_Type4:
    case CHV_K1_25x27:
    case CHV_K1_17x17_Type3:
    case CHV_K1_CoPOP:
    case CHV_K2_17x17_Type4:
    case CHV_K2_25x27:
    case CHV_K2_17x17_Type3:
    case CHV_K2_CoPOP:
    case CHV_K3_17x17_Type4:
    case CHV_K3_25x27:
    case CHV_K3_17x17_Type3:
    case CHV_K3_CoPOP:
    case CHV_K4_17x17_Type4:
    case CHV_K4_25x27:
    case CHV_K4_17x17_Type3:
    case CHV_K4_CoPOP:
    case CHV_K5_17x17_Type4:
    case CHV_K5_25x27:
    case CHV_K5_17x17_Type3:
    case CHV_K5_CoPOP:
    case CHV_K6_17x17_Type4:
    case CHV_K6_25x27:
    case CHV_K6_17x17_Type3:
    case CHV_K6_CoPOP:
    case CHV_K7_17x17_Type4:
    case CHV_K7_25x27:
    case CHV_K7_17x17_Type3:
    case CHV_K7_CoPOP:
#if(_DEBUG || _RELEASE_INTERNAL)
    case CHV_HAS_K:
#endif
        return REVISION_K;
        break;
    default:

        break;
    }
    return usRevId;
}


void InitChvWaTable(PWA_TABLE pWaTable, PSKU_FEATURE_TABLE pSkuTable, PWA_INIT_PARAM pWaParam)
{
    unsigned int ulStepId_CHV, ulStepId_PCH;
#ifdef __KCH
    KCHASSERT(NULL != pWaParam);
#endif
    ulStepId_CHV = (unsigned int)(1 << ConvertChvRevId(pWaParam->usRevId));
    ulStepId_PCH = (unsigned int)(1 << ConvertChvRevId(pWaParam->usRevId_PCH));


    if (pSkuTable->FtrGT3 || pSkuTable->FtrGT4) {

    }


    WA_ENABLE_NO_PLATFORM_CHECK(
        ulStepId_CHV,
        WaMipiDPOUnitClkGateEnable,
        "No HWBugLink provided",
        "No HWSightingLink provided",
        PLATFORM_ALL,
        SIWA_FOREVER);


    WA_ENABLE(
        ulStepId_CHV,
        WaOCLEnableFMaxFMinPlusZero,
        "No Link Provided",
        "No HWSightingLink provided",
        PLATFORM_ALL,
        SIWA_FOREVER);


    WA_ENABLE(
        ulStepId_CHV,
        WaThreadSwitchAfterCall,
        "No Link Provided",
        "No HWSightingLink provided",
        PLATFORM_ALL,
        SIWA_FOREVER);


#define  SI_WA_VALUE SI_WA_NEVER

    WA_ENABLE(
        ulStepId_CHV,
        WaDisableIndirectDataForIndirectDispatch,
        "No Link Provided",
        "No HWSightingLink provided",
        PLATFORM_ALL,
        SI_WA_VALUE
    );

#undef SI_WA_VALUE


#if(LHDM)

#endif


    WA_ENABLE(
        ulStepId_CHV,
        WaClearArfDependenciesBeforeEot,
        "No Link Provided",
        "No HWSightingLink provided",
        PLATFORM_ALL,
        SIWA_FOREVER);


    WA_ENABLE(
        ulStepId_CHV,
        WaForceMinMaxGSThreadCount,
        "No Link Provided",
        "No HWSightingLink provided",
        PLATFORM_ALL,
        SIWA_FOREVER);


    WA_ENABLE(
        ulStepId_CHV,
        WaDstSubRegNumNotAllowedWithLowPrecPacked,
        "No Link Provided",
        "No HWSightingLink provided",
        PLATFORM_ALL,
        SIWA_UNTIL_CHV_A7);


    WA_ENABLE(
        ulStepId_CHV,
        WaDisableEuBypassOnSimd16Float32,
        "No Link Provided",
        "No HWSightingLink provided",
        PLATFORM_ALL,
        SIWA_UNTIL_CHV_B7);

    WA_ENABLE(
        ulStepId_CHV,
        WaDisableMixedModeLog,
        "No Link Provided",
        "No HWSightingLink provided",
        PLATFORM_ALL,
        SIWA_UNTIL_CHV_A7);

    WA_ENABLE(
        ulStepId_CHV,
        WaDisableMixedModeFdiv,
        "No Link Provided",
        "No HWSightingLink provided",
        PLATFORM_ALL,
        SIWA_UNTIL_CHV_A7);

    WA_ENABLE(
        ulStepId_CHV,
        WaDisableMixedModePow,
        "No Link Provided",
        "No HWSightingLink provided",
        PLATFORM_ALL,
        SIWA_UNTIL_CHV_A7);

    WA_ENABLE(
        ulStepId_CHV,
        WaFloatMixedModeSelNotAllowedWithPackedDestination,
        "No Link Provided",
        "No HWSightingLink provided",
        PLATFORM_ALL,
        SIWA_FOREVER);


    if (pSkuTable->FtrGpGpuMidThreadLevelPreempt)
    {

    }


    WA_ENABLE(
        ulStepId_CHV,
        WaMixModeSelInstDstNotPacked,
        "No Link Provided",
        "No Link Provided",
        PLATFORM_ALL,
        SIWA_FOREVER);


}

#ifdef __KCH
void InitChvHASWaTable(PHW_DEVICE_EXTENSION pKchContext, PWA_TABLE pWaTable, PSKU_FEATURE_TABLE pSkuTable, PWA_INIT_PARAM pWaParam)
{
    unsigned int ulStepId_CHV, ulStepId_PCH;
    unsigned int ulRegdata = 0;

    ulStepId_CHV = (1 << ConvertChvRevId(pWaParam->usRevId));
    ulStepId_PCH = (1 << ConvertChvRevId(pWaParam->usRevId_PCH));


}

void InitChvSLEWaTable(PHW_DEVICE_EXTENSION pKchContext, PWA_TABLE pWaTable, PSKU_FEATURE_TABLE pSkuTable, PWA_INIT_PARAM pWaParam)
{


}


#endif