All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/8] PCI: artpec6: Name private struct pointer "artpec6" consistently
@ 2016-10-07 16:32 Bjorn Helgaas
  2016-10-07 16:32 ` [PATCH 2/8] PCI: artpec6: Add register accessors Bjorn Helgaas
                   ` (7 more replies)
  0 siblings, 8 replies; 17+ messages in thread
From: Bjorn Helgaas @ 2016-10-07 16:32 UTC (permalink / raw)
  To: Jesper Nilsson, Niklas Cassel; +Cc: linux-pci, linux-arm-kernel

Use a device-specific name, "artpec6", for struct artpec6_pcie pointers
to hint that this is device-specific information.  No functional change
intended.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
---
 drivers/pci/host/pcie-artpec6.c |   57 +++++++++++++++++++--------------------
 1 file changed, 28 insertions(+), 29 deletions(-)

diff --git a/drivers/pci/host/pcie-artpec6.c b/drivers/pci/host/pcie-artpec6.c
index 39bf1a6..55f69eb 100644
--- a/drivers/pci/host/pcie-artpec6.c
+++ b/drivers/pci/host/pcie-artpec6.c
@@ -67,16 +67,16 @@ struct artpec6_pcie {
 
 static int artpec6_pcie_establish_link(struct pcie_port *pp)
 {
-	struct artpec6_pcie *artpec6_pcie = to_artpec6_pcie(pp);
+	struct artpec6_pcie *artpec6 = to_artpec6_pcie(pp);
 	u32 val;
 	unsigned int retries;
 
 	/* Hold DW core in reset */
-	regmap_read(artpec6_pcie->regmap, PCIECFG, &val);
+	regmap_read(artpec6->regmap, PCIECFG, &val);
 	val |= PCIECFG_CORE_RESET_REQ;
-	regmap_write(artpec6_pcie->regmap, PCIECFG, val);
+	regmap_write(artpec6->regmap, PCIECFG, val);
 
-	regmap_read(artpec6_pcie->regmap, PCIECFG, &val);
+	regmap_read(artpec6->regmap, PCIECFG, &val);
 	val |=  PCIECFG_RISRCREN |	/* Receiver term. 50 Ohm */
 		PCIECFG_MODE_TX_DRV_EN |
 		PCIECFG_CISRREN |	/* Reference clock term. 100 Ohm */
@@ -84,27 +84,27 @@ static int artpec6_pcie_establish_link(struct pcie_port *pp)
 	val |= PCIECFG_REFCLK_ENABLE;
 	val &= ~PCIECFG_DBG_OEN;
 	val &= ~PCIECFG_CLKREQ_B;
-	regmap_write(artpec6_pcie->regmap, PCIECFG, val);
+	regmap_write(artpec6->regmap, PCIECFG, val);
 	usleep_range(5000, 6000);
 
-	regmap_read(artpec6_pcie->regmap, NOCCFG, &val);
+	regmap_read(artpec6->regmap, NOCCFG, &val);
 	val |= NOCCFG_ENABLE_CLK_PCIE;
-	regmap_write(artpec6_pcie->regmap, NOCCFG, val);
+	regmap_write(artpec6->regmap, NOCCFG, val);
 	usleep_range(20, 30);
 
-	regmap_read(artpec6_pcie->regmap, PCIECFG, &val);
+	regmap_read(artpec6->regmap, PCIECFG, &val);
 	val |= PCIECFG_PCLK_ENABLE | PCIECFG_PLL_ENABLE;
-	regmap_write(artpec6_pcie->regmap, PCIECFG, val);
+	regmap_write(artpec6->regmap, PCIECFG, val);
 	usleep_range(6000, 7000);
 
-	regmap_read(artpec6_pcie->regmap, NOCCFG, &val);
+	regmap_read(artpec6->regmap, NOCCFG, &val);
 	val &= ~NOCCFG_POWER_PCIE_IDLEREQ;
-	regmap_write(artpec6_pcie->regmap, NOCCFG, val);
+	regmap_write(artpec6->regmap, NOCCFG, val);
 
 	retries = 50;
 	do {
 		usleep_range(1000, 2000);
-		regmap_read(artpec6_pcie->regmap, NOCCFG, &val);
+		regmap_read(artpec6->regmap, NOCCFG, &val);
 		retries--;
 	} while (retries &&
 		(val & (NOCCFG_POWER_PCIE_IDLEACK | NOCCFG_POWER_PCIE_IDLE)));
@@ -112,14 +112,14 @@ static int artpec6_pcie_establish_link(struct pcie_port *pp)
 	retries = 50;
 	do {
 		usleep_range(1000, 2000);
-		val = readl(artpec6_pcie->phy_base + PHY_STATUS);
+		val = readl(artpec6->phy_base + PHY_STATUS);
 		retries--;
 	} while (retries && !(val & PHY_COSPLLLOCK));
 
 	/* Take DW core out of reset */
-	regmap_read(artpec6_pcie->regmap, PCIECFG, &val);
+	regmap_read(artpec6->regmap, PCIECFG, &val);
 	val &= ~PCIECFG_CORE_RESET_REQ;
-	regmap_write(artpec6_pcie->regmap, PCIECFG, val);
+	regmap_write(artpec6->regmap, PCIECFG, val);
 	usleep_range(100, 200);
 
 	/*
@@ -137,9 +137,9 @@ static int artpec6_pcie_establish_link(struct pcie_port *pp)
 	dw_pcie_setup_rc(pp);
 
 	/* assert LTSSM enable */
-	regmap_read(artpec6_pcie->regmap, PCIECFG, &val);
+	regmap_read(artpec6->regmap, PCIECFG, &val);
 	val |= PCIECFG_LTSSM_ENABLE;
-	regmap_write(artpec6_pcie->regmap, PCIECFG, val);
+	regmap_write(artpec6->regmap, PCIECFG, val);
 
 	/* check if the link is up or not */
 	if (!dw_pcie_wait_for_link(pp))
@@ -227,18 +227,17 @@ static int artpec6_add_pcie_port(struct pcie_port *pp,
 
 static int artpec6_pcie_probe(struct platform_device *pdev)
 {
-	struct artpec6_pcie *artpec6_pcie;
+	struct artpec6_pcie *artpec6;
 	struct pcie_port *pp;
 	struct resource *dbi_base;
 	struct resource *phy_base;
 	int ret;
 
-	artpec6_pcie = devm_kzalloc(&pdev->dev, sizeof(*artpec6_pcie),
-				    GFP_KERNEL);
-	if (!artpec6_pcie)
+	artpec6 = devm_kzalloc(&pdev->dev, sizeof(*artpec6), GFP_KERNEL);
+	if (!artpec6)
 		return -ENOMEM;
 
-	pp = &artpec6_pcie->pp;
+	pp = &artpec6->pp;
 	pp->dev = &pdev->dev;
 
 	dbi_base = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dbi");
@@ -247,21 +246,21 @@ static int artpec6_pcie_probe(struct platform_device *pdev)
 		return PTR_ERR(pp->dbi_base);
 
 	phy_base = platform_get_resource_byname(pdev, IORESOURCE_MEM, "phy");
-	artpec6_pcie->phy_base = devm_ioremap_resource(&pdev->dev, phy_base);
-	if (IS_ERR(artpec6_pcie->phy_base))
-		return PTR_ERR(artpec6_pcie->phy_base);
+	artpec6->phy_base = devm_ioremap_resource(&pdev->dev, phy_base);
+	if (IS_ERR(artpec6->phy_base))
+		return PTR_ERR(artpec6->phy_base);
 
-	artpec6_pcie->regmap =
+	artpec6->regmap =
 		syscon_regmap_lookup_by_phandle(pdev->dev.of_node,
 						"axis,syscon-pcie");
-	if (IS_ERR(artpec6_pcie->regmap))
-		return PTR_ERR(artpec6_pcie->regmap);
+	if (IS_ERR(artpec6->regmap))
+		return PTR_ERR(artpec6->regmap);
 
 	ret = artpec6_add_pcie_port(pp, pdev);
 	if (ret < 0)
 		return ret;
 
-	platform_set_drvdata(pdev, artpec6_pcie);
+	platform_set_drvdata(pdev, artpec6);
 	return 0;
 }
 


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 2/8] PCI: artpec6: Add register accessors
  2016-10-07 16:32 [PATCH 1/8] PCI: artpec6: Name private struct pointer "artpec6" consistently Bjorn Helgaas
@ 2016-10-07 16:32 ` Bjorn Helgaas
  2016-10-08  7:41   ` Jesper Nilsson
  2016-10-07 16:32 ` [PATCH 3/8] PCI: artpec6: Pass device-specific struct to internal functions Bjorn Helgaas
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 17+ messages in thread
From: Bjorn Helgaas @ 2016-10-07 16:32 UTC (permalink / raw)
  To: Jesper Nilsson, Niklas Cassel; +Cc: linux-pci, linux-arm-kernel

Add device-specific register accessors for consistency across host
drivers.  No functional change intended.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
---
 drivers/pci/host/pcie-artpec6.c |   43 +++++++++++++++++++++++++--------------
 1 file changed, 28 insertions(+), 15 deletions(-)

diff --git a/drivers/pci/host/pcie-artpec6.c b/drivers/pci/host/pcie-artpec6.c
index 55f69eb..6cfd7a5 100644
--- a/drivers/pci/host/pcie-artpec6.c
+++ b/drivers/pci/host/pcie-artpec6.c
@@ -65,6 +65,19 @@ struct artpec6_pcie {
 
 #define ARTPEC6_CPU_TO_BUS_ADDR		0x0fffffff
 
+static u32 artpec6_readl(struct artpec6_pcie *artpec6, u32 offset)
+{
+	u32 val;
+
+	regmap_read(artpec6->regmap, offset, &val);
+	return val;
+}
+
+static void artpec6_writel(struct artpec6_pcie *artpec6, u32 offset, u32 val)
+{
+	regmap_write(artpec6->regmap, offset, val);
+}
+
 static int artpec6_pcie_establish_link(struct pcie_port *pp)
 {
 	struct artpec6_pcie *artpec6 = to_artpec6_pcie(pp);
@@ -72,11 +85,11 @@ static int artpec6_pcie_establish_link(struct pcie_port *pp)
 	unsigned int retries;
 
 	/* Hold DW core in reset */
-	regmap_read(artpec6->regmap, PCIECFG, &val);
+	val = artpec6_readl(artpec6, PCIECFG);
 	val |= PCIECFG_CORE_RESET_REQ;
-	regmap_write(artpec6->regmap, PCIECFG, val);
+	artpec6_writel(artpec6, PCIECFG, val);
 
-	regmap_read(artpec6->regmap, PCIECFG, &val);
+	val = artpec6_readl(artpec6, PCIECFG);
 	val |=  PCIECFG_RISRCREN |	/* Receiver term. 50 Ohm */
 		PCIECFG_MODE_TX_DRV_EN |
 		PCIECFG_CISRREN |	/* Reference clock term. 100 Ohm */
@@ -84,27 +97,27 @@ static int artpec6_pcie_establish_link(struct pcie_port *pp)
 	val |= PCIECFG_REFCLK_ENABLE;
 	val &= ~PCIECFG_DBG_OEN;
 	val &= ~PCIECFG_CLKREQ_B;
-	regmap_write(artpec6->regmap, PCIECFG, val);
+	artpec6_writel(artpec6, PCIECFG, val);
 	usleep_range(5000, 6000);
 
-	regmap_read(artpec6->regmap, NOCCFG, &val);
+	val = artpec6_readl(artpec6, NOCCFG);
 	val |= NOCCFG_ENABLE_CLK_PCIE;
-	regmap_write(artpec6->regmap, NOCCFG, val);
+	artpec6_writel(artpec6, NOCCFG, val);
 	usleep_range(20, 30);
 
-	regmap_read(artpec6->regmap, PCIECFG, &val);
+	val = artpec6_readl(artpec6, PCIECFG);
 	val |= PCIECFG_PCLK_ENABLE | PCIECFG_PLL_ENABLE;
-	regmap_write(artpec6->regmap, PCIECFG, val);
+	artpec6_writel(artpec6, PCIECFG, val);
 	usleep_range(6000, 7000);
 
-	regmap_read(artpec6->regmap, NOCCFG, &val);
+	val = artpec6_readl(artpec6, NOCCFG);
 	val &= ~NOCCFG_POWER_PCIE_IDLEREQ;
-	regmap_write(artpec6->regmap, NOCCFG, val);
+	artpec6_writel(artpec6, NOCCFG, val);
 
 	retries = 50;
 	do {
 		usleep_range(1000, 2000);
-		regmap_read(artpec6->regmap, NOCCFG, &val);
+		val = artpec6_readl(artpec6, NOCCFG);
 		retries--;
 	} while (retries &&
 		(val & (NOCCFG_POWER_PCIE_IDLEACK | NOCCFG_POWER_PCIE_IDLE)));
@@ -117,9 +130,9 @@ static int artpec6_pcie_establish_link(struct pcie_port *pp)
 	} while (retries && !(val & PHY_COSPLLLOCK));
 
 	/* Take DW core out of reset */
-	regmap_read(artpec6->regmap, PCIECFG, &val);
+	val = artpec6_readl(artpec6, PCIECFG);
 	val &= ~PCIECFG_CORE_RESET_REQ;
-	regmap_write(artpec6->regmap, PCIECFG, val);
+	artpec6_writel(artpec6, PCIECFG, val);
 	usleep_range(100, 200);
 
 	/*
@@ -137,9 +150,9 @@ static int artpec6_pcie_establish_link(struct pcie_port *pp)
 	dw_pcie_setup_rc(pp);
 
 	/* assert LTSSM enable */
-	regmap_read(artpec6->regmap, PCIECFG, &val);
+	val = artpec6_readl(artpec6, PCIECFG);
 	val |= PCIECFG_LTSSM_ENABLE;
-	regmap_write(artpec6->regmap, PCIECFG, val);
+	artpec6_writel(artpec6, PCIECFG, val);
 
 	/* check if the link is up or not */
 	if (!dw_pcie_wait_for_link(pp))


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 3/8] PCI: artpec6: Pass device-specific struct to internal functions
  2016-10-07 16:32 [PATCH 1/8] PCI: artpec6: Name private struct pointer "artpec6" consistently Bjorn Helgaas
  2016-10-07 16:32 ` [PATCH 2/8] PCI: artpec6: Add register accessors Bjorn Helgaas
@ 2016-10-07 16:32 ` Bjorn Helgaas
  2016-10-08  7:41   ` Jesper Nilsson
  2016-10-07 16:33 ` [PATCH 4/8] PCI: artpec6: Add resource name comments Bjorn Helgaas
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 17+ messages in thread
From: Bjorn Helgaas @ 2016-10-07 16:32 UTC (permalink / raw)
  To: Jesper Nilsson, Niklas Cassel; +Cc: linux-pci, linux-arm-kernel

Only interfaces used from outside the driver, e.g., those called by the
DesignWare core, need to accept pointers to the generic struct pcie_port.
Internal interfaces can accept pointers to the device-specific struct,
which makes them more straightforward.  No functional change intended.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
---
 drivers/pci/host/pcie-artpec6.c |   24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/drivers/pci/host/pcie-artpec6.c b/drivers/pci/host/pcie-artpec6.c
index 6cfd7a5..585aac21b 100644
--- a/drivers/pci/host/pcie-artpec6.c
+++ b/drivers/pci/host/pcie-artpec6.c
@@ -78,9 +78,9 @@ static void artpec6_writel(struct artpec6_pcie *artpec6, u32 offset, u32 val)
 	regmap_write(artpec6->regmap, offset, val);
 }
 
-static int artpec6_pcie_establish_link(struct pcie_port *pp)
+static int artpec6_pcie_establish_link(struct artpec6_pcie *artpec6)
 {
-	struct artpec6_pcie *artpec6 = to_artpec6_pcie(pp);
+	struct pcie_port *pp = &artpec6->pp;
 	u32 val;
 	unsigned int retries;
 
@@ -165,16 +165,20 @@ static int artpec6_pcie_establish_link(struct pcie_port *pp)
 	return -ETIMEDOUT;
 }
 
-static void artpec6_pcie_enable_interrupts(struct pcie_port *pp)
+static void artpec6_pcie_enable_interrupts(struct artpec6_pcie *artpec6)
 {
+	struct pcie_port *pp = &artpec6->pp;
+
 	if (IS_ENABLED(CONFIG_PCI_MSI))
 		dw_pcie_msi_init(pp);
 }
 
 static void artpec6_pcie_host_init(struct pcie_port *pp)
 {
-	artpec6_pcie_establish_link(pp);
-	artpec6_pcie_enable_interrupts(pp);
+	struct artpec6_pcie *artpec6 = to_artpec6_pcie(pp);
+
+	artpec6_pcie_establish_link(artpec6);
+	artpec6_pcie_enable_interrupts(artpec6);
 }
 
 static int artpec6_pcie_link_up(struct pcie_port *pp)
@@ -199,14 +203,16 @@ static struct pcie_host_ops artpec6_pcie_host_ops = {
 
 static irqreturn_t artpec6_pcie_msi_handler(int irq, void *arg)
 {
-	struct pcie_port *pp = arg;
+	struct artpec6_pcie *artpec6 = arg;
+	struct pcie_port *pp = &artpec6->pp;
 
 	return dw_handle_msi_irq(pp);
 }
 
-static int artpec6_add_pcie_port(struct pcie_port *pp,
+static int artpec6_add_pcie_port(struct artpec6_pcie *artpec6,
 				 struct platform_device *pdev)
 {
+	struct pcie_port *pp = &artpec6->pp;
 	int ret;
 
 	if (IS_ENABLED(CONFIG_PCI_MSI)) {
@@ -219,7 +225,7 @@ static int artpec6_add_pcie_port(struct pcie_port *pp,
 		ret = devm_request_irq(&pdev->dev, pp->msi_irq,
 				       artpec6_pcie_msi_handler,
 				       IRQF_SHARED | IRQF_NO_THREAD,
-				       "artpec6-pcie-msi", pp);
+				       "artpec6-pcie-msi", artpec6);
 		if (ret) {
 			dev_err(&pdev->dev, "failed to request MSI irq\n");
 			return ret;
@@ -269,7 +275,7 @@ static int artpec6_pcie_probe(struct platform_device *pdev)
 	if (IS_ERR(artpec6->regmap))
 		return PTR_ERR(artpec6->regmap);
 
-	ret = artpec6_add_pcie_port(pp, pdev);
+	ret = artpec6_add_pcie_port(artpec6, pdev);
 	if (ret < 0)
 		return ret;
 


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 4/8] PCI: artpec6: Add resource name comments
  2016-10-07 16:32 [PATCH 1/8] PCI: artpec6: Name private struct pointer "artpec6" consistently Bjorn Helgaas
  2016-10-07 16:32 ` [PATCH 2/8] PCI: artpec6: Add register accessors Bjorn Helgaas
  2016-10-07 16:32 ` [PATCH 3/8] PCI: artpec6: Pass device-specific struct to internal functions Bjorn Helgaas
@ 2016-10-07 16:33 ` Bjorn Helgaas
  2016-10-08  7:42   ` Jesper Nilsson
  2016-10-07 16:33 ` [PATCH 5/8] PCI: artpec6: Remove unnecessary artpec6_pcie_link_up() Bjorn Helgaas
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 17+ messages in thread
From: Bjorn Helgaas @ 2016-10-07 16:33 UTC (permalink / raw)
  To: Jesper Nilsson, Niklas Cassel; +Cc: linux-pci, linux-arm-kernel

Add comments about the Device Tree source of resources.  No functional
change.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
---
 drivers/pci/host/pcie-artpec6.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/pci/host/pcie-artpec6.c b/drivers/pci/host/pcie-artpec6.c
index 585aac21b..add6b21 100644
--- a/drivers/pci/host/pcie-artpec6.c
+++ b/drivers/pci/host/pcie-artpec6.c
@@ -27,9 +27,9 @@
 #define to_artpec6_pcie(x)	container_of(x, struct artpec6_pcie, pp)
 
 struct artpec6_pcie {
-	struct pcie_port	pp;
-	struct regmap		*regmap;
-	void __iomem		*phy_base;
+	struct pcie_port	pp;		/* pp.dbi_base is DT dbi */
+	struct regmap		*regmap;	/* DT axis,syscon-pcie */
+	void __iomem		*phy_base;	/* DT phy */
 };
 
 /* PCIe Port Logic registers (memory-mapped) */


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 5/8] PCI: artpec6: Remove unnecessary artpec6_pcie_link_up()
  2016-10-07 16:32 [PATCH 1/8] PCI: artpec6: Name private struct pointer "artpec6" consistently Bjorn Helgaas
                   ` (2 preceding siblings ...)
  2016-10-07 16:33 ` [PATCH 4/8] PCI: artpec6: Add resource name comments Bjorn Helgaas
@ 2016-10-07 16:33 ` Bjorn Helgaas
  2016-10-08  7:53   ` Jesper Nilsson
  2016-10-07 16:33 ` [PATCH 6/8] PCI: artpec6: Use dw_pcie_readl_rc() and dw_pcie_pcie_writel_rc() Bjorn Helgaas
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 17+ messages in thread
From: Bjorn Helgaas @ 2016-10-07 16:33 UTC (permalink / raw)
  To: Jesper Nilsson, Niklas Cassel; +Cc: linux-pci, linux-arm-kernel

Remove artpec6_pcie_link_up(); the generic dw_pcie_link_up() does the same
thing, so we don't need a device-specific version.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
---
 drivers/pci/host/pcie-artpec6.c |   16 ----------------
 1 file changed, 16 deletions(-)

diff --git a/drivers/pci/host/pcie-artpec6.c b/drivers/pci/host/pcie-artpec6.c
index add6b21..8840e30 100644
--- a/drivers/pci/host/pcie-artpec6.c
+++ b/drivers/pci/host/pcie-artpec6.c
@@ -181,23 +181,7 @@ static void artpec6_pcie_host_init(struct pcie_port *pp)
 	artpec6_pcie_enable_interrupts(artpec6);
 }
 
-static int artpec6_pcie_link_up(struct pcie_port *pp)
-{
-	u32 rc;
-
-	/*
-	 * Get status from Synopsys IP
-	 * link is debug bit 36, debug register 1 starts at bit 32
-	 */
-	rc = readl(pp->dbi_base + PCIE_PHY_DEBUG_R1) & (0x1 << (36 - 32));
-	if (rc)
-		return 1;
-
-	return 0;
-}
-
 static struct pcie_host_ops artpec6_pcie_host_ops = {
-	.link_up = artpec6_pcie_link_up,
 	.host_init = artpec6_pcie_host_init,
 };
 


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 6/8] PCI: artpec6: Use dw_pcie_readl_rc() and dw_pcie_pcie_writel_rc()
  2016-10-07 16:32 [PATCH 1/8] PCI: artpec6: Name private struct pointer "artpec6" consistently Bjorn Helgaas
                   ` (3 preceding siblings ...)
  2016-10-07 16:33 ` [PATCH 5/8] PCI: artpec6: Remove unnecessary artpec6_pcie_link_up() Bjorn Helgaas
@ 2016-10-07 16:33 ` Bjorn Helgaas
  2016-10-08  7:53   ` Jesper Nilsson
  2016-10-07 16:33 ` [PATCH 7/8] PCI: artpec6: Add local struct device pointers Bjorn Helgaas
                   ` (2 subsequent siblings)
  7 siblings, 1 reply; 17+ messages in thread
From: Bjorn Helgaas @ 2016-10-07 16:33 UTC (permalink / raw)
  To: Jesper Nilsson, Niklas Cassel; +Cc: linux-pci, linux-arm-kernel

Use the DesignWare-generic register accessors instead of doing readl() and
writel() directly.  No functional change intended.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
---
 drivers/pci/host/pcie-artpec6.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/pci/host/pcie-artpec6.c b/drivers/pci/host/pcie-artpec6.c
index 8840e30..c3dd571 100644
--- a/drivers/pci/host/pcie-artpec6.c
+++ b/drivers/pci/host/pcie-artpec6.c
@@ -139,7 +139,7 @@ static int artpec6_pcie_establish_link(struct artpec6_pcie *artpec6)
 	 * Enable writing to config regs. This is required as the Synopsys
 	 * driver changes the class code. That register needs DBI write enable.
 	 */
-	writel(DBI_RO_WR_EN, pp->dbi_base + MISC_CONTROL_1_OFF);
+	dw_pcie_writel_rc(pp, MISC_CONTROL_1_OFF, DBI_RO_WR_EN);
 
 	pp->io_base &= ARTPEC6_CPU_TO_BUS_ADDR;
 	pp->mem_base &= ARTPEC6_CPU_TO_BUS_ADDR;
@@ -159,8 +159,8 @@ static int artpec6_pcie_establish_link(struct artpec6_pcie *artpec6)
 		return 0;
 
 	dev_dbg(pp->dev, "DEBUG_R0: 0x%08x, DEBUG_R1: 0x%08x\n",
-		readl(pp->dbi_base + PCIE_PHY_DEBUG_R0),
-		readl(pp->dbi_base + PCIE_PHY_DEBUG_R1));
+		dw_pcie_readl_rc(pp, PCIE_PHY_DEBUG_R0),
+		dw_pcie_readl_rc(pp, PCIE_PHY_DEBUG_R1));
 
 	return -ETIMEDOUT;
 }


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 7/8] PCI: artpec6: Add local struct device pointers
  2016-10-07 16:32 [PATCH 1/8] PCI: artpec6: Name private struct pointer "artpec6" consistently Bjorn Helgaas
                   ` (4 preceding siblings ...)
  2016-10-07 16:33 ` [PATCH 6/8] PCI: artpec6: Use dw_pcie_readl_rc() and dw_pcie_pcie_writel_rc() Bjorn Helgaas
@ 2016-10-07 16:33 ` Bjorn Helgaas
  2016-10-08  7:54   ` Jesper Nilsson
  2016-10-07 16:33 ` [PATCH 8/8] PCI: artpec6: Remove unused platform data Bjorn Helgaas
  2016-10-08  7:40 ` [PATCH 1/8] PCI: artpec6: Name private struct pointer "artpec6" consistently Jesper Nilsson
  7 siblings, 1 reply; 17+ messages in thread
From: Bjorn Helgaas @ 2016-10-07 16:33 UTC (permalink / raw)
  To: Jesper Nilsson, Niklas Cassel; +Cc: linux-pci, linux-arm-kernel

Use a local "struct device *dev" for brevity and consistency with other
drivers.  No functional change intended.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
---
 drivers/pci/host/pcie-artpec6.c |   18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/drivers/pci/host/pcie-artpec6.c b/drivers/pci/host/pcie-artpec6.c
index c3dd571..e3f828f 100644
--- a/drivers/pci/host/pcie-artpec6.c
+++ b/drivers/pci/host/pcie-artpec6.c
@@ -197,21 +197,22 @@ static int artpec6_add_pcie_port(struct artpec6_pcie *artpec6,
 				 struct platform_device *pdev)
 {
 	struct pcie_port *pp = &artpec6->pp;
+	struct device *dev = pp->dev;
 	int ret;
 
 	if (IS_ENABLED(CONFIG_PCI_MSI)) {
 		pp->msi_irq = platform_get_irq_byname(pdev, "msi");
 		if (pp->msi_irq <= 0) {
-			dev_err(&pdev->dev, "failed to get MSI irq\n");
+			dev_err(dev, "failed to get MSI irq\n");
 			return -ENODEV;
 		}
 
-		ret = devm_request_irq(&pdev->dev, pp->msi_irq,
+		ret = devm_request_irq(dev, pp->msi_irq,
 				       artpec6_pcie_msi_handler,
 				       IRQF_SHARED | IRQF_NO_THREAD,
 				       "artpec6-pcie-msi", artpec6);
 		if (ret) {
-			dev_err(&pdev->dev, "failed to request MSI irq\n");
+			dev_err(dev, "failed to request MSI irq\n");
 			return ret;
 		}
 	}
@@ -221,7 +222,7 @@ static int artpec6_add_pcie_port(struct artpec6_pcie *artpec6,
 
 	ret = dw_pcie_host_init(pp);
 	if (ret) {
-		dev_err(&pdev->dev, "failed to initialize host\n");
+		dev_err(dev, "failed to initialize host\n");
 		return ret;
 	}
 
@@ -230,26 +231,27 @@ static int artpec6_add_pcie_port(struct artpec6_pcie *artpec6,
 
 static int artpec6_pcie_probe(struct platform_device *pdev)
 {
+	struct device *dev = &pdev->dev;
 	struct artpec6_pcie *artpec6;
 	struct pcie_port *pp;
 	struct resource *dbi_base;
 	struct resource *phy_base;
 	int ret;
 
-	artpec6 = devm_kzalloc(&pdev->dev, sizeof(*artpec6), GFP_KERNEL);
+	artpec6 = devm_kzalloc(dev, sizeof(*artpec6), GFP_KERNEL);
 	if (!artpec6)
 		return -ENOMEM;
 
 	pp = &artpec6->pp;
-	pp->dev = &pdev->dev;
+	pp->dev = dev;
 
 	dbi_base = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dbi");
-	pp->dbi_base = devm_ioremap_resource(&pdev->dev, dbi_base);
+	pp->dbi_base = devm_ioremap_resource(dev, dbi_base);
 	if (IS_ERR(pp->dbi_base))
 		return PTR_ERR(pp->dbi_base);
 
 	phy_base = platform_get_resource_byname(pdev, IORESOURCE_MEM, "phy");
-	artpec6->phy_base = devm_ioremap_resource(&pdev->dev, phy_base);
+	artpec6->phy_base = devm_ioremap_resource(dev, phy_base);
 	if (IS_ERR(artpec6->phy_base))
 		return PTR_ERR(artpec6->phy_base);
 


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 8/8] PCI: artpec6: Remove unused platform data
  2016-10-07 16:32 [PATCH 1/8] PCI: artpec6: Name private struct pointer "artpec6" consistently Bjorn Helgaas
                   ` (5 preceding siblings ...)
  2016-10-07 16:33 ` [PATCH 7/8] PCI: artpec6: Add local struct device pointers Bjorn Helgaas
@ 2016-10-07 16:33 ` Bjorn Helgaas
  2016-10-08  8:13   ` Jesper Nilsson
  2016-10-08  7:40 ` [PATCH 1/8] PCI: artpec6: Name private struct pointer "artpec6" consistently Jesper Nilsson
  7 siblings, 1 reply; 17+ messages in thread
From: Bjorn Helgaas @ 2016-10-07 16:33 UTC (permalink / raw)
  To: Jesper Nilsson, Niklas Cassel; +Cc: linux-pci, linux-arm-kernel

The artpec6 driver never uses the platform drvdata pointer, so don't
bother setting it.  No functional change intended.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
---
 drivers/pci/host/pcie-artpec6.c |    1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/pci/host/pcie-artpec6.c b/drivers/pci/host/pcie-artpec6.c
index e3f828f..2a452c0 100644
--- a/drivers/pci/host/pcie-artpec6.c
+++ b/drivers/pci/host/pcie-artpec6.c
@@ -265,7 +265,6 @@ static int artpec6_pcie_probe(struct platform_device *pdev)
 	if (ret < 0)
 		return ret;
 
-	platform_set_drvdata(pdev, artpec6);
 	return 0;
 }
 


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH 1/8] PCI: artpec6: Name private struct pointer "artpec6" consistently
  2016-10-07 16:32 [PATCH 1/8] PCI: artpec6: Name private struct pointer "artpec6" consistently Bjorn Helgaas
                   ` (6 preceding siblings ...)
  2016-10-07 16:33 ` [PATCH 8/8] PCI: artpec6: Remove unused platform data Bjorn Helgaas
@ 2016-10-08  7:40 ` Jesper Nilsson
  2016-10-10 17:28   ` Bjorn Helgaas
  7 siblings, 1 reply; 17+ messages in thread
From: Jesper Nilsson @ 2016-10-08  7:40 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Jesper Nilsson, Niklas Cassel, linux-pci, linux-arm-kernel

On Fri, Oct 07, 2016 at 11:32:33AM -0500, Bjorn Helgaas wrote:
> Use a device-specific name, "artpec6", for struct artpec6_pcie pointers
> to hint that this is device-specific information.  No functional change
> intended.

Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>

> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

/^JN - Jesper Nilsson
-- 
               Jesper Nilsson -- jesper.nilsson@axis.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/8] PCI: artpec6: Add register accessors
  2016-10-07 16:32 ` [PATCH 2/8] PCI: artpec6: Add register accessors Bjorn Helgaas
@ 2016-10-08  7:41   ` Jesper Nilsson
  0 siblings, 0 replies; 17+ messages in thread
From: Jesper Nilsson @ 2016-10-08  7:41 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Jesper Nilsson, Niklas Cassel, linux-pci, linux-arm-kernel

On Fri, Oct 07, 2016 at 11:32:45AM -0500, Bjorn Helgaas wrote:
> Add device-specific register accessors for consistency across host
> drivers.  No functional change intended.

Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>

> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

/^JN - Jesper Nilsson
-- 
               Jesper Nilsson -- jesper.nilsson@axis.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 3/8] PCI: artpec6: Pass device-specific struct to internal functions
  2016-10-07 16:32 ` [PATCH 3/8] PCI: artpec6: Pass device-specific struct to internal functions Bjorn Helgaas
@ 2016-10-08  7:41   ` Jesper Nilsson
  0 siblings, 0 replies; 17+ messages in thread
From: Jesper Nilsson @ 2016-10-08  7:41 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Jesper Nilsson, Niklas Cassel, linux-pci, linux-arm-kernel

On Fri, Oct 07, 2016 at 11:32:52AM -0500, Bjorn Helgaas wrote:
> Only interfaces used from outside the driver, e.g., those called by the
> DesignWare core, need to accept pointers to the generic struct pcie_port.
> Internal interfaces can accept pointers to the device-specific struct,
> which makes them more straightforward.  No functional change intended.

Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>

> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

/^JN - Jesper Nilsson
-- 
               Jesper Nilsson -- jesper.nilsson@axis.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/8] PCI: artpec6: Add resource name comments
  2016-10-07 16:33 ` [PATCH 4/8] PCI: artpec6: Add resource name comments Bjorn Helgaas
@ 2016-10-08  7:42   ` Jesper Nilsson
  0 siblings, 0 replies; 17+ messages in thread
