Linux Remote Processor Subsystem development
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Tanmay Shah <tanmay.shah@amd.com>,
	andersson@kernel.org, mathieu.poirier@linaro.org,
	robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org,
	conor+dt@kernel.org, michal.simek@amd.com, ben.levinsky@amd.com
Cc: linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/3] drivers: remoteproc: add Versal and Versal-NET support
Date: Sun, 17 Mar 2024 19:55:01 +0100	[thread overview]
Message-ID: <db6f16af-e715-4ff5-84d6-2d85d62d7c0c@linaro.org> (raw)
In-Reply-To: <20240315211533.1996543-4-tanmay.shah@amd.com>

On 15/03/2024 22:15, Tanmay Shah wrote:
> AMD-Xilinx Versal and Versal-NET are successor of ZynqMP platform. ZynqMP
> remoteproc driver is mostly compatible with new platforms except few
> platform specific differences.
> 
> Versal has same IP of cortex-R5 cores hence maintained compatible string
> same as ZynqMP platform. However, hardcode TCM addresses are not
> supported for new platforms and must be provided in device-tree as per
> new bindings. This makes TCM representation data-driven and easy to
> maintain. This check is provided in the driver.
> 
> For Versal-NET platform, TCM doesn't need to be configured in lockstep
> mode or split mode. Hence that call to PMC firmware is avoided in the
> driver for Versal-NET platform.
> 
> Signed-off-by: Tanmay Shah <tanmay.shah@amd.com>
> ---
>  drivers/remoteproc/xlnx_r5_remoteproc.c | 19 +++++++++++++++----
>  1 file changed, 15 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/remoteproc/xlnx_r5_remoteproc.c b/drivers/remoteproc/xlnx_r5_remoteproc.c
> index d4a22caebaad..193bc159d1b4 100644
> --- a/drivers/remoteproc/xlnx_r5_remoteproc.c
> +++ b/drivers/remoteproc/xlnx_r5_remoteproc.c
> @@ -323,9 +323,12 @@ static int zynqmp_r5_set_mode(struct zynqmp_r5_core *r5_core,
>  		return ret;
>  	}
>  
> -	ret = zynqmp_pm_set_tcm_config(r5_core->pm_domain_id, tcm_mode);
> -	if (ret < 0)
> -		dev_err(r5_core->dev, "failed to configure TCM\n");
> +	/* TCM configuration is not needed in versal-net */
> +	if (device_is_compatible(r5_core->dev, "xlnx,zynqmp-r5f")) {
> +		ret = zynqmp_pm_set_tcm_config(r5_core->pm_domain_id, tcm_mode);
> +		if (ret < 0)
> +			dev_err(r5_core->dev, "failed to configure TCM\n");
> +	}
>  
>  	return ret;
>  }
> @@ -933,10 +936,17 @@ static int zynqmp_r5_core_init(struct zynqmp_r5_cluster *cluster,
>  	int ret, i;
>  
>  	r5_core = cluster->r5_cores[0];
> +
> +	/*
> +	 * New platforms must use device tree for TCM parsing.
> +	 * Only ZynqMP uses hardcode TCM.
> +	 */
>  	if (of_find_property(r5_core->np, "reg", NULL))
>  		ret = zynqmp_r5_get_tcm_node_from_dt(cluster);
> -	else
> +	else if (of_machine_is_compatible("xlnx,zynqmp"))
>  		ret = zynqmp_r5_get_tcm_node(cluster);

That's poor code. Your drivers should not depend on platform. I don't
understand why you need to do this and how is even related to this patch.


Best regards,
Krzysztof


  reply	other threads:[~2024-03-17 18:55 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-15 21:15 [PATCH 0/3] Add Versal and Versal-NET platform support Tanmay Shah
2024-03-15 21:15 ` [PATCH 1/3] dt-bindings: remoteproc: add Versal " Tanmay Shah
2024-03-17 14:50   ` Conor Dooley
2024-03-17 14:52     ` Conor Dooley
2024-03-19  0:37     ` Tanmay Shah
2024-03-19  5:40       ` Krzysztof Kozlowski
2024-03-17 18:50   ` Krzysztof Kozlowski
2024-03-19  0:39     ` Tanmay Shah
2024-03-15 21:15 ` [PATCH 2/3] dt-bindings: remoteproc: add Versal-NET platform Tanmay Shah
2024-03-17 18:53   ` Krzysztof Kozlowski
2024-03-19  0:51     ` Tanmay Shah
2024-03-19  5:30       ` Krzysztof Kozlowski
2024-03-19 14:42         ` Tanmay Shah
2024-03-20  7:40           ` Krzysztof Kozlowski
2024-03-20 15:14             ` Tanmay Shah
2024-03-21  7:39               ` Krzysztof Kozlowski
2024-03-21 15:13                 ` Tanmay Shah
2024-03-22  5:44                   ` Krzysztof Kozlowski
2024-03-22 18:28                     ` Tanmay Shah
2024-03-15 21:15 ` [PATCH 3/3] drivers: remoteproc: add Versal and Versal-NET support Tanmay Shah
2024-03-17 18:55   ` Krzysztof Kozlowski [this message]
2024-03-19  1:06     ` Tanmay Shah
2024-03-19  5:25       ` Krzysztof Kozlowski
2024-03-19 14:50         ` Tanmay Shah

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=db6f16af-e715-4ff5-84d6-2d85d62d7c0c@linaro.org \
    --to=krzysztof.kozlowski@linaro.org \
    --cc=andersson@kernel.org \
    --cc=ben.levinsky@amd.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=mathieu.poirier@linaro.org \
    --cc=michal.simek@amd.com \
    --cc=robh+dt@kernel.org \
    --cc=tanmay.shah@amd.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox