RE: [PATCH 4/5 v3] Add RapidIO support to powerpc architecture.
Hi, Kumar, > -Original Message- > From: Kumar Gala [mailto:[EMAIL PROTECTED] > On Jul 26, 2007, at 3:42 AM, Zhang Wei wrote: > > > This patch adds the RapidIO support to the powerpc architecture. > > Some files are moved from ppc. OF-tree and OF-device supports are > > added. > > New silicons such as MPC8548, MPC8641 with serial RapidIO > > controller are > > all supported. > > Memory driver hardware operations are added. > > Global mport variables are changed to master port private variables. > > Multi master ports are supported. > > > > Signed-off-by: Zhang Wei <[EMAIL PROTECTED]> > > --- > > arch/powerpc/Kconfig |8 + > > arch/powerpc/kernel/Makefile |1 + > > arch/powerpc/kernel/rio.c | 64 ++ > > arch/powerpc/sysdev/Makefile |1 + > > arch/powerpc/sysdev/fsl_rio.c | 1455 > ++ > > +++ > > how much of this moved from ppc85xx_rio.c? >From the code size, 2/3 are moved from pcc85xx_rio.c with clean up, 1/3 are new coding. > > > arch/powerpc/sysdev/fsl_rio.h | 20 + > > 6 files changed, 1549 insertions(+), 0 deletions(-) > > create mode 100644 arch/powerpc/kernel/rio.c > > create mode 100644 arch/powerpc/sysdev/fsl_rio.c > > create mode 100644 arch/powerpc/sysdev/fsl_rio.h > > > > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig > > index 00099ef..45f32f1 100644 > > --- a/arch/powerpc/Kconfig > > +++ b/arch/powerpc/Kconfig > > @@ -492,6 +492,14 @@ source "drivers/pci/Kconfig" > > > > source "drivers/pcmcia/Kconfig" > > > > +config RAPIDIO > > + bool "RapidIO support" if MPC8540 || MPC8560 || MPC8641 > || MPC8548 > > + help > > + If you say Y here, the kernel will include drivers and > > + infrastructure code to support RapidIO interconnect devices. > > why not make this depend on something like HAS_RAPIDIO and let the > boards select HAS_RAPIDIO if they have it It's more clear, We can know how many and which processors support RapidIO. :-) > > > + > > +source "drivers/rapidio/Kconfig" > > + > > source "drivers/pci/hotplug/Kconfig" > > > > endmenu > > diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/ > > Makefile > > index 42c42ec..02d4100 100644 > > --- a/arch/powerpc/kernel/Makefile > > +++ b/arch/powerpc/kernel/Makefile > > @@ -70,6 +70,7 @@ pci64-$(CONFIG_PPC64) += > pci_64.o pci_dn.o isa- > > bridge.o > > pci32-$(CONFIG_PPC32) := pci_32.o > > obj-$(CONFIG_PCI) += $(pci64-y) $(pci32-y) pci-common.o > > obj-$(CONFIG_PCI_MSI) += msi.o > > +obj-$(CONFIG_RAPIDIO) += rio.o > > should probably live in sysdev/rio.c This just keep the same position of ppc arch. Thanks! -zw - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 4/5 v3] Add RapidIO support to powerpc architecture.
On Jul 26, 2007, at 3:42 AM, Zhang Wei wrote: This patch adds the RapidIO support to the powerpc architecture. Some files are moved from ppc. OF-tree and OF-device supports are added. New silicons such as MPC8548, MPC8641 with serial RapidIO controller are all supported. Memory driver hardware operations are added. Global mport variables are changed to master port private variables. Multi master ports are supported. Signed-off-by: Zhang Wei <[EMAIL PROTECTED]> --- arch/powerpc/Kconfig |8 + arch/powerpc/kernel/Makefile |1 + arch/powerpc/kernel/rio.c | 64 ++ arch/powerpc/sysdev/Makefile |1 + arch/powerpc/sysdev/fsl_rio.c | 1455 ++ +++ how much of this moved from ppc85xx_rio.c? arch/powerpc/sysdev/fsl_rio.h | 20 + 6 files changed, 1549 insertions(+), 0 deletions(-) create mode 100644 arch/powerpc/kernel/rio.c create mode 100644 arch/powerpc/sysdev/fsl_rio.c create mode 100644 arch/powerpc/sysdev/fsl_rio.h diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 00099ef..45f32f1 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -492,6 +492,14 @@ source "drivers/pci/Kconfig" source "drivers/pcmcia/Kconfig" +config RAPIDIO + bool "RapidIO support" if MPC8540 || MPC8560 || MPC8641 || MPC8548 + help + If you say Y here, the kernel will include drivers and + infrastructure code to support RapidIO interconnect devices. why not make this depend on something like HAS_RAPIDIO and let the boards select HAS_RAPIDIO if they have it + +source "drivers/rapidio/Kconfig" + source "drivers/pci/hotplug/Kconfig" endmenu diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/ Makefile index 42c42ec..02d4100 100644 --- a/arch/powerpc/kernel/Makefile +++ b/arch/powerpc/kernel/Makefile @@ -70,6 +70,7 @@ pci64-$(CONFIG_PPC64) += pci_64.o pci_dn.o isa- bridge.o pci32-$(CONFIG_PPC32) := pci_32.o obj-$(CONFIG_PCI) += $(pci64-y) $(pci32-y) pci-common.o obj-$(CONFIG_PCI_MSI) += msi.o +obj-$(CONFIG_RAPIDIO) += rio.o should probably live in sysdev/rio.c kexec-$(CONFIG_PPC64) := machine_kexec_64.o kexec-$(CONFIG_PPC32) := machine_kexec_32.o obj-$(CONFIG_KEXEC)+= machine_kexec.o crash.o $(kexec-y) diff --git a/arch/powerpc/kernel/rio.c b/arch/powerpc/kernel/rio.c new file mode 100644 index 000..8d41e93 --- /dev/null +++ b/arch/powerpc/kernel/rio.c @@ -0,0 +1,64 @@ +/* + * RapidIO PowerPC support + * + * Copyright (C) 2007 Freescale Semiconductor, Inc. All rights reserved. + * Zhang Wei <[EMAIL PROTECTED]>, Jun 2007 + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * New RapidIO peer-to-peer network initialize with of-device supoort. + * + */ + +#include +#include +#include + +#include +#include +#include + +#include <../sysdev/fsl_rio.h> + + +/* The probe function for RapidIO peer-to-peer network. + */ +static int __devinit of_rio_rpn_probe(struct of_device *dev, +const struct of_device_id *match) +{ + int rc; + printk(KERN_INFO "Setting up RapidIO peer-to-peer network %s\n", + dev->node->full_name); + + rc = fsl_rio_setup(dev); + if (rc) + goto out; + + /* Enumerate all registered ports */ + rc = rio_init_mports(); +out: + return rc; +}; + +static struct of_device_id of_rio_rpn_ids[] = { + { + .compatible = "fsl,rapidio-delta", + }, + {}, +}; + +static struct of_platform_driver of_rio_rpn_driver = { + .name = "of-rio", + .match_table = of_rio_rpn_ids, + .probe = of_rio_rpn_probe, +}; + +static __init int of_rio_rpn_init(void) +{ + return of_register_platform_driver(&of_rio_rpn_driver); +} - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 4/5 v3] Add RapidIO support to powerpc architecture.
On Thu, 26 Jul 2007 16:42:51 +0800 Zhang Wei <[EMAIL PROTECTED]> wrote: > > + > +#include <../sysdev/fsl_rio.h> This can just be if it is only built on 32bit. -- Cheers, Stephen Rothwell[EMAIL PROTECTED] http://www.canb.auug.org.au/~sfr/ pgpfyMqzAH5CK.pgp Description: PGP signature
[PATCH 4/5 v3] Add RapidIO support to powerpc architecture.
This patch adds the RapidIO support to the powerpc architecture. Some files are moved from ppc. OF-tree and OF-device supports are added. New silicons such as MPC8548, MPC8641 with serial RapidIO controller are all supported. Memory driver hardware operations are added. Global mport variables are changed to master port private variables. Multi master ports are supported. Signed-off-by: Zhang Wei <[EMAIL PROTECTED]> --- arch/powerpc/Kconfig |8 + arch/powerpc/kernel/Makefile |1 + arch/powerpc/kernel/rio.c | 64 ++ arch/powerpc/sysdev/Makefile |1 + arch/powerpc/sysdev/fsl_rio.c | 1455 + arch/powerpc/sysdev/fsl_rio.h | 20 + 6 files changed, 1549 insertions(+), 0 deletions(-) create mode 100644 arch/powerpc/kernel/rio.c create mode 100644 arch/powerpc/sysdev/fsl_rio.c create mode 100644 arch/powerpc/sysdev/fsl_rio.h diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 00099ef..45f32f1 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -492,6 +492,14 @@ source "drivers/pci/Kconfig" source "drivers/pcmcia/Kconfig" +config RAPIDIO + bool "RapidIO support" if MPC8540 || MPC8560 || MPC8641 || MPC8548 + help + If you say Y here, the kernel will include drivers and + infrastructure code to support RapidIO interconnect devices. + +source "drivers/rapidio/Kconfig" + source "drivers/pci/hotplug/Kconfig" endmenu diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile index 42c42ec..02d4100 100644 --- a/arch/powerpc/kernel/Makefile +++ b/arch/powerpc/kernel/Makefile @@ -70,6 +70,7 @@ pci64-$(CONFIG_PPC64) += pci_64.o pci_dn.o isa-bridge.o pci32-$(CONFIG_PPC32) := pci_32.o obj-$(CONFIG_PCI) += $(pci64-y) $(pci32-y) pci-common.o obj-$(CONFIG_PCI_MSI) += msi.o +obj-$(CONFIG_RAPIDIO) += rio.o kexec-$(CONFIG_PPC64) := machine_kexec_64.o kexec-$(CONFIG_PPC32) := machine_kexec_32.o obj-$(CONFIG_KEXEC)+= machine_kexec.o crash.o $(kexec-y) diff --git a/arch/powerpc/kernel/rio.c b/arch/powerpc/kernel/rio.c new file mode 100644 index 000..8d41e93 --- /dev/null +++ b/arch/powerpc/kernel/rio.c @@ -0,0 +1,64 @@ +/* + * RapidIO PowerPC support + * + * Copyright (C) 2007 Freescale Semiconductor, Inc. All rights reserved. + * Zhang Wei <[EMAIL PROTECTED]>, Jun 2007 + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * New RapidIO peer-to-peer network initialize with of-device supoort. + * + */ + +#include +#include +#include + +#include +#include +#include + +#include <../sysdev/fsl_rio.h> + + +/* The probe function for RapidIO peer-to-peer network. + */ +static int __devinit of_rio_rpn_probe(struct of_device *dev, +const struct of_device_id *match) +{ + int rc; + printk(KERN_INFO "Setting up RapidIO peer-to-peer network %s\n", + dev->node->full_name); + + rc = fsl_rio_setup(dev); + if (rc) + goto out; + + /* Enumerate all registered ports */ + rc = rio_init_mports(); +out: + return rc; +}; + +static struct of_device_id of_rio_rpn_ids[] = { + { + .compatible = "fsl,rapidio-delta", + }, + {}, +}; + +static struct of_platform_driver of_rio_rpn_driver = { + .name = "of-rio", + .match_table = of_rio_rpn_ids, + .probe = of_rio_rpn_probe, +}; + +static __init int of_rio_rpn_init(void) +{ + return of_register_platform_driver(&of_rio_rpn_driver); +} + +subsys_initcall(of_rio_rpn_init); diff --git a/arch/powerpc/sysdev/Makefile b/arch/powerpc/sysdev/Makefile index 08ce31e..0dd6b6a 100644 --- a/arch/powerpc/sysdev/Makefile +++ b/arch/powerpc/sysdev/Makefile @@ -12,6 +12,7 @@ obj-$(CONFIG_PPC_PMI) += pmi.o obj-$(CONFIG_U3_DART) += dart_iommu.o obj-$(CONFIG_MMIO_NVRAM) += mmio_nvram.o obj-$(CONFIG_FSL_SOC) += fsl_soc.o +obj-$(CONFIG_RAPIDIO) += fsl_rio.o obj-$(CONFIG_FSL_PCI) += fsl_pci.o obj-$(CONFIG_TSI108_BRIDGE)+= tsi108_pci.o tsi108_dev.o obj-$(CONFIG_QUICC_ENGINE) += qe_lib/ diff --git a/arch/powerpc/sysdev/fsl_rio.c b/arch/powerpc/sysdev/fsl_rio.c new file mode 100644 index 000..1608138 --- /dev/null +++ b/arch/powerpc/sysdev/fsl_rio.c @@ -0,0 +1,1455 @@ +/* + * PowerPC RapidIO support + * + * Copyright (C) 2007 Freescale Semiconductor, Inc. All rights reserved. + * Zhang Wei <[EMAIL PROTECTED]>, Jun 2007 + * + * Copyright 2005 MontaVista Software, Inc. + * Matt Porter <[EMAIL PROTECTED]> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the +