mbox series

[v11,0/4] PCI: mediatek: Spilt PCIe node to comply with hardware design

Message ID 20210719073456.28666-1-chuanjia.liu@mediatek.com
Headers show
Series PCI: mediatek: Spilt PCIe node to comply with hardware design | expand

Message

Chuanjia Liu July 19, 2021, 7:34 a.m. UTC
There are two independent PCIe controllers in MT2712 and MT7622 platform.
Each of them should contain an independent MSI domain.

In old dts architecture, MSI domain will be inherited from the root bridge,
and all of the devices will share the same MSI domain.Hence that,
the PCIe devices will not work properly if the irq number 
which required is more than 32.

Split the PCIe node for MT2712 and MT7622 platform to comply with 
the hardware design and fix MSI issue.

change note:
  v11:Rebase for 5.14-rc1 and add "interrupt-names", "linux,pci-domain" 
      description in binding file. No code change.
  v10:Rebase for 5.13-rc1, no code change. 
  v9:fix kernel-ci bot warning. In the scene of using new dts format,
     when mtk_pcie_parse_port fails, of_node_put don't need to be called.
  v8:remove slot node and fix yaml warning.
  v7:dt-bindings file was modified as suggested by Rob, other file no
     change.
  v6:Fix yaml error. make sure driver compatible with old and 
     new DTS format.
  v5:rebase for 5.9-rc1, no code change. 
  v4:change commit message due to bayes statistical bogofilter
     considers this series patch SPAM.
  v3:rebase for 5.8-rc1. Only collect ack of Ryder, No code change.
  v2:change the allocation of MT2712 PCIe MMIO space due to the
     allocation size is not right in v1.

Chuanjia Liu (4):
  dt-bindings: PCI: mediatek: Update the Device tree bindings
  PCI: mediatek: Add new method to get shared pcie-cfg base address and parse node
  arm64: dts: mediatek: Split PCIe node for MT2712 and MT7622
  ARM: dts: mediatek: Update MT7629 PCIe node for new format

  .../bindings/pci/mediatek-pcie-cfg.yaml       |  39 ++++
  .../devicetree/bindings/pci/mediatek-pcie.txt | 206 ++++++++++--------
  arch/arm/boot/dts/mt7629-rfb.dts              |   3 +-
  arch/arm/boot/dts/mt7629.dtsi                 |  45 ++--
  arch/arm64/boot/dts/mediatek/mt2712e.dtsi     |  97 +++++----
  .../dts/mediatek/mt7622-bananapi-bpi-r64.dts  |  16 +-
  arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts  |   6 +-
  arch/arm64/boot/dts/mediatek/mt7622.dtsi      | 112 +++++-----
  drivers/pci/controller/pcie-mediatek.c        |  52 +++--
  9 files changed, 330 insertions(+), 246 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/pci/mediatek-pcie-cfg.yaml

--
2.18.0

Comments

Rob Herring (Arm) July 19, 2021, 10:47 p.m. UTC | #1
On Mon, 19 Jul 2021 15:34:53 +0800, Chuanjia Liu wrote:
> There are two independent PCIe controllers in MT2712 and MT7622

> platform. Each of them should contain an independent MSI domain.

> 

> In old dts architecture, MSI domain will be inherited from the root

> bridge, and all of the devices will share the same MSI domain.

> Hence that, the PCIe devices will not work properly if the irq number

> which required is more than 32.

> 

> Split the PCIe node for MT2712 and MT7622 platform to comply with

> the hardware design and fix MSI issue.

> 

> Signed-off-by: Chuanjia Liu <chuanjia.liu@mediatek.com>

> Acked-by: Ryder Lee <ryder.lee@mediatek.com>

> ---

>  .../bindings/pci/mediatek-pcie-cfg.yaml       |  39 ++++

>  .../devicetree/bindings/pci/mediatek-pcie.txt | 206 ++++++++++--------

>  2 files changed, 150 insertions(+), 95 deletions(-)

>  create mode 100644 Documentation/devicetree/bindings/pci/mediatek-pcie-cfg.yaml

> 



Please add Acked-by/Reviewed-by tags when posting new versions. However,
there's no need to repost patches *only* to add the tags. The upstream
maintainer will do that for acks received on the version they apply.

If a tag was not added on purpose, please state why and what changed.
Chuanjia Liu July 20, 2021, 2:07 a.m. UTC | #2
On Mon, 2021-07-19 at 16:47 -0600, Rob Herring wrote:
> On Mon, 19 Jul 2021 15:34:53 +0800, Chuanjia Liu wrote:

> > There are two independent PCIe controllers in MT2712 and MT7622

> > platform. Each of them should contain an independent MSI domain.

> > 

> > In old dts architecture, MSI domain will be inherited from the root

> > bridge, and all of the devices will share the same MSI domain.

> > Hence that, the PCIe devices will not work properly if the irq number

> > which required is more than 32.

> > 

> > Split the PCIe node for MT2712 and MT7622 platform to comply with

> > the hardware design and fix MSI issue.

> > 

> > Signed-off-by: Chuanjia Liu <chuanjia.liu@mediatek.com>

> > Acked-by: Ryder Lee <ryder.lee@mediatek.com>

> > ---

> >  .../bindings/pci/mediatek-pcie-cfg.yaml       |  39 ++++

> >  .../devicetree/bindings/pci/mediatek-pcie.txt | 206 ++++++++++--------

> >  2 files changed, 150 insertions(+), 95 deletions(-)

> >  create mode 100644 Documentation/devicetree/bindings/pci/mediatek-pcie-cfg.yaml

> > 

> 

> 

> Please add Acked-by/Reviewed-by tags when posting new versions. However,

> there's no need to repost patches *only* to add the tags. The upstream

> maintainer will do that for acks received on the version they apply.

> 

> If a tag was not added on purpose, please state why and what changed.

> 

Hi,Rob
I have described in the cover letter:
v11:Rebase for 5.14-rc1 and add "interrupt-names", "linux,pci-domain" 
    description in binding file. No code change.
if you still ok for this, I will add R-b in next version.

Best regards
> 

> _______________________________________________

> Linux-mediatek mailing list

> Linux-mediatek@lists.infradead.org

> http://lists.infradead.org/mailman/listinfo/linux-mediatek
Rob Herring (Arm) July 20, 2021, 4:26 p.m. UTC | #3
On Mon, Jul 19, 2021 at 8:07 PM Chuanjia Liu <chuanjia.liu@mediatek.com> wrote:
>

> On Mon, 2021-07-19 at 16:47 -0600, Rob Herring wrote:

> > On Mon, 19 Jul 2021 15:34:53 +0800, Chuanjia Liu wrote:

> > > There are two independent PCIe controllers in MT2712 and MT7622

> > > platform. Each of them should contain an independent MSI domain.

> > >

> > > In old dts architecture, MSI domain will be inherited from the root

> > > bridge, and all of the devices will share the same MSI domain.

> > > Hence that, the PCIe devices will not work properly if the irq number

> > > which required is more than 32.

> > >

> > > Split the PCIe node for MT2712 and MT7622 platform to comply with

> > > the hardware design and fix MSI issue.

> > >

> > > Signed-off-by: Chuanjia Liu <chuanjia.liu@mediatek.com>

> > > Acked-by: Ryder Lee <ryder.lee@mediatek.com>

> > > ---

> > >  .../bindings/pci/mediatek-pcie-cfg.yaml       |  39 ++++

> > >  .../devicetree/bindings/pci/mediatek-pcie.txt | 206 ++++++++++--------

> > >  2 files changed, 150 insertions(+), 95 deletions(-)

> > >  create mode 100644 Documentation/devicetree/bindings/pci/mediatek-pcie-cfg.yaml

> > >

> >

> >

> > Please add Acked-by/Reviewed-by tags when posting new versions. However,

> > there's no need to repost patches *only* to add the tags. The upstream

> > maintainer will do that for acks received on the version they apply.

> >

> > If a tag was not added on purpose, please state why and what changed.

> >

> Hi,Rob

> I have described in the cover letter:

> v11:Rebase for 5.14-rc1 and add "interrupt-names", "linux,pci-domain"

>     description in binding file. No code change.

> if you still ok for this, I will add R-b in next version.


Yes, it's fine.

In the future, put the changelog for a patch in the patch.

Rob
Chuanjia Liu July 23, 2021, 7:17 a.m. UTC | #4
On Tue, 2021-07-20 at 10:26 -0600, Rob Herring wrote:
> On Mon, Jul 19, 2021 at 8:07 PM Chuanjia Liu <chuanjia.liu@mediatek.com> wrote:

> >

> > On Mon, 2021-07-19 at 16:47 -0600, Rob Herring wrote:

