Re: [PATCH V8 2/2] mailbox: introduce ARM SMC based mailbox
Hi Peng, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [cannot apply to v5.3 next-20190920] [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/Peng-Fan/mailbox-arm-introduce-smc-triggered-mailbox/20190924-091652 config: sh-allmodconfig (attached as .config) compiler: sh4-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=sh If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): In file included from :0:0: >> include/linux/mailbox/arm-smccc-mbox.h:17:3: error: unknown type name 'u32' u32 args_smccc32[6]; ^~~ >> include/linux/mailbox/arm-smccc-mbox.h:18:3: error: unknown type name 'u64' u64 args_smccc64[6]; ^~~ vim +/u32 +17 include/linux/mailbox/arm-smccc-mbox.h 5 6 /** 7 * struct arm_smccc_mbox_cmd - ARM SMCCC message structure 8 * @function_id:function id passed from client, If mbox 9 * DT has arm,func-id property, the driver will use 10 * that one. 11 * @args_smccc32/64:actual usage of registers is up to the protocol 12 * (within the SMCCC limits) 13 */ 14 struct arm_smccc_mbox_cmd { 15 unsigned int function_id; 16 union { > 17 u32 args_smccc32[6]; > 18 u64 args_smccc64[6]; 19 }; 20 }; 21 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
RE: [PATCH V8 2/2] mailbox: introduce ARM SMC based mailbox
Hi Florian > Subject: Re: [PATCH V8 2/2] mailbox: introduce ARM SMC based mailbox > > Hi Peng, > > On 9/23/2019 6:14 PM, Peng Fan wrote: > > From: Peng Fan > > > > This mailbox driver implements a mailbox which signals transmitted > > data via an ARM smc (secure monitor call) instruction. The mailbox > > receiver is implemented in firmware and can synchronously return data > > when it returns execution to the non-secure world again. > > An asynchronous receive path is not implemented. > > This allows the usage of a mailbox to trigger firmware actions on SoCs > > which either don't have a separate management processor or on which > > such a core is not available. A user of this mailbox could be the SCP > > interface. > > > > Modified from Andre Przywara's v2 patch > > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore > > .kernel.org%2Fpatchwork%2Fpatch%2F812999%2Fdata=02%7C01%7 > Cpeng.fa > > > n%40nxp.com%7C296c7cd2225e4ca32bb808d74099afb2%7C686ea1d3bc2b4 > c6fa92cd > > > 99c5c301635%7C0%7C0%7C637048901144091126sdata=JDo%2Be7Tt > hoi4jve0O > > S8qe3%2Fpji4g8CgRxL7ntCQx3Fg%3Dreserved=0 > > > > Cc: Andre Przywara > > Signed-off-by: Peng Fan > > --- > > [snip] > > > +typedef unsigned long (smc_mbox_fn)(unsigned int, unsigned long, > > + unsigned long, unsigned long, > > + unsigned long, unsigned long, > > + unsigned long); > > +static smc_mbox_fn *invoke_smc_mbox_fn; > > Sorry for spotting this so late, the only thing that concerns me here with > this > singleton is if we happen to have both an arm,smc-mbox and arm,hvc-mbox > configured in the system, this would not work. Yes. Thanks for spotting this. I do not believe this could be a > functional use case, but we should probably guard against that or better yet, > move that into the arm_smc_chan_data private structure? Agree. Will Fix in v9. Thanks, Peng. > -- > Florian
Re: [PATCH V8 2/2] mailbox: introduce ARM SMC based mailbox
Hi Peng, On 9/23/2019 6:14 PM, Peng Fan wrote: > From: Peng Fan > > This mailbox driver implements a mailbox which signals transmitted data > via an ARM smc (secure monitor call) instruction. The mailbox receiver > is implemented in firmware and can synchronously return data when it > returns execution to the non-secure world again. > An asynchronous receive path is not implemented. > This allows the usage of a mailbox to trigger firmware actions on SoCs > which either don't have a separate management processor or on which such > a core is not available. A user of this mailbox could be the SCP > interface. > > Modified from Andre Przywara's v2 patch > https://lore.kernel.org/patchwork/patch/812999/ > > Cc: Andre Przywara > Signed-off-by: Peng Fan > --- [snip] > +typedef unsigned long (smc_mbox_fn)(unsigned int, unsigned long, > + unsigned long, unsigned long, > + unsigned long, unsigned long, > + unsigned long); > +static smc_mbox_fn *invoke_smc_mbox_fn; Sorry for spotting this so late, the only thing that concerns me here with this singleton is if we happen to have both an arm,smc-mbox and arm,hvc-mbox configured in the system, this would not work. I do not believe this could be a functional use case, but we should probably guard against that or better yet, move that into the arm_smc_chan_data private structure? -- Florian