Re: pci: Arch hook to determine config space size

2005-02-02 Thread Benjamin Herrenschmidt
On Wed, 2005-02-02 at 11:05 +0100, Arnd Bergmann wrote: > How about something along the lines of this patch? Instead of adding a > pointer to the pci data from the device node, it embeds the node inside > a new struct pci_device_node. The patch is not complete and therefore > not expected to work

Re: pci: Arch hook to determine config space size

2005-02-02 Thread Arnd Bergmann
On Dinsdag 01 Februar 2005 05:57, Benjamin Herrenschmidt wrote: > BTW. I'm thinking about moving all those PCI/VIO related fields out of > struct device_node to their own structure and keep only a pointer to > that structure in device_node. That way, we avoid the bloat for every > single non-pci

Re: pci: Arch hook to determine config space size

2005-02-02 Thread Arnd Bergmann
On Dinsdag 01 Februar 2005 05:57, Benjamin Herrenschmidt wrote: BTW. I'm thinking about moving all those PCI/VIO related fields out of struct device_node to their own structure and keep only a pointer to that structure in device_node. That way, we avoid the bloat for every single non-pci node

Re: pci: Arch hook to determine config space size

2005-02-02 Thread Benjamin Herrenschmidt
On Wed, 2005-02-02 at 11:05 +0100, Arnd Bergmann wrote: How about something along the lines of this patch? Instead of adding a pointer to the pci data from the device node, it embeds the node inside a new struct pci_device_node. The patch is not complete and therefore not expected to work as

Re: pci: Arch hook to determine config space size

