Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1339673
| Path | csiph.com!aioe.org!bofh.it!news.nic.it!robomod |
|---|---|
| From | Bharat Kumar Gogada <bharat.kumar.gogada@xilinx.com> |
| Newsgroups | linux.kernel |
| Subject | RE: [PATCH V4 5/5] Microblaze: Modifying microblaze PCI subsytem to support generic Xilinx AXI PCIe Host Bridge IP driver |
| Date | Mon, 22 Feb 2016 17:10:01 +0100 |
| Message-ID | <r51dD-8d4-3@gated-at.bofh.it> (permalink) |
| References | <r12hY-2PX-7@gated-at.bofh.it> <r12hZ-2PX-27@gated-at.bofh.it> |
| X-Original-To | Bharat Kumar Gogada <bharatku@xilinx.com>, "bhelgaas@google.com" <bhelgaas@google.com>, Michal Simek <michals@xilinx.com>, "lorenzo.pieralisi@arm.com" <lorenzo.pieralisi@arm.com>, "paul.burton@imgtec.com" <paul.burton@imgtec.com>, "yinghai@kernel.org" <yinghai@kernel.org>, "wangyijing@huawei.com" <wangyijing@huawei.com>, "robh@kernel.org" <robh@kernel.org>, "russell.joyce@york.ac.uk" <russell.joyce@york.ac.uk>, Soren Brinkmann <sorenb@xilinx.com>, "jiang.liu@linux.intel.com" <jiang.liu@linux.intel.com>, "arnd@arndb.de" <arnd@arndb.de>, "pawel.moll@arm.com" <pawel.moll@arm.com>, "mark.rutland@arm.com" <mark.rutland@arm.com>, "ijc+devicetree@hellion.org.uk" <ijc+devicetree@hellion.org.uk>, "galak@codeaurora.org" <galak@codeaurora.org> |
| Authentication-Results | spf=pass (sender IP is 149.199.60.100) smtp.mailfrom=xilinx.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=bestguesspass action=none header.from=xilinx.com; |
| Received-Spf | Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.100 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.100; helo=xsj-pvapsmtpgw02; |
| Thread-Topic | [PATCH V4 5/5] Microblaze: Modifying microblaze PCI subsytem to support generic Xilinx AXI PCIe Host Bridge IP driver |
| Thread-Index | AQHRZOlCyAdlSDRg6Ey40cdXRDtK9Z84SmEA |
| Accept-Language | en-US |
| Content-Language | en-US |
| X-Originating-IP | [172.23.96.160] |
| Content-Type | text/plain; charset="us-ascii" |
| Content-Transfer-Encoding | 8BIT |
| MIME-Version | 1.0 |
| X-Rcis-Action | ALLOW |
| X-Tm-As-Product-Ver | IMSS-7.1.0.1224-8.0.0.1202-22146.005 |
| X-Tm-As-User-Approved-Sender | Yes;Yes |
| X-Forefront-Antispam-Report | CIP:149.199.60.100;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(438002)(199003)(189002)(87936001)(2201001)(63266004)(86362001)(50986999)(54356999)(76176999)(97756001)(55846006)(11100500001)(47776003)(106466001)(106116001)(6806005)(4001430100002)(5008740100001)(5004730100002)(6116002)(586003)(102836003)(3846002)(1096002)(23726003)(33656002)(1220700001)(4326007)(5001770100001)(189998001)(46406003)(5001960100002)(19580395003)(107886002)(50466002)(19580405001)(2906002)(2950100001)(2900100001)(2920100001)(2501003)(5003600100002)(92566002)(41533002)(921003)(107986001)(1121003);DIR:OUT;SFP:1101;SCL:1;SRVR:BL2NAM02HT061;H:xsj-pvapsmtpgw02;FPR:;SPF:Pass;MLV:sfv;A:1;MX:1;LANG:en; |
| X-Ms-Office365-Filtering-Correlation-ID | 4e08dfdb-7937-4cf8-d73e-08d33ba167a1 |
| X-Microsoft-Antispam | UriScan:;BCL:0;PCL:0;RULEID:(8251501002);SRVR:BL2NAM02HT061; |
| X-Microsoft-Antispam-Prvs | <cdd6259a58d9442c8ec35c6b76ea3e44@BL2NAM02HT061.eop-nam02.prod.protection.outlook.com> |
| X-Exchange-Antispam-Report-Test | UriScan:(192813158149592); |
| X-Exchange-Antispam-Report-Cfa-Test | BCL:0;PCL:0;RULEID:(601004)(2401047)(13017025)(13024025)(13015025)(8121501046)(13023025)(5005006)(13018025)(3002001)(10201501046);SRVR:BL2NAM02HT061;BCL:0;PCL:0;RULEID:;SRVR:BL2NAM02HT061; |
| X-Forefront-Prvs | 0860FE717F |
| X-Originatororg | xilinx.com |
| X-Ms-Exchange-Crosstenant-Originalarrivaltime | 22 Feb 2016 16:01:20.1304 (UTC) |
| X-Ms-Exchange-Crosstenant-ID | 657af505-d5df-48d0-8300-c31994686c5c |
| X-Ms-Exchange-Crosstenant-Originalattributedtenantconnectingip | TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.60.100];Helo=[xsj-pvapsmtpgw02] |
| X-Ms-Exchange-Crosstenant-Fromentityheader | HybridOnPrem |
| X-Ms-Exchange-Transport-Crosstenantheadersstamped | BL2NAM02HT061 |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 147 |
| Organization | linux.* mail to news gateway |
| X-Original-Cc | "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>, Ravikiran Gummaluri <rgummal@xilinx.com> |
| X-Original-Date | Mon, 22 Feb 2016 16:01:15 +0000 |
| X-Original-Message-ID | <8520D5D51A55D047800579B09414719825884643@XAP-PVEXMBX01.xlnx.xilinx.com> |
| X-Original-References | <1455208091-15556-1-git-send-email-bharatku@xilinx.com> <1455208091-15556-6-git-send-email-bharatku@xilinx.com> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| Xref | csiph.com linux.kernel:1339673 |
Show key headers only | View raw
Ping
> Subject: [PATCH V4 5/5] Microblaze: Modifying microblaze PCI subsytem to
> support generic Xilinx AXI PCIe Host Bridge IP driver
>
> This patch does required modifications to microblaze PCI subsystem, to work
> with generic driver (drivers/pci/host/pcie-xilinx.c) on Microblaze and Zynq.
>
> Signed-off-by: Bharat Kumar Gogada <bharatku@xilinx.com>
> Signed-off-by: Ravi Kiran Gummaluri <rgummal@xilinx.com>
> ---
> Changes:
> Removed pcibios_get_phb_of_node in pci-common.c, using generic version
> instead.
> Modified pcibios_fixup_bus in pci-common.c, as per generic architecuture.
> Modified pcibios_align_resource in pci-common.c, as per generic
> architecuture, removed temporary variable.
> Removed pci_domain_nr in pci-common.c, instead using generic code.
> Added pcibios_add_device in pci-common.c, as per generic architecuture.
> Adding Kernel configuration in arch/microblaze as required for generic PCI
> domains.
> Added kernel configuration for driver to support Microblaze.
> ---
> arch/microblaze/Kconfig | 3 +++
> arch/microblaze/pci/pci-common.c | 56 +++++++---------------------------------
> drivers/pci/host/Kconfig | 2 +-
> 3 files changed, 14 insertions(+), 47 deletions(-)
>
> diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig index
> 0bce820..c3702b9 100644
> --- a/arch/microblaze/Kconfig
> +++ b/arch/microblaze/Kconfig
> @@ -271,6 +271,9 @@ config PCI
> config PCI_DOMAINS
> def_bool PCI
>
> +config PCI_DOMAINS_GENERIC
> + def_bool PCI_DOMAINS
> +
> config PCI_SYSCALL
> def_bool PCI
>
> diff --git a/arch/microblaze/pci/pci-common.c b/arch/microblaze/pci/pci-
> common.c
> index ae838ed..35654be 100644
> --- a/arch/microblaze/pci/pci-common.c
> +++ b/arch/microblaze/pci/pci-common.c
> @@ -123,17 +123,6 @@ unsigned long pci_address_to_pio(phys_addr_t
> address) } EXPORT_SYMBOL_GPL(pci_address_to_pio);
>
> -/*
> - * Return the domain number for this bus.
> - */
> -int pci_domain_nr(struct pci_bus *bus)
> -{
> - struct pci_controller *hose = pci_bus_to_host(bus);
> -
> - return hose->global_number;
> -}
> -EXPORT_SYMBOL(pci_domain_nr);
> -
> /* This routine is meant to be used early during boot, when the
> * PCI bus numbers have not yet been assigned, and you need to
> * issue PCI config cycles to an OF device.
> @@ -863,26 +852,10 @@ void pcibios_setup_bus_devices(struct pci_bus
> *bus)
>
> void pcibios_fixup_bus(struct pci_bus *bus) {
> - /* When called from the generic PCI probe, read PCI<->PCI bridge
> - * bases. This is -not- called when generating the PCI tree from
> - * the OF device-tree.
> - */
> - if (bus->self != NULL)
> - pci_read_bridge_bases(bus);
> -
> - /* Now fixup the bus bus */
> - pcibios_setup_bus_self(bus);
> -
> - /* Now fixup devices on that bus */
> - pcibios_setup_bus_devices(bus);
> + /* nothing to do */
> }
> EXPORT_SYMBOL(pcibios_fixup_bus);
>
> -static int skip_isa_ioresource_align(struct pci_dev *dev) -{
> - return 0;
> -}
> -
> /*
> * We need to avoid collisions with `mirrored' VGA ports
> * and other strange ISA hardware, so we always want the @@ -899,20
> +872,18 @@ static int skip_isa_ioresource_align(struct pci_dev *dev)
> resource_size_t pcibios_align_resource(void *data, const struct resource
> *res,
> resource_size_t size, resource_size_t align) {
> - struct pci_dev *dev = data;
> - resource_size_t start = res->start;
> -
> - if (res->flags & IORESOURCE_IO) {
> - if (skip_isa_ioresource_align(dev))
> - return start;
> - if (start & 0x300)
> - start = (start + 0x3ff) & ~0x3ff;
> - }
> -
> - return start;
> + return res->start;
> }
> EXPORT_SYMBOL(pcibios_align_resource);
>
> +int pcibios_add_device(struct pci_dev *dev) {
> + dev->irq = of_irq_parse_and_map_pci(dev, 0, 0);
> +
> + return 0;
> +}
> +EXPORT_SYMBOL(pcibios_add_device);
> +
> /*
> * Reparent resource children of pr that conflict with res
> * under res, and make res replace those children.
> @@ -1333,13 +1304,6 @@ static void pcibios_setup_phb_resources(struct
> pci_controller *hose,
> (unsigned long)hose->io_base_virt - _IO_BASE); }
>
> -struct device_node *pcibios_get_phb_of_node(struct pci_bus *bus) -{
> - struct pci_controller *hose = bus->sysdata;
> -
> - return of_node_get(hose->dn);
> -}
> -
> static void pcibios_scan_phb(struct pci_controller *hose) {
> LIST_HEAD(resources);
> diff --git a/drivers/pci/host/Kconfig b/drivers/pci/host/Kconfig index
> d5e58ba..7c56c2e 100644
> --- a/drivers/pci/host/Kconfig
> +++ b/drivers/pci/host/Kconfig
> @@ -79,7 +79,7 @@ config PCI_KEYSTONE
>
> config PCIE_XILINX
> bool "Xilinx AXI PCIe host bridge support"
> - depends on ARCH_ZYNQ
> + depends on ARCH_ZYNQ || MICROBLAZE
> help
> Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
> Host Bridge driver.
> --
> 2.1.1
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH V4 0/5] PCIe Xilinx generic driver for Microblaze and Bharat Kumar Gogada <bharat.kumar.gogada@xilinx.com> - 2016-02-11 17:30 +0100
[PATCH V4 5/5] Microblaze: Modifying microblaze PCI subsytem to support generic Xilinx AXI PCIe Host Bridge IP driver Bharat Kumar Gogada <bharat.kumar.gogada@xilinx.com> - 2016-02-11 17:30 +0100
RE: [PATCH V4 5/5] Microblaze: Modifying microblaze PCI subsytem to support generic Xilinx AXI PCIe Host Bridge IP driver Bharat Kumar Gogada <bharat.kumar.gogada@xilinx.com> - 2016-02-22 17:10 +0100
Re: [PATCH V4 5/5] Microblaze: Modifying microblaze PCI subsytem to support generic Xilinx AXI PCIe Host Bridge IP driver Mark Rutland <mark.rutland@arm.com> - 2016-02-22 17:20 +0100
Re: [PATCH V4 5/5] Microblaze: Modifying microblaze PCI subsytem to support generic Xilinx AXI PCIe Host Bridge IP driver Michal Simek <michal.simek@xilinx.com> - 2016-02-23 12:10 +0100
[PATCH V4 1/5] PCI: xilinx: Removing xilinx_pcie_parse_and_add_res function Bharat Kumar Gogada <bharat.kumar.gogada@xilinx.com> - 2016-02-11 17:40 +0100
csiph-web