* [jimc:dd-classmap-fix-v4h 58/58] drivers/accel/ivpu/ivpu_drv.h:327:2: error: #endif without #if
@ 2025-08-24 3:08 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-08-24 3:08 UTC (permalink / raw)
To: Jim Cromie, Łukasz Bartosik; +Cc: oe-kbuild-all
tree: https://github.com/jimc/linux.git dd-classmap-fix-v4h
head: 03a5021c51f56725837f7c18a6704ea25632fd24
commit: 03a5021c51f56725837f7c18a6704ea25632fd24 [58/58] accel/ivpu: implement IVPU_DBG_* as a dyndbg classmap
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20250824/202508241104.AFUYoq2M-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250824/202508241104.AFUYoq2M-lkp@intel.com/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
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202508241104.AFUYoq2M-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from drivers/accel/ivpu/ivpu_drv.c:19:
In file included from drivers/accel/ivpu/ivpu_coredump.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:327:2: error: #endif without #if
327 | #endif /* __IVPU_DRV_H__ */
| ^
In file included from drivers/accel/ivpu/ivpu_drv.c:19:
In file included from drivers/accel/ivpu/ivpu_coredump.h:12:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:81:6: error: redefinition of 'ivpu_dbg_category'
81 | enum ivpu_dbg_category {
| ^
drivers/accel/ivpu/ivpu_coredump.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:81:6: note: unguarded header; consider using #ifdef guards or #pragma once
81 | enum ivpu_dbg_category {
| ^
In file included from drivers/accel/ivpu/ivpu_drv.c:19:
In file included from drivers/accel/ivpu/ivpu_coredump.h:12:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:87:2: error: redefinition of enumerator 'IVPU_DBG_REG'
87 | IVPU_DBG_REG = 16,
| ^
drivers/accel/ivpu/ivpu_coredump.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:87:2: note: unguarded header; consider using #ifdef guards or #pragma once
87 | IVPU_DBG_REG = 16,
| ^
In file included from drivers/accel/ivpu/ivpu_drv.c:19:
In file included from drivers/accel/ivpu/ivpu_coredump.h:12:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:88:2: error: redefinition of enumerator 'IVPU_DBG_IRQ'
88 | IVPU_DBG_IRQ,
| ^
drivers/accel/ivpu/ivpu_coredump.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:88:2: note: unguarded header; consider using #ifdef guards or #pragma once
88 | IVPU_DBG_IRQ,
| ^
In file included from drivers/accel/ivpu/ivpu_drv.c:19:
In file included from drivers/accel/ivpu/ivpu_coredump.h:12:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:89:2: error: redefinition of enumerator 'IVPU_DBG_MMU'
89 | IVPU_DBG_MMU,
| ^
drivers/accel/ivpu/ivpu_coredump.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:89:2: note: unguarded header; consider using #ifdef guards or #pragma once
89 | IVPU_DBG_MMU,
| ^
In file included from drivers/accel/ivpu/ivpu_drv.c:19:
In file included from drivers/accel/ivpu/ivpu_coredump.h:12:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:90:2: error: redefinition of enumerator 'IVPU_DBG_FILE'
90 | IVPU_DBG_FILE,
| ^
drivers/accel/ivpu/ivpu_coredump.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:90:2: note: unguarded header; consider using #ifdef guards or #pragma once
90 | IVPU_DBG_FILE,
| ^
In file included from drivers/accel/ivpu/ivpu_drv.c:19:
In file included from drivers/accel/ivpu/ivpu_coredump.h:12:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:91:2: error: redefinition of enumerator 'IVPU_DBG_MISC'
91 | IVPU_DBG_MISC,
| ^
drivers/accel/ivpu/ivpu_coredump.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:91:2: note: unguarded header; consider using #ifdef guards or #pragma once
91 | IVPU_DBG_MISC,
| ^
In file included from drivers/accel/ivpu/ivpu_drv.c:19:
In file included from drivers/accel/ivpu/ivpu_coredump.h:12:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:92:2: error: redefinition of enumerator 'IVPU_DBG_FW_BOOT'
92 | IVPU_DBG_FW_BOOT,
| ^
drivers/accel/ivpu/ivpu_coredump.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:92:2: note: unguarded header; consider using #ifdef guards or #pragma once
92 | IVPU_DBG_FW_BOOT,
| ^
In file included from drivers/accel/ivpu/ivpu_drv.c:19:
In file included from drivers/accel/ivpu/ivpu_coredump.h:12:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:93:2: error: redefinition of enumerator 'IVPU_DBG_PM'
93 | IVPU_DBG_PM,
| ^
drivers/accel/ivpu/ivpu_coredump.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:93:2: note: unguarded header; consider using #ifdef guards or #pragma once
93 | IVPU_DBG_PM,
| ^
In file included from drivers/accel/ivpu/ivpu_drv.c:19:
In file included from drivers/accel/ivpu/ivpu_coredump.h:12:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:94:2: error: redefinition of enumerator 'IVPU_DBG_IPC'
94 | IVPU_DBG_IPC,
| ^
drivers/accel/ivpu/ivpu_coredump.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:94:2: note: unguarded header; consider using #ifdef guards or #pragma once
94 | IVPU_DBG_IPC,
| ^
In file included from drivers/accel/ivpu/ivpu_drv.c:19:
In file included from drivers/accel/ivpu/ivpu_coredump.h:12:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:95:2: error: redefinition of enumerator 'IVPU_DBG_BO'
95 | IVPU_DBG_BO,
| ^
drivers/accel/ivpu/ivpu_coredump.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:95:2: note: unguarded header; consider using #ifdef guards or #pragma once
95 | IVPU_DBG_BO,
| ^
In file included from drivers/accel/ivpu/ivpu_drv.c:19:
In file included from drivers/accel/ivpu/ivpu_coredump.h:12:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:96:2: error: redefinition of enumerator 'IVPU_DBG_JOB'
96 | IVPU_DBG_JOB,
| ^
drivers/accel/ivpu/ivpu_coredump.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:96:2: note: unguarded header; consider using #ifdef guards or #pragma once
96 | IVPU_DBG_JOB,
| ^
In file included from drivers/accel/ivpu/ivpu_drv.c:19:
In file included from drivers/accel/ivpu/ivpu_coredump.h:12:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:97:2: error: redefinition of enumerator 'IVPU_DBG_JSM'
97 | IVPU_DBG_JSM,
| ^
drivers/accel/ivpu/ivpu_coredump.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:97:2: note: unguarded header; consider using #ifdef guards or #pragma once
97 | IVPU_DBG_JSM,
| ^
In file included from drivers/accel/ivpu/ivpu_drv.c:19:
In file included from drivers/accel/ivpu/ivpu_coredump.h:12:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:98:2: error: redefinition of enumerator 'IVPU_DBG_KREF'
98 | IVPU_DBG_KREF,
| ^
drivers/accel/ivpu/ivpu_coredump.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:98:2: note: unguarded header; consider using #ifdef guards or #pragma once
98 | IVPU_DBG_KREF,
| ^
In file included from drivers/accel/ivpu/ivpu_drv.c:19:
In file included from drivers/accel/ivpu/ivpu_coredump.h:12:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:99:2: error: redefinition of enumerator 'IVPU_DBG_RPM'
99 | IVPU_DBG_RPM,
| ^
drivers/accel/ivpu/ivpu_coredump.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:99:2: note: unguarded header; consider using #ifdef guards or #pragma once
99 | IVPU_DBG_RPM,
| ^
In file included from drivers/accel/ivpu/ivpu_drv.c:19:
In file included from drivers/accel/ivpu/ivpu_coredump.h:12:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:100:2: error: redefinition of enumerator 'IVPU_DBG_MMU_MAP'
100 | IVPU_DBG_MMU_MAP
| ^
drivers/accel/ivpu/ivpu_coredump.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:100:2: note: unguarded header; consider using #ifdef guards or #pragma once
100 | IVPU_DBG_MMU_MAP
| ^
In file included from drivers/accel/ivpu/ivpu_drv.c:19:
In file included from drivers/accel/ivpu/ivpu_coredump.h:12:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:128:8: error: redefinition of 'ivpu_wa_table'
128 | struct ivpu_wa_table {
| ^
drivers/accel/ivpu/ivpu_coredump.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:128:8: note: unguarded header; consider using #ifdef guards or #pragma once
128 | struct ivpu_wa_table {
| ^
In file included from drivers/accel/ivpu/ivpu_drv.c:19:
In file included from drivers/accel/ivpu/ivpu_coredump.h:12:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:144:8: error: redefinition of 'ivpu_device'
144 | struct ivpu_device {
| ^
drivers/accel/ivpu/ivpu_coredump.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:144:8: note: unguarded header; consider using #ifdef guards or #pragma once
144 | struct ivpu_device {
| ^
In file included from drivers/accel/ivpu/ivpu_drv.c:19:
In file included from drivers/accel/ivpu/ivpu_coredump.h:12:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:199:8: error: redefinition of 'ivpu_file_priv'
199 | struct ivpu_file_priv {
| ^
drivers/accel/ivpu/ivpu_coredump.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:199:8: note: unguarded header; consider using #ifdef guards or #pragma once
199 | struct ivpu_file_priv {
| ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
--
In file included from drivers/accel/ivpu/ivpu_fw.c:12:
>> drivers/accel/ivpu/ivpu_drv.h:327:2: error: #endif without #if
327 | #endif /* __IVPU_DRV_H__ */
| ^
In file included from drivers/accel/ivpu/ivpu_fw.c:14:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:81:6: error: redefinition of 'ivpu_dbg_category'
81 | enum ivpu_dbg_category {
| ^
drivers/accel/ivpu/ivpu_fw.c:12:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
12 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:81:6: note: unguarded header; consider using #ifdef guards or #pragma once
81 | enum ivpu_dbg_category {
| ^
In file included from drivers/accel/ivpu/ivpu_fw.c:14:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:87:2: error: redefinition of enumerator 'IVPU_DBG_REG'
87 | IVPU_DBG_REG = 16,
| ^
drivers/accel/ivpu/ivpu_fw.c:12:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
12 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:87:2: note: unguarded header; consider using #ifdef guards or #pragma once
87 | IVPU_DBG_REG = 16,
| ^
In file included from drivers/accel/ivpu/ivpu_fw.c:14:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:88:2: error: redefinition of enumerator 'IVPU_DBG_IRQ'
88 | IVPU_DBG_IRQ,
| ^
drivers/accel/ivpu/ivpu_fw.c:12:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
12 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:88:2: note: unguarded header; consider using #ifdef guards or #pragma once
88 | IVPU_DBG_IRQ,
| ^
In file included from drivers/accel/ivpu/ivpu_fw.c:14:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:89:2: error: redefinition of enumerator 'IVPU_DBG_MMU'
89 | IVPU_DBG_MMU,
| ^
drivers/accel/ivpu/ivpu_fw.c:12:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
12 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:89:2: note: unguarded header; consider using #ifdef guards or #pragma once
89 | IVPU_DBG_MMU,
| ^
In file included from drivers/accel/ivpu/ivpu_fw.c:14:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:90:2: error: redefinition of enumerator 'IVPU_DBG_FILE'
90 | IVPU_DBG_FILE,
| ^
drivers/accel/ivpu/ivpu_fw.c:12:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
12 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:90:2: note: unguarded header; consider using #ifdef guards or #pragma once
90 | IVPU_DBG_FILE,
| ^
In file included from drivers/accel/ivpu/ivpu_fw.c:14:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:91:2: error: redefinition of enumerator 'IVPU_DBG_MISC'
91 | IVPU_DBG_MISC,
| ^
drivers/accel/ivpu/ivpu_fw.c:12:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
12 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:91:2: note: unguarded header; consider using #ifdef guards or #pragma once
91 | IVPU_DBG_MISC,
| ^
In file included from drivers/accel/ivpu/ivpu_fw.c:14:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:92:2: error: redefinition of enumerator 'IVPU_DBG_FW_BOOT'
92 | IVPU_DBG_FW_BOOT,
| ^
drivers/accel/ivpu/ivpu_fw.c:12:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
12 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:92:2: note: unguarded header; consider using #ifdef guards or #pragma once
92 | IVPU_DBG_FW_BOOT,
| ^
In file included from drivers/accel/ivpu/ivpu_fw.c:14:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:93:2: error: redefinition of enumerator 'IVPU_DBG_PM'
93 | IVPU_DBG_PM,
| ^
drivers/accel/ivpu/ivpu_fw.c:12:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
12 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:93:2: note: unguarded header; consider using #ifdef guards or #pragma once
93 | IVPU_DBG_PM,
| ^
In file included from drivers/accel/ivpu/ivpu_fw.c:14:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:94:2: error: redefinition of enumerator 'IVPU_DBG_IPC'
94 | IVPU_DBG_IPC,
| ^
drivers/accel/ivpu/ivpu_fw.c:12:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
12 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:94:2: note: unguarded header; consider using #ifdef guards or #pragma once
94 | IVPU_DBG_IPC,
| ^
In file included from drivers/accel/ivpu/ivpu_fw.c:14:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:95:2: error: redefinition of enumerator 'IVPU_DBG_BO'
95 | IVPU_DBG_BO,
| ^
drivers/accel/ivpu/ivpu_fw.c:12:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
12 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:95:2: note: unguarded header; consider using #ifdef guards or #pragma once
95 | IVPU_DBG_BO,
| ^
In file included from drivers/accel/ivpu/ivpu_fw.c:14:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:96:2: error: redefinition of enumerator 'IVPU_DBG_JOB'
96 | IVPU_DBG_JOB,
| ^
drivers/accel/ivpu/ivpu_fw.c:12:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
12 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:96:2: note: unguarded header; consider using #ifdef guards or #pragma once
96 | IVPU_DBG_JOB,
| ^
In file included from drivers/accel/ivpu/ivpu_fw.c:14:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:97:2: error: redefinition of enumerator 'IVPU_DBG_JSM'
97 | IVPU_DBG_JSM,
| ^
drivers/accel/ivpu/ivpu_fw.c:12:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
12 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:97:2: note: unguarded header; consider using #ifdef guards or #pragma once
97 | IVPU_DBG_JSM,
| ^
In file included from drivers/accel/ivpu/ivpu_fw.c:14:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:98:2: error: redefinition of enumerator 'IVPU_DBG_KREF'
98 | IVPU_DBG_KREF,
| ^
drivers/accel/ivpu/ivpu_fw.c:12:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
12 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:98:2: note: unguarded header; consider using #ifdef guards or #pragma once
98 | IVPU_DBG_KREF,
| ^
In file included from drivers/accel/ivpu/ivpu_fw.c:14:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:99:2: error: redefinition of enumerator 'IVPU_DBG_RPM'
99 | IVPU_DBG_RPM,
| ^
drivers/accel/ivpu/ivpu_fw.c:12:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
12 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:99:2: note: unguarded header; consider using #ifdef guards or #pragma once
99 | IVPU_DBG_RPM,
| ^
In file included from drivers/accel/ivpu/ivpu_fw.c:14:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:100:2: error: redefinition of enumerator 'IVPU_DBG_MMU_MAP'
100 | IVPU_DBG_MMU_MAP
| ^
drivers/accel/ivpu/ivpu_fw.c:12:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
12 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:100:2: note: unguarded header; consider using #ifdef guards or #pragma once
100 | IVPU_DBG_MMU_MAP
| ^
In file included from drivers/accel/ivpu/ivpu_fw.c:14:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:128:8: error: redefinition of 'ivpu_wa_table'
128 | struct ivpu_wa_table {
| ^
drivers/accel/ivpu/ivpu_fw.c:12:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
12 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:128:8: note: unguarded header; consider using #ifdef guards or #pragma once
128 | struct ivpu_wa_table {
| ^
In file included from drivers/accel/ivpu/ivpu_fw.c:14:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:144:8: error: redefinition of 'ivpu_device'
144 | struct ivpu_device {
| ^
drivers/accel/ivpu/ivpu_fw.c:12:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
12 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:144:8: note: unguarded header; consider using #ifdef guards or #pragma once
144 | struct ivpu_device {
| ^
In file included from drivers/accel/ivpu/ivpu_fw.c:14:
In file included from drivers/accel/ivpu/ivpu_fw_log.h:11:
>> drivers/accel/ivpu/ivpu_drv.h:199:8: error: redefinition of 'ivpu_file_priv'
199 | struct ivpu_file_priv {
| ^
drivers/accel/ivpu/ivpu_fw.c:12:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
12 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_fw_log.h:11:10: note: 'drivers/accel/ivpu/ivpu_drv.h' included multiple times, additional include site here
11 | #include "ivpu_drv.h"
| ^
drivers/accel/ivpu/ivpu_drv.h:199:8: note: unguarded header; consider using #ifdef guards or #pragma once
199 | struct ivpu_file_priv {
| ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
..
vim +327 drivers/accel/ivpu/ivpu_drv.h
eefa13a69053a0 Stanislaw Gruszka 2023-09-01 127
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 @128 struct ivpu_wa_table {
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 129 bool punit_disabled;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 130 bool clear_runtime_mem;
7f34e01f77f811 Karol Wachowski 2023-07-03 131 bool interrupt_clear_with_0;
79cdc56c4a5425 Stanislaw Gruszka 2023-07-31 132 bool disable_clock_relinquish;
3198a62eb8f841 Andrzej Kacprowski 2023-10-28 133 bool disable_d0i3_msg;
d9dfc4eaa3c6bf Wachowski, Karol 2024-06-11 134 bool wp0_during_power_up;
011529fe81121e Karol Wachowski 2025-02-04 135 bool disable_d0i2;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 136 };
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 137
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 138 struct ivpu_hw_info;
263b2ba5fc93c8 Jacek Lawrynowicz 2023-01-17 139 struct ivpu_mmu_info;
02d5b0aacd0590 Jacek Lawrynowicz 2023-01-17 140 struct ivpu_fw_info;
5d7422cfb498bf Jacek Lawrynowicz 2023-01-17 141 struct ivpu_ipc_info;
852be13f3bd32c Jacek Lawrynowicz 2023-01-17 142 struct ivpu_pm_info;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 143
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 @144 struct ivpu_device {
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 145 struct drm_device drm;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 146 void __iomem *regb;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 147 void __iomem *regv;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 148 u32 platform;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 149 u32 irq;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 150
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 151 struct ivpu_wa_table wa;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 152 struct ivpu_hw_info *hw;
263b2ba5fc93c8 Jacek Lawrynowicz 2023-01-17 153 struct ivpu_mmu_info *mmu;
02d5b0aacd0590 Jacek Lawrynowicz 2023-01-17 154 struct ivpu_fw_info *fw;
5d7422cfb498bf Jacek Lawrynowicz 2023-01-17 155 struct ivpu_ipc_info *ipc;
852be13f3bd32c Jacek Lawrynowicz 2023-01-17 156 struct ivpu_pm_info *pm;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 157
263b2ba5fc93c8 Jacek Lawrynowicz 2023-01-17 158 struct ivpu_mmu_context gctx;
34d03f2a174dce Karol Wachowski 2023-09-01 159 struct ivpu_mmu_context rctx;
f1cc6aceecd049 Jacek Lawrynowicz 2024-01-22 160 struct mutex context_list_lock; /* Protects user context addition/removal */
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 161 struct xarray context_xa;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 162 struct xa_limit context_xa_limit;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 163
f32d59677ab142 Wachowski, Karol 2024-02-14 164 struct xarray db_xa;
c3b0ec0fe0c7eb Tomasz Rusinowicz 2024-09-30 165 struct xa_limit db_limit;
ae7af7d8dc2a13 Karol Wachowski 2024-10-17 166 u32 db_next;
f32d59677ab142 Wachowski, Karol 2024-02-14 167
bc3e5f48b7ee02 Maciej Falkowski 2025-01-07 168 struct work_struct irq_ipc_work;
bc3e5f48b7ee02 Maciej Falkowski 2025-01-07 169 struct work_struct irq_dct_work;
bc3e5f48b7ee02 Maciej Falkowski 2025-01-07 170 struct work_struct context_abort_work;
bc3e5f48b7ee02 Maciej Falkowski 2025-01-07 171
48aea7f2a2efae Jacek Lawrynowicz 2023-10-31 172 struct mutex bo_list_lock; /* Protects bo_list */
48aea7f2a2efae Jacek Lawrynowicz 2023-10-31 173 struct list_head bo_list;
48aea7f2a2efae Jacek Lawrynowicz 2023-10-31 174
5bbccadaf33eea Karol Wachowski 2025-01-07 175 struct mutex submitted_jobs_lock; /* Protects submitted_jobs */
cd7272215c4467 Jacek Lawrynowicz 2023-01-17 176 struct xarray submitted_jobs_xa;
3b434a3445fff3 Jacek Lawrynowicz 2023-11-13 177 struct ivpu_ipc_consumer job_done_consumer;
0e7db503c5355f Karol Wachowski 2025-04-16 178 atomic_t job_timeout_counter;
cd7272215c4467 Jacek Lawrynowicz 2023-01-17 179
02d5b0aacd0590 Jacek Lawrynowicz 2023-01-17 180 atomic64_t unique_id_counter;
02d5b0aacd0590 Jacek Lawrynowicz 2023-01-17 181
0adff3b0ef1248 Tomasz Rusinowicz 2024-05-13 182 ktime_t busy_start_ts;
0adff3b0ef1248 Tomasz Rusinowicz 2024-05-13 183 ktime_t busy_time;
0adff3b0ef1248 Tomasz Rusinowicz 2024-05-13 184
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 185 struct {
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 186 int boot;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 187 int jsm;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 188 int tdr;
8ed520ff4682aa Krystian Pradzynski 2023-09-01 189 int autosuspend;
3198a62eb8f841 Andrzej Kacprowski 2023-10-28 190 int d0i3_entry_msg;
5e162f872d7af8 Tomasz Rusinowicz 2024-09-30 191 int state_dump_msg;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 192 } timeout;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 193 };
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 194
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 195 /*
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 196 * file_priv has its own refcount (ref) that allows user space to close the fd
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 197 * without blocking even if VPU is still processing some jobs.
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 198 */
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 @199 struct ivpu_file_priv {
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 200 struct kref ref;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 201 struct ivpu_device *vdev;
cd7272215c4467 Jacek Lawrynowicz 2023-01-17 202 struct mutex lock; /* Protects cmdq */
76ad741ec7349b Karol Wachowski 2024-10-17 203 struct xarray cmdq_xa;
263b2ba5fc93c8 Jacek Lawrynowicz 2023-01-17 204 struct ivpu_mmu_context ctx;
cdfad4db775656 Tomasz Rusinowicz 2024-05-13 205 struct mutex ms_lock; /* Protects ms_instance_list, ms_info_bo */
cdfad4db775656 Tomasz Rusinowicz 2024-05-13 206 struct list_head ms_instance_list;
cdfad4db775656 Tomasz Rusinowicz 2024-05-13 207 struct ivpu_bo *ms_info_bo;
c3b0ec0fe0c7eb Tomasz Rusinowicz 2024-09-30 208 struct xa_limit job_limit;
ae7af7d8dc2a13 Karol Wachowski 2024-10-17 209 u32 job_id_next;
76ad741ec7349b Karol Wachowski 2024-10-17 210 struct xa_limit cmdq_limit;
76ad741ec7349b Karol Wachowski 2024-10-17 211 u32 cmdq_id_next;
263b2ba5fc93c8 Jacek Lawrynowicz 2023-01-17 212 bool has_mmu_faults;
f1cc6aceecd049 Jacek Lawrynowicz 2024-01-22 213 bool bound;
b7ed87ffc7341d Maciej Falkowski 2024-06-11 214 bool aborted;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 215 };
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 216
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 217 extern int ivpu_dbg_mask;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 218 extern u8 ivpu_pll_min_ratio;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 219 extern u8 ivpu_pll_max_ratio;
41ca33d8d356d4 Wachowski, Karol 2024-05-13 220 extern int ivpu_sched_mode;
95d440188d3082 Karol Wachowski 2023-05-18 221 extern bool ivpu_disable_mmu_cont_pages;
2c3801b17459da Wachowski, Karol 2024-05-13 222 extern bool ivpu_force_snoop;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 223
8b5cec3c2ccf0b Karol Wachowski 2023-10-28 224 #define IVPU_TEST_MODE_FW_TEST BIT(0)
8b5cec3c2ccf0b Karol Wachowski 2023-10-28 225 #define IVPU_TEST_MODE_NULL_HW BIT(1)
8b5cec3c2ccf0b Karol Wachowski 2023-10-28 226 #define IVPU_TEST_MODE_NULL_SUBMISSION BIT(2)
3198a62eb8f841 Andrzej Kacprowski 2023-10-28 227 #define IVPU_TEST_MODE_D0I3_MSG_DISABLE BIT(4)
3198a62eb8f841 Andrzej Kacprowski 2023-10-28 228 #define IVPU_TEST_MODE_D0I3_MSG_ENABLE BIT(5)
7df06efe1c28b2 Karol Wachowski 2024-10-17 229 #define IVPU_TEST_MODE_MIP_DISABLE BIT(6)
3f440e0b485228 Maciej Falkowski 2024-06-11 230 #define IVPU_TEST_MODE_DISABLE_TIMEOUTS BIT(8)
7459211aa6352c Andrzej Kacprowski 2024-09-30 231 #define IVPU_TEST_MODE_TURBO BIT(9)
55e856c344b047 Karol Wachowski 2025-02-04 232 #define IVPU_TEST_MODE_CLK_RELINQ_DISABLE BIT(10)
55e856c344b047 Karol Wachowski 2025-02-04 233 #define IVPU_TEST_MODE_CLK_RELINQ_ENABLE BIT(11)
011529fe81121e Karol Wachowski 2025-02-04 234 #define IVPU_TEST_MODE_D0I2_DISABLE BIT(12)
02d5b0aacd0590 Jacek Lawrynowicz 2023-01-17 235 extern int ivpu_test_mode;
02d5b0aacd0590 Jacek Lawrynowicz 2023-01-17 236
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 237 struct ivpu_file_priv *ivpu_file_priv_get(struct ivpu_file_priv *file_priv);
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 238 void ivpu_file_priv_put(struct ivpu_file_priv **link);
02d5b0aacd0590 Jacek Lawrynowicz 2023-01-17 239
02d5b0aacd0590 Jacek Lawrynowicz 2023-01-17 240 int ivpu_boot(struct ivpu_device *vdev);
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 241 int ivpu_shutdown(struct ivpu_device *vdev);
828d63042aeca1 Jacek Lawrynowicz 2023-10-03 242 void ivpu_prepare_for_reset(struct ivpu_device *vdev);
ae06e0b3bfe073 Karol Wachowski 2025-01-07 243 bool ivpu_is_capable(struct ivpu_device *vdev, u32 capability);
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 244
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 245 static inline u8 ivpu_revision(struct ivpu_device *vdev)
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 246 {
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 247 return to_pci_dev(vdev->drm.dev)->revision;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 248 }
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 249
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 250 static inline u16 ivpu_device_id(struct ivpu_device *vdev)
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 251 {
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 252 return to_pci_dev(vdev->drm.dev)->device;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 253 }
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 254
8a27ad81f7d3a4 Wachowski, Karol 2024-05-15 255 static inline int ivpu_hw_ip_gen(struct ivpu_device *vdev)
8a27ad81f7d3a4 Wachowski, Karol 2024-05-15 256 {
8a27ad81f7d3a4 Wachowski, Karol 2024-05-15 257 switch (ivpu_device_id(vdev)) {
8a27ad81f7d3a4 Wachowski, Karol 2024-05-15 258 case PCI_DEVICE_ID_MTL:
8a27ad81f7d3a4 Wachowski, Karol 2024-05-15 259 case PCI_DEVICE_ID_ARL:
8a27ad81f7d3a4 Wachowski, Karol 2024-05-15 260 return IVPU_HW_IP_37XX;
8a27ad81f7d3a4 Wachowski, Karol 2024-05-15 261 case PCI_DEVICE_ID_LNL:
8a27ad81f7d3a4 Wachowski, Karol 2024-05-15 262 return IVPU_HW_IP_40XX;
c140244f0cfb96 Maciej Falkowski 2024-10-04 263 case PCI_DEVICE_ID_PTL_P:
c140244f0cfb96 Maciej Falkowski 2024-10-04 264 return IVPU_HW_IP_50XX;
8a27ad81f7d3a4 Wachowski, Karol 2024-05-15 265 default:
8a27ad81f7d3a4 Wachowski, Karol 2024-05-15 266 dump_stack();
8a27ad81f7d3a4 Wachowski, Karol 2024-05-15 267 ivpu_err(vdev, "Unknown NPU IP generation\n");
8a27ad81f7d3a4 Wachowski, Karol 2024-05-15 268 return 0;
8a27ad81f7d3a4 Wachowski, Karol 2024-05-15 269 }
8a27ad81f7d3a4 Wachowski, Karol 2024-05-15 270 }
8a27ad81f7d3a4 Wachowski, Karol 2024-05-15 271
8a27ad81f7d3a4 Wachowski, Karol 2024-05-15 272 static inline int ivpu_hw_btrs_gen(struct ivpu_device *vdev)
51d66a7b7d1298 Jacek Lawrynowicz 2023-07-31 273 {
51d66a7b7d1298 Jacek Lawrynowicz 2023-07-31 274 switch (ivpu_device_id(vdev)) {
51d66a7b7d1298 Jacek Lawrynowicz 2023-07-31 275 case PCI_DEVICE_ID_MTL:
9c1b2429c18424 Stanislaw Gruszka 2023-09-22 276 case PCI_DEVICE_ID_ARL:
8a27ad81f7d3a4 Wachowski, Karol 2024-05-15 277 return IVPU_HW_BTRS_MTL;
79cdc56c4a5425 Stanislaw Gruszka 2023-07-31 278 case PCI_DEVICE_ID_LNL:
c140244f0cfb96 Maciej Falkowski 2024-10-04 279 case PCI_DEVICE_ID_PTL_P:
8a27ad81f7d3a4 Wachowski, Karol 2024-05-15 280 return IVPU_HW_BTRS_LNL;
51d66a7b7d1298 Jacek Lawrynowicz 2023-07-31 281 default:
8a27ad81f7d3a4 Wachowski, Karol 2024-05-15 282 dump_stack();
8a27ad81f7d3a4 Wachowski, Karol 2024-05-15 283 ivpu_err(vdev, "Unknown buttress generation\n");
51d66a7b7d1298 Jacek Lawrynowicz 2023-07-31 284 return 0;
51d66a7b7d1298 Jacek Lawrynowicz 2023-07-31 285 }
51d66a7b7d1298 Jacek Lawrynowicz 2023-07-31 286 }
51d66a7b7d1298 Jacek Lawrynowicz 2023-07-31 287
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 288 static inline struct ivpu_device *to_ivpu_device(struct drm_device *dev)
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 289 {
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 290 return container_of(dev, struct ivpu_device, drm);
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 291 }
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 292
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 293 static inline u32 ivpu_get_context_count(struct ivpu_device *vdev)
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 294 {
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 295 struct xa_limit ctx_limit = vdev->context_xa_limit;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 296
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 297 return (ctx_limit.max - ctx_limit.min + 1);
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 298 }
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 299
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 300 static inline u32 ivpu_get_platform(struct ivpu_device *vdev)
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 301 {
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 302 WARN_ON_ONCE(vdev->platform == IVPU_PLATFORM_INVALID);
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 303 return vdev->platform;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 304 }
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 305
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 306 static inline bool ivpu_is_silicon(struct ivpu_device *vdev)
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 307 {
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 308 return ivpu_get_platform(vdev) == IVPU_PLATFORM_SILICON;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 309 }
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 310
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 311 static inline bool ivpu_is_simics(struct ivpu_device *vdev)
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 312 {
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 313 return ivpu_get_platform(vdev) == IVPU_PLATFORM_SIMICS;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 314 }
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 315
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 316 static inline bool ivpu_is_fpga(struct ivpu_device *vdev)
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 317 {
dd4f78ec6a6f82 Karol Wachowski 2025-01-07 318 return ivpu_get_platform(vdev) == IVPU_PLATFORM_FPGA ||
dd4f78ec6a6f82 Karol Wachowski 2025-01-07 319 ivpu_get_platform(vdev) == IVPU_PLATFORM_HSLE;
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 320 }
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 321
2c3801b17459da Wachowski, Karol 2024-05-13 322 static inline bool ivpu_is_force_snoop_enabled(struct ivpu_device *vdev)
2c3801b17459da Wachowski, Karol 2024-05-13 323 {
2c3801b17459da Wachowski, Karol 2024-05-13 324 return ivpu_force_snoop;
2c3801b17459da Wachowski, Karol 2024-05-13 325 }
2c3801b17459da Wachowski, Karol 2024-05-13 326
35b137630f08d9 Jacek Lawrynowicz 2023-01-17 @327 #endif /* __IVPU_DRV_H__ */
:::::: The code at line 327 was first introduced by commit
:::::: 35b137630f08d913fc2e33df33ccc2570dff3f7d accel/ivpu: Introduce a new DRM driver for Intel VPU
:::::: TO: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
:::::: CC: Daniel Vetter <daniel.vetter@ffwll.ch>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-08-24 3:10 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-24 3:08 [jimc:dd-classmap-fix-v4h 58/58] drivers/accel/ivpu/ivpu_drv.h:327:2: error: #endif without #if kernel test robot
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.