From: Jesper Nilsson @ 2016-10-08  7:42 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Jesper Nilsson, Niklas Cassel, linux-pci, linux-arm-kernel

On Fri, Oct 07, 2016 at 11:33:00AM -0500, Bjorn Helgaas wrote:
> Add comments about the Device Tree source of resources.  No functional
> change.

Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>

> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

/^JN - Jesper Nilsson
-- 
               Jesper Nilsson -- jesper.nilsson@axis.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 5/8] PCI: artpec6: Remove unnecessary artpec6_pcie_link_up()
  2016-10-07 16:33 ` [PATCH 5/8] PCI: artpec6: Remove unnecessary artpec6_pcie_link_up() Bjorn Helgaas
@ 2016-10-08  7:53   ` Jesper Nilsson
  0 siblings, 0 replies; 17+ messages in thread
From: Jesper Nilsson @ 2016-10-08  7:53 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Jesper Nilsson, Niklas Cassel, linux-pci, linux-arm-kernel

On Fri, Oct 07, 2016 at 11:33:08AM -0500, Bjorn Helgaas wrote:
> Remove artpec6_pcie_link_up(); the generic dw_pcie_link_up() does the same
> thing, so we don't need a device-specific version.

Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>

> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

/^JN - Jesper Nilsson
-- 
               Jesper Nilsson -- jesper.nilsson@axis.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 6/8] PCI: artpec6: Use dw_pcie_readl_rc() and dw_pcie_pcie_writel_rc()
  2016-10-07 16:33 ` [PATCH 6/8] PCI: artpec6: Use dw_pcie_readl_rc() and dw_pcie_pcie_writel_rc() Bjorn Helgaas
@ 2016-10-08  7:53   ` Jesper Nilsson
  0 siblings, 0 replies; 17+ messages in thread
