mbox series

[v2,0/8] PCI: qcom: Add support for SC8280XP and SA8540P

Message ID 20220714071348.6792-1-johan+linaro@kernel.org
Headers show
Series PCI: qcom: Add support for SC8280XP and SA8540P | expand

Message

Johan Hovold July 14, 2022, 7:13 a.m. UTC
This series adds support for the PCIe controllers found on SC8280XP and
SA8540P.

Included are also three patches that clean up the way the driver handles
different IP revisions (e.g. by modelling optional clocks as being truly
optional).

These patches depend on the recently merged (but currently held off?)
PIPE clock series:

	https://lore.kernel.org/all/20220608105238.2973600-1-dmitry.baryshkov@linaro.org/

as well as the about-to-be-merged MSI series (v17):

	https://lore.kernel.org/all/20220707134733.2436629-6-dmitry.baryshkov@linaro.org/

Note that the final patch in the PIPE clock series is currently missing
from the pci/ctrl/qcom-pending branch:

	https://lore.kernel.org/all/20220608105238.2973600-6-dmitry.baryshkov@linaro.org/

Johan


Changes in v2
 - drop the two DT schema fixes which have been applied by Bjorn H and
   squashed into the MSI v17 series by Dmitry, respectively
 - rebase on pci/ctrl/qcom-pending (2022-07-14)
 - fix compatible sort order (Krzysztof)
 - amend commit message for first patch to clarify motivation
   (Krzysztof)
 - add acks and reviewed-by tags from Dmitry, Krzysztof, Mani and Rob


Johan Hovold (8):
  dt-bindings: PCI: qcom: Enumerate platforms with single msi interrupt
  dt-bindings: PCI: qcom: Add SC8280XP to binding
  dt-bindings: PCI: qcom: Add SA8540P to binding
  PCI: qcom: Add support for SC8280XP
  PCI: qcom: Add support for SA8540P
  PCI: qcom: Make all optional clocks optional
  PCI: qcom: Clean up IP configurations
  PCI: qcom: Sort device-id table

 .../devicetree/bindings/pci/qcom,pcie.yaml    |  70 +++++++++-
 drivers/pci/controller/dwc/pcie-qcom.c        | 121 +++++++-----------
 2 files changed, 114 insertions(+), 77 deletions(-)

Comments

Brian Masney July 14, 2022, 2:42 p.m. UTC | #1
On Thu, Jul 14, 2022 at 09:13:47AM +0200, Johan Hovold wrote:
> The various IP versions have different configurations that are encoded
> in separate sets of operation callbacks. Currently, there is no need for
> also maintaining corresponding sets of data parameters, but it is
> conceivable that these may again be found useful (e.g. to implement
> minor variations of the operation callbacks).
> 
> Rename the default configuration structures after the IP version they
> apply to so that they can more easily be reused by different SoCs.
> 
> Note that SoC specific configurations can be added later if need arises
> (e.g. cfg_sc8280xp).
> 
> Reviewed-by: Rob Herring <robh@kernel.org>
> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> Signed-off-by: Johan Hovold <johan+linaro@kernel.org>

Reviewed-by: Brian Masney <bmasney@redhat.com>
Bjorn Helgaas July 15, 2022, 10:37 p.m. UTC | #2
On Thu, Jul 14, 2022 at 09:13:40AM +0200, Johan Hovold wrote:
> This series adds support for the PCIe controllers found on SC8280XP and
> SA8540P.

These look fairly straightforward, and I don't mind doing minor tweaks
and conflict resolution, but given that we've got four or five cooks
in the qcom kitchen, I'm looking for an ack from Stan before spending
too much time on this.

> Included are also three patches that clean up the way the driver handles
> different IP revisions (e.g. by modelling optional clocks as being truly
> optional).
> 
> These patches depend on the recently merged (but currently held off?)
> PIPE clock series:
> 
> 	https://lore.kernel.org/all/20220608105238.2973600-1-dmitry.baryshkov@linaro.org/

As far as I know it's on pci/ctrl/qcom [1], in -next, and ready to go.
It's based on Bjorn A's immutable branch [2].

> as well as the about-to-be-merged MSI series (v17):
> 
> 	https://lore.kernel.org/all/20220707134733.2436629-6-dmitry.baryshkov@linaro.org/
> 
> Note that the final patch in the PIPE clock series is currently missing
> from the pci/ctrl/qcom-pending branch:
> 
> 	https://lore.kernel.org/all/20220608105238.2973600-6-dmitry.baryshkov@linaro.org/

I think I fixed that, let me know if not; see [1].

[1] https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=839fbdee4c08
[2] https://lore.kernel.org/linux-pci/YroMyWNO8ZLk1bTe@builder.lan/

> Changes in v2
>  - drop the two DT schema fixes which have been applied by Bjorn H and
>    squashed into the MSI v17 series by Dmitry, respectively
>  - rebase on pci/ctrl/qcom-pending (2022-07-14)
>  - fix compatible sort order (Krzysztof)
>  - amend commit message for first patch to clarify motivation
>    (Krzysztof)
>  - add acks and reviewed-by tags from Dmitry, Krzysztof, Mani and Rob
> 
> 
> Johan Hovold (8):
>   dt-bindings: PCI: qcom: Enumerate platforms with single msi interrupt
>   dt-bindings: PCI: qcom: Add SC8280XP to binding
>   dt-bindings: PCI: qcom: Add SA8540P to binding
>   PCI: qcom: Add support for SC8280XP
>   PCI: qcom: Add support for SA8540P
>   PCI: qcom: Make all optional clocks optional
>   PCI: qcom: Clean up IP configurations
>   PCI: qcom: Sort device-id table
> 
>  .../devicetree/bindings/pci/qcom,pcie.yaml    |  70 +++++++++-
>  drivers/pci/controller/dwc/pcie-qcom.c        | 121 +++++++-----------
>  2 files changed, 114 insertions(+), 77 deletions(-)
> 
> -- 
> 2.35.1
>
Stanimir Varbanov July 18, 2022, 7:49 a.m. UTC | #3
Hi Johan,

Thank you for your work, especially for for the last three patches ;-)

On 7/14/22 10:13, Johan Hovold wrote:
> This series adds support for the PCIe controllers found on SC8280XP and
> SA8540P.
> 
> Included are also three patches that clean up the way the driver handles
> different IP revisions (e.g. by modelling optional clocks as being truly
> optional).
> 
> These patches depend on the recently merged (but currently held off?)
> PIPE clock series:
> 
> 	https://lore.kernel.org/all/20220608105238.2973600-1-dmitry.baryshkov@linaro.org/
> 
> as well as the about-to-be-merged MSI series (v17):
> 
> 	https://lore.kernel.org/all/20220707134733.2436629-6-dmitry.baryshkov@linaro.org/
> 
> Note that the final patch in the PIPE clock series is currently missing
> from the pci/ctrl/qcom-pending branch:
> 
> 	https://lore.kernel.org/all/20220608105238.2973600-6-dmitry.baryshkov@linaro.org/
> 
> Johan
> 
> 
> Changes in v2
>  - drop the two DT schema fixes which have been applied by Bjorn H and
>    squashed into the MSI v17 series by Dmitry, respectively
>  - rebase on pci/ctrl/qcom-pending (2022-07-14)
>  - fix compatible sort order (Krzysztof)
>  - amend commit message for first patch to clarify motivation
>    (Krzysztof)
>  - add acks and reviewed-by tags from Dmitry, Krzysztof, Mani and Rob
> 
> 
> Johan Hovold (8):
>   dt-bindings: PCI: qcom: Enumerate platforms with single msi interrupt
>   dt-bindings: PCI: qcom: Add SC8280XP to binding
>   dt-bindings: PCI: qcom: Add SA8540P to binding
>   PCI: qcom: Add support for SC8280XP
>   PCI: qcom: Add support for SA8540P
>   PCI: qcom: Make all optional clocks optional
>   PCI: qcom: Clean up IP configurations
>   PCI: qcom: Sort device-id table
> 
>  .../devicetree/bindings/pci/qcom,pcie.yaml    |  70 +++++++++-
>  drivers/pci/controller/dwc/pcie-qcom.c        | 121 +++++++-----------
>  2 files changed, 114 insertions(+), 77 deletions(-)
> 

For the whole set:

Acked-by: Stanimir Varbanov <svarbanov@mm-sol.com>
Johan Hovold July 18, 2022, 10:16 a.m. UTC | #4
On Fri, Jul 15, 2022 at 05:37:28PM -0500, Bjorn Helgaas wrote:
> On Thu, Jul 14, 2022 at 09:13:40AM +0200, Johan Hovold wrote:
> > This series adds support for the PCIe controllers found on SC8280XP and
> > SA8540P.
> 
> These look fairly straightforward, and I don't mind doing minor tweaks
> and conflict resolution, but given that we've got four or five cooks
> in the qcom kitchen, I'm looking for an ack from Stan before spending
> too much time on this.

Sounds good. Stan's acked the series now too.

Since I rebased v2 on qcom-pending (and added the missing pipe clock
patch), there shouldn't be any conflicts and the only fixup I'm aware of
is the sort order of the "qcom,pcie-ipq4019" entry in patch 8/8. 

Let me know if you prefer I fix that in a v3 otherwise these can be
applied once the MSI series has been merged.

I saw Stan acking the binding in that series, not sure if the intention
was to ack the whole series?

	https://lore.kernel.org/all/3f9e1c18-bc61-8690-5427-ba8dc5fad7ad@mm-sol.com/

> > Included are also three patches that clean up the way the driver handles
> > different IP revisions (e.g. by modelling optional clocks as being truly
> > optional).
> > 
> > These patches depend on the recently merged (but currently held off?)
> > PIPE clock series:
> > 
> > 	https://lore.kernel.org/all/20220608105238.2973600-1-dmitry.baryshkov@linaro.org/
> 
> As far as I know it's on pci/ctrl/qcom [1], in -next, and ready to go.
> It's based on Bjorn A's immutable branch [2].

Right.
 
> > as well as the about-to-be-merged MSI series (v17):
> > 
> > 	https://lore.kernel.org/all/20220707134733.2436629-6-dmitry.baryshkov@linaro.org/
> > 
> > Note that the final patch in the PIPE clock series is currently missing
> > from the pci/ctrl/qcom-pending branch:
> > 
> > 	https://lore.kernel.org/all/20220608105238.2973600-6-dmitry.baryshkov@linaro.org/
> 
> I think I fixed that, let me know if not; see [1].
> 
> [1] https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=839fbdee4c08
> [2] https://lore.kernel.org/linux-pci/YroMyWNO8ZLk1bTe@builder.lan/

It appears to have been fixed in your branch now, but it hasn't yet made
it into -next.

> > Changes in v2
> >  - drop the two DT schema fixes which have been applied by Bjorn H and
> >    squashed into the MSI v17 series by Dmitry, respectively
> >  - rebase on pci/ctrl/qcom-pending (2022-07-14)
> >  - fix compatible sort order (Krzysztof)
> >  - amend commit message for first patch to clarify motivation
> >    (Krzysztof)
> >  - add acks and reviewed-by tags from Dmitry, Krzysztof, Mani and Rob
> > 
> > 
> > Johan Hovold (8):
> >   dt-bindings: PCI: qcom: Enumerate platforms with single msi interrupt
> >   dt-bindings: PCI: qcom: Add SC8280XP to binding
> >   dt-bindings: PCI: qcom: Add SA8540P to binding
> >   PCI: qcom: Add support for SC8280XP
> >   PCI: qcom: Add support for SA8540P
> >   PCI: qcom: Make all optional clocks optional
> >   PCI: qcom: Clean up IP configurations
> >   PCI: qcom: Sort device-id table

Johan
Johan Hovold July 18, 2022, 10:51 a.m. UTC | #5
On Mon, Jul 18, 2022 at 12:18:11PM +0200, Johan Hovold wrote:
> On Mon, Jul 18, 2022 at 10:49:40AM +0300, Stanimir Varbanov wrote:
> > Hi Johan,
> > 
> > Thank you for your work, especially for for the last three patches ;-)
> > 
> > On 7/14/22 10:13, Johan Hovold wrote:
> > > This series adds support for the PCIe controllers found on SC8280XP and
> > > SA8540P.
> > > 
> > > Included are also three patches that clean up the way the driver handles
> > > different IP revisions (e.g. by modelling optional clocks as being truly
> > > optional).
> 
> > For the whole set:
> > 
> > Acked-by: Stanimir Varbanov <svarbanov@mm-sol.com>
> 
> Thanks for the ack.
> 
> Could you take a look at Dmitry's MSI series that this series depends on
> as well?
> 
> I saw you acking the binding, but not the rest of the series it seems:
> 
> 	https://lore.kernel.org/all/3f9e1c18-bc61-8690-5427-ba8dc5fad7ad@mm-sol.com/

Of course you only acked the single patched that touched the Qualcomm
driver. Sorry about the noise.

Johan
Lorenzo Pieralisi Aug. 19, 2022, 8:40 a.m. UTC | #6
On Thu, 14 Jul 2022 09:13:40 +0200, Johan Hovold wrote:
> This series adds support for the PCIe controllers found on SC8280XP and
> SA8540P.
> 
> Included are also three patches that clean up the way the driver handles
> different IP revisions (e.g. by modelling optional clocks as being truly
> optional).
> 
> [...]

I tweaked commits as-per thread discussion (please check them, I had
to fix minor rebase conflicts) and applied to pci/qcom, thanks!

[1/8] dt-bindings: PCI: qcom: Enumerate platforms with single msi interrupt
      https://git.kernel.org/lpieralisi/pci/c/a871c90977a4
[2/8] dt-bindings: PCI: qcom: Add SC8280XP to binding
      https://git.kernel.org/lpieralisi/pci/c/0122ab0115a9
[3/8] dt-bindings: PCI: qcom: Add SA8540P to binding
      https://git.kernel.org/lpieralisi/pci/c/fe9681a74d04
[4/8] PCI: qcom: Add support for SC8280XP
      https://git.kernel.org/lpieralisi/pci/c/e37d881f9f3a
[5/8] PCI: qcom: Add support for SA8540P
      https://git.kernel.org/lpieralisi/pci/c/b325dc5f9d39
[6/8] PCI: qcom: Make all optional clocks optional
      https://git.kernel.org/lpieralisi/pci/c/4c4ef240b58a
[7/8] PCI: qcom: Clean up IP configurations
      https://git.kernel.org/lpieralisi/pci/c/4daa5e24813e
[8/8] PCI: qcom: Sort device-id table
      https://git.kernel.org/lpieralisi/pci/c/46bafd187104

Thanks,
Lorenzo
Johan Hovold Aug. 22, 2022, 12:52 p.m. UTC | #7
On Fri, Aug 19, 2022 at 10:40:49AM +0200, Lorenzo Pieralisi wrote:
> On Thu, 14 Jul 2022 09:13:40 +0200, Johan Hovold wrote:
> > This series adds support for the PCIe controllers found on SC8280XP and
> > SA8540P.
> > 
> > Included are also three patches that clean up the way the driver handles
> > different IP revisions (e.g. by modelling optional clocks as being truly
> > optional).
> > 
> > [...]
> 
> I tweaked commits as-per thread discussion (please check them, I had
> to fix minor rebase conflicts) and applied to pci/qcom, thanks!

Not sure if you missed that Stanimir had acked the whole series:

	https://lore.kernel.org/all/aa11b2ec-7196-7423-151c-1797966d0cd2@mm-sol.com/

Looks good, otherwise. Thanks!

Johan