All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.