> > > On Mon, 19 Jul 2021 15:34:53 +0800, Chuanjia Liu wrote:

> > > > There are two independent PCIe controllers in MT2712 and MT7622

> > > > platform. Each of them should contain an independent MSI domain.

> > > >

> > > > In old dts architecture, MSI domain will be inherited from the root

> > > > bridge, and all of the devices will share the same MSI domain.

> > > > Hence that, the PCIe devices will not work properly if the irq number

> > > > which required is more than 32.

> > > >

> > > > Split the PCIe node for MT2712 and MT7622 platform to comply with

> > > > the hardware design and fix MSI issue.

> > > >

> > > > Signed-off-by: Chuanjia Liu <chuanjia.liu@mediatek.com>

> > > > Acked-by: Ryder Lee <ryder.lee@mediatek.com>

> > > > ---

> > > >  .../bindings/pci/mediatek-pcie-cfg.yaml       |  39 ++++

> > > >  .../devicetree/bindings/pci/mediatek-pcie.txt | 206 ++++++++++--------

> > > >  2 files changed, 150 insertions(+), 95 deletions(-)

> > > >  create mode 100644 Documentation/devicetree/bindings/pci/mediatek-pcie-cfg.yaml

> > > >

> > >

> > >

> > > Please add Acked-by/Reviewed-by tags when posting new versions. However,

> > > there's no need to repost patches *only* to add the tags. The upstream

> > > maintainer will do that for acks received on the version they apply.

> > >

> > > If a tag was not added on purpose, please state why and what changed.

> > >

> > Hi,Rob

> > I have described in the cover letter:

> > v11:Rebase for 5.14-rc1 and add "interrupt-names", "linux,pci-domain"

> >     description in binding file. No code change.

> > if you still ok for this, I will add R-b in next version.

> 

> Yes, it's fine.

> 

> In the future, put the changelog for a patch in the patch.

Hi, Rob
 Thanks for you suggestion, I will do this in future versions.
Best regards
Lorenzo Pieralisi Aug. 6, 2021, 9:39 a.m. UTC | #5
On Mon, 19 Jul 2021 15:34:52 +0800, Chuanjia Liu wrote:
> There are two independent PCIe controllers in MT2712 and MT7622 platform.

> Each of them should contain an independent MSI domain.

> 

> In old dts architecture, MSI domain will be inherited from the root bridge,

> and all of the devices will share the same MSI domain.Hence that,

> the PCIe devices will not work properly if the irq number

> which required is more than 32.

> 

> [...]


Applied patches 1-2 to pci/mediatek (we don't merge dts changes), thanks!

[1/2] dt-bindings: PCI: mediatek: Update the Device tree bindings
      https://git.kernel.org/lpieralisi/pci/c/9c23251640
[2/2] PCI: mediatek: Add new method to get shared pcie-cfg base address and parse node
      https://git.kernel.org/lpieralisi/pci/c/302e503e08

Thanks,
Lorenzo
Chuanjia Liu Aug. 8, 2021, 4:50 a.m. UTC | #6
On Fri, 2021-08-06 at 10:39 +0100, Lorenzo Pieralisi wrote:
> On Mon, 19 Jul 2021 15:34:52 +0800, Chuanjia Liu wrote:

> > There are two independent PCIe controllers in MT2712 and MT7622

> > platform.

> > Each of them should contain an independent MSI domain.

> > 

> > In old dts architecture, MSI domain will be inherited from the root

> > bridge,

> > and all of the devices will share the same MSI domain.Hence that,

> > the PCIe devices will not work properly if the irq number

> > which required is more than 32.

> > 

> > [...]

> 

> Applied patches 1-2 to pci/mediatek (we don't merge dts changes),

> thanks!

> 

> [1/2] dt-bindings: PCI: mediatek: Update the Device tree bindings

>       https://git.kernel.org/lpieralisi/pci/c/9c23251640

> [2/2] PCI: mediatek: Add new method to get shared pcie-cfg base

> address and parse node

>       https://git.kernel.org/lpieralisi/pci/c/302e503e08

> 

> Thanks,

> Lorenzo


Hi, matthias
Could you help apply dts changes(patch 3-4)?
Lorenzo helped to apply the driver part, and dts part
hopes to apply together.

Best Regards

> _______________________________________________

> Linux-mediatek mailing list

> Linux-mediatek@lists.infradead.org

> http://lists.infradead.org/mailman/listinfo/linux-mediatek