Re: [PATCH 09/28] blk_end_request: changing ps3disk (take 3)

2007-12-02 Thread Geert Uytterhoeven
On Fri, 30 Nov 2007, Kiyoshi Ueda wrote:
> This patch converts ps3disk to use blk_end_request().
 ^^^
Patch subject and description are inconsistent with actual change.

> Signed-off-by: Kiyoshi Ueda <[EMAIL PROTECTED]>
> Signed-off-by: Jun'ichi Nomura <[EMAIL PROTECTED]>
> ---
>  drivers/block/ps3disk.c |6 +-
>  1 files changed, 1 insertion(+), 5 deletions(-)
> 
> Index: 2.6.24-rc3-mm2/drivers/block/ps3disk.c
> ===
> --- 2.6.24-rc3-mm2.orig/drivers/block/ps3disk.c
> +++ 2.6.24-rc3-mm2/drivers/block/ps3disk.c
> @@ -280,11 +280,7 @@ static irqreturn_t ps3disk_interrupt(int
>   }
>  
>   spin_lock(&priv->lock);
> - if (!end_that_request_first(req, uptodate, num_sectors)) {
> - add_disk_randomness(req->rq_disk);
> - blkdev_dequeue_request(req);
> - end_that_request_last(req, uptodate);
> - }
> + __blk_end_request(req, uptodate, num_sectors << 9);
^

With kind regards,
 
Geert Uytterhoeven
Software Architect

Sony Network and Software Technology Center Europe
The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium
 
Phone:+32 (0)2 700 8453 
Fax:  +32 (0)2 700 8622 
E-mail:   [EMAIL PROTECTED] 
Internet: http://www.sony-europe.com/

Sony Network and Software Technology Center Europe  
A division of Sony Service Centre (Europe) N.V. 
Registered office: Technologielaan 7 · B-1840 Londerzeel · Belgium  
VAT BE 0413.825.160 · RPR Brussels  
Fortis Bank Zaventem · Swift GEBABEBB08A · IBAN BE39001382358619___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Re: [PATCH 0/3] OF-platform PATA driver

2007-12-02 Thread Anton Vorontsov
On Sat, Dec 01, 2007 at 09:57:55PM -0600, Olof Johansson wrote:
> On Sun, Dec 02, 2007 at 02:58:10AM +0300, Anton Vorontsov wrote:
> > On Sat, Dec 01, 2007 at 05:54:49PM -0500, Jeff Garzik wrote:
> > while (1) {
> > send_patches();
> > 
> > if (ack_collected(PaulM) && ack_collected(PowerPC_people))
> > break;
> > 
> > sleep(wait_for_comments_timeout); <-- currently here.
> 
> I still haven't seen you address the compatible comments (that
> pata-platform is suboptimal). Or did I miss some respin of the patches?

I didn't resend these patches yet. You started the thread, but you hid
away from the discussion (you had been Cc'ed to every mail).

1. Arnd suggested {p,s}ata-pio-{1,2,3,..} or ata-{1,2,3,..} compatible
   scheme;
2. Sergei verbosely explained that that there is no reason to
   complicate compatible property. He suggested ata-generic, or
   ata-simple;

Mainly I was awaiting for your further comments. By now I tend to
follow Sergei's comments and rename compatible stuff to ata-generic.
Are you fine with it?

Thanks,

-- 
Anton Vorontsov
email: [EMAIL PROTECTED]
backup email: [EMAIL PROTECTED]
irc://irc.freenode.net/bd2
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


RE: [PATCH 1/3] [NET] phy/fixed.c: rework to not duplicate PHYlayer functionality

2007-12-02 Thread Joakim Tjernlund
[SNIP]
> ^^ the correct solution is to implement arch_initcall function
> which will create fixed PHYs, and then leave only
> snprintf(fpi->bus_id, 16, PHY_ID_FMT, 0, *data); part in the
> fs_enet's find_phy().
> 
> Try add something like this to the fsl_soc.c (compile untested):
> 
> - - - -
> static int __init of_add_fixed_phys(void)
> {
>   struct device_node *np;
>   const u32 *prop;
>   struct fixed_phy_status status = {};
> 
>   while ((np = of_find_node_by_name(NULL, "ethernet"))) {
>   data  = of_get_property(np, "fixed-link", NULL);
>   if (!data)
>   continue;
> 
>   status.link = 1;
>   status.duplex = data[1];
>   status.speed  = data[2];

What about Pause and Asym_Pause? Dunno why so few, if any, eth drivers
impl. it, but the PHY lib supports it.
Even if fixed PHYs doesn't support it directly I think the OF interface
should have it.

- fixed-link :  where a is emulated phy id - choose any,
  but unique to the all specified fixed-links, b is duplex - 0 half,
  1 full, c is link speed - d#10/d#100/d#1000, d is pause - 0 no pause,
  1 pause, d asym_pause - 0 no asym_pause, 1 asym_pause.

Jocke

> 
>   ret = fixed_phy_add(PHY_POLL, data[0], &status);
>   if (ret)
>   return ret;
>   }
> 
>   return 0;
> }
> arch_initcall(of_add_fixed_phys);
> - - - -
> 
> And remove fixed_phy_add() from the fs_enet. This should work
> nicely and also should be ideologically correct. ;-)
> 
> > How is this supposed to work for modules or for the
> > PPC_CPM_NEW_BINDING mode where the device tree is no longer scanned
> > during fs_soc initialization but during device initialization?
> 
> We should mark fixed.c as bool. Fake/virtual/fixed/platform PHYs
> creation is architecture code anyway, can't be =m.
> 
> -- 
> Anton Vorontsov
> email: [EMAIL PROTECTED]
> backup email: [EMAIL PROTECTED]
> irc://irc.freenode.net/bd2

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH 1/3] [NET] phy/fixed.c: rework to not duplicate PHYlayer functionality

