mbox series

[v2,0/3] PCIE support for i.MX8MQ

Message ID 20181206073545.10967-1-andrew.smirnov@gmail.com (mailing list archive)
Headers show
Series PCIE support for i.MX8MQ | expand

Message

Andrey Smirnov Dec. 6, 2018, 7:35 a.m. UTC
Everyone:

This series contains changes I made in order to enable support of PCIE
IP block on i.MX8MQ SoCs (full tree can be found at [github-v2]).

NOTE: The last patch have a Kconfig symbol depenency on [imx8mq-kconfig].

Changes since [v1]:

 - Driver changed to use single "fsl,controller-id" property to
   distinguish between two intances of PCIE IP block

 - All code pertaining to L1SS was dropped to simplify the patch

 - Documented additions to DT bindings

Feedback is welcome!

Thanks,
Andrey Smirnov

[v1] https://lore.kernel.org/linux-arm-kernel/20181117181225.10737-1-andrew.smirnov@gmail.com/
[github-v2] https://github.com/ndreys/linux/commits/imx8mq-pcie-v2
[imx8mq-kconfig] https://lore.kernel.org/linux-arm-kernel/20181114175242.12468-1-l.stach@pengutronix.de/

Andrey Smirnov (3):
  PCI: imx: No-op imx6_setup_phy_mpll() on i.MX7D
  PCI: imx: No-op imx6_pcie_reset_phy() on i.MX7D
  PCI: imx: Add support for i.MX8MQ

 .../bindings/pci/fsl,imx6q-pcie.txt           |  6 +-
 drivers/pci/controller/dwc/Kconfig            |  2 +-
 drivers/pci/controller/dwc/pci-imx6.c         | 87 ++++++++++++++++++-
 3 files changed, 90 insertions(+), 5 deletions(-)

Comments

Lorenzo Pieralisi Dec. 6, 2018, 12:15 p.m. UTC | #1
On Wed, Dec 05, 2018 at 11:35:42PM -0800, Andrey Smirnov wrote:
> Everyone:
> 
> This series contains changes I made in order to enable support of PCIE
> IP block on i.MX8MQ SoCs (full tree can be found at [github-v2]).
> 
> NOTE: The last patch have a Kconfig symbol depenency on [imx8mq-kconfig].
> 
> Changes since [v1]:
> 
>  - Driver changed to use single "fsl,controller-id" property to
>    distinguish between two intances of PCIE IP block
> 
>  - All code pertaining to L1SS was dropped to simplify the patch
> 
>  - Documented additions to DT bindings
> 
> Feedback is welcome!
> 
> Thanks,
> Andrey Smirnov

Andrey,

I have applied the patches, I would like to make the CC list in standard
format so I kindly ask you firstname/surname for cphealy@gmail.com, I
could not find it in the maintainers list but I want to keep the CC
list as per patches (I removed the lists, though).

Thanks,
Lorenzo

> [v1] https://lore.kernel.org/linux-arm-kernel/20181117181225.10737-1-andrew.smirnov@gmail.com/
> [github-v2] https://github.com/ndreys/linux/commits/imx8mq-pcie-v2
> [imx8mq-kconfig] https://lore.kernel.org/linux-arm-kernel/20181114175242.12468-1-l.stach@pengutronix.de/
> 
> Andrey Smirnov (3):
>   PCI: imx: No-op imx6_setup_phy_mpll() on i.MX7D
>   PCI: imx: No-op imx6_pcie_reset_phy() on i.MX7D
>   PCI: imx: Add support for i.MX8MQ
> 
>  .../bindings/pci/fsl,imx6q-pcie.txt           |  6 +-
>  drivers/pci/controller/dwc/Kconfig            |  2 +-
>  drivers/pci/controller/dwc/pci-imx6.c         | 87 ++++++++++++++++++-
>  3 files changed, 90 insertions(+), 5 deletions(-)
> 
> -- 
> 2.19.1
>
Andrey Smirnov Dec. 7, 2018, 2:44 a.m. UTC | #2
On Thu, Dec 6, 2018 at 4:15 AM Lorenzo Pieralisi
<lorenzo.pieralisi@arm.com> wrote:
>
> On Wed, Dec 05, 2018 at 11:35:42PM -0800, Andrey Smirnov wrote:
> > Everyone:
> >
> > This series contains changes I made in order to enable support of PCIE
> > IP block on i.MX8MQ SoCs (full tree can be found at [github-v2]).
> >
> > NOTE: The last patch have a Kconfig symbol depenency on [imx8mq-kconfig].
> >
> > Changes since [v1]:
> >
> >  - Driver changed to use single "fsl,controller-id" property to
> >    distinguish between two intances of PCIE IP block
> >
> >  - All code pertaining to L1SS was dropped to simplify the patch
> >
> >  - Documented additions to DT bindings
> >
> > Feedback is welcome!
> >
> > Thanks,
> > Andrey Smirnov
>
> Andrey,
>
> I have applied the patches, I would like to make the CC list in standard
> format so I kindly ask you firstname/surname for cphealy@gmail.com, I
> could not find it in the maintainers list but I want to keep the CC
> list as per patches (I removed the lists, though).

