RE: [PATCH 2/2] PCI: amd-mdb: Add support for PCIe RP PERST# signal

From: Musham, Sai Krishna
Date: Fri Apr 04 2025 - 03:08:41 EST


[AMD Official Use Only - AMD Internal Distribution Only]

Hi Krzysztof,

> -----Original Message-----
> From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
> Sent: Wednesday, March 26, 2025 1:53 PM
> To: Musham, Sai Krishna <sai.krishna.musham@xxxxxxx>
> Cc: bhelgaas@xxxxxxxxxx; lpieralisi@xxxxxxxxxx; kw@xxxxxxxxx;
> manivannan.sadhasivam@xxxxxxxxxx; robh@xxxxxxxxxx; krzk+dt@xxxxxxxxxx;
> conor+dt@xxxxxxxxxx; cassel@xxxxxxxxxx; linux-pci@xxxxxxxxxxxxxxx;
> devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Simek, Michal
> <michal.simek@xxxxxxx>; Gogada, Bharat Kumar
> <bharat.kumar.gogada@xxxxxxx>; Havalige, Thippeswamy
> <thippeswamy.havalige@xxxxxxx>
> Subject: Re: [PATCH 2/2] PCI: amd-mdb: Add support for PCIe RP PERST# signal
>
> Caution: This message originated from an External Source. Use proper caution
> when opening attachments, clicking links, or responding.
>
>
> On Wed, Mar 26, 2025 at 09:45:07AM +0530, Sai Krishna Musham wrote:
> > Add PERST# signal handling via I2C GPIO expander for AMD Versal2 MDB
> > PCIe Root Port.
> >
> > Signed-off-by: Sai Krishna Musham <sai.krishna.musham@xxxxxxx>
> > ---
> > drivers/pci/controller/dwc/pcie-amd-mdb.c | 20 ++++++++++++++++++++
> > 1 file changed, 20 insertions(+)
> >
> > diff --git a/drivers/pci/controller/dwc/pcie-amd-mdb.c
> > b/drivers/pci/controller/dwc/pcie-amd-mdb.c
> > index 4eb2a4e8189d..4eea53e9e197 100644
> > --- a/drivers/pci/controller/dwc/pcie-amd-mdb.c
> > +++ b/drivers/pci/controller/dwc/pcie-amd-mdb.c
> > @@ -18,6 +18,7 @@
> > #include <linux/resource.h>
> > #include <linux/types.h>
> >
> > +#include "../../pci.h"
> > #include "pcie-designware.h"
> >
> > #define AMD_MDB_TLP_IR_STATUS_MISC 0x4C0
> > @@ -408,6 +409,7 @@ static int amd_mdb_add_pcie_port(struct amd_mdb_pcie
> *pcie,
> > struct dw_pcie *pci = &pcie->pci;
> > struct dw_pcie_rp *pp = &pci->pp;
> > struct device *dev = &pdev->dev;
> > + struct gpio_desc *reset_gpio;
> > int err;
> >
> > pcie->slcr = devm_platform_ioremap_resource_byname(pdev,
> > "slcr"); @@ -426,6 +428,24 @@ static int amd_mdb_add_pcie_port(struct
> > amd_mdb_pcie *pcie,
> >
> > pp->ops = &amd_mdb_pcie_host_ops;
> >
> > + /* Request the GPIO for PCIe reset signal and assert */
> > + reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
> > + if (IS_ERR(reset_gpio)) {
> > + if (PTR_ERR(reset_gpio) == -EPROBE_DEFER)
> > + return -EPROBE_DEFER;
> > + dev_err(dev, "Failed to request reset GPIO\n");
>
> Do not open-code dev_err_probe.
>

Thank you for reviewing. Sure, I will use dev_err_probe in next patch.

> Best regards,
> Krzysztof

Regards,
Sai Krishna