Messages in this thread | | | Subject | Re: [PATCH v2 4/5] firmware: psci: Add function to fetch SMCCC version | From | Steven Price <> | Date | Mon, 4 May 2020 15:11:10 +0100 |
| |
On 04/05/2020 10:29, Sudeep Holla wrote: > For backward compatibility reasons, PSCI maintains SMCCC version as > SMCCC didn't provide ARM_SMCCC_VERSION_FUNC_ID until v1.1 > > Let us provide accessors to fetch the SMCCC version in PSCI so that > other SMCCC v1.1+ features can use it.
Since it seems there is a good reason for this patch... ;)
Reviewed-by: Steven Price <steven.price@arm.com>
Steve
> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> > --- > drivers/firmware/psci/psci.c | 5 +++++ > include/linux/arm-smccc.h | 9 +++++++++ > 2 files changed, 14 insertions(+) > > diff --git a/drivers/firmware/psci/psci.c b/drivers/firmware/psci/psci.c > index 6a56d7196697..04426e16fee6 100644 > --- a/drivers/firmware/psci/psci.c > +++ b/drivers/firmware/psci/psci.c > @@ -65,6 +65,11 @@ enum arm_smccc_conduit arm_smccc_1_1_get_conduit(void) > return psci_ops.conduit; > } > > +u32 arm_smccc_get_version(void) > +{ > + return psci_ops.smccc_version; > +} > + > typedef unsigned long (psci_fn)(unsigned long, unsigned long, > unsigned long, unsigned long); > static psci_fn *invoke_psci_fn; > diff --git a/include/linux/arm-smccc.h b/include/linux/arm-smccc.h > index 9d9a2e42e919..d6b0f4acc707 100644 > --- a/include/linux/arm-smccc.h > +++ b/include/linux/arm-smccc.h > @@ -98,6 +98,15 @@ enum arm_smccc_conduit { > */ > enum arm_smccc_conduit arm_smccc_1_1_get_conduit(void); > > +/** > + * arm_smccc_get_version() > + * > + * Returns the version to be used for SMCCCv1.1 or later. > + * > + * When SMCCCv1.1 or above is not present, assumes and returns SMCCCv1.0. > + */ > +u32 arm_smccc_get_version(void); > + > /** > * struct arm_smccc_res - Result from SMC/HVC call > * @a0-a3 result values from registers 0 to 3 >
| |