Oh, sorry about that! That would be Chris Healy <cphealy@gmail.com>.
Let me know if anything else is needed.

Thanks,
Andrey Smirnov
Bjorn Helgaas Dec. 14, 2018, 8:38 p.m. UTC | #3
[+cc Trent]

On Thu, Dec 06, 2018 at 12:15:50PM +0000, Lorenzo Pieralisi wrote:
> On Wed, Dec 05, 2018 at 11:35:42PM -0800, Andrey Smirnov wrote:
> > Everyone:
> > 
> > This series contains changes I made in order to enable support of PCIE
> > IP block on i.MX8MQ SoCs (full tree can be found at [github-v2]).
> > 
> > NOTE: The last patch have a Kconfig symbol depenency on [imx8mq-kconfig].
> > 
> > Changes since [v1]:
> > 
> >  - Driver changed to use single "fsl,controller-id" property to
> >    distinguish between two intances of PCIE IP block
> > 
> >  - All code pertaining to L1SS was dropped to simplify the patch
> > 
> >  - Documented additions to DT bindings
> > 
> > Feedback is welcome!
> > 
> > Thanks,
> > Andrey Smirnov
> 
> Andrey,
> 
> I have applied the patches, ...

When I merged your pci/dwc branch, I noticed what looks like a merge
conflict between these commits:

  d123765b58ee ("PCI: dwc: Adjust Kconfig to allow IMX6 PCIe host on IMX7")
  1a059d994189 ("PCI: imx: Add support for i.MX8MQ")

d123765b58ee added SOC_IMX7D:

  -       depends on SOC_IMX6Q || (ARM && COMPILE_TEST)
  +       depends on SOC_IMX6Q || SOC_IMX7D || (ARM && COMPILE_TEST)

and 1a059d994189 added SOC_IMX8MQ but dropped SOC_IMX7D again, which looks
like a mistake:

  -       depends on SOC_IMX6Q || SOC_IMX7D || (ARM && COMPILE_TEST)
  +       depends on SOC_IMX8MQ || SOC_IMX6Q || (ARM && COMPILE_TEST)

So my "next" branch[1] (current head 7053eeb009e0) is:

  config PCI_IMX6
        bool "Freescale i.MX6/7 PCIe controller"
        depends on SOC_IMX8MQ || SOC_IMX6Q || (ARM && COMPILE_TEST)
        depends on PCI_MSI_IRQ_DOMAIN
        select PCIE_DW_HOST

which I think is wrong.  Lorenzo, if you update your pci/dwc branch,
I'll rebuild my "next" branch.

If you want to tweak the switch statements and/or IMX8 checks, you
could do that at the same time.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=next
Andrey Smirnov Dec. 15, 2018, 5:25 a.m. UTC | #4
On Fri, Dec 14, 2018 at 12:38 PM Bjorn Helgaas <helgaas@kernel.org> wrote:
>
> [+cc Trent]
>
> On Thu, Dec 06, 2018 at 12:15:50PM +0000, Lorenzo Pieralisi wrote:
> > On Wed, Dec 05, 2018 at 11:35:42PM -0800, Andrey Smirnov wrote:
> > > Everyone:
> > >
> > > This series contains changes I made in order to enable support of PCIE
> > > IP block on i.MX8MQ SoCs (full tree can be found at [github-v2]).
> > >
> > > NOTE: The last patch have a Kconfig symbol depenency on [imx8mq-kconfig].
> > >
> > > Changes since [v1]:
> > >
> > >  - Driver changed to use single "fsl,controller-id" property to
> > >    distinguish between two intances of PCIE IP block
> > >
> > >  - All code pertaining to L1SS was dropped to simplify the patch
> > >
> > >  - Documented additions to DT bindings
> > >
> > > Feedback is welcome!
> > >
> > > Thanks,
> > > Andrey Smirnov
> >
> > Andrey,
> >
> > I have applied the patches, ...
>
> When I merged your pci/dwc branch, I noticed what looks like a merge
> conflict between these commits:
>
>   d123765b58ee ("PCI: dwc: Adjust Kconfig to allow IMX6 PCIe host on IMX7")
>   1a059d994189 ("PCI: imx: Add support for i.MX8MQ")
>
> d123765b58ee added SOC_IMX7D:
>
>   -       depends on SOC_IMX6Q || (ARM && COMPILE_TEST)
>   +       depends on SOC_IMX6Q || SOC_IMX7D || (ARM && COMPILE_TEST)
>
> and 1a059d994189 added SOC_IMX8MQ but dropped SOC_IMX7D again, which looks
> like a mistake:
>
>   -       depends on SOC_IMX6Q || SOC_IMX7D || (ARM && COMPILE_TEST)
>   +       depends on SOC_IMX8MQ || SOC_IMX6Q || (ARM && COMPILE_TEST)
>
> So my "next" branch[1] (current head 7053eeb009e0) is:
>
>   config PCI_IMX6
>         bool "Freescale i.MX6/7 PCIe controller"
>         depends on SOC_IMX8MQ || SOC_IMX6Q || (ARM && COMPILE_TEST)
>         depends on PCI_MSI_IRQ_DOMAIN
>         select PCIE_DW_HOST
>
> which I think is wrong.

Yeah, this is definitely wrong, should be SOC_IMX8MQ || SOC_IMX6Q ||
SOC_IMX7D || (ARM && COMPILE_TEST)

> Lorenzo, if you update your pci/dwc branch,  I'll rebuild my "next" branch.
>
> If you want to tweak the switch statements and/or IMX8 checks, you
> could do that at the same time.
>
> [1] https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=next

OK, I'll use the branch above for v3 of the patches.

Thanks,
Andrey Smirnov
Lucas Stach Dec. 17, 2018, 10:12 a.m. UTC | #5
Am Freitag, den 14.12.2018, 21:25 -0800 schrieb Andrey Smirnov:
> > On Fri, Dec 14, 2018 at 12:38 PM Bjorn Helgaas <helgaas@kernel.org> wrote:
> > 
> > [+cc Trent]
> > 
> > On Thu, Dec 06, 2018 at 12:15:50PM +0000, Lorenzo Pieralisi wrote:
> > > On Wed, Dec 05, 2018 at 11:35:42PM -0800, Andrey Smirnov wrote:
> > > > Everyone:
> > > > 
> > > > This series contains changes I made in order to enable support of PCIE
> > > > IP block on i.MX8MQ SoCs (full tree can be found at [github-v2]).
> > > > 
> > > > NOTE: The last patch have a Kconfig symbol depenency on [imx8mq-kconfig].
> > > > 
> > > > Changes since [v1]:
> > > > 
> > > >  - Driver changed to use single "fsl,controller-id" property to
> > > >    distinguish between two intances of PCIE IP block
> > > > 
> > > >  - All code pertaining to L1SS was dropped to simplify the patch
> > > > 
> > > >  - Documented additions to DT bindings
> > > > 
> > > > Feedback is welcome!
> > > > 
> > > > Thanks,
> > > > Andrey Smirnov
> > > 
> > > Andrey,
> > > 
> > > I have applied the patches, ...
> > 
> > When I merged your pci/dwc branch, I noticed what looks like a merge
> > conflict between these commits:
> > 
> >   d123765b58ee ("PCI: dwc: Adjust Kconfig to allow IMX6 PCIe host on IMX7")
> >   1a059d994189 ("PCI: imx: Add support for i.MX8MQ")
> > 
> > d123765b58ee added SOC_IMX7D:
> > 
> >   -       depends on SOC_IMX6Q || (ARM && COMPILE_TEST)
> >   +       depends on SOC_IMX6Q || SOC_IMX7D || (ARM && COMPILE_TEST)
> > 
> > and 1a059d994189 added SOC_IMX8MQ but dropped SOC_IMX7D again, which looks
> > like a mistake:
> > 
> >   -       depends on SOC_IMX6Q || SOC_IMX7D || (ARM && COMPILE_TEST)
> >   +       depends on SOC_IMX8MQ || SOC_IMX6Q || (ARM && COMPILE_TEST)
> > 
> > So my "next" branch[1] (current head 7053eeb009e0) is:
> > 
> >   config PCI_IMX6
> >         bool "Freescale i.MX6/7 PCIe controller"
> >         depends on SOC_IMX8MQ || SOC_IMX6Q || (ARM && COMPILE_TEST)
> >         depends on PCI_MSI_IRQ_DOMAIN
> >         select PCIE_DW_HOST
> > 
> > which I think is wrong.
> 
> Yeah, this is definitely wrong, should be SOC_IMX8MQ || SOC_IMX6Q ||
> SOC_IMX7D || (ARM && COMPILE_TEST)

arm-soc would like to see the SOC_IMX8MQ option removed, so let's try
to not add any more things that depend on this. Please use (ARM64 &&
MACH_MXC) or something to that tune instead.

Regards,
Lucas
Lorenzo Pieralisi Dec. 17, 2018, 10:26 a.m. UTC | #6
On Mon, Dec 17, 2018 at 11:12:58AM +0100, Lucas Stach wrote:
> Am Freitag, den 14.12.2018, 21:25 -0800 schrieb Andrey Smirnov:
> > > On Fri, Dec 14, 2018 at 12:38 PM Bjorn Helgaas <helgaas@kernel.org> wrote:
> > > 
> > > [+cc Trent]
> > > 
> > > On Thu, Dec 06, 2018 at 12:15:50PM +0000, Lorenzo Pieralisi wrote:
> > > > On Wed, Dec 05, 2018 at 11:35:42PM -0800, Andrey Smirnov wrote:
> > > > > Everyone:
> > > > > 
> > > > > This series contains changes I made in order to enable support of PCIE
> > > > > IP block on i.MX8MQ SoCs (full tree can be found at [github-v2]).
> > > > > 
> > > > > NOTE: The last patch have a Kconfig symbol depenency on [imx8mq-kconfig].
> > > > > 
> > > > > Changes since [v1]:
> > > > > 
> > > > >  - Driver changed to use single "fsl,controller-id" property to
> > > > >    distinguish between two intances of PCIE IP block
> > > > > 
> > > > >  - All code pertaining to L1SS was dropped to simplify the patch
> > > > > 
> > > > >  - Documented additions to DT bindings
> > > > > 
> > > > > Feedback is welcome!
> > > > > 
> > > > > Thanks,
> > > > > Andrey Smirnov
> > > > 
> > > > Andrey,
> > > > 
> > > > I have applied the patches, ...
> > > 
> > > When I merged your pci/dwc branch, I noticed what looks like a merge
> > > conflict between these commits:
> > > 
> > >   d123765b58ee ("PCI: dwc: Adjust Kconfig to allow IMX6 PCIe host on IMX7")
> > >   1a059d994189 ("PCI: imx: Add support for i.MX8MQ")
> > > 
> > > d123765b58ee added SOC_IMX7D:
> > > 
> > >   -       depends on SOC_IMX6Q || (ARM && COMPILE_TEST)
> > >   +       depends on SOC_IMX6Q || SOC_IMX7D || (ARM && COMPILE_TEST)
> > > 
> > > and 1a059d994189 added SOC_IMX8MQ but dropped SOC_IMX7D again, which looks
> > > like a mistake:
> > > 
> > >   -       depends on SOC_IMX6Q || SOC_IMX7D || (ARM && COMPILE_TEST)
> > >   +       depends on SOC_IMX8MQ || SOC_IMX6Q || (ARM && COMPILE_TEST)
> > > 
> > > So my "next" branch[1] (current head 7053eeb009e0) is:
> > > 
> > >   config PCI_IMX6
> > >         bool "Freescale i.MX6/7 PCIe controller"
> > >         depends on SOC_IMX8MQ || SOC_IMX6Q || (ARM && COMPILE_TEST)
> > >         depends on PCI_MSI_IRQ_DOMAIN
> > >         select PCIE_DW_HOST
> > > 
> > > which I think is wrong.
> > 
> > Yeah, this is definitely wrong, should be SOC_IMX8MQ || SOC_IMX6Q ||
> > SOC_IMX7D || (ARM && COMPILE_TEST)
> 
> arm-soc would like to see the SOC_IMX8MQ option removed, so let's try
> to not add any more things that depend on this. Please use (ARM64 &&
> MACH_MXC) or something to that tune instead.

