drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: Trying to use reserved word 'do' as identifier
kernel test robot <[email protected]> Thu, 23 Jul 2026 11:56:54 +0800
| Newsgroups | dev.linux.lists.oe-kbuild |
|---|---|
| Message-ID | <[email protected]> |
:::::: :::::: Manual check reason: "low confidence static check warning: drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: Trying to use reserved word 'do' as identifier" :::::: BCC: [email protected] CC: [email protected] CC: [email protected] TO: Michal Wajdeczko <[email protected]> CC: Daniele Ceraolo Spurio <[email protected]> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 248951ddc14de84de3910f9b13f51491a8cd91df commit: 09af64eba63ece2d928295e61ab1d56ae264447c drm/xe/guc: Introduce GUC_FIRMWARE_VER_AT_LEAST helper date: 7 months ago :::::: branch date: 2 days ago :::::: commit date: 7 months ago config: arm64-randconfig-r113-20260723 (https://download.01.org/0day-ci/archive/20260723/[email protected]/config) compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 5c0dfced1adc55429e32b1db08570abd3a219d85) sparse: v0.6.5-rc1 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260723/[email protected]/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Fixes: 09af64eba63e ("drm/xe/guc: Introduce GUC_FIRMWARE_VER_AT_LEAST helper") | Reported-by: kernel test robot <[email protected]> | Closes: https://lore.kernel.org/r/[email protected]/ sparse warnings: (new ones prefixed by >>) drivers/gpu/drm/xe/xe_guc_ads.c:350:13: sparse: sparse: Expected ) in function call drivers/gpu/drm/xe/xe_guc_ads.c:350:13: sparse: sparse: got , drivers/gpu/drm/xe/xe_guc_ads.c:350:63: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:350:63: sparse: sparse: got ) drivers/gpu/drm/xe/xe_guc_ads.c:350:63: sparse: sparse: Expected ) in nested declarator drivers/gpu/drm/xe/xe_guc_ads.c:350:63: sparse: sparse: got && drivers/gpu/drm/xe/xe_guc_ads.c:350:63: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:350:63: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:353:13: sparse: sparse: Expected ) in function declarator drivers/gpu/drm/xe/xe_guc_ads.c:353:13: sparse: sparse: got ( drivers/gpu/drm/xe/xe_guc_ads.c:353:9: sparse: sparse: Trying to use reserved word 'if' as identifier drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: Expected ) in nested declarator drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: got { drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: Expected ) in nested declarator drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: got { drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: Expected ) in nested declarator drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: got { drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: Expected ) in function declarator drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: got & drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: Trying to use reserved word 'void' as identifier drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: got 1 drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: Expected ) in function declarator drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: got ( drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: Trying to use reserved word 'void' as identifier drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: Expected ) in nested declarator drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: got && drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:358:43: sparse: sparse: Expected ) in function declarator drivers/gpu/drm/xe/xe_guc_ads.c:358:43: sparse: sparse: got , drivers/gpu/drm/xe/xe_guc_ads.c:360:9: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:360:9: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: Expected ) in nested declarator drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: got { drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: Expected ) in nested declarator drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: got { drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: Expected ) in nested declarator drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: got { drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: Expected ) in function declarator drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: got & drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: Trying to use reserved word 'void' as identifier drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: got 1 drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: Expected ) in function declarator drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: got ( drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: Trying to use reserved word 'void' as identifier drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: Expected ) in nested declarator drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: got && drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:367:13: sparse: sparse: Expected ) in function declarator drivers/gpu/drm/xe/xe_guc_ads.c:367:13: sparse: sparse: got ! drivers/gpu/drm/xe/xe_guc_ads.c:367:9: sparse: sparse: Trying to use reserved word 'if' as identifier drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: Expected ) in nested declarator drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: got { drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: Expected ) in nested declarator drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: got { drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: Expected ) in nested declarator drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: got { drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: Expected ) in function declarator drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: got ( drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: Trying to use reserved word 'if' as identifier drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: Expected ) in function declarator drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: got ! drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: Trying to use reserved word 'if' as identifier drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: got } >> drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: Trying to use reserved word 'do' as identifier drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: Expected ; at end of declaration drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: got { drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:373:9: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: Expected ) in nested declarator drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: got { drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: Expected ) in nested declarator drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: got { drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: Expected ) in nested declarator drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: got { drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: Expected ) in function declarator drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: got ( drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: Trying to use reserved word 'if' as identifier drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: Expected ) in function declarator drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: got ! drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: Trying to use reserved word 'if' as identifier drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: Trying to use reserved word 'do' as identifier drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: Expected ; at end of declaration drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: got { drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:374:9: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: Expected ) in nested declarator drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: got { drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: Expected ) in nested declarator drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: got { drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: Expected ) in nested declarator drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: got { drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: Expected ) in function declarator drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: got ( drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: Trying to use reserved word 'if' as identifier drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: Expected ) in function declarator drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: got ! drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: Trying to use reserved word 'if' as identifier drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: Trying to use reserved word 'do' as identifier drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: Expected ; at end of declaration drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: got { drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:375:9: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:376:1: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:376:1: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:385:1: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:385:1: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:396:12: sparse: sparse: Expected ; at end of declaration drivers/gpu/drm/xe/xe_guc_ads.c:396:12: sparse: sparse: got -> drivers/gpu/drm/xe/xe_guc_ads.c:397:12: sparse: sparse: Expected ; at end of declaration drivers/gpu/drm/xe/xe_guc_ads.c:397:12: sparse: sparse: got -> drivers/gpu/drm/xe/xe_guc_ads.c:398:12: sparse: sparse: Expected ; at end of declaration drivers/gpu/drm/xe/xe_guc_ads.c:398:12: sparse: sparse: got -> drivers/gpu/drm/xe/xe_guc_ads.c:399:12: sparse: sparse: Expected ; at end of declaration drivers/gpu/drm/xe/xe_guc_ads.c:399:12: sparse: sparse: got -> drivers/gpu/drm/xe/xe_guc_ads.c:406:19: sparse: sparse: Expected ) in function declarator drivers/gpu/drm/xe/xe_guc_ads.c:406:19: sparse: sparse: got ( drivers/gpu/drm/xe/xe_guc_ads.c:406:9: sparse: sparse: Trying to use reserved word 'if' as identifier drivers/gpu/drm/xe/xe_guc_ads.c:409:12: sparse: sparse: Expected ; at end of declaration drivers/gpu/drm/xe/xe_guc_ads.c:409:12: sparse: sparse: got -> drivers/gpu/drm/xe/xe_guc_ads.c:411:9: sparse: sparse: Trying to use reserved word 'return' as identifier drivers/gpu/drm/xe/xe_guc_ads.c:411:16: sparse: sparse: Expected ; at end of declaration drivers/gpu/drm/xe/xe_guc_ads.c:411:16: sparse: sparse: got 0 drivers/gpu/drm/xe/xe_guc_ads.c:412:1: sparse: sparse: Expected ; at the end of type declaration drivers/gpu/drm/xe/xe_guc_ads.c:412:1: sparse: sparse: got } drivers/gpu/drm/xe/xe_guc_ads.c:350:13: sparse: sparse: undefined identifier '__VA_OPT__' drivers/gpu/drm/xe/xe_guc_ads.c:350:63: sparse: sparse: undefined identifier '__gt' drivers/gpu/drm/xe/xe_guc_ads.c:353:63: sparse: sparse: undefined identifier '__xe' drivers/gpu/drm/xe/xe_guc_ads.c:358:17: sparse: sparse: symbol 'guc_waklv_enable' redeclared with different type (incompatible argument 1 (different base types)): drivers/gpu/drm/xe/xe_guc_ads.c:358:17: sparse: int static [signed] [toplevel] guc_waklv_enable( ... ) drivers/gpu/drm/xe/xe_guc_ads.c:287:13: sparse: note: previously declared as: drivers/gpu/drm/xe/xe_guc_ads.c:287:13: sparse: void static [toplevel] guc_waklv_enable( ... ) drivers/gpu/drm/xe/xe_guc_ads.c:362:13: sparse: sparse: undefined identifier '__xe' vim +/do +373 drivers/gpu/drm/xe/xe_guc_ads.c c151ff5c905333 Badal Nilawar 2024-04-05 310 d6da81a4785ca6 Badal Nilawar 2024-04-05 311 static void guc_waklv_init(struct xe_guc_ads *ads) d6da81a4785ca6 Badal Nilawar 2024-04-05 312 { c151ff5c905333 Badal Nilawar 2024-04-05 313 struct xe_gt *gt = ads_to_gt(ads); d6da81a4785ca6 Badal Nilawar 2024-04-05 314 u64 addr_ggtt; d6da81a4785ca6 Badal Nilawar 2024-04-05 315 u32 offset, remain, size; d6da81a4785ca6 Badal Nilawar 2024-04-05 316 d6da81a4785ca6 Badal Nilawar 2024-04-05 317 offset = guc_ads_waklv_offset(ads); d6da81a4785ca6 Badal Nilawar 2024-04-05 318 remain = guc_ads_waklv_size(ads); d6da81a4785ca6 Badal Nilawar 2024-04-05 319 83f4151787c5dd Matt Roper 2025-12-12 320 if (XE_GT_WA(gt, 16021333562)) 7c9de25efa7677 Jonathan Cavitt 2025-07-28 321 guc_waklv_enable(ads, NULL, 0, &offset, &remain, 7c9de25efa7677 Jonathan Cavitt 2025-07-28 322 GUC_WORKAROUND_KLV_BLOCK_INTERRUPTS_WHEN_MGSR_BLOCKED); 4d5c98eb77fe51 Matt Atwood 2025-08-07 323 if (XE_GT_WA(gt, 18024947630)) 7c9de25efa7677 Jonathan Cavitt 2025-07-28 324 guc_waklv_enable(ads, NULL, 0, &offset, &remain, 7c9de25efa7677 Jonathan Cavitt 2025-07-28 325 GUC_WORKAROUND_KLV_ID_GAM_PFQ_SHADOW_TAIL_POLLING); 4d5c98eb77fe51 Matt Atwood 2025-08-07 326 if (XE_GT_WA(gt, 16022287689)) 7c9de25efa7677 Jonathan Cavitt 2025-07-28 327 guc_waklv_enable(ads, NULL, 0, &offset, &remain, 7c9de25efa7677 Jonathan Cavitt 2025-07-28 328 GUC_WORKAROUND_KLV_ID_DISABLE_MTP_DURING_ASYNC_COMPUTE); d6da81a4785ca6 Badal Nilawar 2024-04-05 329 4d5c98eb77fe51 Matt Atwood 2025-08-07 330 if (XE_GT_WA(gt, 14022866841)) 7c9de25efa7677 Jonathan Cavitt 2025-07-28 331 guc_waklv_enable(ads, NULL, 0, &offset, &remain, 7c9de25efa7677 Jonathan Cavitt 2025-07-28 332 GUC_WA_KLV_WAKE_POWER_DOMAINS_FOR_OUTBOUND_MMIO); 61ef737db9f284 Vinay Belgaumkar 2024-10-15 333 2817a1f1bfb1a2 Vinay Belgaumkar 2024-04-16 334 /* 2817a1f1bfb1a2 Vinay Belgaumkar 2024-04-16 335 * On RC6 exit, GuC will write register 0xB04 with the default value provided. As of now, 2817a1f1bfb1a2 Vinay Belgaumkar 2024-04-16 336 * the default value for this register is determined to be 0xC40. This could change in the 2817a1f1bfb1a2 Vinay Belgaumkar 2024-04-16 337 * future, so GuC depends on KMD to send it the correct value. 2817a1f1bfb1a2 Vinay Belgaumkar 2024-04-16 338 */ 4d5c98eb77fe51 Matt Atwood 2025-08-07 339 if (XE_GT_WA(gt, 13011645652)) { 7c9de25efa7677 Jonathan Cavitt 2025-07-28 340 u32 data = 0xC40; 7c9de25efa7677 Jonathan Cavitt 2025-07-28 341 19baa830fbb60d Lucas De Marchi 2025-09-12 342 guc_waklv_enable(ads, &data, 1, &offset, &remain, 7c9de25efa7677 Jonathan Cavitt 2025-07-28 343 GUC_WA_KLV_NP_RD_WRITE_TO_CLEAR_RCSM_AT_CGP_LATE_RESTORE); 7c9de25efa7677 Jonathan Cavitt 2025-07-28 344 } 2817a1f1bfb1a2 Vinay Belgaumkar 2024-04-16 345 4d5c98eb77fe51 Matt Atwood 2025-08-07 346 if (XE_GT_WA(gt, 14022293748) || XE_GT_WA(gt, 22019794406)) 7c9de25efa7677 Jonathan Cavitt 2025-07-28 347 guc_waklv_enable(ads, NULL, 0, &offset, &remain, 7c9de25efa7677 Jonathan Cavitt 2025-07-28 348 GUC_WORKAROUND_KLV_ID_BACK_TO_BACK_RCS_ENGINE_RESET); 636cdf6fbddff4 Julia Filipchuk 2024-08-05 349 09af64eba63ece Michal Wajdeczko 2025-12-16 350 if (GUC_FIRMWARE_VER_AT_LEAST(>->uc.guc, 70, 44) && XE_GT_WA(gt, 16026508708)) 7c9de25efa7677 Jonathan Cavitt 2025-07-28 351 guc_waklv_enable(ads, NULL, 0, &offset, &remain, 7c9de25efa7677 Jonathan Cavitt 2025-07-28 352 GUC_WA_KLV_RESET_BB_STACK_PTR_ON_VF_SWITCH); 09af64eba63ece Michal Wajdeczko 2025-12-16 353 if (GUC_FIRMWARE_VER_AT_LEAST(>->uc.guc, 70, 47) && XE_GT_WA(gt, 16026007364)) { 7c9de25efa7677 Jonathan Cavitt 2025-07-28 354 u32 data[] = { d72779c29d82c6 Sk Anirban 2025-07-16 355 0x0, d72779c29d82c6 Sk Anirban 2025-07-16 356 0xF, 7c9de25efa7677 Jonathan Cavitt 2025-07-28 357 }; 19baa830fbb60d Lucas De Marchi 2025-09-12 358 guc_waklv_enable(ads, data, ARRAY_SIZE(data), &offset, &remain, 7c9de25efa7677 Jonathan Cavitt 2025-07-28 359 GUC_WA_KLV_RESTORE_UNSAVED_MEDIA_CONTROL_REG); 7c9de25efa7677 Jonathan Cavitt 2025-07-28 360 } d3e8349edf7ed9 John Harrison 2025-04-03 361 29042df3acdc73 Badal Nilawar 2025-08-21 362 if (XE_GT_WA(gt, 14020001231)) 29042df3acdc73 Badal Nilawar 2025-08-21 363 guc_waklv_enable(ads, NULL, 0, &offset, &remain, 29042df3acdc73 Badal Nilawar 2025-08-21 364 GUC_WORKAROUND_KLV_DISABLE_PSMI_INTERRUPTS_AT_C6_ENTRY_RESTORE_AT_EXIT); 29042df3acdc73 Badal Nilawar 2025-08-21 365 d6da81a4785ca6 Badal Nilawar 2024-04-05 366 size = guc_ads_waklv_size(ads) - remain; d6da81a4785ca6 Badal Nilawar 2024-04-05 367 if (!size) d6da81a4785ca6 Badal Nilawar 2024-04-05 368 return; d6da81a4785ca6 Badal Nilawar 2024-04-05 369 d6da81a4785ca6 Badal Nilawar 2024-04-05 370 offset = guc_ads_waklv_offset(ads); d6da81a4785ca6 Badal Nilawar 2024-04-05 371 addr_ggtt = xe_bo_ggtt_addr(ads->bo) + offset; d6da81a4785ca6 Badal Nilawar 2024-04-05 372 d6da81a4785ca6 Badal Nilawar 2024-04-05 @373 ads_blob_write(ads, ads.wa_klv_addr_lo, lower_32_bits(addr_ggtt)); d6da81a4785ca6 Badal Nilawar 2024-04-05 374 ads_blob_write(ads, ads.wa_klv_addr_hi, upper_32_bits(addr_ggtt)); d6da81a4785ca6 Badal Nilawar 2024-04-05 375 ads_blob_write(ads, ads.wa_klv_size, size); d6da81a4785ca6 Badal Nilawar 2024-04-05 376 } d6da81a4785ca6 Badal Nilawar 2024-04-05 377 :::::: The code at line 373 was first introduced by commit :::::: d6da81a4785ca6e2f0ea9082424e725e8aad69b4 drm/xe/guc: Add support for workaround KLVs :::::: TO: Badal Nilawar <[email protected]> :::::: CC: Michal Wajdeczko <[email protected]> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki