Kevin, Can you please reply to my comments below?
Thanks, Hemant > -----Original Message----- > From: > davinci-linux-open-source-bounces+hemantp=ti....@linux.davinci > dsp.com > [mailto:davinci-linux-open-source-bounces+hemantp=ti....@linux > .davincidsp.com] On Behalf Of Pedanekar, Hemant > Sent: Saturday, May 23, 2009 9:23 AM > To: Kevin Hilman > Cc: davinci-linux-open-source@linux.davincidsp.com > Subject: RE: [PATCH 1/2] ARM: DaVinci: DM646x PCIHOST: Core > files modifications for PCI PINMUX and I/O > > > > > -----Original Message----- > > From: Kevin Hilman [mailto:khil...@deeprootsystems.com] > > Sent: Friday, May 22, 2009 4:48 AM > > To: Pedanekar, Hemant > > Cc: davinci-linux-open-source@linux.davincidsp.com > > Subject: Re: [PATCH 1/2] ARM: DaVinci: DM646x PCIHOST: Core files > > modifications for PCI PINMUX and I/O > > > > Hemant Pedanekar <hema...@ti.com> writes: > > > > > The changes mainly target two areas: 1) Provide clock structure, > > > setting > > up PCI > > > PINMUX and perform board specific fix-ups for PCI Host > core to begin > > > configuration/enumeraion and 2) Provide PCI IO access through > > > in/outx() > > and > > > ioread/iowritex(). > > > > > > The arm-kernel configuration is updated to support PCI Bus for > > > DM646x > > builds. > > > > > > In addition, I/O mapping macros are moved inside > hardware.h to avoid > > > the > > need > > > for inclusion of io.h in assembly files which results in assembler > > errors for > > > PCI I/O functions, as well as serial.h, which results in > unresolved > > symbols for > > > PCI I/O functions (in uncompress code). > > > > > > Signed-off-by: Hemant Pedanekar <hema...@ti.com> > > > --- > > > arch/arm/Kconfig | 2 +- > > > arch/arm/mach-davinci/Kconfig | 1 + > > > arch/arm/mach-davinci/Makefile | 6 + > > > arch/arm/mach-davinci/board-dm646x-evm.c | 82 ++++++++ > > > arch/arm/mach-davinci/dm646x.c | 22 ++- > > > arch/arm/mach-davinci/include/mach/dm646x.h | 33 +++- > > > arch/arm/mach-davinci/include/mach/entry-macro.S | 2 +- > > > arch/arm/mach-davinci/include/mach/hardware.h | 21 ++ > > > arch/arm/mach-davinci/include/mach/io.h | 237 > > ++++++++++++++++++++-- > > > arch/arm/mach-davinci/include/mach/mux.h | 10 +- > > > arch/arm/mach-davinci/include/mach/serial.h | 2 +- > > > arch/arm/mach-davinci/include/mach/vmalloc.h | 2 +- > > > 12 files changed, 390 insertions(+), 30 deletions(-) > > > > > > > Just some general comments without digging too much into the PCI > > specific parts... > > > > You're doing lots of things in this patch, it should be > split break it > > up into smaller pieces with better descriptions. > > > > You could break out some cleanup/fixup patches, and the clock/mux > > defines into separate patches, the PCI accessor functions etc. etc. > > > That seems better approach. I will do that. > > > The header rework should be a separate patch with a clearer > > description of the problem. If the problem is with incluing from > > assembly files, then there's probably a better way to do this like > > using #ifdef __ASSEMBLER__. > > > Its not just assembler errors, I also get undefined > references errors from uncompress code as io.h gets included > there (through serial.h, I guess) and the PIC I/O functions > are not built. > > Another approach to get around these errors was to add > EXTRA_FLAGS in arch/arm/boot/compressed/Makefile and then use > that flag along with __ASSEMBLER__ to skip PCI I/O functions in io.h. > > I also observed that most of the other arm/mach-xxx had > IO_ADDRESS etc. defined in hardware.h. So they would not get > such errors as io.h was not included. > > Which option do you suggest? > > > > Also, is PCI going to be specific to the dm646x forever? Something > > tells me no. Some of the PCI stuff you put into dm646x.h should > > probably be in a more generic header like <mach/pci.h> or something. > > > Are you referring to "pcibios_assign_all_busses"? If so, you > are correct that it is not really DM6467 specific. But the > other #defines (such as addresses) are still DM6467 specific > aren't they? > > > > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index > > > bf935b0..3324c02 100644 > > > --- a/arch/arm/Kconfig > > > +++ b/arch/arm/Kconfig > > > @@ -776,7 +776,7 @@ config ISA_DMA_API > > > bool > > > > > > config PCI > > > - bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || > > ARCH_IXP4XX || ARCH_KS8695 || MACH_ARMCORE > > > + bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || > > ARCH_IXP4XX || ARCH_KS8695 || MACH_ARMCORE || ARCH_DAVINCI_DM646x > > > help > > > Find out whether you have a PCI motherboard. PCI is > the name of a > > > bus system, i.e. the way the CPU talks to the other > stuff inside > > > diff --git a/arch/arm/mach-davinci/Kconfig b/arch/arm/mach- > > davinci/Kconfig > > > index c460615..2ce0ffd 100644 > > > --- a/arch/arm/mach-davinci/Kconfig > > > +++ b/arch/arm/mach-davinci/Kconfig > > > @@ -17,6 +17,7 @@ config ARCH_DAVINCI_DM644x config > > > ARCH_DAVINCI_DM646x > > > bool "DaVinci 646x based system" > > > select AINTC > > > + select DAVINCI_MUX if PCI > > > > > > config ARCH_DAVINCI_DM355 > > > bool "DaVinci 355 based system" > > > diff --git a/arch/arm/mach-davinci/Makefile b/arch/arm/mach- > > davinci/Makefile > > > old mode 100644 > > > new mode 100755 > > > index 6da7b63..7323c83 > > > --- a/arch/arm/mach-davinci/Makefile > > > +++ b/arch/arm/mach-davinci/Makefile > > > @@ -9,12 +9,18 @@ obj-y := time.o > clock.o serial.o io.o > > psc.o \ > > > sram.o > > > > > > obj-$(CONFIG_DAVINCI_MUX) += mux.o > > > +obj-$(CONFIG_PCI) += pci-generic.o > > > > You add files to the Makefile which are not added in this patch. > > This will break bisecting. > > > > > # Chip specific > > > obj-$(CONFIG_ARCH_DAVINCI_DM644x) += dm644x.o > > > obj-$(CONFIG_ARCH_DAVINCI_DM646x) += dm646x.o > > > obj-$(CONFIG_ARCH_DAVINCI_DM355) += dm355.o > > > > > > +# PCI - Chip specific > > > +ifeq ($(CONFIG_PCI), y) > > > +obj-$(CONFIG_ARCH_DAVINCI_DM646x) += pci-dm6467.o > > > +endif > > > + > > > > Ditto. > > > I will move Kconfig and Makefile patches to PCI driver patch set. > > > [...] > > > > Kevin > > > > Thanks for your comments! > Hemant > > > _______________________________________________ > Davinci-linux-open-source mailing list > Davinci-linux-open-source@linux.davincidsp.com > http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source > _______________________________________________ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source