All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: "Jim Cromie" <jim.cromie@gmail.com>,
	"Łukasz Bartosik" <ukaszb@chromium.org>
Cc: oe-kbuild-all@lists.linux.dev
Subject: [jimc:dd-classmap-fix-v4h 58/58] drivers/accel/ivpu/ivpu_drv.h:327:2: error: #endif without #if
Date: Sun, 24 Aug 2025 11:08:40 +0800	[thread overview]
Message-ID: <202508241104.AFUYoq2M-lkp@intel.com> (raw)

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

                 reply	other threads:[~2025-08-24  3:10 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202508241104.AFUYoq2M-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=jim.cromie@gmail.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=ukaszb@chromium.org \
    /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.