2007-12-02 Thread Anton Vorontsov
On Sun, Dec 02, 2007 at 12:54:36PM +0100, Joakim Tjernlund wrote:
> [SNIP]
> > ^^ the correct solution is to implement arch_initcall function
> > which will create fixed PHYs, and then leave only
> > snprintf(fpi->bus_id, 16, PHY_ID_FMT, 0, *data); part in the
> > fs_enet's find_phy().
> > 
> > Try add something like this to the fsl_soc.c (compile untested):
> > 
> > - - - -
> > static int __init of_add_fixed_phys(void)
> > {
> > struct device_node *np;
> > const u32 *prop;
> > struct fixed_phy_status status = {};
> > 
> > while ((np = of_find_node_by_name(NULL, "ethernet"))) {
> > data  = of_get_property(np, "fixed-link", NULL);
> > if (!data)
> > continue;
> > 
> > status.link = 1;
> > status.duplex = data[1];
> > status.speed  = data[2];
> 
> What about Pause and Asym_Pause?

Will be addressed in the next respin of these patches. Let's
hope on Monday.

> Dunno why so few, if any, eth drivers
> impl. it, but the PHY lib supports it.
> Even if fixed PHYs doesn't support it directly I think the OF interface
> should have it.
> 
> - fixed-link :  where a is emulated phy id - choose any,
>   but unique to the all specified fixed-links, b is duplex - 0 half,
>   1 full, c is link speed - d#10/d#100/d#1000, d is pause - 0 no pause,
>   1 pause, d asym_pause - 0 no asym_pause, 1 asym_pause.

-- 
Anton Vorontsov
email: [EMAIL PROTECTED]
backup email: [EMAIL PROTECTED]
irc://irc.freenode.net/bd2
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH 24/24] powerpc: Base support for 440SPe "Katmai" eval board

2007-12-02 Thread Stefan Roese
Hi Ben,

On Friday 30 November 2007, Benjamin Herrenschmidt wrote:
> This adds base support for the Katmai board, including PCI-X and
> PCI-Express (but no RTC, nvram, etc... yet).

Please see comments below.

> Signed-off-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]>
> ---
>
> As for Taishan, the bootwrapper code can be simplified. In fact,
> we probably don't need to probe clocks & memsize off the chip and
> just trust what uboot tells us.
>
>  arch/powerpc/boot/44x.h |1
>  arch/powerpc/boot/Makefile  |7
>  arch/powerpc/boot/cuboot-katmai.c   |   35 +++
>  arch/powerpc/boot/dts/katmai.dts|  392
>  arch/powerpc/boot/katmai.c  | 
>  64 +
>  arch/powerpc/platforms/44x/Kconfig  |   12 +
>  arch/powerpc/platforms/44x/Makefile |3
>  arch/powerpc/platforms/44x/katmai.c |   63 +
>  8 files changed, 574 insertions(+), 3 deletions(-)
>
> Index: linux-work/arch/powerpc/platforms/44x/Kconfig
> ===
> --- linux-work.orig/arch/powerpc/platforms/44x/Kconfig2007-11-30
> 13:51:48.0 +1100 +++
> linux-work/arch/powerpc/platforms/44x/Kconfig 2007-11-30 13:51:48.0
> +1100 @@ -30,6 +30,14 @@ config TAISHAN
>   help
> This option enables support for the IBM PPC440GX "Taishan" evaluation
> board.
>
> +config KATMAI
> + bool "Katmai"
> + depends on 44x
> + default n
> + select 440SPe
> + help
> +   This option enables support for the AMCC PPC440SPe evaluation board.
> +
>  #config LUAN
>  #bool "Luan"
>  #depends on 44x
> @@ -74,6 +82,10 @@ config 440GX
>  config 440SP
>   bool
>
> +config 440SPe
> +select IBM_NEW_EMAC_EMAC4
> + bool
> +
>  # 44x errata/workaround config symbols, selected by the CPU models above
>  config IBM440EP_ERR42
>   bool
> Index: linux-work/arch/powerpc/platforms/44x/Makefile
> ===
> --- linux-work.orig/arch/powerpc/platforms/44x/Makefile   2007-11-30
> 13:51:48.0 +1100 +++
> linux-work/arch/powerpc/platforms/44x/Makefile2007-11-30
> 13:51:48.0 +1100 @@ -1,5 +1,6 @@
>  obj-$(CONFIG_44x):= misc_44x.o
>  obj-$(CONFIG_EBONY)  += ebony.o
>  obj-$(CONFIG_TAISHAN)+= taishan.o
> -obj-$(CONFIG_BAMBOO) += bamboo.o
> +obj-$(CONFIG_BAMBOO) += bamboo.o
>  obj-$(CONFIG_SEQUOIA)+= sequoia.o
> +obj-$(CONFIG_KATMAI) += katmai.o
> Index: linux-work/arch/powerpc/boot/dts/katmai.dts
> ===
> --- /dev/null 1970-01-01 00:00:00.0 +
> +++ linux-work/arch/powerpc/boot/dts/katmai.dts   2007-11-30
> 14:46:02.0 +1100 @@ -0,0 +1,392 @@
> +/*
> + * Device Tree Source for AMCC Bamboo
> + *
> + * Copyright (c) 2006, 2007 IBM Corp.
> + * Benjamin Herrenschmidt <[EMAIL PROTECTED]>
> + *
> + * Copyright (c) 2006, 2007 IBM Corp.
> + * Josh Boyer <[EMAIL PROTECTED]>
> + *
> + * FIXME: Draft only!
> + *
> + * This file is licensed under the terms of the GNU General Public
> + * License version 2.  This program is licensed "as is" without
> + * any warranty of any kind, whether express or implied.
> + */
> +
> +/ {
> + #address-cells = <2>;
> + #size-cells = <1>;
> + model = "amcc,katmai";
> + compatible = "amcc,katmai";
> + dcr-parent = <&/cpus/PowerPC,[EMAIL PROTECTED]>;
> +
> + cpus {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + PowerPC,[EMAIL PROTECTED] {
> + device_type = "cpu";
> + reg = <0>;
> + clock-frequency = <0>; /* Filled in by zImage */
> + timebase-frequency = <0>; /* Filled in by zImage */
> + i-cache-line-size = <20>;
> + d-cache-line-size = <20>;
> + i-cache-size = <2>;
> + d-cache-size = <2>;
> + dcr-controller;
> + dcr-access-method = "native";
> + };
> + };
> +
> + memory {
> + device_type = "memory";
> + reg = <0 0 0>; /* Filled in by zImage */
> + };
> +
> + UIC0: interrupt-controller0 {
> + compatible = "ibm,uic-440spe","ibm,uic";
> + interrupt-controller;
> + cell-index = <0>;
> + dcr-reg = <0c0 009>;
> + #address-cells = <0>;
> + #size-cells = <0>;
> + #interrupt-cells = <2>;
> + };
> +
> + UIC1: interrupt-controller1 {
> + compatible = "ibm,uic-440spe","ibm,uic";
> + interrupt-controller;
> + cell-index = <1>;
> + dcr-reg = <0d0 009>;
> + #address-cells = <0>;
> + #size-cells = <0>;
> + #interrupt-cells = <2>;
> + interrupts = <1e 4 1f 4>; /* cascade */
> + inter

Re: [PATCH 24/24] powerpc: Base support for 440SPe "Katmai" eval board

2007-12-02 Thread Stefan Roese
On Sunday 02 December 2007, Stefan Roese wrote:
> > +   PCIE0: [EMAIL PROTECTED] {
> > +   device_type = "pci";
> > +   #interrupt-cells = <1>;
> > +   #size-cells = <2>;
> > +   #address-cells = <3>;
> > +   compatible = "ibm,plb-pciex-440speB", "ibm,plb-pciex";
> > +   primary;
> > +   port = <0>; /* port number */
>
> port = <1>;

Ups, sorry. <0> is correct here of course. "PCIE1" and "PCIE2" need different 
numbers though.

> > +   reg =  > */
> > +  c 1000 1000>;/* Registers */
> > +   dcr-reg = <100 020>;
> > +   sdr-base = <300>;
> > +
> > +   /* Outbound ranges, one memory and one IO,
> > +* later cannot be changed
> > +*/
> > +   ranges = <0200 0 8000 000e  0 
> > 8000
> > + 0100 0  000f 8000 0 
> > 0001>;
> > +
> > +   /* Inbound 2GB range starting at 0 */
> > +   dma-ranges = <4200 0 0 0 0 0 8000>;
> > +
> > +   /* This drives busses 10 to 0x1f */
> > +   bus-range = <10 1f>;
> > +
> > +   /* Legacy interrupts (note the weird polarity). We are
> > +* de-swizzling here because the numbers are actually 
> > for
> > +* port of the root complex virtual P2P bridge. But I 
> > want
> > +* to avoid putting a node for it in the tree, so the 
> > numbers
> > +* below are basically de-swizzled numbers. The real 
> > slot is
> > +* on idsel 1, so the swizzling is new_pin = (pin % 4) 
> > + 1
> > +*/
> > +   interrupt-map-mask = < 0 0 7>;
> > +   interrupt-map = <
> > +    0 0 2 &UIC3 0 4 /* swizzled int A */
> > +    0 0 3 &UIC3 1 4 /* swizzled int B */
> > +    0 0 4 &UIC3 2 4 /* swizzled int C */
> > +    0 0 1 &UIC3 3 4 /* swizzled int D */>;
> > +   };
> > +
> > +   PCIE1: [EMAIL PROTECTED] {
> > +   device_type = "pci";
> > +   #interrupt-cells = <1>;
> > +   #size-cells = <2>;
> > +   #address-cells = <3>;
> > +   compatible = "ibm,plb-pciex-440speB", "ibm,plb-pciex";
> > +   primary;
> > +   port = <0>; /* port number */
>
> port = <2>;

That should be <1> now. And PCIE2 has this problem too.

Best regards,
Stefan
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH 12/24] powerpc: 4xx PLB to PCI Express support

2007-12-02 Thread Stefan Roese
Hi Ben,

On Friday 30 November 2007, Benjamin Herrenschmidt wrote:
> This adds to the previous 2 patches the support for the 4xx PCI Express
> cells as found in the 440SPe revA, revB and 405EX.
>
> Unfortunately, due to significant differences between these, and other
> interesting "features" of those pieces of HW, the code isn't as simple
> as it is for PCI and PCI-X and some of the functions differ significantly
> between the 3 implementations. Thus, not only this code can only support
> those 3 implementations for now and will refuse to operate on any other,
> but there are added ifdef's to avoid the bloat of building a fairly large
> amount of code on platforms that don't need it.
>
> Also, this code currently only supports fully initializing root complex
> nodes, not endpoint. Some more code will have to be lifted from the
> arch/ppc implementation to add the endpoint support, though it's mostly
> differences in memory mapping, and the question on how to represent
> endpoint mode PCI in the device-tree is thus open.
>
> Signed-off-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]>
> ---
>
> 440SPeA is untested, 440SPeB is slightly tested (with a sky2 network card
> on port 0 only for now) and 405EX is untested.

As already mentioned I'm experiencing some problems with this current version. 
At least what's available in Josh's 2.6.25-candidates branch. The kernel 
crashes in the first ppc4xx_pciex_read_config() call upon (after I fixed the 
small problem mentioned further down below):

BUG_ON(hose != port->hose);

So before digging into this deeper, I wanted to check if you don't have a 
slightly "better" version which passed your tests with the sky2 PCIe card.

One further comment below.

>  arch/powerpc/Kconfig |1
>  arch/powerpc/sysdev/Kconfig  |8
>  arch/powerpc/sysdev/ppc4xx_pci.c |  927
> ++- arch/powerpc/sysdev/ppc4xx_pci.h | 
> 237 +
>  4 files changed, 1172 insertions(+), 1 deletion(-)
>
> Index: linux-work/arch/powerpc/sysdev/ppc4xx_pci.c



> +static void __init ppc4xx_pciex_port_setup_hose(struct ppc4xx_pciex_port
> *port) +{
> + struct resource dma_window;
> + struct pci_controller *hose = NULL;
> + const int *bus_range;
> + int primary, busses;
> + void __iomem *mbase = NULL, *cfg_data = NULL;
> +
> + /* XXX FIXME: Handle endpoint mode properly */
> + if (port->endpoint)
> + return;
> +
> + /* Check if primary bridge */
> + if (of_get_property(port->node, "primary", NULL))
> + primary = 1;
> +
> + /* Get bus range if any */
> + bus_range = of_get_property(port->node, "bus-range", NULL);
> +
> + /* Allocate the host controller data structure */
> + hose = pcibios_alloc_controller(port->node);
> + if (!hose)
> + goto fail;
> +
> + /* We stick the port number in "indirect_type" so the config space
> +  * ops can retrieve the port data structure easily
> +  */
> + hose->indirect_type = port->index;
> +
> + /* Get bus range */
> + hose->first_busno = bus_range ? bus_range[0] : 0x0;
> + hose->last_busno = bus_range ? bus_range[1] : 0xff;
> +
> + /* Because of how big mapping the config space is (1M per bus), we
> +  * limit how many busses we support. In the long run, we could replace
> +  * that with something akin to kmap_atomic instead. We set aside 1 bus
> +  * for the host itself too.
> +  */
> + busses = hose->last_busno - hose->first_busno; /* This is off by 1 */
> + if (busses > MAX_PCIE_BUS_MAPPED) {
> + busses = MAX_PCIE_BUS_MAPPED;
> + hose->last_busno = hose->first_busno + busses;
> + }
> +
> + /* We map the external config space in cfg_data and the host config
> +  * space in cfg_addr. External space is 1M per bus, internal space
> +  * is 4K
> +  */
> + cfg_data = ioremap(port->cfg_space.start +
> +  (hose->first_busno + 1) * 0x10,
> +  busses * 0x10);
> + mbase = ioremap(port->cfg_space.start + 0x1000, 0x1000);
> + if (cfg_data == NULL || mbase == NULL) {
> + printk(KERN_ERR "%s: Can't map config space !",
> +port->node->full_name);
> + goto fail;
> + }
> +
> + hose->cfg_data = cfg_data;
> + hose->cfg_addr = mbase;
> +
> +#ifdef CONFIG_40x
> + /*
> +  * 405EX needs this offset in the PCIe config cycles
> +  * need a little more debugging to see if this can be handled
> +  * differently. sr, 2007-10
> +  */
> + if (of_device_is_compatible(port->node, "ibm,plb-pciex-405ex"))
> + hose->cfg_data -= 0x8000;
> +#endif /* CONFIG_40x */
> +
> + pr_debug("PCIE %s, bus %d..%d\n", port->node->full_name,
> +  hose->first_busno, hose->last_busno);
> + pr_debug(" config space mapped at: root @0x%p, other @0x%p\n",
> + 

Re: [PATCH 12/24] powerpc: 4xx PLB to PCI Express support

2007-12-02 Thread Josh Boyer
On Sun, 2 Dec 2007 13:32:28 +0100
Stefan Roese <[EMAIL PROTECTED]> wrote:

> Hi Ben,
> 
> On Friday 30 November 2007, Benjamin Herrenschmidt wrote:
> > This adds to the previous 2 patches the support for the 4xx PCI Express
> > cells as found in the 440SPe revA, revB and 405EX.
> >
> > Unfortunately, due to significant differences between these, and other
> > interesting "features" of those pieces of HW, the code isn't as simple
> > as it is for PCI and PCI-X and some of the functions differ significantly
> > between the 3 implementations. Thus, not only this code can only support
> > those 3 implementations for now and will refuse to operate on any other,
> > but there are added ifdef's to avoid the bloat of building a fairly large
> > amount of code on platforms that don't need it.
> >
> > Also, this code currently only supports fully initializing root complex
> > nodes, not endpoint. Some more code will have to be lifted from the
> > arch/ppc implementation to add the endpoint support, though it's mostly
> > differences in memory mapping, and the question on how to represent
> > endpoint mode PCI in the device-tree is thus open.
> >
> > Signed-off-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]>
> > ---
> >
> > 440SPeA is untested, 440SPeB is slightly tested (with a sky2 network card
> > on port 0 only for now) and 405EX is untested.
> 
> As already mentioned I'm experiencing some problems with this current 
> version. 
> At least what's available in Josh's 2.6.25-candidates branch. The kernel 
> crashes in the first ppc4xx_pciex_read_config() call upon (after I fixed the 
> small problem mentioned further down below):
> 
>   BUG_ON(hose != port->hose);
> 
> So before digging into this deeper, I wanted to check if you don't have a 
> slightly "better" version which passed your tests with the sky2 PCIe card.

These should be the latest versions that Ben sent out.  I plan on
applying newer versions to that branch as they come out, which means
the git branch will probably reset often for a bit.

I have some other patches I want to pull into there as well anyway.

josh
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH 0/3] OF-platform PATA driver

2007-12-02 Thread Olof Johansson
On Sun, Dec 02, 2007 at 02:46:17PM +0300, Anton Vorontsov wrote:
> On Sat, Dec 01, 2007 at 09:57:55PM -0600, Olof Johansson wrote:
> > On Sun, Dec 02, 2007 at 02:58:10AM +0300, Anton Vorontsov wrote:
> > > On Sat, Dec 01, 2007 at 05:54:49PM -0500, Jeff Garzik wrote:
> > > while (1) {
> > >   send_patches();
> > > 
> > >   if (ack_collected(PaulM) && ack_collected(PowerPC_people))
> > >   break;
> > > 
> > >   sleep(wait_for_comments_timeout); <-- currently here.
> > 
> > I still haven't seen you address the compatible comments (that
> > pata-platform is suboptimal). Or did I miss some respin of the patches?
> 
> I didn't resend these patches yet. You started the thread, but you hid
> away from the discussion (you had been Cc'ed to every mail).
> 
> 1. Arnd suggested {p,s}ata-pio-{1,2,3,..} or ata-{1,2,3,..} compatible
>scheme;
> 2. Sergei verbosely explained that that there is no reason to
>complicate compatible property. He suggested ata-generic, or
>ata-simple;
> 
> Mainly I was awaiting for your further comments. By now I tend to
> follow Sergei's comments and rename compatible stuff to ata-generic.
> Are you fine with it?

Ah, sorry about that. The discussion got a bit noisy so I tuned it out.

Yes, I agree with Sergei: I don't think the pio/ata mode belongs there,
"ata-generic" (or "generic-ata") sounds good to me. If firmwares want to
specify pata/sata stuff as more specific compatible fields, then they are
free to, but the driver shouldn't depend on it as long as "ata-generic"
is in the list.

ATA/PIO modes could be communicated with separate properties as well,
but I don't see a need for it right now. Tuning PIO modes normally
involves changing bus parameters/cycle times, etc, and that' hardly
generic enough to be handled by this driver in the first place.

I will need to add a compatible field to it myself (our firmware uses
"electra-ide") + some minor changes, but I will do that on top of this
patch once it goes in since it involves removing the old code from
arch/powerpc/platforms/pasemi.


-Olof
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [BUG] 2.6.24-rc3-mm2 kernel bug on nfs & cifs mounted partitions

2007-12-02 Thread Kamalesh Babulal
Jan Kara wrote:
> On Thu 29-11-07 17:27:08, Kamalesh Babulal wrote:
>> Andrew Morton wrote:
>>> On Thu, 29 Nov 2007 14:30:14 +0530 Kamalesh Babulal <[EMAIL PROTECTED]> 
>>> wrote:
>>>
 Hi Andrew,

 While running file system stress on nfs and cifs mounted partitions, the 
 machine
 drops to xmon

 1:mon> e
 cpu 0x1: Vector: 300 (Data Access) at [c00080a9f880]
 pc: c01392c8: .inotify_inode_queue_event+0x50/0x158
 lr: c01074d0: .vfs_link+0x204/0x298
 sp: c00080a9fb00
msr: 80009032
dar: 280 
  dsisr: 4001
   current = 0xc000c8e6f670
   paca= 0xc0512c00
 pid   = 2848, comm = fsstress
 1:mon> t
 [c00080a9fbd0] c01074d0 .vfs_link+0x204/0x298
 [c00080a9fc70] c010b6e0 .sys_linkat+0x134/0x1b4
 [c00080a9fe30] c000872c syscall_exit+0x0/0x40
 --- Exception: c00 (System Call) at 0ff1bdfc
 SP (ffeaed10) is in userspace
 1:mon> r
 R00 = c01074d0   R16 = 
 R01 = c00080a9fb00   R17 = 
 R02 = c060c380   R18 = 
 R03 =    R19 = 
 R04 = 0004   R20 = 
 R05 =    R21 = 
 R06 =    R22 = 
 R07 =    R23 = 0004
 R08 =    R24 = 0280
 R09 =    R25 = f000
 R10 = 0001   R26 = c00082827790
 R11 = c03963e8   R27 = c000828275a0
 R12 = d0deec78   R28 = 
 R13 = c0512c00   R29 = c0007b18fcf0
 R14 =    R30 = c05bc088
 R15 =    R31 = 
 pc  = c01392c8 .inotify_inode_queue_event+0x50/0x158
 lr  = c01074d0 .vfs_link+0x204/0x298
 msr = 80009032   cr  = 24000882
 ctr = c03963e8   xer =    trap =  300 
 dar = 0280   dsisr = 4001


 The gdb output shows 

 0xc01076d4 is in vfs_symlink (include/linux/fsnotify.h:108).
 103  * fsnotify_create - 'name' was linked in
 104  */  
 105 static inline void fsnotify_create(struct inode *inode, struct 
 dentry *dentry)
 106 {   
 107 inode_dir_notify(inode, DN_CREATE);
 108 inotify_inode_queue_event(inode, IN_CREATE, 0, 
 dentry->d_name.name,
 109   dentry->d_inode);
 110 audit_inode_child(dentry->d_name.name, dentry, inode);
 111 }   
 112

>>> If it is reproducible can you please try reverting
>>> inotify-send-in_attrib-events-when-link-count-changes.patch?
>> Hi Andrew,
>>
>> reverting the patch 
>> inotify-send-in_attrib-events-when-link-count-changes.patch, the 
>> bug is not reproduced.
>   OK, it's a problem with CIFS. Its cifs_hardlink() function doesn't call
> d_instantiate() and thus returns a dentry with d_inode set to NULL. I'm not
> sure if such behavior is really correct but anyway, attached is a new
> version of the patch which should handle it gracefully. Kamalesh, can you
> please give it a try? Thanks.
> 
>   Honza
Hi Jan,

Thanks, the patch fixes the bug.

-- 
Thanks & Regards,
Kamalesh Babulal,
Linux Technology Center,
IBM, ISTL.
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH v2 2/2] [POWERPC] Use new machine_xxx_initcall hooks in platform code

2007-12-02 Thread Olof Johansson
On Sat, Dec 01, 2007 at 11:10:33PM -0700, Grant Likely wrote:
> From: Grant Likely <[EMAIL PROTECTED]>
> 
> This patch makes the platform code use the new machine-specific initcall
> hooks.  This has the advantage of not needing to explicitly test
> machine_is() at the top of every initcall function.
> 
> Signed-off-by: Grant Likely <[EMAIL PROTECTED]>

PA Semi parts:

Acked-by: Olof Johansson <[EMAIL PROTECTED]>

Overall I approve of the approach as well, looks like a good idea.
I tried building all defconfigs, they pass.


-Olof
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH 12/24] powerpc: 4xx PLB to PCI Express support