From: Jesper Nilsson @ 2016-10-08  7:53 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Jesper Nilsson, Niklas Cassel, linux-pci, linux-arm-kernel

On Fri, Oct 07, 2016 at 11:33:16AM -0500, Bjorn Helgaas wrote:
> Use the DesignWare-generic register accessors instead of doing readl() and
> writel() directly.  No functional change intended.

Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>

> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

/^JN - Jesper Nilsson
-- 
               Jesper Nilsson -- jesper.nilsson@axis.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 7/8] PCI: artpec6: Add local struct device pointers
  2016-10-07 16:33 ` [PATCH 7/8] PCI: artpec6: Add local struct device pointers Bjorn Helgaas
@ 2016-10-08  7:54   ` Jesper Nilsson
  0 siblings, 0 replies; 17+ messages in thread
From: Jesper Nilsson @ 2016-10-08  7:54 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Jesper Nilsson, Niklas Cassel, linux-pci, linux-arm-kernel

On Fri, Oct 07, 2016 at 11:33:24AM -0500, Bjorn Helgaas wrote:
> Use a local "struct device *dev" for brevity and consistency with other
> drivers.  No functional change intended.

Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>

> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

/^JN - Jesper Nilsson
-- 
               Jesper Nilsson -- jesper.nilsson@axis.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 8/8] PCI: artpec6: Remove unused platform data
  2016-10-07 16:33 ` [PATCH 8/8] PCI: artpec6: Remove unused platform data Bjorn Helgaas
@ 2016-10-08  8:13   ` Jesper Nilsson
  0 siblings, 0 replies; 17+ messages in thread
From: Jesper Nilsson @ 2016-10-08  8:13 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Jesper Nilsson, Niklas Cassel, linux-pci, linux-arm-kernel

On Fri, Oct 07, 2016 at 11:33:34AM -0500, Bjorn Helgaas wrote:
> The artpec6 driver never uses the platform drvdata pointer, so don't
> bother setting it.  No functional change intended.

Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>

> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

/^JN - Jesper Nilsson
-- 
               Jesper Nilsson -- jesper.nilsson@axis.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 1/8] PCI: artpec6: Name private struct pointer "artpec6" consistently
  2016-10-08  7:40 ` [PATCH 1/8] PCI: artpec6: Name private struct pointer "artpec6" consistently Jesper Nilsson
@ 2016-10-10 17:28   ` Bjorn Helgaas
  0 siblings, 0 replies; 17+ messages in thread
From: Bjorn Helgaas @ 2016-10-10 17:28 UTC (permalink / raw)
  To: Jesper Nilsson
  Cc: Bjorn Helgaas, Jesper Nilsson, Niklas Cassel, linux-pci,
	linux-arm-kernel

On Sat, Oct 08, 2016 at 09:40:45AM +0200, Jesper Nilsson wrote:
> On Fri, Oct 07, 2016 at 11:32:33AM -0500, Bjorn Helgaas wrote:
> > Use a device-specific name, "artpec6", for struct artpec6_pcie pointers
> > to hint that this is device-specific information.  No functional change
> > intended.
> 
> Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>

