Re: [PATCH V3 1/3] firmware: broadcom: add OP-TEE based BNXT f/w manager

From: kbuild test robot
Date: Sun Oct 27 2019 - 01:12:48 EST


Hi Sheetal,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on net-next/master]
[cannot apply to v5.4-rc4 next-20191025]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url: https://github.com/0day-ci/linux/commits/Sheetal-Tigadoli/Add-OP-TEE-based-bnxt-f-w-manager/20191027-112745
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 503a64635d5ef7351657c78ad77f8b5ff658d5fc
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 7.4.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=ia64

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All error/warnings (new ones prefixed by >>):

drivers/firmware/broadcom/tee_bnxt_fw.c: In function 'prepare_args':
>> drivers/firmware/broadcom/tee_bnxt_fw.c:14:24: error: 'SZ_4M' undeclared (first use in this function)
#define MAX_SHM_MEM_SZ SZ_4M
^
>> drivers/firmware/broadcom/tee_bnxt_fw.c:81:28: note: in expansion of macro 'MAX_SHM_MEM_SZ'
param[0].u.memref.size = MAX_SHM_MEM_SZ;
^~~~~~~~~~~~~~
drivers/firmware/broadcom/tee_bnxt_fw.c:14:24: note: each undeclared identifier is reported only once for each function it appears in
#define MAX_SHM_MEM_SZ SZ_4M
^
>> drivers/firmware/broadcom/tee_bnxt_fw.c:81:28: note: in expansion of macro 'MAX_SHM_MEM_SZ'
param[0].u.memref.size = MAX_SHM_MEM_SZ;
^~~~~~~~~~~~~~
drivers/firmware/broadcom/tee_bnxt_fw.c: In function 'tee_bnxt_fw_probe':
>> drivers/firmware/broadcom/tee_bnxt_fw.c:14:24: error: 'SZ_4M' undeclared (first use in this function)
#define MAX_SHM_MEM_SZ SZ_4M
^
drivers/firmware/broadcom/tee_bnxt_fw.c:214:44: note: in expansion of macro 'MAX_SHM_MEM_SZ'
fw_shm_pool = tee_shm_alloc(pvt_data.ctx, MAX_SHM_MEM_SZ,
^~~~~~~~~~~~~~

vim +/SZ_4M +14 drivers/firmware/broadcom/tee_bnxt_fw.c

13
> 14 #define MAX_SHM_MEM_SZ SZ_4M
15
16 #define MAX_TEE_PARAM_ARRY_MEMB 4
17
18 enum ta_cmd {
19 /*
20 * TA_CMD_BNXT_FASTBOOT - boot bnxt device by copying f/w into sram
21 *
22 * param[0] unused
23 * param[1] unused
24 * param[2] unused
25 * param[3] unused
26 *
27 * Result:
28 * TEE_SUCCESS - Invoke command success
29 * TEE_ERROR_ITEM_NOT_FOUND - Corrupt f/w image found on memory
30 */
31 TA_CMD_BNXT_FASTBOOT = 0,
32
33 /*
34 * TA_CMD_BNXT_COPY_COREDUMP - copy the core dump into shm
35 *
36 * param[0] (inout memref) - Coredump buffer memory reference
37 * param[1] (in value) - value.a: offset, data to be copied from
38 * value.b: size of data to be copied
39 * param[2] unused
40 * param[3] unused
41 *
42 * Result:
43 * TEE_SUCCESS - Invoke command success
44 * TEE_ERROR_BAD_PARAMETERS - Incorrect input param
45 * TEE_ERROR_ITEM_NOT_FOUND - Corrupt core dump
46 */
47 TA_CMD_BNXT_COPY_COREDUMP = 3,
48 };
49
50 /**
51 * struct tee_bnxt_fw_private - OP-TEE bnxt private data
52 * @dev: OP-TEE based bnxt device.
53 * @ctx: OP-TEE context handler.
54 * @session_id: TA session identifier.
55 */
56 struct tee_bnxt_fw_private {
57 struct device *dev;
58 struct tee_context *ctx;
59 u32 session_id;
60 struct tee_shm *fw_shm_pool;
61 };
62
63 static struct tee_bnxt_fw_private pvt_data;
64
65 static void prepare_args(int cmd,
66 struct tee_ioctl_invoke_arg *arg,
67 struct tee_param *param)
68 {
69 memset(arg, 0, sizeof(*arg));
70 memset(param, 0, MAX_TEE_PARAM_ARRY_MEMB * sizeof(*param));
71
72 arg->func = cmd;
73 arg->session = pvt_data.session_id;
74 arg->num_params = MAX_TEE_PARAM_ARRY_MEMB;
75
76 /* Fill invoke cmd params */
77 switch (cmd) {
78 case TA_CMD_BNXT_COPY_COREDUMP:
79 param[0].attr = TEE_IOCTL_PARAM_ATTR_TYPE_MEMREF_INOUT;
80 param[0].u.memref.shm = pvt_data.fw_shm_pool;
> 81 param[0].u.memref.size = MAX_SHM_MEM_SZ;
82 param[0].u.memref.shm_offs = 0;
83 param[1].attr = TEE_IOCTL_PARAM_ATTR_TYPE_VALUE_INPUT;
84 break;
85 case TA_CMD_BNXT_FASTBOOT:
86 default:
87 /* Nothing to do */
88 break;
89 }
90 }
91

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip