[PATCH 4/4] firmware: xilinx: enable feature check for ZynqMP
Michal Simek
michal.simek at xilinx.com
Fri Apr 29 01:36:17 PDT 2022
On 4/6/22 12:55, Ronak Jain wrote:
> Enable the feature check if the PM_FEATURE_CHECK API returns success
> with the supported version for the ZynqMP. Currently, it is enabled
> for Versal only.
>
> Move get_set_conduit_method() at the beginning as the Linux is
> requesting to TF-A for the PM_FEATURE_CHECK API version for which the
> interface should be enabled with TF-A.
>
> Signed-off-by: Ronak Jain <ronak.jain at xilinx.com>
> ---
> drivers/firmware/xilinx/zynqmp.c | 15 +++++++++++----
> 1 file changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/firmware/xilinx/zynqmp.c b/drivers/firmware/xilinx/zynqmp.c
> index 6ee94f31ac98..7977a494a651 100644
> --- a/drivers/firmware/xilinx/zynqmp.c
> +++ b/drivers/firmware/xilinx/zynqmp.c
> @@ -1662,6 +1662,10 @@ static int zynqmp_firmware_probe(struct platform_device *pdev)
> struct zynqmp_devinfo *devinfo;
> int ret;
>
> + ret = get_set_conduit_method(dev->of_node);
> + if (ret)
> + return ret;
> +
> np = of_find_compatible_node(NULL, NULL, "xlnx,zynqmp");
> if (!np) {
> np = of_find_compatible_node(NULL, NULL, "xlnx,versal");
> @@ -1670,11 +1674,14 @@ static int zynqmp_firmware_probe(struct platform_device *pdev)
>
> feature_check_enabled = true;
> }
> - of_node_put(np);
>
> - ret = get_set_conduit_method(dev->of_node);
> - if (ret)
> - return ret;
> + if (!feature_check_enabled) {
> + ret = do_feature_check_call(PM_FEATURE_CHECK);
> + if (ret >= 0)
> + feature_check_enabled = true;
> + }
> +
> + of_node_put(np);
>
> devinfo = devm_kzalloc(dev, sizeof(*devinfo), GFP_KERNEL);
> if (!devinfo)
Acked-by: Michal Simek <michal.simek at xilinx.com>
Thanks,
Michal
More information about the linux-arm-kernel
mailing list