From: "Teres Alexis, Alan Previn" <alan.previn.teres.alexis@intel.com>
To: kernel test robot <lkp@intel.com>, <intel-gfx@lists.freedesktop.org>
Cc: <llvm@lists.linux.dev>, <kbuild-all@lists.01.org>
Subject: Re: [Intel-gfx] [PATCH v9 13/13] drm/i915/guc: Print the GuC error capture output register list.
Date: Tue, 15 Mar 2022 18:04:40 -0700 [thread overview]
Message-ID: <b2dd9821-d016-872c-6f23-cb71f99227ec@intel.com> (raw)
In-Reply-To: <202203151007.mYugtWwO-lkp@intel.com>
This is an actual bug I missed - will fix this - would cause a
compilation error when enabling "CONFIG_DRM_I915_DEBUG_GUC"
On 3/14/2022 7:26 PM, kernel test robot wrote:
> Hi Alan,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on drm-tip/drm-tip]
> [cannot apply to drm-intel/for-linux-next drm-exynos/exynos-drm-next drm/drm-next tegra-drm/drm/tegra/for-next v5.17-rc8 next-20220310]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch]
>
> url: https://github.com/0day-ci/linux/commits/Alan-Previn/Add-GuC-Error-Capture-Support/20220315-010958
> base: git://anongit.freedesktop.org/drm/drm-tip drm-tip
> config: i386-allyesconfig (https://download.01.org/0day-ci/archive/20220315/202203151007.mYugtWwO-lkp@intel.com/config)
> compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 3e4950d7fa78ac83f33bbf1658e2f49a73719236)
> reproduce (this is a W=1 build):
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # https://github.com/0day-ci/linux/commit/90c08c10562cba1ebf8b31788e7a9550c7637838
> git remote add linux-review https://github.com/0day-ci/linux
> git fetch --no-tags linux-review Alan-Previn/Add-GuC-Error-Capture-Support/20220315-010958
> git checkout 90c08c10562cba1ebf8b31788e7a9550c7637838
> # save the config file to linux build tree
> mkdir build_dir
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
>>> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1497:2: error: no member named 'drm' in 'struct drm_i915_error_state_buf'
> __out(ebuf, "global --- GuC Error Capture on %s command stream:\n",
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1442:19: note: expanded from macro '__out'
> drm_warn((&(a)->drm), __VA_ARGS__); \
> ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:435:16: note: expanded from macro 'drm_warn'
> __drm_printk((drm), warn,, fmt, ##__VA_ARGS__)
> ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:425:21: note: expanded from macro '__drm_printk'
> dev_##level##type((drm)->dev, "[drm] " fmt, ##__VA_ARGS__)
> ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/dev_printk.h:146:49: note: expanded from macro 'dev_warn'
> dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/dev_printk.h:110:11: note: expanded from macro 'dev_printk_index_wrap'
> _p_func(dev, fmt, ##__VA_ARGS__); \
> ^~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1502:3: error: no member named 'drm' in 'struct drm_i915_error_state_buf'
> __out(ebuf, " No matching ee-node\n");
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1442:19: note: expanded from macro '__out'
> drm_warn((&(a)->drm), __VA_ARGS__); \
> ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:435:16: note: expanded from macro 'drm_warn'
> __drm_printk((drm), warn,, fmt, ##__VA_ARGS__)
> ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:425:21: note: expanded from macro '__drm_printk'
> dev_##level##type((drm)->dev, "[drm] " fmt, ##__VA_ARGS__)
> ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/dev_printk.h:146:49: note: expanded from macro 'dev_warn'
> dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/dev_printk.h:110:11: note: expanded from macro 'dev_printk_index_wrap'
> _p_func(dev, fmt, ##__VA_ARGS__); \
> ^~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1506:2: error: no member named 'drm' in 'struct drm_i915_error_state_buf'
> __out(ebuf, "Coverage: %s\n", grptype[node->is_partial]);
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1442:19: note: expanded from macro '__out'
> drm_warn((&(a)->drm), __VA_ARGS__); \
> ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:435:16: note: expanded from macro 'drm_warn'
> __drm_printk((drm), warn,, fmt, ##__VA_ARGS__)
> ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:425:21: note: expanded from macro '__drm_printk'
> dev_##level##type((drm)->dev, "[drm] " fmt, ##__VA_ARGS__)
> ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/dev_printk.h:146:49: note: expanded from macro 'dev_warn'
> dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/dev_printk.h:110:11: note: expanded from macro 'dev_printk_index_wrap'
> _p_func(dev, fmt, ##__VA_ARGS__); \
> ^~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1509:3: error: no member named 'drm' in 'struct drm_i915_error_state_buf'
> __out(ebuf, " RegListType: %s\n",
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1442:19: note: expanded from macro '__out'
> drm_warn((&(a)->drm), __VA_ARGS__); \
> ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:435:16: note: expanded from macro 'drm_warn'
> __drm_printk((drm), warn,, fmt, ##__VA_ARGS__)
> ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:425:21: note: expanded from macro '__drm_printk'
> dev_##level##type((drm)->dev, "[drm] " fmt, ##__VA_ARGS__)
> ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/dev_printk.h:146:49: note: expanded from macro 'dev_warn'
> dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/dev_printk.h:110:11: note: expanded from macro 'dev_printk_index_wrap'
> _p_func(dev, fmt, ##__VA_ARGS__); \
> ^~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1511:3: error: no member named 'drm' in 'struct drm_i915_error_state_buf'
> __out(ebuf, " Owner-Id: %d\n", node->reginfo[i].vfid);
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1442:19: note: expanded from macro '__out'
> drm_warn((&(a)->drm), __VA_ARGS__); \
> ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:435:16: note: expanded from macro 'drm_warn'
> __drm_printk((drm), warn,, fmt, ##__VA_ARGS__)
> ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:425:21: note: expanded from macro '__drm_printk'
> dev_##level##type((drm)->dev, "[drm] " fmt, ##__VA_ARGS__)
> ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/dev_printk.h:146:49: note: expanded from macro 'dev_warn'
> dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/dev_printk.h:110:11: note: expanded from macro 'dev_printk_index_wrap'
> _p_func(dev, fmt, ##__VA_ARGS__); \
> ^~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1518:4: error: no member named 'drm' in 'struct drm_i915_error_state_buf'
> __out(ebuf, " GuC-Eng-Class: %d\n", node->eng_class);
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1442:19: note: expanded from macro '__out'
> drm_warn((&(a)->drm), __VA_ARGS__); \
> ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:435:16: note: expanded from macro 'drm_warn'
> __drm_printk((drm), warn,, fmt, ##__VA_ARGS__)
> ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:425:21: note: expanded from macro '__drm_printk'
> dev_##level##type((drm)->dev, "[drm] " fmt, ##__VA_ARGS__)
>
>
> vim +1497 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
>
> 1449
> 1450 #define GCAP_PRINT_INTEL_ENG_INFO(ebuf, eng) \
> 1451 do { \
> 1452 __out(ebuf, " i915-Eng-Name: %s command stream\n", \
> 1453 (eng)->name); \
> 1454 __out(ebuf, " i915-Eng-Inst-Class: 0x%02x\n", (eng)->class); \
> 1455 __out(ebuf, " i915-Eng-Inst-Id: 0x%02x\n", (eng)->instance); \
> 1456 __out(ebuf, " i915-Eng-LogicalMask: 0x%08x\n", \
> 1457 (eng)->logical_mask); \
> 1458 } while (0)
> 1459
> 1460 #define GCAP_PRINT_GUC_INST_INFO(ebuf, node) \
> 1461 do { \
> 1462 __out(ebuf, " GuC-Engine-Inst-Id: 0x%08x\n", \
> 1463 (node)->eng_inst); \
> 1464 __out(ebuf, " GuC-Context-Id: 0x%08x\n", (node)->guc_id); \
> 1465 __out(ebuf, " LRCA: 0x%08x\n", (node)->lrca); \
> 1466 } while (0)
> 1467
> 1468 int intel_guc_capture_print_engine_node(struct drm_i915_error_state_buf *ebuf,
> 1469 const struct intel_engine_coredump *ee)
> 1470 {
> 1471 const char *grptype[GUC_STATE_CAPTURE_GROUP_TYPE_MAX] = {
> 1472 "full-capture",
> 1473 "partial-capture"
> 1474 };
> 1475 const char *datatype[GUC_CAPTURE_LIST_TYPE_MAX] = {
> 1476 "Global",
> 1477 "Engine-Class",
> 1478 "Engine-Instance"
> 1479 };
> 1480 struct intel_guc_state_capture *cap;
> 1481 struct __guc_capture_parsed_output *node;
> 1482 struct intel_engine_cs *eng;
> 1483 struct guc_mmio_reg *regs;
> 1484 struct intel_guc *guc;
> 1485 const char *str;
> 1486 int numregs, i, j;
> 1487 u32 is_ext;
> 1488
> 1489 if (!ebuf || !ee)
> 1490 return -EINVAL;
> 1491 cap = ee->capture;
> 1492 if (!cap || !ee->engine)
> 1493 return -ENODEV;
> 1494
> 1495 guc = &ee->engine->gt->uc.guc;
> 1496
>> 1497 __out(ebuf, "global --- GuC Error Capture on %s command stream:\n",
> 1498 ee->engine->name);
> 1499
> 1500 node = ee->guc_capture_node;
> 1501 if (!node) {
> 1502 __out(ebuf, " No matching ee-node\n");
> 1503 return 0;
> 1504 }
> 1505
> 1506 __out(ebuf, "Coverage: %s\n", grptype[node->is_partial]);
> 1507
> 1508 for (i = GUC_CAPTURE_LIST_TYPE_GLOBAL; i < GUC_CAPTURE_LIST_TYPE_MAX; ++i) {
> 1509 __out(ebuf, " RegListType: %s\n",
> 1510 datatype[i % GUC_CAPTURE_LIST_TYPE_MAX]);
> 1511 __out(ebuf, " Owner-Id: %d\n", node->reginfo[i].vfid);
> 1512
> 1513 switch (i) {
> 1514 case GUC_CAPTURE_LIST_TYPE_GLOBAL:
> 1515 default:
> 1516 break;
> 1517 case GUC_CAPTURE_LIST_TYPE_ENGINE_CLASS:
> 1518 __out(ebuf, " GuC-Eng-Class: %d\n", node->eng_class);
> 1519 __out(ebuf, " i915-Eng-Class: %d\n",
> 1520 guc_class_to_engine_class(node->eng_class));
> 1521 break;
> 1522 case GUC_CAPTURE_LIST_TYPE_ENGINE_INSTANCE:
> 1523 eng = intel_guc_lookup_engine(guc, node->eng_class, node->eng_inst);
> 1524 if (eng)
> 1525 GCAP_PRINT_INTEL_ENG_INFO(ebuf, eng);
> 1526 else
> 1527 __out(ebuf, " i915-Eng-Lookup Fail!\n");
> 1528 GCAP_PRINT_GUC_INST_INFO(ebuf, node);
> 1529 break;
> 1530 }
> 1531
> 1532 numregs = node->reginfo[i].num_regs;
> 1533 __out(ebuf, " NumRegs: %d\n", numregs);
> 1534 j = 0;
> 1535 while (numregs--) {
> 1536 regs = node->reginfo[i].regs;
> 1537 str = guc_capture_reg_to_str(guc, GUC_CAPTURE_LIST_INDEX_PF, i,
> 1538 node->eng_class, 0, regs[j].offset, &is_ext);
> 1539 if (!str)
> 1540 __out(ebuf, " REG-0x%08x", regs[j].offset);
> 1541 else
> 1542 __out(ebuf, " %s", str);
> 1543 if (is_ext)
> 1544 __out(ebuf, "[%ld][%ld]",
> 1545 FIELD_GET(GUC_REGSET_STEERING_GROUP, regs[j].flags),
> 1546 FIELD_GET(GUC_REGSET_STEERING_INSTANCE, regs[j].flags));
> 1547 __out(ebuf, ": 0x%08x\n", regs[j].value);
> 1548 ++j;
> 1549 }
> 1550 }
> 1551 return 0;
> 1552 }
> 1553
>
> ---
> 0-DAY CI Kernel Test Service
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
WARNING: multiple messages have this Message-ID (diff)
From: "Teres Alexis, Alan Previn" <alan.previn.teres.alexis@intel.com>
To: kernel test robot <lkp@intel.com>, <intel-gfx@lists.freedesktop.org>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org
Subject: Re: [Intel-gfx] [PATCH v9 13/13] drm/i915/guc: Print the GuC error capture output register list.
Date: Tue, 15 Mar 2022 18:04:40 -0700 [thread overview]
Message-ID: <b2dd9821-d016-872c-6f23-cb71f99227ec@intel.com> (raw)
In-Reply-To: <202203151007.mYugtWwO-lkp@intel.com>
This is an actual bug I missed - will fix this - would cause a
compilation error when enabling "CONFIG_DRM_I915_DEBUG_GUC"
On 3/14/2022 7:26 PM, kernel test robot wrote:
> Hi Alan,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on drm-tip/drm-tip]
> [cannot apply to drm-intel/for-linux-next drm-exynos/exynos-drm-next drm/drm-next tegra-drm/drm/tegra/for-next v5.17-rc8 next-20220310]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch]
>
> url: https://github.com/0day-ci/linux/commits/Alan-Previn/Add-GuC-Error-Capture-Support/20220315-010958
> base: git://anongit.freedesktop.org/drm/drm-tip drm-tip
> config: i386-allyesconfig (https://download.01.org/0day-ci/archive/20220315/202203151007.mYugtWwO-lkp@intel.com/config)
> compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 3e4950d7fa78ac83f33bbf1658e2f49a73719236)
> reproduce (this is a W=1 build):
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # https://github.com/0day-ci/linux/commit/90c08c10562cba1ebf8b31788e7a9550c7637838
> git remote add linux-review https://github.com/0day-ci/linux
> git fetch --no-tags linux-review Alan-Previn/Add-GuC-Error-Capture-Support/20220315-010958
> git checkout 90c08c10562cba1ebf8b31788e7a9550c7637838
> # save the config file to linux build tree
> mkdir build_dir
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
>>> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1497:2: error: no member named 'drm' in 'struct drm_i915_error_state_buf'
> __out(ebuf, "global --- GuC Error Capture on %s command stream:\n",
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1442:19: note: expanded from macro '__out'
> drm_warn((&(a)->drm), __VA_ARGS__); \
> ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:435:16: note: expanded from macro 'drm_warn'
> __drm_printk((drm), warn,, fmt, ##__VA_ARGS__)
> ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:425:21: note: expanded from macro '__drm_printk'
> dev_##level##type((drm)->dev, "[drm] " fmt, ##__VA_ARGS__)
> ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/dev_printk.h:146:49: note: expanded from macro 'dev_warn'
> dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/dev_printk.h:110:11: note: expanded from macro 'dev_printk_index_wrap'
> _p_func(dev, fmt, ##__VA_ARGS__); \
> ^~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1502:3: error: no member named 'drm' in 'struct drm_i915_error_state_buf'
> __out(ebuf, " No matching ee-node\n");
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1442:19: note: expanded from macro '__out'
> drm_warn((&(a)->drm), __VA_ARGS__); \
> ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:435:16: note: expanded from macro 'drm_warn'
> __drm_printk((drm), warn,, fmt, ##__VA_ARGS__)
> ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:425:21: note: expanded from macro '__drm_printk'
> dev_##level##type((drm)->dev, "[drm] " fmt, ##__VA_ARGS__)
> ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/dev_printk.h:146:49: note: expanded from macro 'dev_warn'
> dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/dev_printk.h:110:11: note: expanded from macro 'dev_printk_index_wrap'
> _p_func(dev, fmt, ##__VA_ARGS__); \
> ^~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1506:2: error: no member named 'drm' in 'struct drm_i915_error_state_buf'
> __out(ebuf, "Coverage: %s\n", grptype[node->is_partial]);
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1442:19: note: expanded from macro '__out'
> drm_warn((&(a)->drm), __VA_ARGS__); \
> ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:435:16: note: expanded from macro 'drm_warn'
> __drm_printk((drm), warn,, fmt, ##__VA_ARGS__)
> ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:425:21: note: expanded from macro '__drm_printk'
> dev_##level##type((drm)->dev, "[drm] " fmt, ##__VA_ARGS__)
> ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/dev_printk.h:146:49: note: expanded from macro 'dev_warn'
> dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/dev_printk.h:110:11: note: expanded from macro 'dev_printk_index_wrap'
> _p_func(dev, fmt, ##__VA_ARGS__); \
> ^~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1509:3: error: no member named 'drm' in 'struct drm_i915_error_state_buf'
> __out(ebuf, " RegListType: %s\n",
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1442:19: note: expanded from macro '__out'
> drm_warn((&(a)->drm), __VA_ARGS__); \
> ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:435:16: note: expanded from macro 'drm_warn'
> __drm_printk((drm), warn,, fmt, ##__VA_ARGS__)
> ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:425:21: note: expanded from macro '__drm_printk'
> dev_##level##type((drm)->dev, "[drm] " fmt, ##__VA_ARGS__)
> ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/dev_printk.h:146:49: note: expanded from macro 'dev_warn'
> dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/dev_printk.h:110:11: note: expanded from macro 'dev_printk_index_wrap'
> _p_func(dev, fmt, ##__VA_ARGS__); \
> ^~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1511:3: error: no member named 'drm' in 'struct drm_i915_error_state_buf'
> __out(ebuf, " Owner-Id: %d\n", node->reginfo[i].vfid);
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1442:19: note: expanded from macro '__out'
> drm_warn((&(a)->drm), __VA_ARGS__); \
> ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:435:16: note: expanded from macro 'drm_warn'
> __drm_printk((drm), warn,, fmt, ##__VA_ARGS__)
> ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:425:21: note: expanded from macro '__drm_printk'
> dev_##level##type((drm)->dev, "[drm] " fmt, ##__VA_ARGS__)
> ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/dev_printk.h:146:49: note: expanded from macro 'dev_warn'
> dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/dev_printk.h:110:11: note: expanded from macro 'dev_printk_index_wrap'
> _p_func(dev, fmt, ##__VA_ARGS__); \
> ^~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1518:4: error: no member named 'drm' in 'struct drm_i915_error_state_buf'
> __out(ebuf, " GuC-Eng-Class: %d\n", node->eng_class);
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1442:19: note: expanded from macro '__out'
> drm_warn((&(a)->drm), __VA_ARGS__); \
> ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:435:16: note: expanded from macro 'drm_warn'
> __drm_printk((drm), warn,, fmt, ##__VA_ARGS__)
> ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/drm/drm_print.h:425:21: note: expanded from macro '__drm_printk'
> dev_##level##type((drm)->dev, "[drm] " fmt, ##__VA_ARGS__)
>
>
> vim +1497 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
>
> 1449
> 1450 #define GCAP_PRINT_INTEL_ENG_INFO(ebuf, eng) \
> 1451 do { \
> 1452 __out(ebuf, " i915-Eng-Name: %s command stream\n", \
> 1453 (eng)->name); \
> 1454 __out(ebuf, " i915-Eng-Inst-Class: 0x%02x\n", (eng)->class); \
> 1455 __out(ebuf, " i915-Eng-Inst-Id: 0x%02x\n", (eng)->instance); \
> 1456 __out(ebuf, " i915-Eng-LogicalMask: 0x%08x\n", \
> 1457 (eng)->logical_mask); \
> 1458 } while (0)
> 1459
> 1460 #define GCAP_PRINT_GUC_INST_INFO(ebuf, node) \
> 1461 do { \
> 1462 __out(ebuf, " GuC-Engine-Inst-Id: 0x%08x\n", \
> 1463 (node)->eng_inst); \
> 1464 __out(ebuf, " GuC-Context-Id: 0x%08x\n", (node)->guc_id); \
> 1465 __out(ebuf, " LRCA: 0x%08x\n", (node)->lrca); \
> 1466 } while (0)
> 1467
> 1468 int intel_guc_capture_print_engine_node(struct drm_i915_error_state_buf *ebuf,
> 1469 const struct intel_engine_coredump *ee)
> 1470 {
> 1471 const char *grptype[GUC_STATE_CAPTURE_GROUP_TYPE_MAX] = {
> 1472 "full-capture",
> 1473 "partial-capture"
> 1474 };
> 1475 const char *datatype[GUC_CAPTURE_LIST_TYPE_MAX] = {
> 1476 "Global",
> 1477 "Engine-Class",
> 1478 "Engine-Instance"
> 1479 };
> 1480 struct intel_guc_state_capture *cap;
> 1481 struct __guc_capture_parsed_output *node;
> 1482 struct intel_engine_cs *eng;
> 1483 struct guc_mmio_reg *regs;
> 1484 struct intel_guc *guc;
> 1485 const char *str;
> 1486 int numregs, i, j;
> 1487 u32 is_ext;
> 1488
> 1489 if (!ebuf || !ee)
> 1490 return -EINVAL;
> 1491 cap = ee->capture;
> 1492 if (!cap || !ee->engine)
> 1493 return -ENODEV;
> 1494
> 1495 guc = &ee->engine->gt->uc.guc;
> 1496
>> 1497 __out(ebuf, "global --- GuC Error Capture on %s command stream:\n",
> 1498 ee->engine->name);
> 1499
> 1500 node = ee->guc_capture_node;
> 1501 if (!node) {
> 1502 __out(ebuf, " No matching ee-node\n");
> 1503 return 0;
> 1504 }
> 1505
> 1506 __out(ebuf, "Coverage: %s\n", grptype[node->is_partial]);
> 1507
> 1508 for (i = GUC_CAPTURE_LIST_TYPE_GLOBAL; i < GUC_CAPTURE_LIST_TYPE_MAX; ++i) {
> 1509 __out(ebuf, " RegListType: %s\n",
> 1510 datatype[i % GUC_CAPTURE_LIST_TYPE_MAX]);
> 1511 __out(ebuf, " Owner-Id: %d\n", node->reginfo[i].vfid);
> 1512
> 1513 switch (i) {
> 1514 case GUC_CAPTURE_LIST_TYPE_GLOBAL:
> 1515 default:
> 1516 break;
> 1517 case GUC_CAPTURE_LIST_TYPE_ENGINE_CLASS:
> 1518 __out(ebuf, " GuC-Eng-Class: %d\n", node->eng_class);
> 1519 __out(ebuf, " i915-Eng-Class: %d\n",
> 1520 guc_class_to_engine_class(node->eng_class));
> 1521 break;
> 1522 case GUC_CAPTURE_LIST_TYPE_ENGINE_INSTANCE:
> 1523 eng = intel_guc_lookup_engine(guc, node->eng_class, node->eng_inst);
> 1524 if (eng)
> 1525 GCAP_PRINT_INTEL_ENG_INFO(ebuf, eng);
> 1526 else
> 1527 __out(ebuf, " i915-Eng-Lookup Fail!\n");
> 1528 GCAP_PRINT_GUC_INST_INFO(ebuf, node);
> 1529 break;
> 1530 }
> 1531
> 1532 numregs = node->reginfo[i].num_regs;
> 1533 __out(ebuf, " NumRegs: %d\n", numregs);
> 1534 j = 0;
> 1535 while (numregs--) {
> 1536 regs = node->reginfo[i].regs;
> 1537 str = guc_capture_reg_to_str(guc, GUC_CAPTURE_LIST_INDEX_PF, i,
> 1538 node->eng_class, 0, regs[j].offset, &is_ext);
> 1539 if (!str)
> 1540 __out(ebuf, " REG-0x%08x", regs[j].offset);
> 1541 else
> 1542 __out(ebuf, " %s", str);
> 1543 if (is_ext)
> 1544 __out(ebuf, "[%ld][%ld]",
> 1545 FIELD_GET(GUC_REGSET_STEERING_GROUP, regs[j].flags),
> 1546 FIELD_GET(GUC_REGSET_STEERING_INSTANCE, regs[j].flags));
> 1547 __out(ebuf, ": 0x%08x\n", regs[j].value);
> 1548 ++j;
> 1549 }
> 1550 }
> 1551 return 0;
> 1552 }
> 1553
>
> ---
> 0-DAY CI Kernel Test Service
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
next prev parent reply other threads:[~2022-03-16 1:05 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-14 17:09 [PATCH v9 00/13] Add GuC Error Capture Support Alan Previn
2022-03-14 17:09 ` [Intel-gfx] " Alan Previn
2022-03-14 17:09 ` [Intel-gfx] [PATCH v9 01/13] drm/i915/guc: Update GuC ADS size for error capture lists Alan Previn
2022-03-15 15:17 ` Matthew Brost
2022-03-15 16:06 ` Teres Alexis, Alan Previn
2022-03-14 17:09 ` [Intel-gfx] [PATCH v9 02/13] drm/i915/guc: Add XE_LP static registers for GuC error capture Alan Previn
2022-03-14 17:09 ` [Intel-gfx] [PATCH v9 03/13] drm/i915/guc: Add XE_LP steered register lists support Alan Previn
2022-03-14 17:09 ` [Intel-gfx] [PATCH v9 04/13] drm/i915/guc: Add DG2 registers for GuC error state capture Alan Previn
2022-03-14 17:09 ` [Intel-gfx] [PATCH v9 05/13] drm/i915/guc: Add Gen9 " Alan Previn
2022-03-14 17:09 ` [Intel-gfx] [PATCH v9 06/13] drm/i915/guc: Add GuC's error state capture output structures Alan Previn
2022-03-14 17:09 ` [Intel-gfx] [PATCH v9 07/13] drm/i915/guc: Update GuC-log relay function names Alan Previn
2022-03-14 17:09 ` [Intel-gfx] [PATCH v9 08/13] drm/i915/guc: Add capture region into intel_guc_log Alan Previn
2022-03-14 17:09 ` [Intel-gfx] [PATCH v9 09/13] drm/i915/guc: Check sizing of guc_capture output Alan Previn
2022-03-14 17:09 ` [Intel-gfx] [PATCH v9 10/13] drm/i915/guc: Extract GuC error capture lists on G2H notification Alan Previn
2022-03-14 17:09 ` [Intel-gfx] [PATCH v9 11/13] drm/i915/guc: Pre-allocate output nodes for extraction Alan Previn
2022-03-14 17:09 ` [Intel-gfx] [PATCH v9 12/13] drm/i915/guc: Plumb GuC-capture into gpu_coredump Alan Previn
2022-03-14 17:09 ` [Intel-gfx] [PATCH v9 13/13] drm/i915/guc: Print the GuC error capture output register list Alan Previn
2022-03-14 23:42 ` kernel test robot
2022-03-15 2:26 ` kernel test robot
2022-03-16 1:04 ` Teres Alexis, Alan Previn [this message]
2022-03-16 1:04 ` Teres Alexis, Alan Previn
2022-03-14 20:11 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Add GuC Error Capture Support Patchwork
2022-03-14 20:13 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2022-03-14 20:46 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2022-03-15 18:24 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Add GuC Error Capture Support (rev2) Patchwork
2022-03-16 1:24 ` Teres Alexis, Alan Previn
2022-03-15 18:25 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2022-03-15 18:58 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-03-15 22:50 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b2dd9821-d016-872c-6f23-cb71f99227ec@intel.com \
--to=alan.previn.teres.alexis@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=kbuild-all@lists.01.org \
--cc=lkp@intel.com \
--cc=llvm@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.