2005-02-01 Thread Brian King
Matthew Wilcox wrote: On Mon, Jan 31, 2005 at 10:52:29PM -0600, Brian King wrote: @@ -62,8 +72,11 @@ static int rtas_read_config(struct devic return PCIBIOS_DEVICE_NOT_FOUND; if (where & (size - 1)) return PCIBIOS_BAD_REGISTER_NUMBER; You should probably

Re: pci: Arch hook to determine config space size

2005-02-01 Thread Brian King
Grant Grundler wrote: On Mon, Jan 31, 2005 at 01:40:04PM -0600, Brian King wrote: CC'ing the linux-pci mailing list... thanks... This patch adds an arch hook so that individual archs can indicate if the underlying system supports expanded config space accesses or not. @@ -653,6 +653,8 @@ static

Re: pci: Arch hook to determine config space size

2005-02-01 Thread Matthew Wilcox
On Mon, Jan 31, 2005 at 10:52:29PM -0600, Brian King wrote: > @@ -62,8 +72,11 @@ static int rtas_read_config(struct devic > return PCIBIOS_DEVICE_NOT_FOUND; > if (where & (size - 1)) > return PCIBIOS_BAD_REGISTER_NUMBER; You should probably delete this redundant

Re: pci: Arch hook to determine config space size

2005-02-01 Thread Brian King
Grant Grundler wrote: On Mon, Jan 31, 2005 at 01:40:04PM -0600, Brian King wrote: CC'ing the linux-pci mailing list... thanks... This patch adds an arch hook so that individual archs can indicate if the underlying system supports expanded config space accesses or not. @@ -653,6 +653,8 @@ static

Re: pci: Arch hook to determine config space size

2005-02-01 Thread Matthew Wilcox
On Mon, Jan 31, 2005 at 10:52:29PM -0600, Brian King wrote: @@ -62,8 +72,11 @@ static int rtas_read_config(struct devic return PCIBIOS_DEVICE_NOT_FOUND; if (where (size - 1)) return PCIBIOS_BAD_REGISTER_NUMBER; You should probably delete this redundant test

Re: pci: Arch hook to determine config space size

2005-02-01 Thread Brian King
Matthew Wilcox wrote: On Mon, Jan 31, 2005 at 10:52:29PM -0600, Brian King wrote: @@ -62,8 +72,11 @@ static int rtas_read_config(struct devic return PCIBIOS_DEVICE_NOT_FOUND; if (where (size - 1)) return PCIBIOS_BAD_REGISTER_NUMBER; You should probably

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Grant Grundler
On Mon, Jan 31, 2005 at 01:40:04PM -0600, Brian King wrote: > CC'ing the linux-pci mailing list... thanks... > > This patch adds an arch hook so > > that individual archs can indicate if the underlying system supports > > expanded config space accesses or not. > >@@ -653,6 +653,8 @@ static int

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Benjamin Herrenschmidt
On Mon, 2005-01-31 at 22:52 -0600, Brian King wrote: > Assuming I am reading the spec correctly, this is only a property of the > PHB, so I could move it into the pci_controller struct instead. Note that Arnd seems to imply the opposite ... BTW. I'm thinking about moving all those PCI/VIO

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Brian King
Benjamin Herrenschmidt wrote: On Mon, 2005-01-31 at 16:43 -0600, Brian King wrote: diff -puN include/asm-ppc64/prom.h~ppc64_pcix_mode2_cfg include/asm-ppc64/prom.h --- linux-2.6.11-rc2-bk9/include/asm-ppc64/prom.h~ppc64_pcix_mode2_cfg 2005-01-31 14:32:01.0 -0600 +++

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Benjamin Herrenschmidt
On Mon, 2005-01-31 at 16:43 -0600, Brian King wrote: > diff -puN include/asm-ppc64/prom.h~ppc64_pcix_mode2_cfg > include/asm-ppc64/prom.h > --- linux-2.6.11-rc2-bk9/include/asm-ppc64/prom.h~ppc64_pcix_mode2_cfg > 2005-01-31 14:32:01.0 -0600 > +++

Re: pci: Arch hook to determine config space size

2005-01-31 Thread arndb
Brian King <[EMAIL PROTECTED]> schrieb am 31.01.2005, 23:43:30: > > Isn't the config space size a property of the PCI device instead of the > > host bridge? For a PCI device behind a PCIe host bridge, this could > > still lead to an incorrect config space accesses. > > It is a property of both.

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Brian King
Arnd Bergmann wrote: On Maandag 31 Januar 2005 22:35, Brian King wrote: Matthew Wilcox wrote: Basically, ppc64's config ops are broken and need to check the offset being read. Here's i386: static int pci_conf1_write (int seg, int bus, int devfn, int reg, int len, u32 v alue) { unsigned

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Greg KH
On Mon, Jan 31, 2005 at 10:56:44PM +0100, Arnd Bergmann wrote: > PS: I got a permanent fatal error from <[EMAIL PROTECTED]>, does > that list actually exist? No, that is not the email address for the linux-pci mailing list. I don't know who put that in this thread, but next time, someone might

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Arnd Bergmann
On Maandag 31 Januar 2005 22:35, Brian King wrote: > Matthew Wilcox wrote: > > Basically, ppc64's config ops are broken and need to check the offset > > being read.  Here's i386: > > > > static int pci_conf1_write (int seg, int bus, int devfn, int reg, int len, > > u32 v > > alue) > > { > >      

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Brian King
Matthew Wilcox wrote: Basically, ppc64's config ops are broken and need to check the offset being read. Here's i386: static int pci_conf1_write (int seg, int bus, int devfn, int reg, int len, u32 v alue) { unsigned long flags; if ((bus > 255) || (devfn > 255) || (reg > 255))

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Arnd Bergmann
On Maandag 31 Januar 2005 20:29, Matthew Wilcox wrote: > Thanks for copying linux-pci.  I hate this patch. > > Basically, ppc64's config ops are broken and need to check the offset > being read. To make things worse, simply allowing the larger config space will silently access the wrong device.

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Brian King
Brian King wrote: Greg KH wrote: On Fri, Jan 28, 2005 at 06:52:34PM +, Christoph Hellwig wrote: +int __attribute__ ((weak)) pcibios_exp_cfg_space(struct pci_dev *dev) { return 1; } - prototypes belong to headers - weak linkage is the perfect way for total obsfucation please make this a

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Matthew Wilcox
On Mon, Jan 31, 2005 at 01:10:46PM -0600, Brian King wrote: > Greg KH wrote: > >On Fri, Jan 28, 2005 at 06:52:34PM +, Christoph Hellwig wrote: > > > >>>+int __attribute__ ((weak)) pcibios_exp_cfg_space(struct pci_dev *dev) { > >>>return 1; } > >> > >>- prototypes belong to headers > >>- weak

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Greg KH
On Mon, Jan 31, 2005 at 01:10:46PM -0600, Brian King wrote: > +int pcibios_exp_cfg_space(struct pci_dev *dev) { return 1; } > + Kernel functions traditionally return 0 for success and -ESOMETHING for error. Care to fix this up to match that convention? thanks, greg k-h

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Brian King
Greg KH wrote: On Fri, Jan 28, 2005 at 06:52:34PM +, Christoph Hellwig wrote: +int __attribute__ ((weak)) pcibios_exp_cfg_space(struct pci_dev *dev) { return 1; } - prototypes belong to headers - weak linkage is the perfect way for total obsfucation please make this a regular arch hook I

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Brian King
Greg KH wrote: On Fri, Jan 28, 2005 at 06:52:34PM +, Christoph Hellwig wrote: +int __attribute__ ((weak)) pcibios_exp_cfg_space(struct pci_dev *dev) { return 1; } - prototypes belong to headers - weak linkage is the perfect way for total obsfucation please make this a regular arch hook I

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Greg KH
On Mon, Jan 31, 2005 at 01:10:46PM -0600, Brian King wrote: +int pcibios_exp_cfg_space(struct pci_dev *dev) { return 1; } + Kernel functions traditionally return 0 for success and -ESOMETHING for error. Care to fix this up to match that convention? thanks, greg k-h

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Matthew Wilcox
On Mon, Jan 31, 2005 at 01:10:46PM -0600, Brian King wrote: Greg KH wrote: On Fri, Jan 28, 2005 at 06:52:34PM +, Christoph Hellwig wrote: +int __attribute__ ((weak)) pcibios_exp_cfg_space(struct pci_dev *dev) { return 1; } - prototypes belong to headers - weak linkage is the perfect

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Brian King
Brian King wrote: Greg KH wrote: On Fri, Jan 28, 2005 at 06:52:34PM +, Christoph Hellwig wrote: +int __attribute__ ((weak)) pcibios_exp_cfg_space(struct pci_dev *dev) { return 1; } - prototypes belong to headers - weak linkage is the perfect way for total obsfucation please make this a

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Arnd Bergmann
On Maandag 31 Januar 2005 20:29, Matthew Wilcox wrote: Thanks for copying linux-pci.  I hate this patch. Basically, ppc64's config ops are broken and need to check the offset being read. To make things worse, simply allowing the larger config space will silently access the wrong device. The

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Brian King
Matthew Wilcox wrote: Basically, ppc64's config ops are broken and need to check the offset being read. Here's i386: static int pci_conf1_write (int seg, int bus, int devfn, int reg, int len, u32 v alue) { unsigned long flags; if ((bus 255) || (devfn 255) || (reg 255))

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Arnd Bergmann
On Maandag 31 Januar 2005 22:35, Brian King wrote: Matthew Wilcox wrote: Basically, ppc64's config ops are broken and need to check the offset being read.  Here's i386: static int pci_conf1_write (int seg, int bus, int devfn, int reg, int len, u32 v alue) {         unsigned long

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Brian King
Arnd Bergmann wrote: On Maandag 31 Januar 2005 22:35, Brian King wrote: Matthew Wilcox wrote: Basically, ppc64's config ops are broken and need to check the offset being read. Here's i386: static int pci_conf1_write (int seg, int bus, int devfn, int reg, int len, u32 v alue) { unsigned

Re: pci: Arch hook to determine config space size

2005-01-31 Thread arndb
Brian King [EMAIL PROTECTED] schrieb am 31.01.2005, 23:43:30: Isn't the config space size a property of the PCI device instead of the host bridge? For a PCI device behind a PCIe host bridge, this could still lead to an incorrect config space accesses. It is a property of both. Accessing

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Brian King
Benjamin Herrenschmidt wrote: On Mon, 2005-01-31 at 16:43 -0600, Brian King wrote: diff -puN include/asm-ppc64/prom.h~ppc64_pcix_mode2_cfg include/asm-ppc64/prom.h --- linux-2.6.11-rc2-bk9/include/asm-ppc64/prom.h~ppc64_pcix_mode2_cfg 2005-01-31 14:32:01.0 -0600 +++

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Benjamin Herrenschmidt
On Mon, 2005-01-31 at 22:52 -0600, Brian King wrote: Assuming I am reading the spec correctly, this is only a property of the PHB, so I could move it into the pci_controller struct instead. Note that Arnd seems to imply the opposite ... BTW. I'm thinking about moving all those PCI/VIO

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Grant Grundler
On Mon, Jan 31, 2005 at 01:40:04PM -0600, Brian King wrote: CC'ing the linux-pci mailing list... thanks... This patch adds an arch hook so that individual archs can indicate if the underlying system supports expanded config space accesses or not. @@ -653,6 +653,8 @@ static int

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Greg KH
On Mon, Jan 31, 2005 at 10:56:44PM +0100, Arnd Bergmann wrote: PS: I got a permanent fatal error from [EMAIL PROTECTED], does that list actually exist? No, that is not the email address for the linux-pci mailing list. I don't know who put that in this thread, but next time, someone might want

Re: pci: Arch hook to determine config space size

2005-01-31 Thread Benjamin Herrenschmidt
On Mon, 2005-01-31 at 16:43 -0600, Brian King wrote: diff -puN include/asm-ppc64/prom.h~ppc64_pcix_mode2_cfg include/asm-ppc64/prom.h --- linux-2.6.11-rc2-bk9/include/asm-ppc64/prom.h~ppc64_pcix_mode2_cfg 2005-01-31 14:32:01.0 -0600 +++

Re: [PATCH 1/2] pci: Arch hook to determine config space size

2005-01-28 Thread Greg KH
On Fri, Jan 28, 2005 at 06:52:34PM +, Christoph Hellwig wrote: > > +int __attribute__ ((weak)) pcibios_exp_cfg_space(struct pci_dev *dev) { > > return 1; } > > - prototypes belong to headers > - weak linkage is the perfect way for total obsfucation > > please make this a regular arch hook

Re: [PATCH 1/2] pci: Arch hook to determine config space size

2005-01-28 Thread Christoph Hellwig
> +int __attribute__ ((weak)) pcibios_exp_cfg_space(struct pci_dev *dev) { > return 1; } - prototypes belong to headers - weak linkage is the perfect way for total obsfucation please make this a regular arch hook > Please read the FAQ at http://www.tux.org/lkml/ ---end quoted text--- - To

[PATCH 1/2] pci: Arch hook to determine config space size

2005-01-28 Thread brking
When working with a PCI-X Mode 2 adapter on a PCI-X Mode 1 PPC64 system, the current code used to determine the config space size of a device results in a PCI Master abort and an EEH error, resulting in the device being taken offline. This patch adds the ability for arch specific code to override

[PATCH 1/2] pci: Arch hook to determine config space size

2005-01-28 Thread brking
When working with a PCI-X Mode 2 adapter on a PCI-X Mode 1 PPC64 system, the current code used to determine the config space size of a device results in a PCI Master abort and an EEH error, resulting in the device being taken offline. This patch adds the ability for arch specific code to override

Re: [PATCH 1/2] pci: Arch hook to determine config space size

2005-01-28 Thread Christoph Hellwig
+int __attribute__ ((weak)) pcibios_exp_cfg_space(struct pci_dev *dev) { return 1; } - prototypes belong to headers - weak linkage is the perfect way for total obsfucation please make this a regular arch hook Please read the FAQ at http://www.tux.org/lkml/ ---end quoted text--- - To

Re: [PATCH 1/2] pci: Arch hook to determine config space size

2005-01-28 Thread Greg KH
On Fri, Jan 28, 2005 at 06:52:34PM +, Christoph Hellwig wrote: +int __attribute__ ((weak)) pcibios_exp_cfg_space(struct pci_dev *dev) { return 1; } - prototypes belong to headers - weak linkage is the perfect way for total obsfucation please make this a regular arch hook I