linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bharat Kumar Gogada <bharatku@xilinx.com>
To: "lorenzo.pieralisi@arm.com" <lorenzo.pieralisi@arm.com>
Cc: "linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"bhelgaas@google.com" <bhelgaas@google.com>,
	Ravikiran Gummaluri <rgummal@xilinx.com>,
	"maz@kernel.org" <maz@kernel.org>
Subject: RE: [PATCH v5 2/2] PCI: xilinx-cpm: Add Versal CPM Root Port driver
Date: Mon, 9 Mar 2020 11:27:18 +0000	[thread overview]
Message-ID: <MN2PR02MB6336BC1C755CC4F2F616C6CDA5FE0@MN2PR02MB6336.namprd02.prod.outlook.com> (raw)
In-Reply-To: <20200306151210.GB10297@e121166-lin.cambridge.arm.com>

> Subject: Re: [PATCH v5 2/2] PCI: xilinx-cpm: Add Versal CPM Root Port driver
> 
> On Fri, Mar 06, 2020 at 11:45:47AM +0000, Bharat Kumar Gogada wrote:
> > > From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> > > Sent: Friday, March 6, 2020 4:46 PM
> > > To: Bharat Kumar Gogada <bharatku@xilinx.com>
> > > Cc: linux-pci@vger.kernel.org; linux-kernel@vger.kernel.org;
> > > bhelgaas@google.com; Ravikiran Gummaluri <rgummal@xilinx.com>;
> > > maz@kernel.org
> > > Subject: Re: [PATCH v5 2/2] PCI: xilinx-cpm: Add Versal CPM Root
> > > Port driver
> > >
> > > On Fri, Feb 28, 2020 at 12:48:48PM +0000, Bharat Kumar Gogada wrote:
> > > > > Subject: Re: [PATCH v5 2/2] PCI: xilinx-cpm: Add Versal CPM Root
> > > > > Port driver
> > > > >
> > > > > [+MarcZ, FHI]
> > > > >
> > > > > On Tue, Feb 25, 2020 at 02:39:56PM +0000, Bharat Kumar Gogada
> wrote:
> > > > >
> > > > > [...]
> > > > >
> > > > > > > > +/* ECAM definitions */
> > > > > > > > +#define ECAM_BUS_NUM_SHIFT		20
> > > > > > > > +#define ECAM_DEV_NUM_SHIFT		12
> > > > > > >
> > > > > > > You don't need these ECAM_* defines, you can use
> > > pci_generic_ecam_ops.
> > > > > > Does this need separate ranges region for ECAM space ?
> > > > > > We have ECAM and controller space in same region.
> > > > >
> > > > > You can create an ECAM window with pci_ecam_create where *cfgres
> > > > > represent the ECAM area, I don't get what you mean by "same region".
> > > > >
> > > > > Do you mean "contiguous" ? Or something else ?
> > > > Yes, contiguous; within ECAM region some space is for controller registers.
> > >
> > > What does that mean ? I don't get it. Can you explain to me how this
> > > address space works please ?
> > >
> > Hi Lorenzo,
> > 		reg = <0x6 0x00000000 0x0 0x1000000>,
> 
> This supports up to 16 busses (it is 16MB in size rather than full ECAM 256MB),
> right ? Please make sure that the bus-range property reflects that.
> 
> > 		      <0x0 0xFCA10000 0x0 0x1000>;
> > 		reg-names = "cfg", "cpm_slcr";
> >
> > In the above cfg region some region of it reserved for bridge
> > registers and rest for ECAM address space transactions. The bridge
> > registers are mapped at an unused offset in config space of root port, when
> the offset hit it will access controller register space.
> >
> > This region is already being mapped
> > res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "cfg");
> > port->reg_base = devm_ioremap_resource(dev, res);
> >
> > Does pci_ecam_create will work along with above API simultaneously ?
> 
> Basically the bridge registers are accessible through the PCI config accessors
> (after enumeration), since they are in the bridge device specific config space
> (device specific area).
> 
> IIUC the answer is yes and you can access the bridge registers through PCI
> config space accessors (after enumeration).
> 
Hi Lorenzo,

The bridge register access  are not using config space accessors, we have local pcie_read/write
api for accessing bridge registers.
The hardware logic have details of offsets to which it will not send config accesses it will do local
AXI read and write accesses when the bridge registers are accessed.

Regards,
Bharat


  reply	other threads:[~2020-03-09 11:27 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-30 16:12 [PATCH v5 0/2] Adding support for Versal CPM as Root Port driver Bharat Kumar Gogada
2020-01-30 16:12 ` [PATCH v5 1/2] PCI: xilinx-cpm: Add device tree binding for Versal CPM host bridge Bharat Kumar Gogada
2020-01-30 16:12 ` [PATCH v5 2/2] PCI: xilinx-cpm: Add Versal CPM Root Port driver Bharat Kumar Gogada
2020-02-17  4:54   ` Bharat Kumar Gogada
2020-02-17 23:55   ` Bjorn Helgaas
2020-02-24  9:14     ` Bharat Kumar Gogada
2020-02-25 11:30   ` Lorenzo Pieralisi
2020-02-25 11:40   ` Lorenzo Pieralisi
2020-02-25 14:39     ` Bharat Kumar Gogada
2020-02-28 10:44       ` Lorenzo Pieralisi
2020-02-28 12:48         ` Bharat Kumar Gogada
2020-03-06 11:16           ` Lorenzo Pieralisi
2020-03-06 11:45             ` Bharat Kumar Gogada
2020-03-06 15:12               ` Lorenzo Pieralisi
2020-03-09 11:27                 ` Bharat Kumar Gogada [this message]
2020-03-16  5:24         ` Bharat Kumar Gogada
2020-03-30  9:37           ` Bharat Kumar Gogada
2020-04-16  7:07             ` Bharat Kumar Gogada
2020-04-20  8:52               ` Lorenzo Pieralisi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=MN2PR02MB6336BC1C755CC4F2F616C6CDA5FE0@MN2PR02MB6336.namprd02.prod.outlook.com \
    --to=bharatku@xilinx.com \
    --cc=bhelgaas@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=maz@kernel.org \
    --cc=rgummal@xilinx.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).