mbox series

[v3,00/12] PCI: brcnstb: Enable STB 7712 SOC

Message ID 20240710221630.29561-1-james.quinlan@broadcom.com (mailing list archive)
Headers show
Series PCI: brcnstb: Enable STB 7712 SOC | expand

Message

Jim Quinlan July 10, 2024, 10:16 p.m. UTC
V3 Changes:
  o Commit "Enable 7712 SOCs"
    -- Move "model" check from outside to inside func (Stan)
  o Commit "Check return value of all reset_control_xxx calls"
    -- Propagate errors up the chain instead of ignoring them (Stan)
  o Commit "Refactor for chips with many regular inbound BARs"
    -- Nine suggestions given, nine implemented (Stan)
  o Commit "Make HARD_DEBUG, INTR2_CPU_BASE offsets SoC-specific"
    -- Drop tab, add parens around macro params in expression (Stan)
  o Commit "Use swinit reset if available"
    -- Treat swinit the same as other reset controllers (Stan)
       Stan suggested to use dev_err_probe() for getting resources
       but I will defer that to future series (if that's okay).
  o Commit "Get resource before we start asserting resets"
    -- Squash this with previous commit (Stan)
  o Commit "Use "clk_out" error path label"
    -- Move clk_prepare_enable() after getting resouurces (Stan)
    -- Change subject to "Use more common error handling code in
       brcm_pcie_probe()" (Markus)
    -- Use imperative commit description (Markus)
    -- "Fixes:" tag added for missing error return. (Markus)
  o Commit "dt-bindings: PCI ..."
    -- Split off maintainer change in separate commit.
    -- Tried to accomodate Krzysztof's requests, I'm not sure I
       have succeeded.  Krzysztof, please see [1] below.
  
  [1] Wrt the YAML of brcmstb PCIe resets, here is what I am trying
      to describe:

      CHIP       NUM_RESETS    NAMES
      ====       ==========    =====
      4908       1             perst
      7216       1             rescal
      7712       3             rescal, bridge, swinit
      Others     0             -


V2 Changes (note: four new commits):
  o Commit "dt-bindings: PCI ..."
    -- s/Adds/Add/, fix spelling error (Bjorn)
    -- Order compatible strings alphabetically (Krzysztof)
    -- Give definitions first then rules (Krzysztof)
    -- Add reason for change in maintainer (Krzysztof)
  o Commit "Use swinit reset if available"
    -- no need for "else" clause (Philipp)
    -- fix improper use of dev_err_probe() (Philipp) 
  o Commit "Use "clk_out" error path label"
    -- Improve commit message (Bjorn)
  o Commit "PCI: brcmstb: Make HARD_DEBUG, INTR2_CPU_BASE offsets SoC-specific"
    -- Improve commit subject line (Bjorn)
  o Commit (NEW) -- Change field name from 'type' to 'model'
    -- Added as requested (Stanimir)
  o Commit (NEW) -- Check return value of all reset_control_xxx calls
    -- Added as requested (Stanimir)
  o Commit (NEW) "Get resource before we start asserting reset controllers"
    -- Added as requested (Stanimir)
  o Commit (NEW) -- "Remove two unused constants from driver"


V1:
  This submission is for the Broadcom STB 7712, sibling SOC of the RPi5 chip.
  Stanimir has already submitted a patch "Add PCIe support for bcm2712" for
  the RPi version of the SOC.  It is hoped that Stanimir will allow us to
  submit this series first and subsequently rebase his patch(es).

  The largest commit, "Refactor for chips with many regular inbound BARs"
  affects both the STB and RPi SOCs.  It allows for multiple inbound ranges
  where previously only one was effectively used.  This feature will also
  be present in future STB chips, as well as Broadcom's Cable Modem group.


Jim Quinlan (12):
  dt-bindings: PCI: Change brcmstb YAML maintainer
  dt-bindings: PCI: Cleanup of brcmstb YAML and add 7712 SoC
  PCI: brcmstb: Use common error handling code in brcm_pcie_probe()
  PCI: brcmstb: Use bridge reset if available
  PCI: brcmstb: Use swinit reset if available
  PCI: brcmstb: PCI: brcmstb: Make HARD_DEBUG, INTR2_CPU_BASE offsets
    SoC-specific
  PCI: brcmstb: Remove two unused constants from driver
  PCI: brcmstb: Don't conflate the reset rescal with phy ctrl
  PCI: brcmstb: Refactor for chips with many regular inbound BARs
  PCI: brcmstb: Check return value of all reset_control_xxx calls
  PCI: brcmstb: Change field name from 'type' to 'model'
  PCI: brcmstb: Enable 7712 SOCs

 .../bindings/pci/brcm,stb-pcie.yaml           |  48 +-
 drivers/pci/controller/pcie-brcmstb.c         | 484 +++++++++++++-----
 2 files changed, 397 insertions(+), 135 deletions(-)


base-commit: 55027e689933ba2e64f3d245fb1ff185b3e7fc81

Comments

Florian Fainelli July 14, 2024, 8:15 p.m. UTC | #1
On 7/10/2024 3:16 PM, Jim Quinlan wrote:
> V3 Changes:
>    o Commit "Enable 7712 SOCs"
>      -- Move "model" check from outside to inside func (Stan)
>    o Commit "Check return value of all reset_control_xxx calls"
>      -- Propagate errors up the chain instead of ignoring them (Stan)
>    o Commit "Refactor for chips with many regular inbound BARs"
>      -- Nine suggestions given, nine implemented (Stan)
>    o Commit "Make HARD_DEBUG, INTR2_CPU_BASE offsets SoC-specific"
>      -- Drop tab, add parens around macro params in expression (Stan)
>    o Commit "Use swinit reset if available"
>      -- Treat swinit the same as other reset controllers (Stan)
>         Stan suggested to use dev_err_probe() for getting resources
>         but I will defer that to future series (if that's okay).
>    o Commit "Get resource before we start asserting resets"
>      -- Squash this with previous commit (Stan)
>    o Commit "Use "clk_out" error path label"
>      -- Move clk_prepare_enable() after getting resouurces (Stan)
>      -- Change subject to "Use more common error handling code in
>         brcm_pcie_probe()" (Markus)
>      -- Use imperative commit description (Markus)
>      -- "Fixes:" tag added for missing error return. (Markus)
>    o Commit "dt-bindings: PCI ..."
>      -- Split off maintainer change in separate commit.
>      -- Tried to accomodate Krzysztof's requests, I'm not sure I
>         have succeeded.  Krzysztof, please see [1] below.
>    
>    [1] Wrt the YAML of brcmstb PCIe resets, here is what I am trying
>        to describe:
> 
>        CHIP       NUM_RESETS    NAMES
>        ====       ==========    =====
>        4908       1             perst
>        7216       1             rescal
>        7712       3             rescal, bridge, swinit
>        Others     0             -
> 
> 
> V2 Changes (note: four new commits):
>    o Commit "dt-bindings: PCI ..."
>      -- s/Adds/Add/, fix spelling error (Bjorn)
>      -- Order compatible strings alphabetically (Krzysztof)
>      -- Give definitions first then rules (Krzysztof)
>      -- Add reason for change in maintainer (Krzysztof)
>    o Commit "Use swinit reset if available"
>      -- no need for "else" clause (Philipp)
>      -- fix improper use of dev_err_probe() (Philipp)
>    o Commit "Use "clk_out" error path label"
>      -- Improve commit message (Bjorn)
>    o Commit "PCI: brcmstb: Make HARD_DEBUG, INTR2_CPU_BASE offsets SoC-specific"
>      -- Improve commit subject line (Bjorn)
>    o Commit (NEW) -- Change field name from 'type' to 'model'
>      -- Added as requested (Stanimir)
>    o Commit (NEW) -- Check return value of all reset_control_xxx calls
>      -- Added as requested (Stanimir)
>    o Commit (NEW) "Get resource before we start asserting reset controllers"
>      -- Added as requested (Stanimir)
>    o Commit (NEW) -- "Remove two unused constants from driver"
> 
> 
> V1:
>    This submission is for the Broadcom STB 7712, sibling SOC of the RPi5 chip.
>    Stanimir has already submitted a patch "Add PCIe support for bcm2712" for
>    the RPi version of the SOC.  It is hoped that Stanimir will allow us to
>    submit this series first and subsequently rebase his patch(es).
> 
>    The largest commit, "Refactor for chips with many regular inbound BARs"
>    affects both the STB and RPi SOCs.  It allows for multiple inbound ranges
>    where previously only one was effectively used.  This feature will also
>    be present in future STB chips, as well as Broadcom's Cable Modem group.

Nit: the subject has a typo s/brcnstb/brcmstb/g, probably does not 
matter since the subject would not be included in the pull request anyway.
Florian Fainelli July 15, 2024, 5:24 p.m. UTC | #2
On 7/10/24 15:16, Jim Quinlan wrote:
> V3 Changes:
>    o Commit "Enable 7712 SOCs"
>      -- Move "model" check from outside to inside func (Stan)
>    o Commit "Check return value of all reset_control_xxx calls"
>      -- Propagate errors up the chain instead of ignoring them (Stan)
>    o Commit "Refactor for chips with many regular inbound BARs"
>      -- Nine suggestions given, nine implemented (Stan)
>    o Commit "Make HARD_DEBUG, INTR2_CPU_BASE offsets SoC-specific"
>      -- Drop tab, add parens around macro params in expression (Stan)
>    o Commit "Use swinit reset if available"
>      -- Treat swinit the same as other reset controllers (Stan)
>         Stan suggested to use dev_err_probe() for getting resources
>         but I will defer that to future series (if that's okay).
>    o Commit "Get resource before we start asserting resets"
>      -- Squash this with previous commit (Stan)
>    o Commit "Use "clk_out" error path label"
>      -- Move clk_prepare_enable() after getting resouurces (Stan)
>      -- Change subject to "Use more common error handling code in
>         brcm_pcie_probe()" (Markus)
>      -- Use imperative commit description (Markus)
>      -- "Fixes:" tag added for missing error return. (Markus)
>    o Commit "dt-bindings: PCI ..."
>      -- Split off maintainer change in separate commit.
>      -- Tried to accomodate Krzysztof's requests, I'm not sure I
>         have succeeded.  Krzysztof, please see [1] below.

Tested-by: Florian Fainelli <florian.fainelli@broadcom.com>

Thanks Jim!