Message ID | 20240528-pci2_upstream-v5-0-750aa7edb8e2@nxp.com (mailing list archive) |
---|---|
Headers | show |
Series | PCI: imx6: Fix\rename\clean up and add lut information for imx95 | expand |
On Tue, May 28, 2024 at 03:39:13PM -0400, Frank Li wrote: > Fixed 8mp EP mode problem. > > imx6 actaully for all imx chips (imx6*, imx7*, imx8*, imx9*). To avoid > confuse, rename all imx6_* to imx_*, IMX6_* to IMX_*. pci-imx6.c to > pci-imx.c to avoid confuse. > > Using callback to reduce switch case for core reset and refclk. > > Add imx95 iommux and its stream id information. > > Base on linux-pci/controller/imx This applies cleanly to the pci/controller/gpio branch, which has some minor rework in pci-imx6.c. When we apply this, I think we should do it on a a pci/controller/imx6 branch that is based on "main" (v6.10-rc1). I can resolve the conflicts with pci/controller/gpio when building pci/next. Bjorn
On Tue, May 28, 2024 at 05:31:36PM -0500, Bjorn Helgaas wrote: > On Tue, May 28, 2024 at 03:39:13PM -0400, Frank Li wrote: > > Fixed 8mp EP mode problem. > > > > imx6 actaully for all imx chips (imx6*, imx7*, imx8*, imx9*). To avoid > > confuse, rename all imx6_* to imx_*, IMX6_* to IMX_*. pci-imx6.c to > > pci-imx.c to avoid confuse. > > > > Using callback to reduce switch case for core reset and refclk. > > > > Add imx95 iommux and its stream id information. > > > > Base on linux-pci/controller/imx > > This applies cleanly to the pci/controller/gpio branch, which has some > minor rework in pci-imx6.c. > > When we apply this, I think we should do it on a a pci/controller/imx6 > branch that is based on "main" (v6.10-rc1). > > I can resolve the conflicts with pci/controller/gpio when building > pci/next. Sorry, I forget update this. It should be base on linux-pci/next (e3fca37312892122d73f8c5293c0d1cc8c34500b). commit e3fca37312892122d73f8c5293c0d1cc8c34500b (pci/next, linux-pci/next) Merge: 86e0cd3da71b5 d19a86d584e04 Author: Bjorn Helgaas <bhelgaas@google.com> Date: Tue May 28 12:34:12 2024 -0500 Merge branch 'pci/controller/tegra194' - Ensure Tegra194 and Tegra234 inbound ATU entries are 64KB-aligned to match the hardware restriction (Jon Hunter) * pci/controller/tegra194: PCI: tegra194: Set EP alignment restriction for inbound ATU > > Bjorn
On Wed, May 29, 2024 at 11:00:49AM -0400, Frank Li wrote: > On Tue, May 28, 2024 at 05:31:36PM -0500, Bjorn Helgaas wrote: > > On Tue, May 28, 2024 at 03:39:13PM -0400, Frank Li wrote: > ... > > > Base on linux-pci/controller/imx > > > > This applies cleanly to the pci/controller/gpio branch, which has some > > minor rework in pci-imx6.c. > > > > When we apply this, I think we should do it on a a pci/controller/imx6 > > branch that is based on "main" (v6.10-rc1). > > > > I can resolve the conflicts with pci/controller/gpio when building > > pci/next. > > Sorry, I forget update this. It should be base on linux-pci/next > (e3fca37312892122d73f8c5293c0d1cc8c34500b). I prefer patches that are based on -rc1, i.e., the pci/main branch, not on the pci/next branch. If a series *requires* functionality that is already on a topic branch, you can base it on that branch instead of on pci/main. This series happens to touch some of the same code as pci/controller/gpio, but it doesn't require those gpio changes, so it does not need to be based on pci/controller/gpio. Having this series based on pci/main means that if we update or drop the gpio branch for some reason, this series will still make sense. Bjorn
On Thu, May 30, 2024 at 12:27:49PM -0500, Bjorn Helgaas wrote: > On Wed, May 29, 2024 at 11:00:49AM -0400, Frank Li wrote: > > On Tue, May 28, 2024 at 05:31:36PM -0500, Bjorn Helgaas wrote: > > > On Tue, May 28, 2024 at 03:39:13PM -0400, Frank Li wrote: > > ... > > > > > Base on linux-pci/controller/imx > > > > > > This applies cleanly to the pci/controller/gpio branch, which has some > > > minor rework in pci-imx6.c. > > > > > > When we apply this, I think we should do it on a a pci/controller/imx6 > > > branch that is based on "main" (v6.10-rc1). > > > > > > I can resolve the conflicts with pci/controller/gpio when building > > > pci/next. > > > > Sorry, I forget update this. It should be base on linux-pci/next > > (e3fca37312892122d73f8c5293c0d1cc8c34500b). > > I prefer patches that are based on -rc1, i.e., the pci/main branch, > not on the pci/next branch. > > If a series *requires* functionality that is already on a topic > branch, you can base it on that branch instead of on pci/main. > > This series happens to touch some of the same code as > pci/controller/gpio, but it doesn't require those gpio changes, so it > does not need to be based on pci/controller/gpio. > > Having this series based on pci/main means that if we update or drop > the gpio branch for some reason, this series will still make sense. v4 should cleanly apply to pci/main. It is not big deal. Do you have any additional comments for this series? We still have some other works (such as simply suspend/resume by using common PME turn off method), which base on this series. Frank > > Bjorn
On Tue, May 28, 2024 at 03:39:13PM -0400, Frank Li wrote: > Fixed 8mp EP mode problem. hi Manivannan: Do you have any additional comments except for the patch Config look up table(LUT) to support MSI ITS and IOMMU for i.MX95? Frank Li > > imx6 actaully for all imx chips (imx6*, imx7*, imx8*, imx9*). To avoid > confuse, rename all imx6_* to imx_*, IMX6_* to IMX_*. pci-imx6.c to > pci-imx.c to avoid confuse. > > Using callback to reduce switch case for core reset and refclk. > > Add imx95 iommux and its stream id information. > > Base on linux-pci/controller/imx > > To: Richard Zhu <hongxing.zhu@nxp.com> > To: Lucas Stach <l.stach@pengutronix.de> > To: Lorenzo Pieralisi <lpieralisi@kernel.org> > To: Krzysztof Wilczyński <kw@linux.com> > To: Rob Herring <robh@kernel.org> > To: Bjorn Helgaas <bhelgaas@google.com> > To: Shawn Guo <shawnguo@kernel.org> > To: Sascha Hauer <s.hauer@pengutronix.de> > To: Pengutronix Kernel Team <kernel@pengutronix.de> > To: Fabio Estevam <festevam@gmail.com> > To: NXP Linux Team <linux-imx@nxp.com> > To: Philipp Zabel <p.zabel@pengutronix.de> > To: Liam Girdwood <lgirdwood@gmail.com> > To: Mark Brown <broonie@kernel.org> > To: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> > To: Conor Dooley <conor+dt@kernel.org> > Cc: linux-pci@vger.kernel.org > Cc: imx@lists.linux.dev > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-kernel@vger.kernel.org > Cc: bpf@vger.kernel.org > Cc: devicetree@vger.kernel.org > Signed-off-by: Frank Li <Frank.Li@nxp.com> > > Changes in v5: > - Rebase to linux-pci next. fix conflict with gpiod change > - Add rob and cornor's review tag > - Link to v4: https://lore.kernel.org/r/20240507-pci2_upstream-v4-0-e8c80d874057@nxp.com > > Changes in v4: > - Improve comment message for patch 1 and 2. > - Rework commit message for patch 3 and add mani's review tag > - Remove file rename patch and update maintainer patch > - [PATCH v3 06/11] PCI: imx: Simplify switch-case logic by involve set_ref_clk callback > remove extra space. > keep original comments format (wrap at 80 column width) > update error message "'Failed to enable PCIe REFCLK'" > - PATCH v3 07/11] PCI: imx: Simplify switch-case logic by involve core_reset callback > keep exact the logic as original code > - Add patch to update comment about workaround ERR010728 > - Add patch about help function imx_pcie_match_device() > - Using bus device notify to update LUT information for imx95 to avoid > parse iommu-map and msi-map in driver code. Bus notify will better and > only update lut when device added. > - split patch call PHY interface function. > - Improve commit message for imx8q. remove local-address dts proptery. and > use standard "range" to convert cpu address to bus address. > - Check entry in cpu_fix function is too late. Check it at probe > - Link to v3: https://lore.kernel.org/r/20240402-pci2_upstream-v3-0-803414bdb430@nxp.com > > Changes in v3: > - Add an EP fixed patch > PCI: imx6: Fix PCIe link down when i.MX8MM and i.MX8MP PCIe is EP mode > PCI: imx6: Fix i.MX8MP PCIe EP can not trigger MSI > - Add 8qxp rc support > dt-bing yaml pass binding check > make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j8 dt_binding_check DT_SCHEMA_FILES=fsl,imx6q-pcie.yaml > LINT Documentation/devicetree/bindings > DTEX Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.example.dts > CHKDT Documentation/devicetree/bindings/processed-schema.json > SCHEMA Documentation/devicetree/bindings/processed-schema.json > DTC_CHK Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.example.dtb > > - Link to v2: https://lore.kernel.org/r/20240304-pci2_upstream-v2-0-ad07c5eb6d67@nxp.com > > Changes in v2: > - remove file to 'pcie-imx.c' > - keep CONFIG unchange. > - Link to v1: https://lore.kernel.org/r/20240227-pci2_upstream-v1-0-b952f8333606@nxp.com > > --- > Frank Li (8): > PCI: imx6: Rename imx6_* with imx_* > PCI: imx6: Introduce SoC specific callbacks for controlling REFCLK > PCI: imx6: Simplify switch-case logic by involve core_reset callback > PCI: imx6: Improve comment for workaround ERR010728 > PCI: imx6: Add help function imx_pcie_match_device() > PCI: imx6: Config look up table(LUT) to support MSI ITS and IOMMU for i.MX95 > PCI: imx6: Consolidate redundant if-checks > PCI: imx6: Call: Common PHY API to set mode, speed, and submode > > Richard Zhu (4): > PCI: imx6: Fix establish link failure in EP mode for iMX8MM and iMX8MP > PCI: imx6: Fix i.MX8MP PCIe EP's occasional failure to trigger MSI > dt-bindings: imx6q-pcie: Add i.MX8Q pcie compatible string > PCI: imx6: Add i.MX8Q PCIe root complex (RC) support > > .../devicetree/bindings/pci/fsl,imx6q-pcie.yaml | 16 + > drivers/pci/controller/dwc/pci-imx6.c | 1181 ++++++++++++-------- > 2 files changed, 730 insertions(+), 467 deletions(-) > --- > base-commit: 50d96936b7b1be01bcc7b9ff898191214ee72697 > change-id: 20240227-pci2_upstream-0cdd19a15163 > > Best regards, > --- > Frank Li <Frank.Li@nxp.com> >
Fixed 8mp EP mode problem. imx6 actaully for all imx chips (imx6*, imx7*, imx8*, imx9*). To avoid confuse, rename all imx6_* to imx_*, IMX6_* to IMX_*. pci-imx6.c to pci-imx.c to avoid confuse. Using callback to reduce switch case for core reset and refclk. Add imx95 iommux and its stream id information. Base on linux-pci/controller/imx To: Richard Zhu <hongxing.zhu@nxp.com> To: Lucas Stach <l.stach@pengutronix.de> To: Lorenzo Pieralisi <lpieralisi@kernel.org> To: Krzysztof Wilczyński <kw@linux.com> To: Rob Herring <robh@kernel.org> To: Bjorn Helgaas <bhelgaas@google.com> To: Shawn Guo <shawnguo@kernel.org> To: Sascha Hauer <s.hauer@pengutronix.de> To: Pengutronix Kernel Team <kernel@pengutronix.de> To: Fabio Estevam <festevam@gmail.com> To: NXP Linux Team <linux-imx@nxp.com> To: Philipp Zabel <p.zabel@pengutronix.de> To: Liam Girdwood <lgirdwood@gmail.com> To: Mark Brown <broonie@kernel.org> To: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> To: Conor Dooley <conor+dt@kernel.org> Cc: linux-pci@vger.kernel.org Cc: imx@lists.linux.dev Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org Cc: bpf@vger.kernel.org Cc: devicetree@vger.kernel.org Signed-off-by: Frank Li <Frank.Li@nxp.com> Changes in v5: - Rebase to linux-pci next. fix conflict with gpiod change - Add rob and cornor's review tag - Link to v4: https://lore.kernel.org/r/20240507-pci2_upstream-v4-0-e8c80d874057@nxp.com Changes in v4: - Improve comment message for patch 1 and 2. - Rework commit message for patch 3 and add mani's review tag - Remove file rename patch and update maintainer patch - [PATCH v3 06/11] PCI: imx: Simplify switch-case logic by involve set_ref_clk callback remove extra space. keep original comments format (wrap at 80 column width) update error message "'Failed to enable PCIe REFCLK'" - PATCH v3 07/11] PCI: imx: Simplify switch-case logic by involve core_reset callback keep exact the logic as original code - Add patch to update comment about workaround ERR010728 - Add patch about help function imx_pcie_match_device() - Using bus device notify to update LUT information for imx95 to avoid parse iommu-map and msi-map in driver code. Bus notify will better and only update lut when device added. - split patch call PHY interface function. - Improve commit message for imx8q. remove local-address dts proptery. and use standard "range" to convert cpu address to bus address. - Check entry in cpu_fix function is too late. Check it at probe - Link to v3: https://lore.kernel.org/r/20240402-pci2_upstream-v3-0-803414bdb430@nxp.com Changes in v3: - Add an EP fixed patch PCI: imx6: Fix PCIe link down when i.MX8MM and i.MX8MP PCIe is EP mode PCI: imx6: Fix i.MX8MP PCIe EP can not trigger MSI - Add 8qxp rc support dt-bing yaml pass binding check make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j8 dt_binding_check DT_SCHEMA_FILES=fsl,imx6q-pcie.yaml LINT Documentation/devicetree/bindings DTEX Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.example.dts CHKDT Documentation/devicetree/bindings/processed-schema.json SCHEMA Documentation/devicetree/bindings/processed-schema.json DTC_CHK Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.example.dtb - Link to v2: https://lore.kernel.org/r/20240304-pci2_upstream-v2-0-ad07c5eb6d67@nxp.com Changes in v2: - remove file to 'pcie-imx.c' - keep CONFIG unchange. - Link to v1: https://lore.kernel.org/r/20240227-pci2_upstream-v1-0-b952f8333606@nxp.com --- Frank Li (8): PCI: imx6: Rename imx6_* with imx_* PCI: imx6: Introduce SoC specific callbacks for controlling REFCLK PCI: imx6: Simplify switch-case logic by involve core_reset callback PCI: imx6: Improve comment for workaround ERR010728 PCI: imx6: Add help function imx_pcie_match_device() PCI: imx6: Config look up table(LUT) to support MSI ITS and IOMMU for i.MX95 PCI: imx6: Consolidate redundant if-checks PCI: imx6: Call: Common PHY API to set mode, speed, and submode Richard Zhu (4): PCI: imx6: Fix establish link failure in EP mode for iMX8MM and iMX8MP PCI: imx6: Fix i.MX8MP PCIe EP's occasional failure to trigger MSI dt-bindings: imx6q-pcie: Add i.MX8Q pcie compatible string PCI: imx6: Add i.MX8Q PCIe root complex (RC) support .../devicetree/bindings/pci/fsl,imx6q-pcie.yaml | 16 + drivers/pci/controller/dwc/pci-imx6.c | 1181 ++++++++++++-------- 2 files changed, 730 insertions(+), 467 deletions(-) --- base-commit: 50d96936b7b1be01bcc7b9ff898191214ee72697 change-id: 20240227-pci2_upstream-0cdd19a15163 Best regards, --- Frank Li <Frank.Li@nxp.com>