Re: [PATCH V3 2/2] mailbox: tmelite-qmp: Introduce TMEL QMP mailbox driver

From: kernel test robot
Date: Wed Mar 05 2025 - 19:27:35 EST


Hi Sricharan,

kernel test robot noticed the following build warnings:

[auto build test WARNING on robh/for-next]
[also build test WARNING on linus/master v6.14-rc5 next-20250305]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Sricharan-R/dt-bindings-mailbox-Document-qcom-tmel-qmp/20250228-125707
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link: https://lore.kernel.org/r/20250228045356.3527662-3-quic_srichara%40quicinc.com
patch subject: [PATCH V3 2/2] mailbox: tmelite-qmp: Introduce TMEL QMP mailbox driver
config: hexagon-allyesconfig (https://download.01.org/0day-ci/archive/20250306/202503060748.jOvlkjJf-lkp@xxxxxxxxx/config)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250306/202503060748.jOvlkjJf-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202503060748.jOvlkjJf-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

>> drivers/mailbox/qcom-tmel-qmp.c:196:55: warning: format specifies type 'long' but the argument has type 'size_t' (aka 'unsigned int') [-Wformat]
196 | dev_err(mdev->dev, "Unsupported packet size %ld\n", pkt->iov_len);
| ~~~ ^~~~~~~~~~~~
| %zu
include/linux/dev_printk.h:154:65: note: expanded from macro 'dev_err'
154 | dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
| ~~~ ^~~~~~~~~~~
include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap'
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ~~~ ^~~~~~~~~~~
drivers/mailbox/qcom-tmel-qmp.c:406:22: error: call to undeclared function 'FIELD_GET'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
406 | msg_hdr->msg_type = TMEL_MSG_UID_MSG_TYPE(msg_uid);
| ^
include/linux/mailbox/tmelcom-qmp.h:16:34: note: expanded from macro 'TMEL_MSG_UID_MSG_TYPE'
16 | #define TMEL_MSG_UID_MSG_TYPE(v) FIELD_GET(GENMASK(15, 8), v)
| ^
drivers/mailbox/qcom-tmel-qmp.c:502:4: warning: format specifies type 'long' but the argument has type 'size_t' (aka 'unsigned int') [-Wformat]
501 | dev_err(tdev->dev, "Invalid pkt.size received size: %ld, expected: %zu\n",
| ~~~
| %zu
502 | tdev->pkt.iov_len, sizeof(struct tmel_ipc_pkt));
| ^~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:154:65: note: expanded from macro 'dev_err'
154 | dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
| ~~~ ^~~~~~~~~~~
include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap'
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ~~~ ^~~~~~~~~~~
drivers/mailbox/qcom-tmel-qmp.c:541:35: error: call to undeclared function 'FIELD_PREP_CONST'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
541 | ret = tmel_process_request(tdev, TMEL_MSG_UID_SECBOOT_SEC_AUTH, msg,
| ^
include/linux/mailbox/tmelcom-qmp.h:55:43: note: expanded from macro 'TMEL_MSG_UID_SECBOOT_SEC_AUTH'
55 | #define TMEL_MSG_UID_SECBOOT_SEC_AUTH TMEL_MSG_UID_CREATE(TMEL_MSG_SECBOOT,\
| ^
include/linux/mailbox/tmelcom-qmp.h:13:3: note: expanded from macro 'TMEL_MSG_UID_CREATE'
13 | (FIELD_PREP_CONST((0xff << 8), msg_type) | FIELD_PREP_CONST(0xff, action_id))
| ^
drivers/mailbox/qcom-tmel-qmp.c:572:35: error: call to undeclared function 'FIELD_PREP_CONST'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
572 | ret = tmel_process_request(tdev, TMEL_MSG_UID_SECBOOT_SS_TEAR_DOWN,
| ^
include/linux/mailbox/tmelcom-qmp.h:58:43: note: expanded from macro 'TMEL_MSG_UID_SECBOOT_SS_TEAR_DOWN'
58 | #define TMEL_MSG_UID_SECBOOT_SS_TEAR_DOWN TMEL_MSG_UID_CREATE(TMEL_MSG_SECBOOT,\
| ^
include/linux/mailbox/tmelcom-qmp.h:13:3: note: expanded from macro 'TMEL_MSG_UID_CREATE'
13 | (FIELD_PREP_CONST((0xff << 8), msg_type) | FIELD_PREP_CONST(0xff, action_id))
| ^
drivers/mailbox/qcom-tmel-qmp.c:595:7: error: call to undeclared function 'FIELD_PREP_CONST'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
595 | case TMEL_MSG_UID_SECBOOT_SEC_AUTH:
| ^
include/linux/mailbox/tmelcom-qmp.h:55:43: note: expanded from macro 'TMEL_MSG_UID_SECBOOT_SEC_AUTH'
55 | #define TMEL_MSG_UID_SECBOOT_SEC_AUTH TMEL_MSG_UID_CREATE(TMEL_MSG_SECBOOT,\
| ^
include/linux/mailbox/tmelcom-qmp.h:13:3: note: expanded from macro 'TMEL_MSG_UID_CREATE'
13 | (FIELD_PREP_CONST((0xff << 8), msg_type) | FIELD_PREP_CONST(0xff, action_id))
| ^
drivers/mailbox/qcom-tmel-qmp.c:595:7: error: expression is not an integer constant expression
595 | case TMEL_MSG_UID_SECBOOT_SEC_AUTH:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mailbox/tmelcom-qmp.h:55:43: note: expanded from macro 'TMEL_MSG_UID_SECBOOT_SEC_AUTH'
55 | #define TMEL_MSG_UID_SECBOOT_SEC_AUTH TMEL_MSG_UID_CREATE(TMEL_MSG_SECBOOT,\
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56 | TMEL_ACTION_SECBOOT_SEC_AUTH)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mailbox/tmelcom-qmp.h:13:3: note: expanded from macro 'TMEL_MSG_UID_CREATE'
13 | (FIELD_PREP_CONST((0xff << 8), msg_type) | FIELD_PREP_CONST(0xff, action_id))
| ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mailbox/qcom-tmel-qmp.c:598:7: error: expression is not an integer constant expression
598 | case TMEL_MSG_UID_SECBOOT_SS_TEAR_DOWN:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mailbox/tmelcom-qmp.h:58:43: note: expanded from macro 'TMEL_MSG_UID_SECBOOT_SS_TEAR_DOWN'
58 | #define TMEL_MSG_UID_SECBOOT_SS_TEAR_DOWN TMEL_MSG_UID_CREATE(TMEL_MSG_SECBOOT,\
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59 | TMEL_ACTION_SECBOOT_SS_TEAR_DOWN)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mailbox/tmelcom-qmp.h:13:3: note: expanded from macro 'TMEL_MSG_UID_CREATE'
13 | (FIELD_PREP_CONST((0xff << 8), msg_type) | FIELD_PREP_CONST(0xff, action_id))
| ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 warnings and 6 errors generated.


vim +196 drivers/mailbox/qcom-tmel-qmp.c

177
178 /**
179 * qmp_send_data() - Copy the data to the channel's mailbox and notify
180 * remote subsystem of new data. This function will
181 * return an error if the previous message sent has
182 * not been read. Cannot Sleep.
183 * @mdev: qmp_device to send the data to.
184 * @data: Data to be sent to remote processor, should be in the format of
185 * a kvec.
186 *
187 * Return: 0 on success or standard Linux error code.
188 */
189 static int qmp_send_data(struct qmp_device *mdev, void *data)
190 {
191 struct kvec *pkt = (struct kvec *)data;
192 void __iomem *addr;
193 unsigned long flags;
194
195 if (pkt->iov_len > QMP_MAX_PKT_SIZE) {
> 196 dev_err(mdev->dev, "Unsupported packet size %ld\n", pkt->iov_len);
197 return -EINVAL;
198 }
199
200 if (atomic_read(&mdev->tx_sent))
201 return -EAGAIN;
202
203 dev_dbg(mdev->dev, "%s: mcore 0x%x ucore 0x%x", __func__,
204 mdev->mcore.val, mdev->ucore.val);
205
206 addr = mdev->mcore_desc + QMP_CTRL_DATA_SIZE;
207 memcpy_toio(addr, pkt->iov_base, pkt->iov_len);
208
209 mdev->mcore.bits.frag_size = pkt->iov_len;
210 mdev->mcore.bits.rem_frag_count = 0;
211
212 dev_dbg(mdev->dev, "Copied buffer to mbox, sz: %d",
213 mdev->mcore.bits.frag_size);
214
215 atomic_set(&mdev->tx_sent, 1);
216
217 spin_lock_irqsave(&mdev->tx_lock, flags);
218 mdev->mcore.bits.tx = !(mdev->mcore.bits.tx);
219 qmp_send_irq(mdev);
220 spin_unlock_irqrestore(&mdev->tx_lock, flags);
221
222 return 0;
223 }
224

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki