From: Kishon Vijay Abraham I <kishon@ti.com>
To: Mohit KUMAR DCG <Mohit.KUMAR@st.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Cc: "arnd@arndb.de" <arnd@arndb.de>,
"tony@atomide.com" <tony@atomide.com>,
"jg1.han@samsung.com" <jg1.han@samsung.com>,
Jason Gunthorpe <jgunthorpe@obsidianresearch.com>,
Bjorn Helgaas <bhelgaas@google.com>, Marek Vasut <marex@denx.de>
Subject: Re: [PATCH v2 03/18] PCI: designware: Configuration space should be specified in 'reg'
Date: Thu, 29 May 2014 18:46:31 +0530 [thread overview]
Message-ID: <5387332F.7050404@ti.com> (raw)
In-Reply-To: <2CC2A0A4A178534D93D5159BF3BCB6619B94AD3904@EAPEX1MAIL1.st.com>
Hi,
On Thursday 29 May 2014 12:41 PM, Mohit KUMAR DCG wrote:
> Hello Kishon,
>
>> -----Original Message-----
>> From: Kishon Vijay Abraham I [mailto:kishon@ti.com]
>> Sent: Thursday, May 29, 2014 12:08 PM
>> To: devicetree@vger.kernel.org; linux-doc@vger.kernel.org; linux-arm-
>> kernel@lists.infradead.org; linux-omap@vger.kernel.org; linux-
>> pci@vger.kernel.org; linux-kernel@vger.kernel.org
>> Cc: arnd@arndb.de; tony@atomide.com; jg1.han@samsung.com;
>> kishon@ti.com; Jason Gunthorpe; Bjorn Helgaas; Mohit KUMAR DCG; Marek
>> Vasut
>> Subject: [PATCH v2 03/18] PCI: designware: Configuration space should be
>> specified in 'reg'
>>
>> The configuration address space has so far been specified in *ranges*,
>> however it should be specified in *reg* making it a platform MEM resource.
>> Hence used 'platform_get_resource_*' API to get configuration address
>> space in the designware driver.
>>
>> Cc: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
>> Cc: Bjorn Helgaas <bhelgaas@google.com>
>> Cc: Mohit Kumar <mohit.kumar@st.com>
>> Cc: Jingoo Han <jg1.han@samsung.com>
>> Cc: Marek Vasut <marex@denx.de>
>> Cc: Arnd Bergmann <arnd@arndb.de>
>> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
>> ---
>> .../devicetree/bindings/pci/designware-pcie.txt | 1 +
>> drivers/pci/host/pcie-designware.c | 17 +++++++++++++++--
>> 2 files changed, 16 insertions(+), 2 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/pci/designware-pcie.txt
>> b/Documentation/devicetree/bindings/pci/designware-pcie.txt
>> index d6fae13..8314360 100644
>> --- a/Documentation/devicetree/bindings/pci/designware-pcie.txt
>> +++ b/Documentation/devicetree/bindings/pci/designware-pcie.txt
>> @@ -6,6 +6,7 @@ Required properties:
>> as "samsung,exynos5440-pcie" or "fsl,imx6q-pcie".
>> - reg: base addresses and lengths of the pcie controller,
>> the phy controller, additional register for the phy controller.
>> + The configuration address space should also be specified here.
>> - interrupts: interrupt values for level interrupt,
>> pulse interrupt, special interrupt.
>> - clocks: from common clock binding: handle to pci clock.
>> diff --git a/drivers/pci/host/pcie-designware.c b/drivers/pci/host/pcie-
>> designware.c
>> index c4e3732..603b386 100644
>> --- a/drivers/pci/host/pcie-designware.c
>> +++ b/drivers/pci/host/pcie-designware.c
>> @@ -20,6 +20,7 @@
>> #include <linux/of_pci.h>
>> #include <linux/pci.h>
>> #include <linux/pci_regs.h>
>> +#include <linux/platform_device.h>
>> #include <linux/types.h>
>>
>> #include "pcie-designware.h"
>> @@ -392,11 +393,23 @@ static const struct irq_domain_ops
>> msi_domain_ops = { int __init dw_pcie_host_init(struct pcie_port *pp) {
>> struct device_node *np = pp->dev->of_node;
>> + struct platform_device *pdev = to_platform_device(pp->dev);
>> struct of_pci_range range;
>> struct of_pci_range_parser parser;
>> + struct resource *cfg_res;
>> u32 val;
>> int i;
>>
>> + cfg_res = platform_get_resource_byname(pdev,
>> IORESOURCE_MEM, "config");
>> + if (cfg_res) {
>> + pp->config.cfg0_size = resource_size(cfg_res)/2;
>> + pp->config.cfg1_size = resource_size(cfg_res)/2;
>> + pp->cfg0_base = cfg_res->start;
>> + pp->cfg1_base = cfg_res->start + pp->config.cfg0_size;
>> + } else {
>> + dev_err(pp->dev, "missing *config* reg space\n");
>> + }
>> +
>> if (of_pci_range_parser_init(&parser, np)) {
>> dev_err(pp->dev, "missing ranges property\n");
>> return -EINVAL;
>> @@ -429,6 +442,8 @@ int __init dw_pcie_host_init(struct pcie_port *pp)
>> of_pci_range_to_resource(&range, np, &pp->cfg);
>> pp->config.cfg0_size = resource_size(&pp->cfg)/2;
>> pp->config.cfg1_size = resource_size(&pp->cfg)/2;
>> + pp->cfg0_base = pp->cfg.start;
>> + pp->cfg1_base = pp->cfg.start + pp-
>>> config.cfg0_size;
>
> - As you are getting cfg address space as MEM resource, so remove above code that
> gets the configuration space from dt range. Also correct dt for pcie cfg space for the platforms
> based on this driver.
Ok. Will send that as a separate patch converting all platforms to use MEM
resource.
Thanks
Kishon
WARNING: multiple messages have this Message-ID (diff)
From: kishon@ti.com (Kishon Vijay Abraham I)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 03/18] PCI: designware: Configuration space should be specified in 'reg'
Date: Thu, 29 May 2014 18:46:31 +0530 [thread overview]
Message-ID: <5387332F.7050404@ti.com> (raw)
In-Reply-To: <2CC2A0A4A178534D93D5159BF3BCB6619B94AD3904@EAPEX1MAIL1.st.com>
Hi,
On Thursday 29 May 2014 12:41 PM, Mohit KUMAR DCG wrote:
> Hello Kishon,
>
>> -----Original Message-----
>> From: Kishon Vijay Abraham I [mailto:kishon at ti.com]
>> Sent: Thursday, May 29, 2014 12:08 PM
>> To: devicetree at vger.kernel.org; linux-doc at vger.kernel.org; linux-arm-
>> kernel at lists.infradead.org; linux-omap at vger.kernel.org; linux-
>> pci at vger.kernel.org; linux-kernel at vger.kernel.org
>> Cc: arnd at arndb.de; tony at atomide.com; jg1.han at samsung.com;
>> kishon at ti.com; Jason Gunthorpe; Bjorn Helgaas; Mohit KUMAR DCG; Marek
>> Vasut
>> Subject: [PATCH v2 03/18] PCI: designware: Configuration space should be
>> specified in 'reg'
>>
>> The configuration address space has so far been specified in *ranges*,
>> however it should be specified in *reg* making it a platform MEM resource.
>> Hence used 'platform_get_resource_*' API to get configuration address
>> space in the designware driver.
>>
>> Cc: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
>> Cc: Bjorn Helgaas <bhelgaas@google.com>
>> Cc: Mohit Kumar <mohit.kumar@st.com>
>> Cc: Jingoo Han <jg1.han@samsung.com>
>> Cc: Marek Vasut <marex@denx.de>
>> Cc: Arnd Bergmann <arnd@arndb.de>
>> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
>> ---
>> .../devicetree/bindings/pci/designware-pcie.txt | 1 +
>> drivers/pci/host/pcie-designware.c | 17 +++++++++++++++--
>> 2 files changed, 16 insertions(+), 2 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/pci/designware-pcie.txt
>> b/Documentation/devicetree/bindings/pci/designware-pcie.txt
>> index d6fae13..8314360 100644
>> --- a/Documentation/devicetree/bindings/pci/designware-pcie.txt
>> +++ b/Documentation/devicetree/bindings/pci/designware-pcie.txt
>> @@ -6,6 +6,7 @@ Required properties:
>> as "samsung,exynos5440-pcie" or "fsl,imx6q-pcie".
>> - reg: base addresses and lengths of the pcie controller,
>> the phy controller, additional register for the phy controller.
>> + The configuration address space should also be specified here.
>> - interrupts: interrupt values for level interrupt,
>> pulse interrupt, special interrupt.
>> - clocks: from common clock binding: handle to pci clock.
>> diff --git a/drivers/pci/host/pcie-designware.c b/drivers/pci/host/pcie-
>> designware.c
>> index c4e3732..603b386 100644
>> --- a/drivers/pci/host/pcie-designware.c
>> +++ b/drivers/pci/host/pcie-designware.c
>> @@ -20,6 +20,7 @@
>> #include <linux/of_pci.h>
>> #include <linux/pci.h>
>> #include <linux/pci_regs.h>
>> +#include <linux/platform_device.h>
>> #include <linux/types.h>
>>
>> #include "pcie-designware.h"
>> @@ -392,11 +393,23 @@ static const struct irq_domain_ops
>> msi_domain_ops = { int __init dw_pcie_host_init(struct pcie_port *pp) {
>> struct device_node *np = pp->dev->of_node;
>> + struct platform_device *pdev = to_platform_device(pp->dev);
>> struct of_pci_range range;
>> struct of_pci_range_parser parser;
>> + struct resource *cfg_res;
>> u32 val;
>> int i;
>>
>> + cfg_res = platform_get_resource_byname(pdev,
>> IORESOURCE_MEM, "config");
>> + if (cfg_res) {
>> + pp->config.cfg0_size = resource_size(cfg_res)/2;
>> + pp->config.cfg1_size = resource_size(cfg_res)/2;
>> + pp->cfg0_base = cfg_res->start;
>> + pp->cfg1_base = cfg_res->start + pp->config.cfg0_size;
>> + } else {
>> + dev_err(pp->dev, "missing *config* reg space\n");
>> + }
>> +
>> if (of_pci_range_parser_init(&parser, np)) {
>> dev_err(pp->dev, "missing ranges property\n");
>> return -EINVAL;
>> @@ -429,6 +442,8 @@ int __init dw_pcie_host_init(struct pcie_port *pp)
>> of_pci_range_to_resource(&range, np, &pp->cfg);
>> pp->config.cfg0_size = resource_size(&pp->cfg)/2;
>> pp->config.cfg1_size = resource_size(&pp->cfg)/2;
>> + pp->cfg0_base = pp->cfg.start;
>> + pp->cfg1_base = pp->cfg.start + pp-
>>> config.cfg0_size;
>
> - As you are getting cfg address space as MEM resource, so remove above code that
> gets the configuration space from dt range. Also correct dt for pcie cfg space for the platforms
> based on this driver.
Ok. Will send that as a separate patch converting all platforms to use MEM
resource.
Thanks
Kishon
next prev parent reply other threads:[~2014-05-29 13:16 UTC|newest]
Thread overview: 138+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-29 6:38 [PATCH v2 00/18] PCIe support for DRA7xx Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` [PATCH v2 01/18] phy: phy-omap-pipe3: Add support for PCIe PHY Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` [PATCH v2 02/18] phy: pipe3: insert delay to enumerate in GEN2 mode Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` [PATCH v2 03/18] PCI: designware: Configuration space should be specified in 'reg' Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 7:11 ` Mohit KUMAR DCG
2014-05-29 7:11 ` Mohit KUMAR DCG
2014-05-29 13:16 ` Kishon Vijay Abraham I [this message]
2014-05-29 13:16 ` Kishon Vijay Abraham I
2014-05-29 15:03 ` Kumar Gala
2014-05-29 15:03 ` Kumar Gala
2014-05-29 15:18 ` Liviu Dudau
2014-05-29 15:18 ` Liviu Dudau
2014-05-29 16:03 ` Kumar Gala
2014-05-29 16:03 ` Kumar Gala
2014-05-29 16:30 ` Jason Gunthorpe
2014-05-29 16:30 ` Jason Gunthorpe
2014-05-29 16:51 ` Kumar Gala
2014-05-29 16:51 ` Kumar Gala
[not found] ` <1401345500-20188-4-git-send-email-kishon-l0cyMroinI0@public.gmane.org>
2014-05-29 16:32 ` Murali Karicheri
2014-05-29 16:32 ` Murali Karicheri
2014-05-29 16:32 ` Murali Karicheri
2014-05-30 5:30 ` Kishon Vijay Abraham I
2014-05-30 5:30 ` Kishon Vijay Abraham I
2014-05-30 14:15 ` Karicheri, Muralidharan
2014-05-30 14:15 ` Karicheri, Muralidharan
2014-06-18 9:14 ` Kishon Vijay Abraham I
2014-06-18 9:14 ` Kishon Vijay Abraham I
2014-06-18 9:14 ` Kishon Vijay Abraham I
2014-06-18 9:27 ` Jingoo Han
2014-06-18 9:27 ` Jingoo Han
2014-06-18 9:27 ` Jingoo Han
2014-05-29 6:38 ` [PATCH v2 04/18] PCI: designware: use untranslated address while programming ATU Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
[not found] ` <1401345500-20188-5-git-send-email-kishon-l0cyMroinI0@public.gmane.org>
2014-06-18 9:08 ` Kishon Vijay Abraham I
2014-06-18 9:08 ` Kishon Vijay Abraham I
2014-06-18 9:08 ` Kishon Vijay Abraham I
[not found] ` <53A1571B.7080806-l0cyMroinI0@public.gmane.org>
2014-06-20 16:18 ` Arnd Bergmann
2014-06-20 16:18 ` Arnd Bergmann
2014-06-20 16:18 ` Arnd Bergmann
2014-06-20 17:45 ` Rob Herring
2014-06-20 17:45 ` Rob Herring
2014-06-20 17:45 ` Rob Herring
2014-06-20 18:54 ` Arnd Bergmann
2014-06-20 18:54 ` Arnd Bergmann
2014-05-29 6:38 ` [PATCH v2 05/18] PCI: host: pcie-dra7xx: add support for pcie-dra7xx controller Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` [PATCH v2 06/18] ARM: dts: DRA7: Add divider table to optfclk_pciephy_div clock Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-06-19 11:10 ` Tero Kristo
2014-06-19 11:10 ` Tero Kristo
2014-06-19 11:10 ` Tero Kristo
2014-06-19 12:45 ` Kishon Vijay Abraham I
2014-06-19 12:45 ` Kishon Vijay Abraham I
2014-06-19 12:45 ` Kishon Vijay Abraham I
2014-06-19 13:27 ` Tero Kristo
2014-06-19 13:27 ` Tero Kristo
2014-06-19 13:27 ` Tero Kristo
2014-05-29 6:38 ` [PATCH v2 07/18] ARM: dts: DRA7: Change the parent of apll_pcie_in_clk_mux to dpll_pcie_ref_m2ldo_ck Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-06-19 11:12 ` Tero Kristo
2014-06-19 11:12 ` Tero Kristo
2014-06-19 11:12 ` Tero Kristo
2014-06-19 13:00 ` Kishon Vijay Abraham I
2014-06-19 13:00 ` Kishon Vijay Abraham I
2014-06-19 13:00 ` Kishon Vijay Abraham I
2014-06-19 13:24 ` Tero Kristo
2014-06-19 13:24 ` Tero Kristo
2014-06-19 13:24 ` Tero Kristo
2014-05-29 6:38 ` [PATCH v2 08/18] arm: dra7xx: Add hwmod data for pcie1 phy and pcie2 phy Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` [PATCH v2 09/18] arm: dra7xx: Add hwmod data for pcie1 and pcie2 subsystems Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` [PATCH v2 10/18] ARM: dts: dra7xx-clocks: Add missing 32khz clocks used for PHY Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-06-19 11:16 ` Tero Kristo
2014-06-19 11:16 ` Tero Kristo
2014-06-19 11:16 ` Tero Kristo
[not found] ` <53A2C690.1060106-l0cyMroinI0@public.gmane.org>
2014-06-19 13:23 ` Kishon Vijay Abraham I
2014-06-19 13:23 ` Kishon Vijay Abraham I
2014-06-19 13:23 ` Kishon Vijay Abraham I
2014-06-19 13:26 ` Tero Kristo
2014-06-19 13:26 ` Tero Kristo
2014-06-19 13:26 ` Tero Kristo
2014-05-29 6:38 ` [PATCH v2 11/18] ARM: dts: dra7: Add dt data for PCIe PHY control module Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` [PATCH v2 12/18] ARM: dts: dra7xx-clocks: rename pcie clocks to accommodate second PHY instance Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` [PATCH v2 13/18] ARM: dts: dra7xx-clocks: Add missing clocks for second PCIe " Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-06-19 11:20 ` Tero Kristo
2014-06-19 11:20 ` Tero Kristo
2014-06-19 11:20 ` Tero Kristo
[not found] ` <53A2C787.5060905-l0cyMroinI0@public.gmane.org>
2014-06-19 13:25 ` Kishon Vijay Abraham I
2014-06-19 13:25 ` Kishon Vijay Abraham I
2014-06-19 13:25 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` [PATCH v2 14/18] ARM: dts: dra7: Add dt data for PCIe PHY Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` [PATCH v2 15/18] ARM: dts: dra7: Add dt data for PCIe controller Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` [PATCH v2 16/18] ARM: OMAP: Enable PCI for DRA7 Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:48 ` Jingoo Han
2014-05-29 6:48 ` Jingoo Han
2014-05-29 13:17 ` Kishon Vijay Abraham I
2014-05-29 13:17 ` Kishon Vijay Abraham I
2014-05-29 13:17 ` Kishon Vijay Abraham I
2014-05-29 17:52 ` Rob Herring
2014-05-29 17:52 ` Rob Herring
2014-05-29 17:54 ` Will Deacon
2014-05-29 17:54 ` Will Deacon
2014-05-29 17:54 ` Will Deacon
2014-05-29 6:38 ` [TEMP PATCH v2 17/18] PCI: host: pcie-dra7xx: use reset framework APIs to reset PCIe Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` [TEMP PATCH v2 18/18] ARM: dts: dra7: Add *resets* property for PCIe dt node Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
2014-05-29 6:38 ` Kishon Vijay Abraham I
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=5387332F.7050404@ti.com \
--to=kishon@ti.com \
--cc=Mohit.KUMAR@st.com \
--cc=arnd@arndb.de \
--cc=bhelgaas@google.com \
--cc=devicetree@vger.kernel.org \
--cc=jg1.han@samsung.com \
--cc=jgunthorpe@obsidianresearch.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=marex@denx.de \
--cc=tony@atomide.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 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.