All of lore.kernel.org
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzk@kernel.org>
To: Cui Chao <cuichao1753@phytium.com.cn>,
	Will Deacon <will@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Bjorn Helgaas <bhelgaas@google.com>
Cc: "Lorenzo Pieralisi" <lpieralisi@kernel.org>,
	"Krzysztof Wilczyński" <kwilczynski@kernel.org>,
	"Manivannan Sadhasivam" <mani@kernel.org>,
	"Rob Herring" <robh@kernel.org>,
	"Wang Yinfeng" <wangyinfeng@phytium.com.cn>,
	linux-pci@vger.kernel.org, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] dt-bindings: PCI: Add linux,pci-domain-reuse property
Date: Thu, 5 Nov 2026 08:46:51 +0100	[thread overview]
Message-ID: <aee09c71-2f5f-49da-8cd6-09df3ba01fe1@kernel.org> (raw)
In-Reply-To: <c6af23c8-ee5a-47b7-bdf1-dc853ea388d9@phytium.com.cn>

On 05/11/2026 08:35, Cui Chao wrote:
> 
> On 11/4/2026 3:23 PM, Krzysztof Kozlowski wrote:
>> On 03/11/2026 03:57, Cui Chao wrote:
>>> On 11/2/2026 6:00 PM, Krzysztof Kozlowski wrote:
>>>> On 02/11/2026 10:51, Cui Chao wrote:
>>>>> Add a new optional boolean property 'linux,pci-domain-reuse' for PCI
>>>>> host bridges.
>>>>>
>>>>> By default, the 'linux,pci-domain' property must be unique across all
>>>>> host bridges. This property allows a host bridge to explicitly opt-out
>>>>> of this uniqueness check, permitting multiple host bridges to reuse the
>>>>> same software domain number.
>>>> Why isn't this deducible from the compatibles?
>>> Hi Krzysztof,
>>>
>>> Thanks.
>>>
>>> The compatible cannot express this. "pci-host-ecam-generic" only
>> You have vendor specific compatibles, no?
> 
> 
> I used a tool to assist me earlier. I will now discuss directly.
> The driver used by our hardware is not a vendor specific driver but
> the generic "pci-host-generic" driver, so previously the compatible
> in our DTS was only "pci-host-ecam-generic", with no vendor specific
> compatibles.

Why aren't you using vendor specific compatible?

> 
>>> describes how configuration space is accessed; it does not describe
>>> whether two host bridge instances may share one Linux PCI domain.
>>>
>>> The same compatible is used on systems where every host bridge must
>>> have a unique domain and on this system where two RCs intentionally
>>> share a domain with disjoint bus ranges and resource windows.
>>> Comparing the compatible strings of the nodes therefore cannot
>>> distinguish our case.
>> OK, so let's look at your DTS - where is it posted for upstream?
> 
> 
> The DTS has not been uploaded upstream. Below is our DTS (with

So do we need the property in upstream in such case?

> irrelevant information such as interrupts and IOMMU omitted). Both
> nodes use only "pci-host-ecam-generic", and their resources do not
> overlap, but the domain is the same.
> 
>   pcie0: pcie@80000000 {
>          compatible = "pci-host-ecam-generic";
>          device_type = "pci";
>          #address-cells = <0x3>;
>          #size-cells = <0x2>;
>          #interrupt-cells = <0x1>;
>          reg = <0x0 0x80000000 0x0 0x8000000>;
>          linux,pci-domain = <0>;
>          bus-range = <0x0 0x7f>;
>          ranges = <0x1000000 0x0 0x100000 0x0 0x10000000 0x0 0x100000
>                            0x2000000 0x0 0x20000000 0x0 0x20000000 0x0 
> 0x10000000
>                            0x43000000 0x200 0x0 0x200 0x0 0x100 0x0>;
>   };
> 
>   pcie1: pcie@88000000 {
>          compatible = "pci-host-ecam-generic";
>          device_type = "pci";
>          #address-cells = <0x3>;
>          #size-cells = <0x2>;
>          #interrupt-cells = <0x1>;
>          reg = <0x0 0x88000000 0x0 0x8000000>;
>          linux,pci-domain = <0>;
>          bus-range = <0x80 0xff>;
>          ranges = <0x1000000 0x0 0x200000 0x0 0x10100000 0x0 0x100000
>                            0x2000000 0x0 0x30000000 0x0 0x30000000 0x0 
> 0x10000000
>                            0x43000000 0x300 0x0 0x300 0x0 0x100 0x0>;
>   };
> 

Anyway, I clearly see no usage of linux,pci-domain-reuse in above code,
so I think this closes the case.


Best regards,
Krzysztof

  reply	other threads:[~2026-11-05  7:46 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-02  9:51 [RFC PATCH 0/2] Allow reusing PCI domain numbers in DT Cui Chao
2026-11-02  9:51 ` [PATCH 1/2] dt-bindings: PCI: Add linux,pci-domain-reuse property Cui Chao
2026-11-02  9:58   ` sashiko-bot
2026-11-02 10:00   ` Krzysztof Kozlowski
2026-11-03  2:57     ` Cui Chao
2026-11-04  7:23       ` Krzysztof Kozlowski
2026-11-05  7:35         ` Cui Chao
2026-11-05  7:46           ` Krzysztof Kozlowski [this message]
2026-11-02  9:51 ` [PATCH 2/2] PCI: Allow reusing PCI domain numbers in DT Cui Chao
2026-11-02 10:02   ` sashiko-bot

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=aee09c71-2f5f-49da-8cd6-09df3ba01fe1@kernel.org \
    --to=krzk@kernel.org \
    --cc=bhelgaas@google.com \
    --cc=conor+dt@kernel.org \
    --cc=cuichao1753@phytium.com.cn \
    --cc=devicetree@vger.kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=kwilczynski@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=lpieralisi@kernel.org \
    --cc=mani@kernel.org \
    --cc=robh@kernel.org \
    --cc=wangyinfeng@phytium.com.cn \
    --cc=will@kernel.org \
    /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.