Patch series dropped from the PCI queue, waiting for the discussion
and related follow-up patches to settle.

Lorenzo
Lorenzo Pieralisi Dec. 17, 2018, 11:11 a.m. UTC | #7
On Fri, Dec 14, 2018 at 02:38:29PM -0600, Bjorn Helgaas wrote:
> [+cc Trent]
> 
> On Thu, Dec 06, 2018 at 12:15:50PM +0000, Lorenzo Pieralisi wrote:
> > On Wed, Dec 05, 2018 at 11:35:42PM -0800, Andrey Smirnov wrote:
> > > Everyone:
> > > 
> > > This series contains changes I made in order to enable support of PCIE
> > > IP block on i.MX8MQ SoCs (full tree can be found at [github-v2]).
> > > 
> > > NOTE: The last patch have a Kconfig symbol depenency on [imx8mq-kconfig].
> > > 
> > > Changes since [v1]:
> > > 
> > >  - Driver changed to use single "fsl,controller-id" property to
> > >    distinguish between two intances of PCIE IP block
> > > 
> > >  - All code pertaining to L1SS was dropped to simplify the patch
> > > 
> > >  - Documented additions to DT bindings
> > > 
> > > Feedback is welcome!
> > > 
> > > Thanks,
> > > Andrey Smirnov
> > 
> > Andrey,
> > 
> > I have applied the patches, ...
> 
> When I merged your pci/dwc branch, I noticed what looks like a merge
> conflict between these commits:
> 
>   d123765b58ee ("PCI: dwc: Adjust Kconfig to allow IMX6 PCIe host on IMX7")
>   1a059d994189 ("PCI: imx: Add support for i.MX8MQ")
> 
> d123765b58ee added SOC_IMX7D:
> 
>   -       depends on SOC_IMX6Q || (ARM && COMPILE_TEST)
>   +       depends on SOC_IMX6Q || SOC_IMX7D || (ARM && COMPILE_TEST)
> 
> and 1a059d994189 added SOC_IMX8MQ but dropped SOC_IMX7D again, which looks
> like a mistake:
> 
>   -       depends on SOC_IMX6Q || SOC_IMX7D || (ARM && COMPILE_TEST)
>   +       depends on SOC_IMX8MQ || SOC_IMX6Q || (ARM && COMPILE_TEST)
> 
> So my "next" branch[1] (current head 7053eeb009e0) is:
> 
>   config PCI_IMX6
>         bool "Freescale i.MX6/7 PCIe controller"
>         depends on SOC_IMX8MQ || SOC_IMX6Q || (ARM && COMPILE_TEST)
>         depends on PCI_MSI_IRQ_DOMAIN
>         select PCIE_DW_HOST
> 
> which I think is wrong.  Lorenzo, if you update your pci/dwc branch,
> I'll rebuild my "next" branch.

Sorry about that, I missed it.

I dropped Andrey's patches from pci/dwc waiting for him/Lucas to agree
on a way forward.

Thanks,
Lorenzo

> If you want to tweak the switch statements and/or IMX8 checks, you
> could do that at the same time.
> 
> [1] https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=next