RE: [PATCH v14 3/3] PCI: amd-mdb: Add AMD MDB Root Port driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[AMD Official Use Only - AMD Internal Distribution Only]

Hi Bjorn,

Thanks for reviewing, will update all comments in next patch.

Regards,
Thippeswamy H
> -----Original Message-----
> From: Bjorn Helgaas <helgaas@xxxxxxxxxx>
> Sent: Tuesday, February 25, 2025 1:33 AM
> To: Havalige, Thippeswamy <thippeswamy.havalige@xxxxxxx>
> Cc: bhelgaas@xxxxxxxxxx; lpieralisi@xxxxxxxxxx; kw@xxxxxxxxx;
> manivannan.sadhasivam@xxxxxxxxxx; robh@xxxxxxxxxx; krzk+dt@xxxxxxxxxx;
> conor+dt@xxxxxxxxxx; linux-pci@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx; Simek, Michal <michal.simek@xxxxxxx>;
> Gogada, Bharat Kumar <bharat.kumar.gogada@xxxxxxx>;
> jingoohan1@xxxxxxxxx
> Subject: Re: [PATCH v14 3/3] PCI: amd-mdb: Add AMD MDB Root Port driver
>
> On Mon, Feb 24, 2025 at 01:01:17PM +0530, Thippeswamy Havalige wrote:
> > Add support for AMD MDB (Multimedia DMA Bridge) IP core as Root Port.
> >
> > The Versal2 devices include MDB Module. The integrated block for MDB
> > along with the integrated bridge can function as PCIe Root Port
> > controller at
> > Gen5 32-Gb/s operation per lane.
> >
> > Bridge supports error and legacy interrupts and are handled using
> > platform specific interrupt line in Versal2.
>
> s/legacy/INTx/ (I assume that's what you mean here)
>
> > +config PCIE_AMD_MDB
> > +   bool "AMD MDB Versal2 PCIe Host controller"
> > +   depends on OF || COMPILE_TEST
> > +   depends on PCI && PCI_MSI
> > +   select PCIE_DW_HOST
> > +   help
> > +     Say Y here if you want to enable PCIe controller support on AMD
> > +     Versal2 SoCs. The AMD MDB Versal2 PCIe controller is based on
> > +     DesignWare IP and therefore the driver re-uses the Designware core
> > +     functions to implement the driver.
>
> s/Designware/DesignWare/
>
> > +static void amd_mdb_intx_irq_unmask(struct irq_data *data) {
> > +   struct amd_mdb_pcie *pcie = irq_data_get_irq_chip_data(data);
> > +   struct dw_pcie *pci = &pcie->pci;
> > +   struct dw_pcie_rp *port = &pci->pp;
> > +   unsigned long flags;
> > +   u32 val;
> > +
> > +   raw_spin_lock_irqsave(&port->lock, flags);
> > +   val = FIELD_PREP(AMD_MDB_TLP_PCIE_INTX_MASK,
> > +                    AMD_MDB_PCIE_INTR_INTX_ASSERT(data->hwirq));
> > +
> > +   /*
> > +    * Writing '1' to a bit in AMD_MDB_TLP_IR_ENABLE_MISC enables that
> interrupt.
> > +    * Writing '0' has no effect.
>
> Wrap to fit in 80 columns like the rest of the file.
>
> > +    */
> > +   pcie_write(pcie, val, AMD_MDB_TLP_IR_ENABLE_MISC);
> > +   raw_spin_unlock_irqrestore(&port->lock, flags); }





[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux