All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Vidya Sagar <vidyas@nvidia.com>
To: Punit Agrawal <punitagrawal@gmail.com>, <helgaas@kernel.org>,
	<robh+dt@kernel.org>
Cc: <linux-rockchip@lists.infradead.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>, <linux-pci@vger.kernel.org>,
	<alexandru.elisei@arm.com>, <wqu@suse.com>,
	<robin.murphy@arm.com>, <pgwipeout@gmail.com>, <ardb@kernel.org>,
	<briannorris@chromium.org>, <shawn.lin@rock-chips.com>
Subject: Re: [PATCH v3 2/4] PCI: of: Relax the condition for warning about non-prefetchable memory aperture size
Date: Wed, 9 Jun 2021 00:36:08 +0530	[thread overview]
Message-ID: <ac6bf3c8-fe8e-5897-b225-699a7c46a818@nvidia.com> (raw)
In-Reply-To: <20210607112856.3499682-3-punitagrawal@gmail.com>



On 6/7/2021 4:58 PM, Punit Agrawal wrote:
> External email: Use caution opening links or attachments
> 
> 
> Commit fede8526cc48 ("PCI: of: Warn if non-prefetchable memory
> aperture size is > 32-bit") introduced a warning for non-prefetchable
> resources that need more than 32bits to resolve. It turns out that the
> check is too restrictive and should be applicable to only resources
> that are limited to host bridge windows that don't have the ability to
> map 64-bit address space.
I think the host bridge windows having the ability to map 64-bit address 
space is different from restricting the non-prefetchable memory aperture 
size to 32-bit.
Whether the host bridge uses internal translations or not to map the 
non-prefetchable resources to 64-bit space, the size needs to be 
programmed in the host bridge's 'Memory Limit Register (Offset 22h)' 
which can represent sizes only fit into 32-bits.
Host bridges having the ability to map 64-bit address spaces gives 
flexibility to utilize the vast 64-bit space for the (restrictive) 
non-prefetchable memory (i.e. mapping non-prefetchable BARs of endpoints 
to the 64-bit space in CPU's view) and get it translated internally and 
put a 32-bit address on the PCIe bus finally.

- Vidya Sagar
> 
> Relax the condition to only warn when the resource size requires >
> 32-bits and doesn't allow mapping to 64-bit addresses.
> 
> Link: https://lore.kernel.org/r/7a1e2ebc-f7d8-8431-d844-41a9c36a8911@arm.com
> Signed-off-by: Punit Agrawal <punitagrawal@gmail.com>
> Tested-by: Alexandru Elisei <alexandru.elisei@arm.com>
> Cc: Vidya Sagar <vidyas@nvidia.com>
> ---
>   drivers/pci/of.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/pci/of.c b/drivers/pci/of.c
> index 1e45186a5715..38fe2589beb0 100644
> --- a/drivers/pci/of.c
> +++ b/drivers/pci/of.c
> @@ -581,7 +581,8 @@ static int pci_parse_request_of_pci_ranges(struct device *dev,
>                          res_valid |= !(res->flags & IORESOURCE_PREFETCH);
> 
>                          if (!(res->flags & IORESOURCE_PREFETCH))
> -                               if (upper_32_bits(resource_size(res)))
> +                               if (!(res->flags & IORESOURCE_MEM_64) &&
> +                                   upper_32_bits(resource_size(res)))
>                                          dev_warn(dev, "Memory resource size exceeds max for 32 bits\n");
> 
>                          break;
> --
> 2.30.2
> 

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

WARNING: multiple messages have this Message-ID (diff)
From: Vidya Sagar <vidyas@nvidia.com>
To: Punit Agrawal <punitagrawal@gmail.com>, <helgaas@kernel.org>,
	<robh+dt@kernel.org>
Cc: <linux-rockchip@lists.infradead.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>, <linux-pci@vger.kernel.org>,
	<alexandru.elisei@arm.com>, <wqu@suse.com>,
	<robin.murphy@arm.com>, <pgwipeout@gmail.com>, <ardb@kernel.org>,
	<briannorris@chromium.org>, <shawn.lin@rock-chips.com>
Subject: Re: [PATCH v3 2/4] PCI: of: Relax the condition for warning about non-prefetchable memory aperture size
Date: Wed, 9 Jun 2021 00:36:08 +0530	[thread overview]
Message-ID: <ac6bf3c8-fe8e-5897-b225-699a7c46a818@nvidia.com> (raw)
In-Reply-To: <20210607112856.3499682-3-punitagrawal@gmail.com>



On 6/7/2021 4:58 PM, Punit Agrawal wrote:
> External email: Use caution opening links or attachments
> 
> 
> Commit fede8526cc48 ("PCI: of: Warn if non-prefetchable memory
> aperture size is > 32-bit") introduced a warning for non-prefetchable
> resources that need more than 32bits to resolve. It turns out that the
> check is too restrictive and should be applicable to only resources
> that are limited to host bridge windows that don't have the ability to
> map 64-bit address space.
I think the host bridge windows having the ability to map 64-bit address 
space is different from restricting the non-prefetchable memory aperture 
size to 32-bit.
Whether the host bridge uses internal translations or not to map the 
non-prefetchable resources to 64-bit space, the size needs to be 
programmed in the host bridge's 'Memory Limit Register (Offset 22h)' 
which can represent sizes only fit into 32-bits.
Host bridges having the ability to map 64-bit address spaces gives 
flexibility to utilize the vast 64-bit space for the (restrictive) 
non-prefetchable memory (i.e. mapping non-prefetchable BARs of endpoints 
to the 64-bit space in CPU's view) and get it translated internally and 
put a 32-bit address on the PCIe bus finally.

- Vidya Sagar
> 
> Relax the condition to only warn when the resource size requires >
> 32-bits and doesn't allow mapping to 64-bit addresses.
> 
> Link: https://lore.kernel.org/r/7a1e2ebc-f7d8-8431-d844-41a9c36a8911@arm.com
> Signed-off-by: Punit Agrawal <punitagrawal@gmail.com>
> Tested-by: Alexandru Elisei <alexandru.elisei@arm.com>
> Cc: Vidya Sagar <vidyas@nvidia.com>
> ---
>   drivers/pci/of.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/pci/of.c b/drivers/pci/of.c
> index 1e45186a5715..38fe2589beb0 100644
> --- a/drivers/pci/of.c
> +++ b/drivers/pci/of.c
> @@ -581,7 +581,8 @@ static int pci_parse_request_of_pci_ranges(struct device *dev,
>                          res_valid |= !(res->flags & IORESOURCE_PREFETCH);
> 
>                          if (!(res->flags & IORESOURCE_PREFETCH))
> -                               if (upper_32_bits(resource_size(res)))
> +                               if (!(res->flags & IORESOURCE_MEM_64) &&
> +                                   upper_32_bits(resource_size(res)))
>                                          dev_warn(dev, "Memory resource size exceeds max for 32 bits\n");
> 
>                          break;
> --
> 2.30.2
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Vidya Sagar <vidyas@nvidia.com>
To: Punit Agrawal <punitagrawal@gmail.com>, <helgaas@kernel.org>,
	<robh+dt@kernel.org>
Cc: <linux-rockchip@lists.infradead.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>, <linux-pci@vger.kernel.org>,
	<alexandru.elisei@arm.com>, <wqu@suse.com>,
	<robin.murphy@arm.com>, <pgwipeout@gmail.com>, <ardb@kernel.org>,
	<briannorris@chromium.org>, <shawn.lin@rock-chips.com>
Subject: Re: [PATCH v3 2/4] PCI: of: Relax the condition for warning about non-prefetchable memory aperture size
Date: Wed, 9 Jun 2021 00:36:08 +0530	[thread overview]
Message-ID: <ac6bf3c8-fe8e-5897-b225-699a7c46a818@nvidia.com> (raw)
In-Reply-To: <20210607112856.3499682-3-punitagrawal@gmail.com>



On 6/7/2021 4:58 PM, Punit Agrawal wrote:
> External email: Use caution opening links or attachments
> 
> 
> Commit fede8526cc48 ("PCI: of: Warn if non-prefetchable memory
> aperture size is > 32-bit") introduced a warning for non-prefetchable
> resources that need more than 32bits to resolve. It turns out that the
> check is too restrictive and should be applicable to only resources
> that are limited to host bridge windows that don't have the ability to
> map 64-bit address space.
I think the host bridge windows having the ability to map 64-bit address 
space is different from restricting the non-prefetchable memory aperture 
size to 32-bit.
Whether the host bridge uses internal translations or not to map the 
non-prefetchable resources to 64-bit space, the size needs to be 
programmed in the host bridge's 'Memory Limit Register (Offset 22h)' 
which can represent sizes only fit into 32-bits.
Host bridges having the ability to map 64-bit address spaces gives 
flexibility to utilize the vast 64-bit space for the (restrictive) 
non-prefetchable memory (i.e. mapping non-prefetchable BARs of endpoints 
to the 64-bit space in CPU's view) and get it translated internally and 
put a 32-bit address on the PCIe bus finally.

- Vidya Sagar
> 
> Relax the condition to only warn when the resource size requires >
> 32-bits and doesn't allow mapping to 64-bit addresses.
> 
> Link: https://lore.kernel.org/r/7a1e2ebc-f7d8-8431-d844-41a9c36a8911@arm.com
> Signed-off-by: Punit Agrawal <punitagrawal@gmail.com>
> Tested-by: Alexandru Elisei <alexandru.elisei@arm.com>
> Cc: Vidya Sagar <vidyas@nvidia.com>
> ---
>   drivers/pci/of.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/pci/of.c b/drivers/pci/of.c
> index 1e45186a5715..38fe2589beb0 100644
> --- a/drivers/pci/of.c
> +++ b/drivers/pci/of.c
> @@ -581,7 +581,8 @@ static int pci_parse_request_of_pci_ranges(struct device *dev,
>                          res_valid |= !(res->flags & IORESOURCE_PREFETCH);
> 
>                          if (!(res->flags & IORESOURCE_PREFETCH))
> -                               if (upper_32_bits(resource_size(res)))
> +                               if (!(res->flags & IORESOURCE_MEM_64) &&
> +                                   upper_32_bits(resource_size(res)))
>                                          dev_warn(dev, "Memory resource size exceeds max for 32 bits\n");
> 
>                          break;
> --
> 2.30.2
> 

  reply	other threads:[~2021-06-08 19:06 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-07 11:28 [PATCH v3 0/4] PCI: of: Improvements to handle 64-bit attribute for non-prefetchable ranges Punit Agrawal
2021-06-07 11:28 ` Punit Agrawal
2021-06-07 11:28 ` Punit Agrawal
2021-06-07 11:28 ` [PATCH v3 1/4] PCI: of: Clear 64-bit flag for non-prefetchable memory below 4GB Punit Agrawal
2021-06-07 11:28   ` Punit Agrawal
2021-06-07 11:28   ` Punit Agrawal
2021-06-10  0:22   ` Bjorn Helgaas
2021-06-10  0:22     ` Bjorn Helgaas
2021-06-10  0:22     ` Bjorn Helgaas
2021-06-10 13:34     ` Punit Agrawal
2021-06-10 13:34       ` Punit Agrawal
2021-06-10 13:34       ` Punit Agrawal
2021-06-10 18:28       ` Bjorn Helgaas
2021-06-10 18:28         ` Bjorn Helgaas
2021-06-10 18:28         ` Bjorn Helgaas
2021-06-07 11:28 ` [PATCH v3 2/4] PCI: of: Relax the condition for warning about non-prefetchable memory aperture size Punit Agrawal
2021-06-07 11:28   ` Punit Agrawal
2021-06-07 11:28   ` Punit Agrawal
2021-06-08 19:06   ` Vidya Sagar [this message]
2021-06-08 19:06     ` Vidya Sagar
2021-06-08 19:06     ` Vidya Sagar
2021-06-10  4:04     ` Bjorn Helgaas
2021-06-10  4:04       ` Bjorn Helgaas
2021-06-10  4:04       ` Bjorn Helgaas
2021-06-10 14:11       ` Punit Agrawal
2021-06-10 14:11         ` Punit Agrawal
2021-06-10 14:11         ` Punit Agrawal
2021-06-10 19:58         ` Bjorn Helgaas
2021-06-10 19:58           ` Bjorn Helgaas
2021-06-10 19:58           ` Bjorn Helgaas
2021-06-07 11:28 ` [PATCH v3 3/4] PCI: of: Refactor the check for non-prefetchable 32-bit window Punit Agrawal
2021-06-07 11:28   ` Punit Agrawal
2021-06-07 11:28   ` Punit Agrawal
2021-06-07 11:28 ` [PATCH v3 4/4] arm64: dts: rockchip: Update PCI host bridge window to 32-bit address memory Punit Agrawal
2021-06-07 11:28   ` Punit Agrawal
2021-06-07 11:28   ` Punit Agrawal
2021-06-10 21:50   ` Heiko Stübner
2021-06-10 21:50     ` Heiko Stübner
2021-06-10 21:50     ` Heiko Stübner
2021-06-11 14:38     ` Punit Agrawal
2021-06-11 14:38       ` Punit Agrawal
2021-06-11 14:38       ` Punit Agrawal
2021-06-15 21:29     ` Rob Herring
2021-06-15 21:29       ` Rob Herring
2021-06-15 21:29       ` Rob Herring
2021-06-15 21:49       ` Heiko Stübner
2021-06-15 21:49         ` Heiko Stübner
2021-06-15 21:49         ` Heiko Stübner
2021-06-16 13:00         ` Punit Agrawal
2021-06-16 13:00           ` Punit Agrawal
2021-06-16 13:00           ` Punit Agrawal
2021-06-09 16:08 ` [PATCH v3 0/4] PCI: of: Improvements to handle 64-bit attribute for non-prefetchable ranges Marc Zyngier
2021-06-09 16:08   ` Marc Zyngier
2021-06-09 16:08   ` Marc Zyngier
2021-06-10 14:17   ` Punit Agrawal
2021-06-10 14:17     ` Punit Agrawal
2021-06-10 14:17     ` Punit Agrawal
2021-06-10  9:05 ` Anand Moon
2021-06-10  9:05   ` Anand Moon
2021-06-10  9:05   ` Anand Moon
2021-06-10 14:25   ` Punit Agrawal
2021-06-10 14:25     ` Punit Agrawal
2021-06-10 14:25     ` Punit Agrawal
2021-06-10 18:36     ` Anand Moon
2021-06-10 18:36       ` Anand Moon
2021-06-10 18:36       ` Anand Moon
2021-06-11 22:15 ` (subset) " Heiko Stuebner
2021-06-11 22:15   ` Heiko Stuebner
2021-06-11 22:15   ` Heiko Stuebner

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=ac6bf3c8-fe8e-5897-b225-699a7c46a818@nvidia.com \
    --to=vidyas@nvidia.com \
    --cc=alexandru.elisei@arm.com \
    --cc=ardb@kernel.org \
    --cc=briannorris@chromium.org \
    --cc=helgaas@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=pgwipeout@gmail.com \
    --cc=punitagrawal@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=shawn.lin@rock-chips.com \
    --cc=wqu@suse.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.