[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <eef40baa-fee9-0386-ad94-95ac994084b2@xilinx.com>
Date: Tue, 6 Oct 2020 14:08:36 +0200
From: Michal Simek <michal.simek@...inx.com>
To: Sudeep Holla <sudeep.holla@....com>,
Michal Simek <michal.simek@...inx.com>
Cc: muhammad.husaini.zulkifli@...el.com, adrian.hunter@...el.com,
ulf.hansson@...aro.org, linux-mmc@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
lakshmi.bai.raja.subramanian@...el.com, arnd@...db.de,
wan.ahmad.zainie.wan.mohamad@...el.com
Subject: Re: [PATCH v2 2/3] firmware: Keem Bay: Add support for Arm Trusted
Firmware Service call
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
Powered by blists - more mailing lists