2007-12-02 Thread Benjamin Herrenschmidt

On Sun, 2007-12-02 at 13:32 +0100, Stefan Roese wrote:
> As already mentioned I'm experiencing some problems with this current
> version. 
> At least what's available in Josh's 2.6.25-candidates branch. The
> kernel 
> crashes in the first ppc4xx_pciex_read_config() call upon (after I
> fixed the 
> small problem mentioned further down below):
> 
> BUG_ON(hose != port->hose);
>
> So before digging into this deeper, I wanted to check if you don't
> have a 
> slightly "better" version which passed your tests with the sky2 PCIe
> card.

Yup, looks I forgot a quilt ref or something. I'll check. I'll also give
port 1 and 2 a go (after fixing the DT).

I also want to change the config space code to use some fixmap type
direct mapping/unmapping to remove bus number limitations as soon as
Kumar has implemented the fixmap stuff, since he seems to be working on
it now.

Ben.


___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH 12/24] powerpc: 4xx PLB to PCI Express support

2007-12-02 Thread Stefan Roese
On Sunday 02 December 2007, Benjamin Herrenschmidt wrote:
> > So before digging into this deeper, I wanted to check if you don't
> > have a
> > slightly "better" version which passed your tests with the sky2 PCIe
> > card.
>
> Yup, looks I forgot a quilt ref or something. I'll check. I'll also give
> port 1 and 2 a go (after fixing the DT).
>
> I also want to change the config space code to use some fixmap type
> direct mapping/unmapping to remove bus number limitations as soon as
> Kumar has implemented the fixmap stuff, since he seems to be working on
> it now.

Great, thanks.

Best regards,
Stefan
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Please pull powerpc.git merge branch

2007-12-02 Thread Paul Mackerras
Linus,

Please do

git pull \
git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc.git merge

There are two commits there; one reverts a patch which was causing
some machines to fail to come back up when rebooting, and the other
only touches a couple of defconfigs.

Thanks,
Paul.

 arch/powerpc/kernel/rtas.c |   12 ++--
 arch/powerpc/platforms/pseries/setup.c |3 +--
 arch/ppc/configs/ml300_defconfig   |2 +-
 arch/ppc/configs/ml403_defconfig   |2 +-
 include/asm-powerpc/rtas.h |3 +--
 5 files changed, 10 insertions(+), 12 deletions(-)

Grant Likely (1):
  [POWERPC] Remove xmon from ml300 and ml403 defconfig in arch/ppc

Paul Mackerras (1):
  Revert "[POWERPC] Fix RTAS os-term usage on kernel panic"

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH 0/3] OF-platform PATA driver

2007-12-02 Thread Arnd Bergmann
On Sunday 02 December 2007, Olof Johansson wrote:

> Yes, I agree with Sergei: I don't think the pio/ata mode belongs there,
> "ata-generic" (or "generic-ata") sounds good to me. If firmwares want to
> specify pata/sata stuff as more specific compatible fields, then they are
> free to, but the driver shouldn't depend on it as long as "ata-generic"
> is in the list.

Yes, that makes sense. Let me just make it clear that I no longer think
we should have the PIO mode or the ATA level in the compatible property.
The PIO modes should really have their own property, if any, and the ATA
standard would need to be a property of the attached device, not a property
of the controller.

I can see a point in listing the ATA devices themselves in the device tree,
but it's probably not really worth it for the fdt setup, since they
can easily be probed at runtime.

> I will need to add a compatible field to it myself (our firmware uses
> "electra-ide") + some minor changes, but I will do that on top of this
> patch once it goes in since it involves removing the old code from
> arch/powerpc/platforms/pasemi.

I'd suggest to also have electra-ide hardcoded in the driver alongside
ata-generic, as a special case for backwards compatibility.

Arnd <><
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH 0/3] OF-platform PATA driver

2007-12-02 Thread Olof Johansson
On Mon, Dec 03, 2007 at 12:40:21AM +0100, Arnd Bergmann wrote:
> On Sunday 02 December 2007, Olof Johansson wrote:
> 
> > Yes, I agree with Sergei: I don't think the pio/ata mode belongs there,
> > "ata-generic" (or "generic-ata") sounds good to me. If firmwares want to
> > specify pata/sata stuff as more specific compatible fields, then they are
> > free to, but the driver shouldn't depend on it as long as "ata-generic"
> > is in the list.
> 
> Yes, that makes sense. Let me just make it clear that I no longer think
> we should have the PIO mode or the ATA level in the compatible property.
> The PIO modes should really have their own property, if any, and the ATA
> standard would need to be a property of the attached device, not a property
> of the controller.

Right. And configuring PIO modes is something quite hardware specific,
which defeats the purpose of having a "generic" driver as a catch-all
for "simple" configs in the first place. If the hardware needs (much)
tuning it probably makes more sense to do it as a separate driver.

> I can see a point in listing the ATA devices themselves in the device tree,
> but it's probably not really worth it for the fdt setup, since they
> can easily be probed at runtime.

If the firmware probes them and/or knows about them. It's the kind of
thing that can change quite often. We don't list USB devices under the usb
controllers either, since they're quite volatile and the device tree is
(fairly) static on the DTS-based platforms.

> > I will need to add a compatible field to it myself (our firmware uses
> > "electra-ide") + some minor changes, but I will do that on top of this
> > patch once it goes in since it involves removing the old code from
> > arch/powerpc/platforms/pasemi.
> 
> I'd suggest to also have electra-ide hardcoded in the driver alongside
> ata-generic, as a special case for backwards compatibility.

Yep, that's my plan, I'll do that when I move it over.


-Olof
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: Please pull powerpc.git merge branch

2007-12-02 Thread Josh Boyer
On Mon, 3 Dec 2007 10:12:49 +1100
Paul Mackerras <[EMAIL PROTECTED]> wrote:

> Linus,
> 
> Please do
> 
> git pull \
> git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc.git merge
> 
> There are two commits there; one reverts a patch which was causing
> some machines to fail to come back up when rebooting, and the other
> only touches a couple of defconfigs.
> 
> Thanks,
> Paul.
> 
>  arch/powerpc/kernel/rtas.c |   12 ++--
>  arch/powerpc/platforms/pseries/setup.c |3 +--
>  arch/ppc/configs/ml300_defconfig   |2 +-
>  arch/ppc/configs/ml403_defconfig   |2 +-
>  include/asm-powerpc/rtas.h |3 +--
>  5 files changed, 10 insertions(+), 12 deletions(-)
> 
> Grant Likely (1):
>   [POWERPC] Remove xmon from ml300 and ml403 defconfig in arch/ppc

Thanks Paul.  I had this one queued for you to pull, but you beat me to
it.

josh
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: Xilinx EDK BSP generation of device trees for microblaze and PowerPC

2007-12-02 Thread David Gibson
On Sun, Nov 25, 2007 at 03:47:12PM -0700, Grant Likely wrote:
> On 11/24/07, Stephen Neuendorffer <[EMAIL PROTECTED]> wrote:
[snip]
> >  So: the mpmc generates a 'memory' node, corresponding to it's memory
> > interface.  It also gets a separate entry which contains the (optional, not
> > present in this example) slave management interface (for ECC and performance
> > information), and any sdma ports.  In this case, this node is [EMAIL 
> > PROTECTED],
> > because there is no management interface.  If a management interface was
> > present, then it would be @ the management address.
> 
> I don't think this is right; but I'm not sure.  I don't know what the
> best naming convention is for the case of no management interface, but
> [EMAIL PROTECTED] doesn't feel right.
> 
> Segher, David; what's your opinion?

