Hi, On 02. 10. 20 16:51, Sudeep Holla wrote: > Hi Michal, > > On Fri, Oct 02, 2020 at 03:53:33PM +0200, Michal Simek wrote: >> Hi Sudeep, >> >> On 02. 10. 20 12:58, Sudeep Holla wrote: >>> Hi Michal, >>> >>> On Fri, Oct 02, 2020 at 10:23:02AM +0200, Michal Simek wrote: >>>> Hi Sudeep, >>>> >>>> On 01. 10. 20 17:35, Sudeep Holla wrote: >>> >>> [...] >>> >>>>> >>>>> What are the other uses of this KEEMBAY_SIP_* ? >>>>> For now I tend to move this to the driver making use of it using >>>>> arm_smccc_1_1_invoke directly if possible. I don't see the need for this >>>>> to be separate driver. But do let us know the features implemented in the >>>>> firmware. If it is not v1.1+, reasons for not upgrading as you need v1.1 >>>>> for some CPU errata implementation. >>>> >>>> This driver has been created based on my request to move it out the mmc >>>> driver. It looks quite hacky to have arm_smccc_res and call >>>> arm_smccc_smc() also with some IDs where it is visible that the part of >>>> ID is just based on any spec. >>> >>> OK, driver is fine but no dt-bindings as it is discoverable. It can >>> also be just a wrapper library instead as it needs no explicit >>> initialisation like drivers to setup. >> >> I am fine with it. Do we have any example which we can point him to? >> > > You seem to have figured that out already with SOC_ID example. > That was quick I must say 😄. I would expect that instead of of if (arm_smccc_get_version() < ARM_SMCCC_VERSION_1_2) return 0; if (arm_smccc_1_1_get_conduit() == SMCCC_CONDUIT_NONE) { pr_err("%s: invalid SMCCC conduit\n", __func__); return -EOPNOTSUPP; } arm_smccc_1_1_invoke(ARM_SMCCC_ARCH_FEATURES_FUNC_ID, ARM_SMCCC_ARCH_SOC_ID, &res); you will simply call arm_smccc_1_2_invoke(ARM_SMCCC_ARCH_FEATURES_FUNC_ID, ARM_SMCCC_ARCH_SOC_ID, &res); ...(check ret) arm_smccc_1_2_invoke(ARM_SMCCC_ARCH_SOC_ID, 0, &res); ...(check ret) where it is clear from 1_2 that it has to be at least 1.2 version. <snip> > >> >> BTW: I see you have added soc id reading which you are saying is the >> part of smcc v1.2 but I can't see any implementation in TF-A. Is this >> spec publicly available? >> > > Spec is out[1], include/linux/arm-smccc.h points to the latest spec. > TF-A does have implementation as I tested with it and even reported > bug that I discovered when I tested with my patches that are now merged > upstream. Are you referring to master of TF-A or last release version ? > If latter, it had bug and may not be working. I may be wrong though, as > I am just telling what was told to me couple of months back and things > might have changed in TF-A land. I will read it and take a look when I have time. Thanks, Michal