Hi Jesper,

I updated this series to keep "artpec6_pcie" instead of changing to
"artpec" and change the accessor names similarly.  I repushed the
branch.

> > Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
> 
> /^JN - Jesper Nilsson
> -- 
>                Jesper Nilsson -- jesper.nilsson@axis.com
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2016-10-10 17:28 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-07 16:32 [PATCH 1/8] PCI: artpec6: Name private struct pointer "artpec6" consistently Bjorn Helgaas
2016-10-07 16:32 ` [PATCH 2/8] PCI: artpec6: Add register accessors Bjorn Helgaas
2016-10-08  7:41   ` Jesper Nilsson
2016-10-07 16:32 ` [PATCH 3/8] PCI: artpec6: Pass device-specific struct to internal functions Bjorn Helgaas
2016-10-08  7:41   ` Jesper Nilsson
2016-10-07 16:33 ` [PATCH 4/8] PCI: artpec6: Add resource name comments Bjorn Helgaas
2016-10-08  7:42   ` Jesper Nilsson
2016-10-07 16:33 ` [PATCH 5/8] PCI: artpec6: Remove unnecessary artpec6_pcie_link_up() Bjorn Helgaas
2016-10-08  7:53   ` Jesper Nilsson
2016-10-07 16:33 ` [PATCH 6/8] PCI: artpec6: Use dw_pcie_readl_rc() and dw_pcie_pcie_writel_rc() Bjorn Helgaas
2016-10-08  7:53   ` Jesper Nilsson
2016-10-07 16:33 ` [PATCH 7/8] PCI: artpec6: Add local struct device pointers Bjorn Helgaas
2016-10-08  7:54   ` Jesper Nilsson
2016-10-07 16:33 ` [PATCH 8/8] PCI: artpec6: Remove unused platform data Bjorn Helgaas
2016-10-08  8:13   ` Jesper Nilsson
2016-10-08  7:40 ` [PATCH 1/8] PCI: artpec6: Name private struct pointer "artpec6" consistently Jesper Nilsson
2016-10-10 17:28   ` Bjorn Helgaas

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.