If a node is present, but has no reg property, then it should not have
a unit address either.  AFAICT what you're doing here is having one
node to represent the actual memory space (/[EMAIL PROTECTED], as it should
be) and another to represent the memory controller's control
interface.  That's reasonable, but the unit address of the control
interface should be the address of the control registers, not the
address of the memory.  If there is no control interface, there should
be no node for it at all.

[snip]
> >  The temac works similarly, although the temac itself doesn't have a slave
> > interface, so no compatible node for it.  The sub nodes get the compatible
> > string for the ll_temac driver.  In this case, there is only one temac port
> > active.  Some of the parameters are specific to port 0, in which case the
> > parameter names (e.g. phyaddr) are generated by stripping off the complete
> > C_TEMAC0 prefix.  Other parameters (e.g. phy-type) are common to both sub
> > nodes, but are duplicated to make it easier for the driver to get the
> > information out.  At runtime, the driver has to follow the llink-connected
> > path to find what it is connected to, and use the dma code, or the fifo
> > code.
> >
> >  the xps-ll-fifo structure is a bit simpler, with llink-connected pointing
> > to the fifo, which looks like a 'normal' peripheral.
> >
> >  Points for comment:
> >  1) I don't like the "PIM3" label, which is artificial (i.e. it doesn't
> > correspond to a name in the .mhs) and not guaranteed to be unique.  However,
> > in the BSP generator it seems awkward to generate path references easily in
> > a single pass.  What I'd might prefer is:
> >  DDR2_SDRAM: [EMAIL PROTECTED] {
> >  [EMAIL PROTECTED] {
> >
> >  and refer to the sdma port using something like <&DDR2_SDRAM/[EMAIL 
> > PROTECTED]>, but I
> > don't think you can do that in dtc?
> 
> If not, it is possible to extend the dtc syntax.  Jon, David?  Thoughts?

&label/relative/path is not currently allowable in dtc.  I suppose
it's possible to add it, but there are complications.  I'm already
making some patches to deal with lexical ambiguities in the
&/full/path syntax, and the new syntax would make things more
complicated to deal with.  I'll think about it.

-- 
David Gibson| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: Xilinx EDK BSP generation of device trees for microblaze and PowerPC

2007-12-02 Thread David Gibson
On Mon, Nov 26, 2007 at 01:44:02PM -0800, Stephen Neuendorffer wrote:
[snip]
> > >  reg = < 81c0 40 >;
> > 
> > If these registers are addressable, then the parent needs a 
> > 'ranges' property.
> 
> I thought ranges weren't necessary in a 1:1 mapping?

You were misinformed.  If there is no ranges property, the child nodes
are not directly addressable from the bus above.  If the ranges
property is present, but empty, then there is an identity mapping
between parent and child bus addresses.  So you probably want to add
ranges;
to the parent node.

-- 
David Gibson| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH 1/5] PowerPC 74xx: Katana Qp device tree

2007-12-02 Thread David Gibson
On Thu, Nov 29, 2007 at 06:28:36PM +0300, Andrei Dolnikov wrote:
> Device tree source file for the Emerson Katana Qp board
> 
> Signed-off-by: Andrei Dolnikov <[EMAIL PROTECTED]>
> 
> ---
>  katanaqp.dts |  360 
> +++
>  1 files changed, 360 insertions(+)
> 
> diff --git a/arch/powerpc/boot/dts/katanaqp.dts 
> b/arch/powerpc/boot/dts/katanaqp.dts
> new file mode 100644
> index 000..98257a2
> --- /dev/null
> +++ b/arch/powerpc/boot/dts/katanaqp.dts
> @@ -0,0 +1,360 @@
> +/* Device Tree Source for Emerson Katana Qp
> + *
> + * Authors: Vladislav Buzov <[EMAIL PROTECTED]>
> + *   Andrei Dolnikov <[EMAIL PROTECTED]>
> + * 
> + * Based on prpmc8200.dts by Mark A. Greer <[EMAIL PROTECTED]>
> + *
> + * 2007 (c) MontaVista, Software, Inc.  This file is licensed under
> + * the terms of the GNU General Public License version 2.  This program
> + * is licensed "as is" without any warranty of any kind, whether express
> + * or implied.
> + *
> + */
> +
> +/ {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + model = "Katana-Qp"; /* Default */
> + compatible = "emerson,Katana-Qp";
> + coherency-off;

What is this property for?

> +
> + cpus {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + PowerPC,[EMAIL PROTECTED] {
> + device_type = "cpu";
> + reg = <0>;
> + clock-frequency = <0>;  /* From U-boot */
> + bus-frequency = <0>;/* From U-boot */
> + timebase-frequency = <0>;   /* From U-boot */
> + i-cache-line-size = <20>;
> + d-cache-line-size = <20>;
> + i-cache-size = <8000>;
> + d-cache-size = <8000>;
> + };
> + };
> +
> + memory {
> + device_type = "memory";
> + reg = < >;  /* Filled in by bootwrapper */
> + };
> +
> + [EMAIL PROTECTED] { /* Marvell Discovery */
> + #address-cells = <1>;
> + #size-cells = <1>;
> + model = "mv64460";  /* Default */
> + compatible = "marvell,mv64x60";

Compatible properties should not have "x" asn in 64x60 here.  If
there's a suitable name for the general register interface use that,
otherwise use the specific model number of the earliest device to
implement this register interface.  Later models should have a
compatible property which lists their specific model, followed by the
earlier model number with which they're compatible.

> + clock-frequency = <7f28155>;/* 133.33 MHz */

You can use  to avoid the ugly hex.

> + reg = ;
> + virtual-reg = ;
> + ranges =  +   9000 9000 3000/* PCI 1 MEM Space */
> +   e800 e800 0400/* User FLASH: Up to 
> 64Mb */
> +    f810 0001/* Bridge's regs */
> +   f850 f850 0004>;  /* Integrated SRAM */

These ranges look kind of weird, but I'd have to think about them
harder to say something more specific.

> + [EMAIL PROTECTED] {
> + compatible = "cfi-flash";
> + reg = ; /* Default (16MB) */
> + probe-type = "CFI";

You're using the new-style binding (compatible == "cfi-flash"), so the
obsolete probe-tyope property should not be included.

> + bank-width = <4>;
> + 
> + [EMAIL PROTECTED] {
> + label = "Primary Monitor";
> + reg = <0 10>; /* 1Mb */
> + read-only;
> + };
> +
> + [EMAIL PROTECTED] {
> + label = "Primary Kernel";
> + reg = <10 20>; /* 2 Mb */
> + };
> +
> + [EMAIL PROTECTED] {
> + label = "Primary FS";
> + reg = <30 d0>; /* 13 Mb */
> + };
> +
> + };
> +
> + mdio {

There must be some way of actuall accessing the mdio bus, so this node
ought to have a 'reg' property and unit address.

> + #address-cells = <1>;
> + #size-cells = <0>;
> + compatible = "marvell,mv64x60-mdio";
> + [EMAIL PROTECTED] {
> + block-index = <0>;
> + compatible = "marvell,mv88e";
> + reg = ;
> + };
> + [EMAIL PROTECTED] {
> + compatible = "marvell,mv88e";
> + block-in

Re: [PATCH] Add IPIC MSI interrupt support

2007-12-02 Thread David Gibson
On Fri, Nov 30, 2007 at 11:48:39AM +0800, Li Li wrote:
> The IPIC MSI is introduced on MPC837x chip.
> Implements the IPIC MSI as two level interrupt controller.
> 
> Signed-off-by: Tony Li <[EMAIL PROTECTED]>
> ---
>  arch/powerpc/boot/dts/mpc8377_mds.dts |   14 ++
>  arch/powerpc/boot/dts/mpc8378_mds.dts |   14 ++
>  arch/powerpc/boot/dts/mpc8379_mds.dts |   14 ++
>  arch/powerpc/platforms/83xx/Kconfig   |6 +
>  arch/powerpc/platforms/83xx/mpc837x_mds.c |   11 +
>  arch/powerpc/sysdev/Makefile  |1 +
>  arch/powerpc/sysdev/ipic_msi.c|  359 
> +
>  include/asm-powerpc/ipic_msi.h|   54 +
>  8 files changed, 473 insertions(+), 0 deletions(-)
>  create mode 100644 arch/powerpc/sysdev/ipic_msi.c
>  create mode 100644 include/asm-powerpc/ipic_msi.h
> 
> diff --git a/arch/powerpc/boot/dts/mpc8377_mds.dts 
> b/arch/powerpc/boot/dts/mpc8377_mds.dts
> index 1f7819e..1068fe2 100644
> --- a/arch/powerpc/boot/dts/mpc8377_mds.dts
> +++ b/arch/powerpc/boot/dts/mpc8377_mds.dts
> @@ -210,6 +210,20 @@
>   #interrupt-cells = <2>;
>   reg = <700 100>;
>   };
> +
> + [EMAIL PROTECTED] {
> + compatible = "fsl,ipic-msi";
> + reg = <7c0 40>;
> + interrupts = < 43 8
> +4  8
> +51 8
> +52 8
> +56 8
> +57 8
> +58 8
> +59 8 >;
> + interrupt-parent = < &ipic >;
> + };

I'm not sure why the MSI needs a device node of its own.  What actual
piece of hardware is this representing?

-- 
David Gibson| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH 2/2] powerpc: make 64K huge pages more reliable

2007-12-02 Thread David Gibson
On Tue, Nov 27, 2007 at 11:03:16PM -0600, Jon Tollefson wrote:
> This patch adds reliability to the 64K huge page option by making use of 
> the PMD for 64K huge pages when base pages are 4k.  So instead of a 12 
> bit pte it would be 7 bit pmd and a 5 bit pte. The pgd and pud offsets 
> would continue as 9 bits and 7 bits respectively.  This will allow the 
> pgtable to fit in one base page.  This patch would have to be applied 
> after part 1.

Hrm.. shouldn't we just ban 64K hugepages on a 64K base page size
setup?  There's not a whole lot of point to it, after all...

-- 
David Gibson| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


RE: [PATCH 1/3] [POWERPC] Add docs for Freescale 83xx SATA device tree nodes

2007-12-02 Thread Li Yang
> -Original Message-
> From: Kumar Gala [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, November 21, 2007 1:13 PM
> To: linuxppc-dev@ozlabs.org
> Cc: Segher Boessenkool; Li Yang
> Subject: [PATCH 1/3] [POWERPC] Add docs for Freescale 83xx 
> SATA device tree nodes
> 
> ---
>  Documentation/powerpc/booting-without-of.txt |   23 
> +++
>  1 files changed, 23 insertions(+), 0 deletions(-)
> 
> diff --git a/Documentation/powerpc/booting-without-of.txt 
> b/Documentation/powerpc/booting-without-of.txt
> index e9a3cb1..eb14dd5 100644
> --- a/Documentation/powerpc/booting-without-of.txt
> +++ b/Documentation/powerpc/booting-without-of.txt
> @@ -2514,6 +2514,29 @@ platforms are moved over to use the 
> flattened-device-tree model.
>Requred properties:
> - current-speed : Baud rate of uartlite
> 
> +* Freescale 8xxx/3.0 Gb/s SATA nodes
> +
> +SATA nodes are defined to describe on-chip Serial ATA 
> controllers.
> +Each SATA port should have its own node.
> +
> +Required properties:
> +- compatible: compatible list, contains 2 
> entries, first is
> +  "fsl,sata-CHIP", where CHIP is the processor

Should be "fsl,CHIP-sata"

> +  (mpc8315, mpc8379, etc.) and the second is
> +  "fsl,sata-pq2pro"

Why not use "pq2pro-sata" to be consistent with the CHIP version?

> +- interrupts: 
> +- interrupt-parent  : optional, if needed for interrupt mapping
> +- reg   : 
> +
> +   Example:
> +
> + [EMAIL PROTECTED] {
> + compatible = "fsl,mpc8315-sata", "fsl,sata-pq2pro;

Quotation mark missing.

- Leo
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: Xilinx EDK BSP generation of device trees for microblaze and PowerPC

2007-12-02 Thread Grant Likely
Bah; I wrote this email about a week ago, but never sent it.  Sorry.

g.

On 11/26/07, Stephen Neuendorffer <[EMAIL PROTECTED]> wrote:
>
> I've pushed the current state up to
> git://git.xilinx.com/gen-mhs-devtree.git for your perusing.  Comments
> below.
>
> > -Original Message-
> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
> > Behalf Of Grant Likely
> > Sent: Sunday, November 25, 2007 2:47 PM
> > To: Stephen Neuendorffer; Segher Boessenkool; David Gibson;
> > Jon Loeliger
> > Cc: [EMAIL PROTECTED];
> > linuxppc-dev@ozlabs.org; Michal Simek; git
> > Subject: Re: Xilinx EDK BSP generation of device trees for
> > microblaze and PowerPC
> >
> > On 11/24/07, Stephen Neuendorffer
> > <[EMAIL PROTECTED]> wrote:
> > >
> >
> > Thanks for all this work; comments below.
> >
> > >
> > > Here's what I've gotten so far:
> > >
> > >  Hard_Ethernet_MAC: [EMAIL PROTECTED] {
> > >  #address-cells = <1>;
> > >  #size-cells = <1>;
> > >  [EMAIL PROTECTED] {
> > >  compatible =
> > "xlnx,xps-ll-temac-1.00.a",
> > > "xlnx,xps-ll-temac";
> >
> > Drop "xlnx,xps-ll-temac"; it's 100% made up.  This should be simply:
> >   compatible = "xlnx,xps-ll-temac-1.00.a" for version 1.00.a and
> >   compatible =
> > "xlnx,xps-ll-temac-","xlnx,xps-ll-temac-1.00.a" for a future
> > version if it maintains register level compatibility.
> >
> > "xlnx,xps-ll-temac" is far to ambiguous.
>
> What if it was: compatible = "xlnx,xps-ll-temac-1.00.a",
> "xlnx,xps-ll-temac-1"?

Here's what I've learned: There is no such thing as a perfect device
tree.  Either hardware bugs will be discovered at a later date which
make compatible inaccurate, or a better understanding of the device
will come along which will change the understood best practices for
describing the device.

My opinion is the best strategy against claiming something that's not
true, or won't be true in the fucture, is to strive for uniqueness and
describe only what you are certain of.  Be conservative instead of
liberal in the compatible case; ie. it's easier to teach the driver
about other versions it can bind against than it is to teach it about
exceptions to certain versions of the hardware (when binding).

In this particular case the problem still stands that the VHDL
engineer may make a non backward compatible change in version
xlnx,xps-ll-temac-1.00.c or -1.03.c.  You just don't know until it
happens.  Stick with what is known and don't try to extrapolate to a
'generic' version when there is no guarantee that it will remain
generic.

When sticking with real version numbers, it is quite safe to claim
compatibility with an older version number because you've probably
tested it; something which isn't so safe when you attempt to make up
generic versions.

>
> Basically, I don't want to be responsible for declaring what versions of
> IP are backward compatible with ll-temac-1.00.a, and I think it's bad
> software design to put that list into the dts generator anyway.  In
> theory, at least, all ip with the same major version should be
> compatible.

Yes, but at the point of releasing, you've probably tested it so the
risk is very low.

>
> > >  interrupt-parent = <&xps_intc_0>;
> > >  interrupts = < 3 0 >;
> > >  llink-connected = <&PIM3>;
> >
> > What's this property for?
>
> So that the ll_temac knows whether to use dma or fifo code and where the
> dma or fifo control/interrupts are.
>
> >
> > >  reg = < 81c0 40 >;
> >
> > If these registers are addressable, then the parent needs a
> > 'ranges' property.
>
> I thought ranges weren't necessary in a 1:1 mapping?

At the very least there needs to be an empty 'ranges' property in
order for it to work

Cheers,
g.

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
[EMAIL PROTECTED]
(403) 399-0195
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


[PPC BOOT] Create otheros.bld next to specified output file, not in $object directory.

2007-12-02 Thread David Woodhouse
The bootwrapper script currently generates an 'otheros.bld' file in
addition to the file specified by the -o option, when asked to build a
wrapper for PS3.

It should do that in the same directory as the output, not the directory
where the wrapper objects are kept (which might potentially not be
writable when the script runs).

Arguably, the 'otheros.bld' ought to be created with the filename
specified as the -o argument. But that's a more intrusive change.

Signed-off-by: David Woodhouse <[EMAIL PROTECTED]>

--- a/arch/powerpc/boot/wrapper
+++ b/arch/powerpc/boot/wrapper
@@ -287,8 +289,6 @@ ps3)
 overlay_dest="256"
 overlay_size="256"
 
-rm -f "$object/otheros.bld"
-
 ${CROSS}objcopy -O binary "$ofile" "$ofile.bin"
 
 dd if="$ofile.bin" of="$ofile.bin" conv=notrunc   \
@@ -299,6 +299,8 @@ ps3)
 skip=$system_reset_overlay seek=$overlay_dest \
 count=$overlay_size bs=1
 
-gzip --force -9 --stdout "$ofile.bin" > "$object/otheros.bld"
+odir="$(dirname "$ofile.bin")"
+rm -f "$odir/otheros.bld"
+gzip --force -9 --stdout "$ofile.bin" > "$odir/otheros.bld"
 ;;
 esac

-- 
dwmw2

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


[PPC BOOT] Find device-tree source file in default directory.

2007-12-02 Thread David Woodhouse
If a .dts file is given to the bootwrapper script without a full path
name, look in a sensible place for it.

Signed-off-by: David Woodhouse <[EMAIL PROTECTED]>

--- a/arch/powerpc/boot/wrapper
+++ b/arch/powerpc/boot/wrapper
@@ -116,6 +118,9 @@ while [ "$#" -gt 0 ]; do
 done
 
 if [ -n "$dts" ]; then
+if [ ! -r "$dts" -a -r "$object/dts/$dts" ]; then
+   dts="$object/dts/$dts"
+fi
 if [ -z "$dtb" ]; then
dtb="$platform.dtb"
 fi

-- 
dwmw2

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


[PPC BOOT] Allow for bootwrapper utilities being in different directory to objects

2007-12-02 Thread David Woodhouse
It's possible that the executables which are built as helpers for the
bootwrapper stuff might end up in a different place to the intermediate
object files. Handle that.

Signed-off-by: David Woodhouse <[EMAIL PROTECTED]>

diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper
index 31147a0..ef86a70 100755
--- a/arch/powerpc/boot/wrapper
+++ b/arch/powerpc/boot/wrapper
@@ -45,6 +45,7 @@ CROSS=
 
 # directory for object and other files used by this script
 object=arch/powerpc/boot
+objbin=$object
 
 # directory for working files
 tmpdir=.
@@ -95,6 +96,7 @@ while [ "$#" -gt 0 ]; do
shift
[ "$#" -gt 0 ] || usage
object="$1"
+   objbin="$1"
;;
 -W)
shift
@@ -246,11 +248,11 @@ fi
 # post-processing needed for some platforms
 case "$platform" in
 pseries|chrp)
-$object/addnote "$ofile"
+$objbin/addnote "$ofile"
 ;;
 coff)
 ${CROSS}objcopy -O aixcoff-rs6000 --set-start "$entry" "$ofile"
-$object/hack-coff "$ofile"
+$objbin/hack-coff "$ofile"
 ;;
 cuboot*)
 gzip -f -9 "$ofile"
@@ -259,7 +261,7 @@ cuboot*)
 ;;
 treeboot*)
 mv "$ofile" "$ofile.elf"
-$object/mktree "$ofile.elf" "$ofile" "$base" "$entry"
+$objbin/mktree "$ofile.elf" "$ofile" "$base" "$entry"
 if [ -z "$cacheit" ]; then
rm -f "$ofile.elf"
 fi

-- 
dwmw2

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


[PPC BOOT] 'make bootwrapper_install'

2007-12-02 Thread David Woodhouse
This adds a 'bootwrapper_install' make target for the powerpc
architecture, which installs the wrapper script, intermediate object
files and device-tree sources for later use.

This will then allow bootable zImages to be created other than in the
context of a kernel build.

Signed-off-by: David Woodhouse <[EMAIL PROTECTED]>

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 18e3271..acf3641 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -243,3 +243,51 @@ clean-kernel := vmlinux.strip vmlinux.bin
 clean-kernel += $(addsuffix .gz,$(clean-kernel))
 # If not absolute clean-files are relative to $(obj).
 clean-files += $(addprefix $(objtree)/, $(clean-kernel))
+
+WRAPPER_OBJDIR := /usr/lib/kernel-wrapper
+WRAPPER_DTSDIR := /usr/lib/kernel-wrapper/dts
+WRAPPER_BINDIR := /usr/sbin
+INSTALL := install
+
+extra-installed:= $(patsubst $(obj)/%, 
$(DESTDIR)$(WRAPPER_OBJDIR)/%, $(extra-y))
+hostprogs-installed:= $(patsubst %, $(DESTDIR)$(WRAPPER_BINDIR)/%, 
$(hostprogs-y))
+wrapper-installed  := $(DESTDIR)$(WRAPPER_BINDIR)/wrapper
+dts-installed  := $(patsubst $(obj)/dts/%, 
$(DESTDIR)$(WRAPPER_DTSDIR)/%, $(wildcard $(obj)/dts/*.dts))
+
+all-installed  := $(extra-installed) $(hostprogs-installed) 
$(wrapper-installed) $(dts-installed)
+
+quiet_cmd_mkdir   = MKDIR   $(patsubst $(INSTALL_HDR_PATH)/%,%,$@)
+  cmd_mkdir   = mkdir -p $@
+
+quiet_cmd_install= INSTALL $(patsubst 
$(DESTDIR)$(WRAPPER_OBJDIR)/%,%,$@)
+  cmd_install= $(INSTALL)  -m0644 $(patsubst 
$(DESTDIR)$(WRAPPER_OBJDIR)/%,$(obj)/%,$@) $@ 
+
+quiet_cmd_install_dts= INSTALL $(patsubst 
$(DESTDIR)$(WRAPPER_DTSDIR)/%,dts/%,$@)
+  cmd_install_dts= $(INSTALL)  -m0644 $(patsubst 
$(DESTDIR)$(WRAPPER_DTSDIR)/%,$(srctree)/$(obj)/dts/%,$@) $@ 
+
+quiet_cmd_install_exe= INSTALL $(patsubst 
$(DESTDIR)$(WRAPPER_BINDIR)/%,%,$@)
+  cmd_install_exe= $(INSTALL)  -m0755 $(patsubst 
$(DESTDIR)$(WRAPPER_BINDIR)/%,$(obj)/%,$@) $@ 
+
+quiet_cmd_install_wrapper = INSTALL $(patsubst 
$(DESTDIR)$(WRAPPER_BINDIR)/%,%,$@)
+  cmd_install_wrapper = $(INSTALL)  -m0755 $(patsubst 
$(DESTDIR)$(WRAPPER_BINDIR)/%,$(srctree)/$(obj)/%,$@) $@ ;\
+   sed -i $@ -e 
's%^object=.*%object=$(WRAPPER_OBJDIR)%' \
+ -e 
's%^objbin=.*%objbin=$(WRAPPER_BINDIR)%' \
+
+
+$(DESTDIR)$(WRAPPER_OBJDIR) $(DESTDIR)$(WRAPPER_DTSDIR) 
$(DESTDIR)$(WRAPPER_BINDIR):
+   $(call cmd,mkdir)
+
+$(extra-installed) : $(DESTDIR)$(WRAPPER_OBJDIR)/% : $(obj)/% | 
$(DESTDIR)$(WRAPPER_OBJDIR)
+   $(call cmd,install)
+
+$(hostprogs-installed)  : $(DESTDIR)$(WRAPPER_BINDIR)/% : $(obj)/% | 
$(DESTDIR)$(WRAPPER_BINDIR)
+   $(call cmd,install_exe)
+
+$(dts-installed)   : $(DESTDIR)$(WRAPPER_DTSDIR)/% : 
$(srctree)/$(obj)/dts/% | $(DESTDIR)$(WRAPPER_DTSDIR)
+   $(call cmd,install_dts)
+
+$(wrapper-installed): $(DESTDIR)$(WRAPPER_BINDIR) $(srctree)/$(obj)/wrapper | 
$(DESTDIR)$(WRAPPER_BINDIR)
+   $(call cmd,install_wrapper)
+
+$(obj)/bootwrapper_install: $(all-installed)
+
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index bd87626..f70df9b 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -167,6 +167,9 @@ boot := arch/$(ARCH)/boot
 $(BOOT_TARGETS): vmlinux
$(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
 
+bootwrapper_install:
+   $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
+
 define archhelp
   @echo '* zImage  - Compressed kernel image 
(arch/$(ARCH)/boot/zImage.*)'
   @echo '  install - Install kernel using'

-- 
dwmw2

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH 0/24] powerpc: 4xx PCI, PCI-X and PCI-Express support among others

2007-12-02 Thread Benjamin Herrenschmidt

On Fri, 2007-11-30 at 14:17 -0600, Josh Boyer wrote:
> > Some of these patches are _NOT_ yet candidate for merging
> > (mostly the board support ones), but you can review them and
> > Josh can put them in an experimental tree.
> 
> I've added these to the 2.6.25-candidates branch in my tree.  Fixed up
> the few conflicts manually.  I'll expect refreshes before merging
> anyway, but I'd like to get these out there for people to play with.

BTW. You were telling me the other day about a problem with the clock
code. 

It looks like the problem is a subtle difference between 440EP /440EPx
and 440SPe / 440GX. The former has the EBC clock derived from the PLB
clock while the later has it derived from OPB... yuck.

I'm fixing that.

Cheers,
Ben.


___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PPC BOOT] Create otheros.bld next to specified output file, not in $object directory.

2007-12-02 Thread Geoff Levand
David Woodhouse wrote:
> The bootwrapper script currently generates an 'otheros.bld' file in
> addition to the file specified by the -o option, when asked to build a
> wrapper for PS3.
> 
> It should do that in the same directory as the output, not the directory
> where the wrapper objects are kept (which might potentially not be
> writable when the script runs).


Seems reasonable for installs from read-only media.

 
> Arguably, the 'otheros.bld' ought to be created with the filename
> specified as the -o argument. But that's a more intrusive change.


Yes, I think it makes sense.  ps3-flash-util can handle any file
name, so there is no real reason to have it named otheros.bld.
 

> Signed-off-by: David Woodhouse <[EMAIL PROTECTED]>


Acked-by: Geoff Levand <[EMAIL PROTECTED]>


___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] Add MPC837xEMDS PCIE RC mode support

2007-12-02 Thread Li Li
On Fri, 2007-11-30 at 22:57 +0800, Gala Kumar wrote:
> 
> On Nov 30, 2007, at 3:37 AM, Li Li wrote:
> 
> > On Fri, 2007-11-30 at 17:05 +0800, Gala Kumar wrote: 
> > + 
> > + [EMAIL PROTECTED] { 
>  
>  I agree w/Olof.  This should be [EMAIL PROTECTED] 
> > 
> > + interrupt-map-mask = ; 
> > + msi-available-ranges = <43 4 51 52 56 57 58 59>; 
> > + interrupt-map = < 
> > +  0 0 1 &ipic 1 8 
> > +  0 0 2 &ipic 1 8 
> > +  0 0 3 &ipic 1 8 
> > +  0 0 4 &ipic 1 8 
> > + >; 
> > + interrupt-parent = < &ipic >; 
> > + interrupts = <1 8>; 
> > + bus-range = <0 0>; 
> > + ranges = <0200 0 A800 A800 0 1000 
> > +   0100 0  B800 0
> 0080>; 
> > + clock-frequency = <0>; 
> > + #interrupt-cells = <1>; 
> > + #size-cells = <2>; 
> > + #address-cells = <3>; 
> > + reg =  > +a000 0800>; 
>  
>  Shouldn't the reg size for the cfg space be 256M? 
> >>> 
> >>> 256M is a little too big for kernel. 
> >> 
> >> what do you mean too big?  Aren't you losing access to some 
> >> bus/dev/fn 
> >> than? 
> > 
> > If do it standard, a 256M config space, at least 256M mem space
> and  
> > 16M 
> > io space are needed for each PCIE controller. 
> > To allocate PCIE window, the window size only can be 512M or 1G. 
> > If we choose 1G space, two PCIE controller needs 2G space. 
> > We do not have 2G free physical space now. Usually, we use upper
> 128M 
> > configure space. So, we have to cut down the config space.
> 
> We'll cutting config space is problematic in that its a bug since
> you  
> might not be able to talk to a given device.
> 
> Is it possible to make the outbound window for cfg space 4k and
> change  
> the region of config space its looking at?
> 

I think that is possible but it means we have to reconfigure the PCIE
controller`s outbound window at every time we want do PCI config space
access in kernel. By now, all the PCIE controller is initialized on
u-boot which like PCI controller`s case.So it is a little not compatible
with the current kernel and u-boot assignment.

> > diff --git a/arch/powerpc/platforms/83xx/Kconfig
> b/arch/powerpc/ 
> > platforms/83xx/Kconfig 
> > index 0c61e7a..00154c5 100644 
> > --- a/arch/powerpc/platforms/83xx/Kconfig 
> > +++ b/arch/powerpc/platforms/83xx/Kconfig 
> > @@ -87,3 +87,10 @@ config PPC_MPC837x 
> > select PPC_INDIRECT_PCI 
> > select FSL_SERDES 
> > default y if MPC837x_MDS 
> > + 
> > +config PPC_MPC83XX_PCIE 
> > + bool "MPC837X PCI Express support" 
> > + depends on PCIEPORTBUS && PPC_MPC837x 
> > + default n 
> > + help 
> > +   Enables MPC837x PCI express RC mode 
>  
>  This should be a hidden config that is just selected by 
> >> PPC_MPC837x 
>  instead of a choice.  Also drop the depends on. 
>  
> >>> 
> >>> In the dts file, the PCIE is default enabled. So, we should
> provide 
> >>> another way to disable the PCIE. 
> >>> Modify and recompile the dts is a little unkind to user. 
> >> 
> >> Why do you something beyond CONFIG_PCI.  if you don't want PCIe
> but 
> >> do 
> >> want PCI the extra code for PCIe isn't going to kill you. 
> >> 
> > 
> > Here is a little complex. The MPC837xE board needs a carrier board
> to 
> > extend PCIE slot. If user does not populate carrier board onto  
> > MPC837xE 
> > board and do PCIE scan, the system will halt. 
> > I just want to provide a easy way to disable the PCIe other than  
> > modify 
> > and recompile the dts.
> 
> So I have to recompile the kernel for this case, that seems even
> more  
> painful to the user.  Can we not detect if this board isn't there
> and  
> not hang?
> 

Yes. you are right. But I think we lack of a mean to tell the user the
exact mean of each device node and how to edit it.
The linux menuconfig is more directed.

As Scott said and AMHO, the dts describes what we have not what we want.
If dts describes what we have, we must provide many dts files to provide
various cpu feature combinations.

> > diff --git a/arch/powerpc/platforms/83xx/mpc83xx.h 
> >> b/arch/powerpc/ 
> > platforms/83xx/mpc83xx.h 
> > index b778cb4..2078da7 100644 
> > --- a/arch/powerpc/platforms/83xx/mpc83xx.h 
> > +++ b/arch/powerpc/platforms/83xx/mpc83xx.h 
> > @@ -43,12 +43,18 @@ 
> > #define PORTSCX_PTS_UTMI   0x 
> > #define PORTSCX_PTS_ULPI   0x8000 
> > 
> > +/* PCIE Registers */ 
> > +#define PEX_LTSSM_STAT   0x404 
> > +#define PEX_LTSSM_STAT_L00x16 
> > +#define PEX_GCLK_RATIO  

Re: [PATCH] Add IPIC MSI interrupt support

2007-12-02 Thread Michael Ellerman
Hi r64360,

A few comments below :)

On Fri, 2007-11-30 at 11:48 +0800, Li Li wrote:
> The IPIC MSI is introduced on MPC837x chip.
> Implements the IPIC MSI as two level interrupt controller.
> 
> Signed-off-by: Tony Li <[EMAIL PROTECTED]>
> ---
>  arch/powerpc/boot/dts/mpc8377_mds.dts |   14 ++
>  arch/powerpc/boot/dts/mpc8378_mds.dts |   14 ++
>  arch/powerpc/boot/dts/mpc8379_mds.dts |   14 ++
>  arch/powerpc/platforms/83xx/Kconfig   |6 +
>  arch/powerpc/platforms/83xx/mpc837x_mds.c |   11 +
>  arch/powerpc/sysdev/Makefile  |1 +
>  arch/powerpc/sysdev/ipic_msi.c|  359 
> +
>  include/asm-powerpc/ipic_msi.h|   54 +
>  8 files changed, 473 insertions(+), 0 deletions(-)
>  create mode 100644 arch/powerpc/sysdev/ipic_msi.c
>  create mode 100644 include/asm-powerpc/ipic_msi.h
> 
> diff --git a/arch/powerpc/boot/dts/mpc8377_mds.dts 
> b/arch/powerpc/boot/dts/mpc8377_mds.dts
> index 1f7819e..1068fe2 100644
> --- a/arch/powerpc/boot/dts/mpc8377_mds.dts
> +++ b/arch/powerpc/boot/dts/mpc8377_mds.dts
> @@ -210,6 +210,20 @@
>   #interrupt-cells = <2>;
>   reg = <700 100>;
>   };
> +
> + [EMAIL PROTECTED] {
> + compatible = "fsl,ipic-msi";
> + reg = <7c0 40>;
> + interrupts = < 43 8
> +4  8
> +51 8
> +52 8
> +56 8
> +57 8
> +58 8
> +59 8 >;
> + interrupt-parent = < &ipic >;
> + };
>   };
>  
>   [EMAIL PROTECTED] {
> diff --git a/arch/powerpc/boot/dts/mpc8378_mds.dts 
> b/arch/powerpc/boot/dts/mpc8378_mds.dts
> index 1503ae3..f12658f 100644
> --- a/arch/powerpc/boot/dts/mpc8378_mds.dts
> +++ b/arch/powerpc/boot/dts/mpc8378_mds.dts
> @@ -192,6 +192,20 @@
>   #interrupt-cells = <2>;
>   reg = <700 100>;
>   };
> +
> + [EMAIL PROTECTED] {
> + compatible = "fsl,ipic-msi";
> + reg = <7c0 40>;
> + interrupts = < 43 8
> +4  8
> +51 8
> +52 8
> +56 8
> +57 8
> +58 8
> +59 8 >;
> + interrupt-parent = < &ipic >;
> + };
>   };
>  
>   [EMAIL PROTECTED] {
> diff --git a/arch/powerpc/boot/dts/mpc8379_mds.dts 
> b/arch/powerpc/boot/dts/mpc8379_mds.dts
> index cdb4426..9fe4bd2 100644
> --- a/arch/powerpc/boot/dts/mpc8379_mds.dts
> +++ b/arch/powerpc/boot/dts/mpc8379_mds.dts
> @@ -236,6 +236,20 @@
>   #interrupt-cells = <2>;
>   reg = <700 100>;
>   };
> +
> + [EMAIL PROTECTED] {
> + compatible = "fsl,ipic-msi";
> + reg = <7c0 40>;
> + interrupts = < 43 8
> +4  8
> +51 8
> +52 8
> +56 8
> +57 8
> +58 8
> +59 8 >;
> + interrupt-parent = < &ipic >;
> + };
>   };
>  
>   [EMAIL PROTECTED] {
> diff --git a/arch/powerpc/platforms/83xx/Kconfig 
> b/arch/powerpc/platforms/83xx/Kconfig
> index 00154c5..4c51f78 100644
> --- a/arch/powerpc/platforms/83xx/Kconfig
> +++ b/arch/powerpc/platforms/83xx/Kconfig
> @@ -88,6 +88,12 @@ config PPC_MPC837x
>   select FSL_SERDES
>   default y if MPC837x_MDS
>  
> +config IPIC_MSI
> + bool
> + depends on PCI_MSI
> + default y if PPC_MPC837x
> + default n
> +
>  config PPC_MPC83XX_PCIE
>   bool "MPC837X PCI Express support"
>   depends on PCIEPORTBUS && PPC_MPC837x
> diff --git a/arch/powerpc/platforms/83xx/mpc837x_mds.c 
> b/arch/powerpc/platforms/83xx/mpc837x_mds.c
> index 6048f1b..dbea34b 100644
> --- a/arch/powerpc/platforms/83xx/mpc837x_mds.c
> +++ b/arch/powerpc/platforms/83xx/mpc837x_mds.c
> @@ -17,6 +17,9 @@
>  
>  #include 
>  #include 
> +#if CONFIG_IPIC_MSI
> +#include 
> +#endif
>  #include 
>  #include 

I'd rather you just include it unconditionally.

> @@ -84,6 +87,14 @@ static void __init mpc837x_mds_init_IRQ(void)
>* in case the boot rom changed something on us.
>*/
>   ipic_set_default_priority();
> +
> +#if CONFIG_IPIC_MSI
> + np = of_find_compatible_node(NULL, NULL, "fsl,ipic-msi");
> + if (!np)
> + ret

Re: [PATCH 0/24] powerpc: 4xx PCI, PCI-X and PCI-Express support among others

2007-12-02 Thread Grant Likely
On 11/30/07, Josh Boyer <[EMAIL PROTECTED]> wrote:
> On Fri, 30 Nov 2007 10:11:05 -0600
> Jon Loeliger <[EMAIL PROTECTED]> wrote:
>
> > Olof Johansson wrote:
> >
> > > I normally do "quilt diff | checkpatch.pl -" when use quilt. You could
> > > similarly do "git diff HEAD | checkpatch.pl -". You'd always get the
> > > warning about missing signed-off-by though.
> >
> > So do a "git log -p | checkpatch.pl -" instead? :-)
>
> That sort of defeats the purpose of running checkpatch.pl _before_ you
> commit things...

stg show | checkpatch.pl -

:-p

g.


-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
[EMAIL PROTECTED]
(403) 399-0195
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH 0/24] powerpc: 4xx PCI, PCI-X and PCI-Express support among others

2007-12-02 Thread Josh Boyer
On Mon, 03 Dec 2007 14:24:30 +1100
Benjamin Herrenschmidt <[EMAIL PROTECTED]> wrote:

> 
> On Fri, 2007-11-30 at 14:17 -0600, Josh Boyer wrote:
> > > Some of these patches are _NOT_ yet candidate for merging
> > > (mostly the board support ones), but you can review them and
> > > Josh can put them in an experimental tree.
> > 
> > I've added these to the 2.6.25-candidates branch in my tree.  Fixed up
> > the few conflicts manually.  I'll expect refreshes before merging
> > anyway, but I'd like to get these out there for people to play with.
> 
> BTW. You were telling me the other day about a problem with the clock
> code. 
> 
> It looks like the problem is a subtle difference between 440EP /440EPx
> and 440SPe / 440GX. The former has the EBC clock derived from the PLB
> clock while the later has it derived from OPB... yuck.

Yes.

> I'm fixing that.

Ok.

josh
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH 2/4] Use embedded dtc in kernel builds

2007-12-02 Thread David Gibson
This patch alters the kernel makefiles to build dtc from the sources
embedded in the previous patch.  It also changes the
arch/powerpc/boot/wrapper script to use the embedded dtc, rather than
expecting a copy of dtc already installed on the system.

Signed-off-by: David Gibson <[EMAIL PROTECTED]>
---

Previous version would screw up badly if building with O=...  Fixed
now.

Index: working-2.6/arch/powerpc/boot/Makefile
===
--- working-2.6.orig/arch/powerpc/boot/Makefile 2007-10-22 13:55:49.0 
+1000
+++ working-2.6/arch/powerpc/boot/Makefile  2007-12-03 15:23:08.0 
+1100
@@ -108,17 +108,52 @@ $(patsubst %.S,%.o, $(filter %.S, $(src-
 $(obj)/wrapper.a: $(obj-wlib) FORCE
$(call if_changed,bootar)
 
-hostprogs-y:= addnote addRamDisk hack-coff mktree
+hostprogs-y:= addnote addRamDisk hack-coff mktree dtc
 
 targets+= $(patsubst $(obj)/%,%,$(obj-boot) wrapper.a)
 extra-y:= $(obj)/wrapper.a $(obj-plat) $(obj)/empty.o \
   $(obj)/zImage.lds $(obj)/zImage.coff.lds 
$(obj)/zImage.ps3.lds
 
 wrapper:=$(srctree)/$(src)/wrapper
-wrapperbits:= $(extra-y) $(addprefix $(obj)/,addnote hack-coff mktree) \
+wrapperbits:= $(extra-y) $(addprefix $(obj)/,addnote hack-coff mktree dtc) 
\
$(wrapper) FORCE
 
 #
+# Bits for building dtc
+# DTC_GENPARSER  := 1# Uncomment to rebuild flex/bison output
+
+dtc-objs := dtc.o flattree.o fstree.o data.o livetree.o treesource.o srcpos.o 
checks.o
+dtc-objs += dtc-lexer.lex.o dtc-parser.tab.o
+dtc-objs := $(addprefix dtc-src/, $(dtc-objs))
+
+# prerequisites on generated files needs to be explicit
+$(obj)/dtc-src/dtc-parser.tab.o: $(obj)/dtc-src/dtc-parser.tab.c 
$(obj)/dtc-src/dtc-parser.tab.h
+$(obj)/dtc-src/dtc-lexer.lex.o:  $(obj)/dtc-src/dtc-lexer.lex.c 
$(obj)/dtc-src/dtc-parser.tab.h
+
+HOSTCFLAGS += -I$(src)/dtc-src/ -I$(src)/dtc-src/libfdt/
+
+targets += dtc-src/dtc-parser.tab.c
+targets += dtc-src/dtc-lexer.lex.c
+
+ifdef DTC_GENPARSER
+BISON = bison
+FLEX = flex
+
+quiet_cmd_bison = BISON   $@
+  cmd_bison = $(BISON) -o$@ -d $<; cp $@ [EMAIL PROTECTED]
+quiet_cmd_flex = FLEX$@
+  cmd_flex = $(FLEX) -o$@ $<; cp $@ [EMAIL PROTECTED]
+
+$(obj)/dtc-src/dtc-parser.tab.c: $(src)/dtc-src/dtc-parser.y FORCE
+ $(call if_changed,bison)
+
+$(obj)/dtc-src/dtc-parser.tab.h: $(obj)/dtc-src/dtc-parser.tab.c
+
+$(obj)/dtc-src/dtc-lexer.lex.c: $(src)/dtc-src/dtc-lexer.l FORCE
+ $(call if_changed,flex)
+endif
+
+#
 # Bits for building various flavours of zImage
 
 ifneq ($(CROSS32_COMPILE),)
Index: working-2.6/arch/powerpc/boot/wrapper
===
--- working-2.6.orig/arch/powerpc/boot/wrapper  2007-12-03 13:17:20.0 
+1100
+++ working-2.6/arch/powerpc/boot/wrapper   2007-12-03 13:47:12.0 
+1100
@@ -119,7 +119,7 @@ if [ -n "$dts" ]; then
 if [ -z "$dtb" ]; then
dtb="$platform.dtb"
 fi
-dtc -O dtb -o "$dtb" -b 0 -V 16 "$dts"
+$object/dtc -O dtb -o "$dtb" -b 0 "$dts"
 fi
 
 if [ -z "$kernel" ]; then

-- 
David Gibson| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH 3/4] Use embedded libfdt in the bootwrapper

2007-12-02 Thread David Gibson
Use embedded libfdt in the bootwrapper

This patch incorporates libfdt (from the source embedded in an earlier
patch) into the wrapper.a library used by the bootwrapper.  This
includes adding a libfdt_env.h file, which the libfdt sources need in
order to integrate into the bootwrapper environment, and a
libfdt-wrapper.c which provides glue to connect the bootwrappers
abstract device tree callbacks to the libfdt functions.

In addition, this patch changes the various wrapper and platform files
to use libfdt functions instead of the older flatdevtree.c library.

Signed-off-by: David Gibson <[EMAIL PROTECTED]>
---

Fixed for O= builds.

Index: working-2.6/arch/powerpc/boot/Makefile
===
--- working-2.6.orig/arch/powerpc/boot/Makefile 2007-12-03 15:23:08.0 
+1100
+++ working-2.6/arch/powerpc/boot/Makefile  2007-12-03 15:24:22.0 
+1100
@@ -33,7 +33,7 @@ ifeq ($(call cc-option-yn, -fstack-prote
 BOOTCFLAGS += -fno-stack-protector
 endif
 
-BOOTCFLAGS += -I$(obj) -I$(srctree)/$(obj)
+BOOTCFLAGS += -I$(obj) -I$(srctree)/$(obj) 
-I$(srctree)/$(src)/dtc-src/libfdt
 
 $(obj)/4xx.o: BOOTCFLAGS += -mcpu=440
 $(obj)/ebony.o: BOOTCFLAGS += -mcpu=440
@@ -46,7 +46,9 @@ zliblinuxheader := zlib.h zconf.h zutil.
 $(addprefix $(obj)/,$(zlib) gunzip_util.o main.o): \
$(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix 
$(obj)/,$(zlibheader))
 
+src-libfdt := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c
 src-wlib := string.S crt0.S stdio.c main.c flatdevtree.c flatdevtree_misc.c \
+   $(addprefix dtc-src/libfdt/,$(src-libfdt)) libfdt-wrapper.c \
ns16550.c serial.c simple_alloc.c div64.S util.S \
gunzip_util.c elf_util.c $(zlib) devtree.c oflib.c ofconsole.c \
4xx.c ebony.c mv64x60.c mpsc.c mv64x60_i2c.c cuboot.c bamboo.c \
@@ -101,8 +103,10 @@ quiet_cmd_bootar = BOOTAR  $@
   cmd_bootar = $(CROSS32AR) -cr [EMAIL PROTECTED] $(filter-out FORCE,$^); 
mv [EMAIL PROTECTED] $@
 
 $(patsubst %.c,%.o, $(filter %.c, $(src-boot))): %.o: %.c FORCE
+   $(Q)mkdir -p $(dir $@)
$(call if_changed_dep,bootcc)
 $(patsubst %.S,%.o, $(filter %.S, $(src-boot))): %.o: %.S FORCE
+   $(Q)mkdir -p $(dir $@)
$(call if_changed_dep,bootas)
 
 $(obj)/wrapper.a: $(obj-wlib) FORCE
Index: working-2.6/arch/powerpc/boot/libfdt_env.h
===
--- /dev/null   1970-01-01 00:00:00.0 +
+++ working-2.6/arch/powerpc/boot/libfdt_env.h  2007-12-03 15:23:28.0 
+1100
@@ -0,0 +1,17 @@
+#ifndef _ARCH_POWERPC_BOOT_LIBFDT_ENV_H
+#define _ARCH_POWERPC_BOOT_LIBFDT_ENV_H
+
+#include 
+#include 
+
+typedef u32 uint32_t;
+typedef u64 uint64_t;
+
+#define fdt16_to_cpu(x)(x)
+#define cpu_to_fdt16(x)(x)
+#define fdt32_to_cpu(x)(x)
+#define cpu_to_fdt32(x)(x)
+#define fdt64_to_cpu(x)(x)
+#define cpu_to_fdt64(x)(x)
+
+#endif /* _ARCH_POWERPC_BOOT_LIBFDT_ENV_H */
Index: working-2.6/arch/powerpc/boot/bamboo.c
===
--- working-2.6.orig/arch/powerpc/boot/bamboo.c 2007-12-03 15:20:04.0 
+1100
+++ working-2.6/arch/powerpc/boot/bamboo.c  2007-12-03 15:23:28.0 
+1100
@@ -42,6 +42,6 @@ void bamboo_init(void *mac0, void *mac1)
platform_ops.exit = ibm44x_dbcr_reset;
bamboo_mac0 = mac0;
bamboo_mac1 = mac1;
-   ft_init(_dtb_start, 0, 32);
+   fdt_init(_dtb_start);
serial_console_init();
 }
Index: working-2.6/arch/powerpc/boot/cuboot-52xx.c
===
--- working-2.6.orig/arch/powerpc/boot/cuboot-52xx.c2007-12-03 
15:20:04.0 +1100
+++ working-2.6/arch/powerpc/boot/cuboot-52xx.c 2007-12-03 15:23:28.0 
+1100
@@ -53,7 +53,7 @@ void platform_init(unsigned long r3, uns
unsigned long r6, unsigned long r7)
 {
CUBOOT_INIT();
-   ft_init(_dtb_start, _dtb_end - _dtb_start, 32);
+   fdt_init(_dtb_start);
serial_console_init();
platform_ops.fixups = platform_fixups;
 }
Index: working-2.6/arch/powerpc/boot/cuboot-83xx.c
===
--- working-2.6.orig/arch/powerpc/boot/cuboot-83xx.c2007-12-03 
15:20:05.0 +1100
+++ working-2.6/arch/powerpc/boot/cuboot-83xx.c 2007-12-03 15:23:28.0 
+1100
@@ -52,7 +52,7 @@ void platform_init(unsigned long r3, uns
unsigned long r6, unsigned long r7)
 {
CUBOOT_INIT();
-   ft_init(_dtb_start, _dtb_end - _dtb_start, 32);
+   fdt_init(_dtb_start);
serial_console_init();
platform_ops.fixups = platform_fixups;
 }
Index: working-2.6/arch/powerpc/boot/cuboot-85xx.c
===
--- working-2.

[PATCH] [POWERPC] pasemi: Fix module information for gpio-mdio

2007-12-02 Thread Olof Johansson
[POWERPC] pasemi: Fix module information for gpio-mdio

Fix up the module information for gpio-mdio, it wouldn't load
because of lacking license, and wouldn't auto-load because of missing
MODULE_DEVICE_TABLE.

Signed-off-by: Olof Johansson <[EMAIL PROTECTED]>

diff --git a/arch/powerpc/platforms/pasemi/gpio_mdio.c 
b/arch/powerpc/platforms/pasemi/gpio_mdio.c
index b029804..04a8686 100644
--- a/arch/powerpc/platforms/pasemi/gpio_mdio.c
+++ b/arch/powerpc/platforms/pasemi/gpio_mdio.c
@@ -318,6 +318,7 @@ static struct of_device_id gpio_mdio_match[] =
},
{},
 };
+MODULE_DEVICE_TABLE(of, gpio_mdio_match);
 
 static struct of_platform_driver gpio_mdio_driver =
 {
@@ -356,3 +357,7 @@ void gpio_mdio_exit(void)
iounmap(gpio_regs);
 }
 module_exit(gpio_mdio_exit);
+
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Olof Johansson <[EMAIL PROTECTED]>");
+MODULE_DESCRIPTION("Driver for MDIO over GPIO on PA Semi PWRficient-based 
boards");
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] [POWERPC] pasemi: Fix module information for gpio-mdio

2007-12-02 Thread Paul Mackerras
Olof Johansson writes:

> Fix up the module information for gpio-mdio, it wouldn't load
> because of lacking license, and wouldn't auto-load because of missing
> MODULE_DEVICE_TABLE.

Needed for 2.6.24?

Paul.
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] [POWERPC] pasemi: Fix module information for gpio-mdio

2007-12-02 Thread Olof Johansson
On Mon, Dec 03, 2007 at 03:46:34PM +1100, Paul Mackerras wrote:
> Olof Johansson writes:
> 
> > Fix up the module information for gpio-mdio, it wouldn't load
> > because of lacking license, and wouldn't auto-load because of missing
> > MODULE_DEVICE_TABLE.
> 
> Needed for 2.6.24?

It's annoying but not critical, and the workaround is simple (build it
in). I've already queued it up in my for-2.6.25 git branch, that should
be sufficient.


Thanks,

Olof
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Please pull pasemi.git for-2.6.25 branch

2007-12-02 Thread Olof Johansson
Paul,

Please do:

git pull \
git://git.kernel.org/pub/scm/linux/kernel/git/olof/pasemi.git for-2.6.25

For the following patches queued up for 2.6.25. All but one are PA
Semi-specific (the i2c boardinfo consolidation that's a pre-req for the
platform-specific one).

 arch/powerpc/platforms/pasemi/Kconfig |2 
 arch/powerpc/platforms/pasemi/Makefile|2 
 arch/powerpc/platforms/pasemi/cpufreq.c   |   19 +-
 arch/powerpc/platforms/pasemi/gpio_mdio.c |   94 ++
 arch/powerpc/platforms/pasemi/misc.c  |   66 +
 arch/powerpc/platforms/pasemi/pasemi.h|6 +
 arch/powerpc/platforms/pasemi/powersave.S |   11 +++
 arch/powerpc/platforms/pasemi/setup.c |   16 -
 arch/powerpc/sysdev/Makefile  |1 
 arch/powerpc/sysdev/fsl_soc.c |   40 
 arch/powerpc/sysdev/i2c_of_mapping.c  |   61 +++
 drivers/char/hw_random/Kconfig|2 
 drivers/char/hw_random/pasemi-rng.c   |7 --
 drivers/edac/pasemi_edac.c|4 -
 include/asm-powerpc/i2c_of.h  |   14 
 15 files changed, 256 insertions(+), 89 deletions(-)


Olof Johansson (7):
  [POWERPC] pasemi: clean up mdio_gpio a bit
  [POWERPC] pasemi: Broaden specific references to 1682M
  [POWERPC] pasemi: Don't enter powersaving states from elevated astates
  [POWERPC] pasemi: Move cpus to hold loop before restart
  [POWERPC] Consolidate compatible-to-i2c_boardinfo mapping code
  [POWERPC] pasemi: Register i2c_board_info
  [POWERPC] pasemi: Fix module information for gpio-mdio


Thanks,

Olof
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


for-2.6.25 branch created in powerpc.git

2007-12-02 Thread Paul Mackerras
I have created a for-2.6.25 branch in my powerpc.git repository and
added the patches listed below to it.  The master branch points to the
same place as the for-2.6.25 branch.

Paul.

Benjamin Herrenschmidt (2):
  [POWERPC] Cleanup SMT thread handling
  [POWERPC] Add xmon function to dump 44x TLB

Johannes Berg (3):
  [POWERPC] powermac: Fix warning in time.c
  [POWERPC] PMU: Don't lock_kernel()
  [POWERPC] PMU: Remove dead code

Linas Vepstas (3):
  [POWERPC] EEH: Work with device endpoint, always
  [POWERPC] EEH: Be careful when identifying "empty" slots.
  [POWERPC] EEH: Report errors as soon as possible

Nathan Lynch (1):
  [POWERPC] Remove prod_processor()

Stephen Rothwell (5):
  [POWERPC] Make global_phb_number static
  [POWERPC] iSeries: Mark two functions __init
  [POWERPC] iSeries: Declare iSeries_pci_final_fixup in pci.h
  [POWERPC] iSeries: Fix sparse warnings in setup.c
  [POWERPC] Remove redundant declaration of hose_list

[EMAIL PROTECTED] (2):
  [POWERPC] Add missing spaces in printk formats
  [POWERPC] Add missing spaces in printk formats in arch/ppc

 arch/powerpc/kernel/isa-bridge.c|4 +
 arch/powerpc/kernel/pci-common.c|4 -
 arch/powerpc/kernel/setup-common.c  |   78 +++
 arch/powerpc/mm/fault.c |2 -
 arch/powerpc/platforms/8xx/m8xx_setup.c |2 -
 arch/powerpc/platforms/cell/smp.c   |3 +
 arch/powerpc/platforms/celleb/io-workarounds.c  |2 -
 arch/powerpc/platforms/celleb/scc_epci.c|2 -
 arch/powerpc/platforms/iseries/pci.c|4 +
 arch/powerpc/platforms/iseries/pci.h|5 +
 arch/powerpc/platforms/iseries/setup.c  |   22 +++---
 arch/powerpc/platforms/iseries/setup.h  |1 
 arch/powerpc/platforms/powermac/time.c  |2 +
 arch/powerpc/platforms/pseries/eeh.c|3 +
 arch/powerpc/platforms/pseries/eeh_driver.c |   15 ++--
 arch/powerpc/platforms/pseries/plpar_wrappers.h |5 -
 arch/powerpc/platforms/pseries/smp.c|3 +
 arch/powerpc/sysdev/fsl_pci.c   |2 -
 arch/powerpc/xmon/xmon.c|   38 +++
 arch/ppc/platforms/ev64260.c|4 +
 drivers/macintosh/via-pmu.c |   45 -
 include/asm-powerpc/cputhreads.h|   71 +
 include/asm-powerpc/ppc-pci.h   |1 
 23 files changed, 218 insertions(+), 100 deletions(-)
 create mode 100644 include/asm-powerpc/cputhreads.h
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] Add IPIC MSI interrupt support

2007-12-02 Thread Li Li
On Mon, 2007-12-03 at 09:52 +0800, David Gibson wrote:
> On Fri, Nov 30, 2007 at 11:48:39AM +0800, Li Li wrote: 
> > The IPIC MSI is introduced on MPC837x chip. 
> > Implements the IPIC MSI as two level interrupt controller. 
> > 
> > Signed-off-by: Tony Li <[EMAIL PROTECTED]> 
> > --- 
> >  arch/powerpc/boot/dts/mpc8377_mds.dts |   14 ++ 
> >  arch/powerpc/boot/dts/mpc8378_mds.dts |   14 ++ 
> >  arch/powerpc/boot/dts/mpc8379_mds.dts |   14 ++ 
> >  arch/powerpc/platforms/83xx/Kconfig   |6 + 
> >  arch/powerpc/platforms/83xx/mpc837x_mds.c |   11 + 
> >  arch/powerpc/sysdev/Makefile  |1 + 
> >  arch/powerpc/sysdev/ipic_msi.c|  359
> + 
> >  include/asm-powerpc/ipic_msi.h|   54 + 
> >  8 files changed, 473 insertions(+), 0 deletions(-) 
> >  create mode 100644 arch/powerpc/sysdev/ipic_msi.c 
> >  create mode 100644 include/asm-powerpc/ipic_msi.h 
> > 
> > diff --git a/arch/powerpc/boot/dts/mpc8377_mds.dts
> b/arch/powerpc/boot/dts/mpc8377_mds.dts 
> > index 1f7819e..1068fe2 100644 
> > --- a/arch/powerpc/boot/dts/mpc8377_mds.dts 
> > +++ b/arch/powerpc/boot/dts/mpc8377_mds.dts 
> > @@ -210,6 +210,20 @@ 
> >   #interrupt-cells = <2>; 
> >   reg = <700 100>; 
> >   }; 
> > + 
> > + [EMAIL PROTECTED] { 
> > + compatible = "fsl,ipic-msi"; 
> > + reg = <7c0 40>; 
> > + interrupts = < 43 8 
> > +4  8 
> > +51 8 
> > +52 8 
> > +56 8 
> > +57 8 
> > +58 8 
> > +59 8 >; 
> > + interrupt-parent = < &ipic >; 
> > + };
> 
> I'm not sure why the MSI needs a device node of its own.  What actual 
> piece of hardware is this representing?
> 

The IPIC MSI has its own registers which control the mask and ack of MSI
interrupt. Furthermore, IPIC MSI is the second level interrupt
coontorller which connected to IPIC, to compatible with IPIC OF routine
interface, we need a device node.

> -- 
> David Gibson| I'll have my music baroque, and my
> code 
> david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_
> _other_ 
> | _way_ _around_! 
> http://www.ozlabs.org/~dgibson
> 

- Tony

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: for-2.6.25 branch created in powerpc.git

2007-12-02 Thread Benjamin Herrenschmidt

On Mon, 2007-12-03 at 15:45 +1100, Paul Mackerras wrote:
>   [POWERPC] Add xmon function to dump 44x TLB

That will go via jwb, there's already some updated versions of that in
my tree.

Ben.


___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev