linux-snps-arc.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: helgaas@kernel.org (Bjorn Helgaas)
To: linux-snps-arc@lists.infradead.org
Subject: [PATCH v7 2/2] add new platform driver for PCI RC
Date: Wed, 3 Feb 2016 12:05:14 -0600	[thread overview]
Message-ID: <20160203180514.GA10879@localhost> (raw)
In-Reply-To: <8223655.W63T0XOVm1@wuerfel>

Hi Joao & Arnd,

On Tue, Feb 02, 2016@09:25:25PM +0100, Arnd Bergmann wrote:
> On Monday 01 February 2016 18:07:45 Joao Pinto wrote:
> > This patch adds a new driver that will be the reference platform driver
> > for all PCI RC IP Protoyping Kits based on ARC SDP.
> > This patch is composed by:
> > 
> > -MAINTAINERS file was updated to include the new driver
> > -Documentation/devicetree/bindings/pci was updated to include the new
> > driver documentation
> > -New driver called pcie-synopsys
> > 
> > Signed-off-by: Joao Pinto <jpinto at synopsys.com>
> 
> I must have completely missed all the earlier submissions and just happened
> to see this one now that it was merged.
> 
> I have a couple of comments, maybe you can send a follow up patch to address
> them:

These seem pretty easy to address, so I pulled these patches out of
for-linus temporarily while we fix them.

Joao, you can just fix the mdelay() in your driver; don't worry about 
fixing other drivers with the same problem or consolidating them.

Bjorn

> > +----------------------------------
> > +
> > +This is the reference platform driver to be used in the Synopsys PCI Root
> > +Complex IP Prototyping Kit.
> > +
> > +Required properties:
> > +- compatible: set to "snps,pcie-synopsys";
> 
> Please also include the exact version of the designware PCIe part that
> is used in here, such as "snps,dw-pcie-1.234". I'm sure you can find
> out the version.
> 
> "snps,pcie-synopsys" by itself is about the worst possible compatible
> string because it says nothing about the specific hardware. Half the
> machines we support all have a designware PCIe host that was made
> by synopsys. Please use the name of the SoC for the most specific
> string.
> 
> > +- reg: base address and length of the pcie controller registers.
> > +- #address-cells: set to <3>
> > +- #size-cells: set to <2>
> > +- device_type: set to "pci"
> > +- ranges: ranges for the PCI memory and I/O regions.
> > +- interrupts: one interrupt source for MSI interrupts, followed by interrupt
> > +	source for hardware related interrupts.
> > +- #interrupt-cells: set to <1>
> > +- num-lanes: set to <1>;
> > +
> > +Example configuration:
> > +
> > +	pcie: pcie at 0xdffff000 {
> > +		compatible = "snps,pcie-synopsys";
> > +		reg = <0xdffff000 0x1000>;
> > +		#address-cells = <3>;
> > +		#size-cells = <2>;
> > +		device_type = "pci";
> > +		ranges = <0x00000800 0 0xd0000000 0xd0000000 0 0x00002000>,
> 
> This line looks misplaced here and does not match the documentation. It's
> probably a leftover from an earlier version that had the config space
> in the ranges, so you need to remove that.
> 
> > +/* This handler was created for future work */
> > +static irqreturn_t synopsys_pcie_irq_handler(int irq, void *arg)
> > +{
> > +	return IRQ_NONE;
> > +}
> 
> It's not harmful, but we generally don't add code "for future work",
> better remove it for now.
> 
> > +static void synopsys_pcie_establish_link(struct pcie_port *pp)
> > +{
> > +	int retries = 0;
> > +
> > +	/* check if the link is up or not */
> > +	for (retries = 0; retries < 10; retries++) {
> > +		if (dw_pcie_link_up(pp)) {
> > +			dev_info(pp->dev, "Link up\n");
> > +			return;
> > +		}
> > +		mdelay(100);
> > +	}
> > +}
> 
> That mdelay() needs to be an msleep(). You should never waste
> a whole second worth of CPU time in a driver.
> 
> 	Arnd
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2016-02-03 18:05 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-01 18:07 [PATCH v7 0/2] adding PCI support to AXS10x Joao Pinto
2016-02-01 18:07 ` [PATCH v7 1/2] PCI support added to ARC Joao Pinto
2016-02-02 10:48   ` Vineet Gupta
2016-02-01 18:07 ` [PATCH v7 2/2] add new platform driver for PCI RC Joao Pinto
2016-02-02 17:12   ` Bjorn Helgaas
2016-02-02 20:25   ` Arnd Bergmann
2016-02-02 23:14     ` Bjorn Helgaas
2016-02-02 23:27       ` Arnd Bergmann
2016-02-03 18:05     ` Bjorn Helgaas [this message]
2016-02-03 18:12       ` Joao Pinto
2016-02-03 18:38         ` Bjorn Helgaas
2016-02-03 21:01           ` Arnd Bergmann
2016-02-04 11:10             ` Joao Pinto
2016-02-04 13:12               ` Arnd Bergmann
2016-02-04 11:14           ` Joao Pinto
2016-02-04 14:09             ` Joao Pinto
2016-02-04 15:22               ` Arnd Bergmann
2016-02-02 17:14 ` [PATCH v7 0/2] adding PCI support to AXS10x Bjorn Helgaas
2016-02-02 17:17   ` Joao Pinto
2016-02-02 17:24     ` Joao Pinto

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=20160203180514.GA10879@localhost \
    --to=helgaas@kernel.org \
    --cc=linux-snps-arc@lists.infradead.org \
    /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).