[PATCH] firmware: tegra: bpmp: Use of_reserved_mem_region_to_resource() for "memory-region"

Rob Herring (Arm) posted 1 patch 3 months ago
drivers/firmware/tegra/bpmp-tegra186.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
[PATCH] firmware: tegra: bpmp: Use of_reserved_mem_region_to_resource() for "memory-region"
Posted by Rob Herring (Arm) 3 months ago
Use the newly added of_reserved_mem_region_to_resource() function to
handle "memory-region" properties.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
---
 drivers/firmware/tegra/bpmp-tegra186.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/firmware/tegra/bpmp-tegra186.c b/drivers/firmware/tegra/bpmp-tegra186.c
index 6f0d0511b486..7cfc5fdfa49d 100644
--- a/drivers/firmware/tegra/bpmp-tegra186.c
+++ b/drivers/firmware/tegra/bpmp-tegra186.c
@@ -6,7 +6,7 @@
 #include <linux/genalloc.h>
 #include <linux/io.h>
 #include <linux/mailbox_client.h>
-#include <linux/of_address.h>
+#include <linux/of_reserved_mem.h>
 #include <linux/platform_device.h>
 
 #include <soc/tegra/bpmp.h>
@@ -192,16 +192,11 @@ static void tegra186_bpmp_teardown_channels(struct tegra_bpmp *bpmp)
 static int tegra186_bpmp_dram_init(struct tegra_bpmp *bpmp)
 {
 	struct tegra186_bpmp *priv = bpmp->priv;
-	struct device_node *np;
 	struct resource res;
 	size_t size;
 	int err;
 
-	np = of_parse_phandle(bpmp->dev->of_node, "memory-region", 0);
-	if (!np)
-		return -ENODEV;
-
-	err = of_address_to_resource(np, 0, &res);
+	err = of_reserved_mem_region_to_resource(bpmp->dev->of_node, 0, &res);
 	if (err < 0) {
 		dev_warn(bpmp->dev, "failed to parse memory region: %d\n", err);
 		return err;
-- 
2.47.2
Re: [PATCH] firmware: tegra: bpmp: Use of_reserved_mem_region_to_resource() for "memory-region"
Posted by Jon Hunter 2 months, 1 week ago
Hi Rob, Thierry,

On 03/07/2025 19:34, Rob Herring (Arm) wrote:
> Use the newly added of_reserved_mem_region_to_resource() function to
> handle "memory-region" properties.
> 
> Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
> ---
>   drivers/firmware/tegra/bpmp-tegra186.c | 9 ++-------
>   1 file changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/firmware/tegra/bpmp-tegra186.c b/drivers/firmware/tegra/bpmp-tegra186.c
> index 6f0d0511b486..7cfc5fdfa49d 100644
> --- a/drivers/firmware/tegra/bpmp-tegra186.c
> +++ b/drivers/firmware/tegra/bpmp-tegra186.c
> @@ -6,7 +6,7 @@
>   #include <linux/genalloc.h>
>   #include <linux/io.h>
>   #include <linux/mailbox_client.h>
> -#include <linux/of_address.h>
> +#include <linux/of_reserved_mem.h>
>   #include <linux/platform_device.h>
>   
>   #include <soc/tegra/bpmp.h>
> @@ -192,16 +192,11 @@ static void tegra186_bpmp_teardown_channels(struct tegra_bpmp *bpmp)
>   static int tegra186_bpmp_dram_init(struct tegra_bpmp *bpmp)
>   {
>   	struct tegra186_bpmp *priv = bpmp->priv;
> -	struct device_node *np;
>   	struct resource res;
>   	size_t size;
>   	int err;
>   
> -	np = of_parse_phandle(bpmp->dev->of_node, "memory-region", 0);
> -	if (!np)
> -		return -ENODEV;
> -
> -	err = of_address_to_resource(np, 0, &res);
> +	err = of_reserved_mem_region_to_resource(bpmp->dev->of_node, 0, &res);
>   	if (err < 0) {
>   		dev_warn(bpmp->dev, "failed to parse memory region: %d\n", err);
>   		return err;


This change is now causing the following warning to be observed on 
Tegra194 Jetson AGX Xavier platform ...

  WARNING KERN tegra-bpmp bpmp: failed to parse memory region: -19

Looking at the binding only one of 'memory-region' or 'shmem' is 
required and for Tegra194 we are using shmem. So I am not sure if it is 
worth making this change for this driver.

Jon

-- 
nvpublic
Re: [PATCH] firmware: tegra: bpmp: Use of_reserved_mem_region_to_resource() for "memory-region"
Posted by Thierry Reding 2 months, 1 week ago
On Mon, Jul 28, 2025 at 03:17:11PM +0100, Jon Hunter wrote:
> Hi Rob, Thierry,
> 
> On 03/07/2025 19:34, Rob Herring (Arm) wrote:
> > Use the newly added of_reserved_mem_region_to_resource() function to
> > handle "memory-region" properties.
> > 
> > Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
> > ---
> >   drivers/firmware/tegra/bpmp-tegra186.c | 9 ++-------
> >   1 file changed, 2 insertions(+), 7 deletions(-)
> > 
> > diff --git a/drivers/firmware/tegra/bpmp-tegra186.c b/drivers/firmware/tegra/bpmp-tegra186.c
> > index 6f0d0511b486..7cfc5fdfa49d 100644
> > --- a/drivers/firmware/tegra/bpmp-tegra186.c
> > +++ b/drivers/firmware/tegra/bpmp-tegra186.c
> > @@ -6,7 +6,7 @@
> >   #include <linux/genalloc.h>
> >   #include <linux/io.h>
> >   #include <linux/mailbox_client.h>
> > -#include <linux/of_address.h>
> > +#include <linux/of_reserved_mem.h>
> >   #include <linux/platform_device.h>
> >   #include <soc/tegra/bpmp.h>
> > @@ -192,16 +192,11 @@ static void tegra186_bpmp_teardown_channels(struct tegra_bpmp *bpmp)
> >   static int tegra186_bpmp_dram_init(struct tegra_bpmp *bpmp)
> >   {
> >   	struct tegra186_bpmp *priv = bpmp->priv;
> > -	struct device_node *np;
> >   	struct resource res;
> >   	size_t size;
> >   	int err;
> > -	np = of_parse_phandle(bpmp->dev->of_node, "memory-region", 0);
> > -	if (!np)
> > -		return -ENODEV;
> > -
> > -	err = of_address_to_resource(np, 0, &res);
> > +	err = of_reserved_mem_region_to_resource(bpmp->dev->of_node, 0, &res);
> >   	if (err < 0) {
> >   		dev_warn(bpmp->dev, "failed to parse memory region: %d\n", err);
> >   		return err;
> 
> 
> This change is now causing the following warning to be observed on Tegra194
> Jetson AGX Xavier platform ...
> 
>  WARNING KERN tegra-bpmp bpmp: failed to parse memory region: -19
> 
> Looking at the binding only one of 'memory-region' or 'shmem' is required
> and for Tegra194 we are using shmem. So I am not sure if it is worth making
> this change for this driver.

I guess the change still makes sense for merging both calls into one but
we now need to check for -ENODEV and not warn about it for this to
remain really equivalent.

I can patch it up.

Thierry
Re: [PATCH] firmware: tegra: bpmp: Use of_reserved_mem_region_to_resource() for "memory-region"
Posted by Thierry Reding 3 months ago
From: Thierry Reding <treding@nvidia.com>


On Thu, 03 Jul 2025 13:34:34 -0500, Rob Herring (Arm) wrote:
> Use the newly added of_reserved_mem_region_to_resource() function to
> handle "memory-region" properties.
> 
> 

Applied, thanks!

[1/1] firmware: tegra: bpmp: Use of_reserved_mem_region_to_resource() for "memory-region"
      commit: dbe4efea38d0a79ed58069499368e08b815952c6

Best regards,
-- 
Thierry Reding <treding@nvidia.com>