Re: [PATCH] add Phytec pcm030 board support

2008-05-06 Thread Stephen Rothwell
On Tue, 6 May 2008 07:51:55 +0200 Segher Boessenkool <[EMAIL PROTECTED]> wrote:
>
> > OLPC? check?
> 
> No check.  The kernel hardly uses the device tree at all, there.

oh, OK.

-- 
Cheers,
Stephen Rothwell[EMAIL PROTECTED]
http://www.canb.auug.org.au/~sfr/


pgpNcFqKyidUf.pgp
Description: PGP signature
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Re: Fwd: linux2.6 does not boot from XUP

2008-05-06 Thread wangyanlong

Hi ,boys . I am in the XiDian universtiy of china . I am doing the things ike
yours.You can try set ttyUL0,if you use the Uartlite. If it don't work , may
be  gcc 4.1.0  miscompile the kernel 2.6 , I am using the gcc3.4.4.
Good luck
 

张轶 wrote:
> 
> -- Forwarded message --
> From: 张轶 <[EMAIL PROTECTED]>
> Date: 2008/5/5
> Subject: linux2.6 does not boot from XUP
> To: [EMAIL PROTECTED]
> 
> 
> Hi,Grant
> 
> I hope I could get some advices from you about how to fix the error of
> porting linux2.6 to Xilinx XUPV2P.
> 
> The kernel I am using is 2.6.24,gcc 4.1.0,glibc 2.3.6,and the board Xilinx
> XUPV2P
> 
> It compiles successfully with some warnings like below:
>   MODPOST vmlinux.o
> WARNING: vmlinux.o(.text+0x223c): Section mismatch: reference to
> .init.text:early_init (between 'start_here' and 'initial_mmu')
> WARNING: vmlinux.o(.text+0x2254): Section mismatch: reference to
> .init.text:machine_init (between 'start_here' and 'initial_mmu')
> WARNING: vmlinux.o(.text+0x2258): Section mismatch: reference to
> .init.text:MMU_init (between 'start_here' and 'initial_mmu')
> WARNING: vmlinux.o(.text+0x22b2): Section mismatch: reference to
> .init.text:start_kernel (between 'start_here' and 'initial_mmu')
> WARNING: vmlinux.o(.text+0x22b6): Section mismatch: reference to
> .init.text:start_kernel (between 'start_here' and 'initial_mmu')
>LD  vmlinux
> 
> The system is created as ACE file and booted from CF Card
> 
> After uncompressing the kernel,the system hangs.The information is like
> below:
> 
> loaded at: 0040 0056619C
> board data at:  007C
> relocated to:  00404068 004040E4
> zimage at: 00404E51 00563BF4
> avail ram: 00567000 7C9E2370
> 
> Linux/PPC load: console=ttyS0,9600 root=/dev/xsysace/disc0/part3 rw
> Uncompressing Linux...done.
> Now booting the kernel
> I wonder if it is the upper WARNINGs that causes the hang of the system,
> and
> how can I fix it.
> 
> Thanks in advance, any advice would be helpful
> 
> Best Regards
> 
> Yi
> 
> ___
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
> 

-- 
View this message in context: 
http://www.nabble.com/Fwd%3A-linux2.6-does-not-boot-from-XUP-tp17074762p17077099.html
Sent from the linuxppc-dev mailing list archive at Nabble.com.

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

Re: [PATCH] Sam440ep support

2008-05-06 Thread Gerhard Pircher

 Original-Nachricht 
> Datum: Tue, 06 May 2008 09:44:18 +1000
> Von: Benjamin Herrenschmidt <[EMAIL PROTECTED]>
> An: Gerhard Pircher <[EMAIL PROTECTED]>
> CC: Kumar Gala <[EMAIL PROTECTED]>, [EMAIL PROTECTED], linuxppc-dev@ozlabs.org
> Betreff: Re: [PATCH] Sam440ep support

> 
> On Mon, 2008-05-05 at 21:50 +0200, Gerhard Pircher wrote:
> > This is a (bad) hack that I also use on the AmigaOne to get the ALSA
> > sound drivers working with DMA, because ALSA doesn't work with
> > dma-noncoherent.c. The problem is the "nopage" mechanism, which fails
> > with non coherent DMA allocations due to their own virtual address
> > space (correct me, if I'm wrong).
> > 
> > See this thread for more info:
> > http://readlist.com/lists/vger.kernel.org/linux-kernel/45/226541.html
> > 
> > This is a general problem that affects all powerpc boards that use
> > dma-noncoherent.c with ALSA PCI drivers.
> 
> The link above doesn't provide any useful information on the problem and
> it contains itself a non working link...
Sorry, I didn't check the embedded link. This one should work:
http://www.uwsg.iu.edu/hypermail/linux/kernel/0406.2/0801.html

IIRC the problem is the mmaping of non coherent DMA allocations, as you
already know. The link above points to a very old (from 2004) and quite
long thread where the correct DMA API for mmaping DMA allocations was
discussed.

> Can somebody explains exactly what's going on ? That shouldn't be hard
> to fix. I can't believe the problem has been around for 2 years and
> nobody actually bothered fixing it properly.
Takashi Iwai posted a preliminary patch a long time ago. I tested it on my
machine and it failed with non coherent scatter-gather DMA allocations
(I guess almost all ALSA PCI drivers use SG DMA?).

Thanks!

Gerhard

-- 
GMX startet ShortView.de. Hier findest Du Leute mit Deinen Interessen!
Jetzt dabei sein: http://www.shortview.de/[EMAIL PROTECTED]
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] add Phytec pcm030 board support

2008-05-06 Thread Sascha Hauer
On Mon, May 05, 2008 at 01:22:40PM -0400, Jon Smirl wrote:
> On 5/5/08, Grant Likely <[EMAIL PROTECTED]> wrote:
> > On Mon, May 5, 2008 at 11:01 AM, Jon Smirl <[EMAIL PROTECTED]> wrote:
> >  > Did this get fixed somehow? I used to need this to boot a pcm030.
> >
> >
> > I'm sorry; I'm at a lost as to context.  Are you asking for this patch
> >  to be applied?  Or are you asking if this has been addressed in
> >  another way?
> 
> Sascha said the pcm030 was working with the simple dts. I always
> needed that patch to get a pcm030 to boot. Sasha's company wrote the
> patch. I'm just wondering how it got handled, do we still need the
> patch or did he come up with some other solution.

Yes, it is working with the simple dts except for the flash support. For
this we need the Flash description in the oftree.

> >  >
> >  >  diff --git a/fs/jffs2/scan.c b/fs/jffs2/scan.c
> >  >  index 272872d..c982adc 100644
> >  >  --- a/fs/jffs2/scan.c
> >  >  +++ b/fs/jffs2/scan.c
> >  >  @@ -16,6 +16,7 @@
> >  >   #include 
> >  >   #include 
> >  >   #include 
> >  >  +#include 
> >  >   #include "nodelist.h"
> >  >   #include "summary.h"
> >  >   #include "debug.h"
> >  >  @@ -505,7 +506,7 @@ static int jffs2_scan_eraseblock (struct
> >  >  jffs2_sb_info *c, struct jffs2_eraseblo
> >  > sumptr = kmalloc(sumlen, 
> > GFP_KERNEL);
> >  > if (!sumptr)
> >  > return -ENOMEM;
> >  >  -   memcpy(sumptr + sumlen -
> >  >  buf_len, buf + buf_size - buf_len, buf_len);
> >  >  +   memcpy_fromio(sumptr + sumlen
> >  >  - buf_len, buf + buf_size - buf_len, buf_len);
> >  > }
> >  > if (buf_len < sumlen) {
> >  > /* Need to read more so that
> >  >  the entire summary node is present */
> >  >  @@ -1035,7 +1036,7 @@ static int jffs2_scan_dirent_node(struct
> >  >  jffs2_sb_info *c, struct jffs2_eraseblo
> >  > if (!fd) {
> >  > return -ENOMEM;
> >  > }
> >  >  -   memcpy(&fd->name, rd->name, checkedlen);
> >  >  +   memcpy_fromio(&fd->name, rd->name, checkedlen);

This patch is needed because memcpy uses unaligned accesses whereas
memcpy_fromio only uses aligned accesses on the io side. See this
thread: http://ozlabs.org/pipermail/linuxppc-embedded/2006-April/022544.html


-- 
Pengutronix e.K. - Linux Solutions for Science and Industry
---
Kontakt-Informationen finden Sie im Header dieser Mail oder
auf der Webseite -> http://www.pengutronix.de/impressum/ <-
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH 1/2] [POWERPC] rtc_cmos_setup: assign interrupts only if there is i8259 PIC

2008-05-06 Thread Gabriel Paubert
On Mon, May 05, 2008 at 10:55:38PM +0400, Anton Vorontsov wrote:
> Sometimes (particularly on MPC8610HPCD) we want IRQ-less CMOS RTC for
> the boards without (or disabled) i8259 PICs.
> 
> We lookup the device tree for "chrp,iic" compatible devices, and if not
> found we do not assign RTC IRQ.

I suspect this will break on machines which have an RTC and the
interrupt line is not connected. 

These are PreP machines like MVME2[467]xxx (I have a bunch of them,
stilll running 2.2 kernels but on a private network). 
Interrupt 8 is connected, but not to the RTC...

I have no problems with the patch going in for now, it will have
to be revisited whenever (if ever) support for these machines is added
to the kernel (what is really needed to support these machines is a
residual data->device tree converter).

Gabriel



> 
> Signed-off-by: Anton Vorontsov <[EMAIL PROTECTED]>
> ---
>  arch/powerpc/sysdev/rtc_cmos_setup.c |   21 +++--
>  1 files changed, 15 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/powerpc/sysdev/rtc_cmos_setup.c 
> b/arch/powerpc/sysdev/rtc_cmos_setup.c
> index c09ddc0..e5d0bcb 100644
> --- a/arch/powerpc/sysdev/rtc_cmos_setup.c
> +++ b/arch/powerpc/sysdev/rtc_cmos_setup.c
> @@ -21,6 +21,7 @@ static int  __init add_rtc(void)
>   struct device_node *np;
>   struct platform_device *pd;
>   struct resource res[2];
> + unsigned int num_res = 1;
>   int ret;
>  
>   memset(&res, 0, sizeof(res));
> @@ -41,14 +42,22 @@ static int  __init add_rtc(void)
>   if (res[0].start != RTC_PORT(0))
>   return -EINVAL;
>  
> - /* Use a fixed interrupt value of 8 since on PPC if we are using this
> -  * its off an i8259 which we ensure has interrupt numbers 0..15. */
> - res[1].start = 8;
> - res[1].end = 8;
> - res[1].flags = IORESOURCE_IRQ;
> + np = of_find_compatible_node(NULL, NULL, "chrp,iic");
> + if (np) {
> + of_node_put(np);
> + /*
> +  * Use a fixed interrupt value of 8 since on PPC if we are
> +  * using this its off an i8259 which we ensure has interrupt
> +  * numbers 0..15.
> +  */
> + res[1].start = 8;
> + res[1].end = 8;
> + res[1].flags = IORESOURCE_IRQ;
> + num_res++;
> + }
>  
>   pd = platform_device_register_simple("rtc_cmos", -1,
> -  &res[0], 2);
> +  &res[0], num_res);
>  
>   if (IS_ERR(pd))
>   return PTR_ERR(pd);
> -- 
> 1.5.5.1
> 
> ___
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [patch 5/5] PS3: Update ps3_defconfig

2008-05-06 Thread Marvin

Hi Geoff,

On Monday 05 May 2008 21:00:47 you wrote:
> Marvin wrote:
> > what about adding these defaults:
> > - CONFIG_SCHED_SMT
> > - CONFIG_HUGETLBFS (needed by ibm cell sdk)

I'm using these for years now ;-)

> > not sure about:
> > - CONFIG_SPU_FS_64K_LS

I also have this option enabled. I think you can forget about it, as it seems 
to improve performance only in some corner cases. I'm not an expert, so maybe 
asking at cbe-oss-dev would be a better place. 

Thanks

Marvin

p.s. I installed fc9 last week and Xorg crashes when PCI is not enabled. just 
in case someone has the same problem.

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


Re: [PATCH 1/2] [POWERPC] rtc_cmos_setup: assign interrupts only if there is i8259 PIC

2008-05-06 Thread Gerhard Pircher

 Original-Nachricht 
> Datum: Mon, 5 May 2008 22:55:38 +0400
> Von: Anton Vorontsov <[EMAIL PROTECTED]>
> An: Kumar Gala <[EMAIL PROTECTED]>
> CC: linuxppc-dev@ozlabs.org
> Betreff: [PATCH 1/2] [POWERPC] rtc_cmos_setup: assign interrupts only if  
> there is i8259 PIC

> Sometimes (particularly on MPC8610HPCD) we want IRQ-less CMOS RTC for
> the boards without (or disabled) i8259 PICs.
> 
> We lookup the device tree for "chrp,iic" compatible devices, and if not
> found we do not assign RTC IRQ.
> 
> Signed-off-by: Anton Vorontsov <[EMAIL PROTECTED]>
> ---
>  arch/powerpc/sysdev/rtc_cmos_setup.c |   21 +++--
>  1 files changed, 15 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/powerpc/sysdev/rtc_cmos_setup.c
> b/arch/powerpc/sysdev/rtc_cmos_setup.c
> index c09ddc0..e5d0bcb 100644
> --- a/arch/powerpc/sysdev/rtc_cmos_setup.c
> +++ b/arch/powerpc/sysdev/rtc_cmos_setup.c
> @@ -21,6 +21,7 @@ static int  __init add_rtc(void)
>   struct device_node *np;
>   struct platform_device *pd;
>   struct resource res[2];
> + unsigned int num_res = 1;
>   int ret;
>  
>   memset(&res, 0, sizeof(res));
> @@ -41,14 +42,22 @@ static int  __init add_rtc(void)
>   if (res[0].start != RTC_PORT(0))
>   return -EINVAL;
>  
> - /* Use a fixed interrupt value of 8 since on PPC if we are using this
> -  * its off an i8259 which we ensure has interrupt numbers 0..15. */
> - res[1].start = 8;
> - res[1].end = 8;
> - res[1].flags = IORESOURCE_IRQ;
> + np = of_find_compatible_node(NULL, NULL, "chrp,iic");
Could you add a check for "pnpPNP,000" (PNP ID for i8259), as not all
platforms use the CHRP names?

Gerhard

-- 
249 Spiele für nur 1 Preis. Die GMX Spieleflatrate schon ab 9,90 Euro.
Neu: Asterix bei den Olympischen Spielen: http://flat.games.gmx.de
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] Sam440ep support

2008-05-06 Thread Benjamin Herrenschmidt

On Tue, 2008-05-06 at 09:51 +0200, Gerhard Pircher wrote:
> Takashi Iwai posted a preliminary patch a long time ago. I tested it
> on my
> machine and it failed with non coherent scatter-gather DMA allocations
> (I guess almost all ALSA PCI drivers use SG DMA?).

How does Alsa allocate such SG ? 

Ben.

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


RE: [PATCH 4/4] booting-without-of for Freescale MSI

2008-05-06 Thread Jin Zhengxiong
 
> 
> > +- compatible : should be "fsl,MPIC-MSI" for 85xx/86xx cpu,
> > +  and "fsl,IPIC-MSI" for 83xx cpu.
> 
> Please use a more specific name, "fsl,8599-msi" or similar?
>

Thanks for your input. I think the name "fsl,MPIC-MSI" and
"fsl,IPIC-MSI"
is somethind specific. Actually, from the hardware point,  MSI is just
part
of MPIC of IPIC for Freescale CPU. the name "fsl,MPIC-MSI" can describe
the MSI is based on the MPIC controller.
 
> > +- interrupts : should contain the msi interrupts cascade to the
> > host
> > +  interrupt controller.
> 
> You should describe that it is one "interrupts" entry per 32 
> MSIs; also, it would be nice to say they need "0" as the sense.
> 
> > +- interrupt-parent: should be "&mpic" for 85xx/86xx cpu and
> > "&ipic"
> > +  for 83xx cpu.
> 
> &Xpic are labels, so something local to specific DTS files; 
> instead, say that the interrupts are routed to the MPIC/IPIC 
> (it doesn't have to be via "interrupt-parent", either).
> 
Thank you, I'll rewrite these description. 


> Segher
> 
> p.s. On a meta-note, please put the binding doc first in the 
> series, it makes things easier to review in-order.

Ok, I'll put it first next time.

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


RE: [PATCH 1/4 V3] MSI support on 83xx/85xx/86xx board

2008-05-06 Thread Jin Zhengxiong
Hi Micheal,

Thank you for your comments.
I'll send the new version according to feedback.

Jason

> -Original Message-
> From: Michael Ellerman [mailto:[EMAIL PROTECTED] 
> Sent: Monday, May 05, 2008 7:24 PM
> To: Jin Zhengxiong
> Cc: [EMAIL PROTECTED]; linuxppc-dev@ozlabs.org
> Subject: Re: [PATCH 1/4 V3] MSI support on 83xx/85xx/86xx board
> 
> On Mon, 2008-05-05 at 15:47 +0800, Jason Jin wrote:
> > This MSI driver can be used on 83xx/85xx/86xx board.
> > In this driver, virtual interrupt host and chip were setup. 
> There are 
> > 256 MSI interrupts in this host, Every 32 MSI interrupts 
> cascaded to 
> > one IPIC/MPIC interrupt.
> > The chip was treated as edge sensitive and some necessary functions 
> > were setup for this chip.
> > 
> > Before using the MSI interrupt, PCI/PCIE device need to ask 
> for a MSI 
> > interrupt in the 256 MSI interrupts. A 256bit bitmap show which MSI 
> > interrupt was used, reserve bit in the bitmap can be used 
> to force the 
> > device use some designate MSI interrupt in the 256 MSI interrupts. 
> > Sometimes this is useful for testing the all the MSI 
> interrupts. The 
> > msi-available-ranges property in the dts file was used for this 
> > purpose.
> > 
> > Signed-off-by: Jason Jin <[EMAIL PROTECTED]>
> 
> 
> Hi Jason,
> 
> Just a couple of comments below:
> 
> > diff --git a/arch/powerpc/sysdev/fsl_msi.c 
> > b/arch/powerpc/sysdev/fsl_msi.c new file mode 100644 index 
> > 000..c53f716
> > --- /dev/null
> > +++ b/arch/powerpc/sysdev/fsl_msi.c
> > @@ -0,0 +1,442 @@
> > +/*
> > + * Copyright (C) 2007-2008 Freescale Semiconductor, Inc. 
> All rights reserved.
> > + *
> > + * Author: Tony Li <[EMAIL PROTECTED]>
> > + *Jason Jin <[EMAIL PROTECTED]>
> > + *
> > + * This program is free software; you can redistribute it and/or
> > + * modify it under the terms of the GNU General Public License
> > + * as published by the Free Software Foundation; version 2 of the
> > + * License.
> > + *
> > + */
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include "fsl_msi.h"
> > +
> > +struct fsl_msi_feature {
> > +   u32 fsl_pic_ip;
> > +   u32 msiir_offset;
> > +};
> > +
> > +/* A bit ugly, can we get this from the pci_dev somehow? */
> 
> This comment is old (from my code) and should go.
> 
> > +static struct fsl_msi *fsl_msi;
> > +
> > +static inline u32 fsl_msi_read(u32 __iomem *base, unsigned 
> int reg) {
> > +   return in_be32(base + (reg >> 2));
> > +}
> > +
> > +static inline void fsl_msi_write(u32 __iomem *base,
> > +   unsigned int reg, u32 value)
> > +{
> > +   out_be32(base + (reg >> 2), value);
> > +}
> > +
> > +/*
> > + * We do not need this actually. The MSIR register has 
> been read once
> > + * in the cascade interrupt. So, this MSI interrupt has 
> been acked */ 
> > +static void fsl_msi_end_irq(unsigned int virq) { }
> > +
> > +static struct irq_chip fsl_msi_chip = {
> > +   .mask   = mask_msi_irq,
> > +   .unmask = unmask_msi_irq,
> > +   .ack= fsl_msi_end_irq,
> > +   .typename   = " FSL-MSI  ",
> > +};
> > +
> > +static int fsl_msi_host_match(struct irq_host *h, struct 
> device_node 
> > +*node) {
> > +   /* Exact match, unless node is NULL */
> > +   return h->of_node == NULL || h->of_node == node; }
> 
> Are you sure you want this as your match routine? It looks 
> wrong to me.
> You won't ever create a fsl_msi in your probe routine unless 
> you have a device node, so AFAICT the of_node == NULL is only 
> ever going to match some _other_ irqhost.
> 
> 
> > diff --git a/arch/powerpc/sysdev/fsl_msi.h 
> > b/arch/powerpc/sysdev/fsl_msi.h new file mode 100644 index 
> > 000..0449c96
> > --- /dev/null
> > +++ b/arch/powerpc/sysdev/fsl_msi.h
> > @@ -0,0 +1,31 @@
> > +#ifndef _POWERPC_SYSDEV_FSL_MSI_H
> > +#define _POWERPC_SYSDEV_FSL_MSI_H
> 
> 
> This should have a copyright header.
> 
> > +#define NR_MSI_REG 8
> > +#define IRQS_PER_MSI_REG   32
> > +#define NR_MSI_IRQS(NR_MSI_REG * IRQS_PER_MSI_REG)
> > +
> > +#define FSL_PIC_IP_MASK0x000F
> > +#define FSL_PIC_IP_MPIC0x0001
> > +#define FSL_PIC_IP_IPIC0x0002
> > +
> > +struct fsl_msi {
> > +   /* Device node of the MSI interrupt*/
> > +   struct device_node *of_node;
> > +
> > +   struct irq_host *irqhost;
> > +
> > +   unsigned long cascade_irq;
> > +
> > +   u32 msi_addr_lo;
> > +   u32 msi_addr_hi;
> > +   void __iomem *msi_regs;
> > +   u32 feature;
> > +
> > +   unsigned long *fsl_msi_bitmap;
> > +   spinlock_t bitmap_lock;
> > +   const char *name;
> 
> I don't see where this is used?
> 
> 
> cheers
> 
> --
> Michael Ellerman
> OzLabs, IBM Australia Development Lab
> 
> wwweb: http://michael.ellerman.id.au
> phone: +61 2 6212 1183 (tie line 70 21183)
> 
> We do not inherit the earth from our ancestors, we borrow it 
> from our children. - S.M.A.R.T Person
> 
___

Re: [PATCH] Sam440ep support

2008-05-06 Thread Gerhard Pircher

 Original-Nachricht 
> Datum: Tue, 06 May 2008 18:48:39 +1000
> Von: Benjamin Herrenschmidt <[EMAIL PROTECTED]>
> An: Gerhard Pircher <[EMAIL PROTECTED]>
> CC: linuxppc-dev@ozlabs.org, Takashi Iwai <[EMAIL PROTECTED]>, [EMAIL 
> PROTECTED], [EMAIL PROTECTED]
> Betreff: Re: [PATCH] Sam440ep support

> 
> On Tue, 2008-05-06 at 09:51 +0200, Gerhard Pircher wrote:
> > Takashi Iwai posted a preliminary patch a long time ago. I tested it
> > on my machine and it failed with non coherent scatter-gather DMA
> > allocations (I guess almost all ALSA PCI drivers use SG DMA?).
> 
> How does Alsa allocate such SG ?
I can't answer this question. *ducked* :-) Takashi?

FYI: I posted the results of the test with Takashi's dma_mmap_coherent
patch here:
http://ozlabs.org/pipermail/linuxppc-dev/2006-June/024078.html

On the other side it looks like this problem does not only affect ALSA.
As far as I can tell also some V4L(2) drivers have a problem with mmaping
non coherent DMA allocations, but I'm not sure (it's a long time since I
did some tests with video cards on my AmigaOne).

Naturally I can do some tests, if you or Takashi come up with a new
patch.

Thanks!

Gerhard

-- 
GMX startet ShortView.de. Hier findest Du Leute mit Deinen Interessen!
Jetzt dabei sein: http://www.shortview.de/[EMAIL PROTECTED]
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] Sam440ep support

2008-05-06 Thread Benjamin Herrenschmidt

On Tue, 2008-05-06 at 11:16 +0200, Gerhard Pircher wrote:
> I can't answer this question. *ducked* :-) Takashi?
> 
> FYI: I posted the results of the test with Takashi's dma_mmap_coherent
> patch here:
> http://ozlabs.org/pipermail/linuxppc-dev/2006-June/024078.html
> 
> On the other side it looks like this problem does not only affect
> ALSA.
> As far as I can tell also some V4L(2) drivers have a problem with
> mmaping
> non coherent DMA allocations, but I'm not sure (it's a long time since
> I
> did some tests with video cards on my AmigaOne).
> 
> Naturally I can do some tests, if you or Takashi come up with a new
> patch.

Time that we sort that stuff out once for all..

sg allocations are usually lists of page, so virt_to_page shouldn't be a
problem in the first place, though we still need some way to get the
right prot attributes.

Ben.


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


Re: [PATCH] Add support for Analogue & Micro ASP837E board

2008-05-06 Thread Bryan O'Donoghue
On Tue, 6 May 2008 16:11:10 +1000
Stephen Rothwell <[EMAIL PROTECTED]> wrote:

> Hi Bryan,
> 
> On Tue, 6 May 2008 03:28:13 +0100 Bryan O'Donoghue <[EMAIL PROTECTED]>
> wrote:
> >
> > +static void __init asp834x_init_IRQ(void)
> > +{
> > +   struct device_node *np;
> > +
> > +   np = of_find_node_by_type(NULL, "ipic");
> > +   if (!np)
> > +   return;
> > +
> > +   ipic_init(np, 0);
> 
> You need an "of_node_put(np)" here to drop the reference gained in
> "of_find_node_by_type".
> 
> > +static struct of_device_id asp8347_ids[] = {
> 
> Please make this __initdata.
> 

Hey Stephen.

Thanks for spotting that. Will do.


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


Re: [Cbe-oss-dev] Xorg crash when PCI not enabled (was [patch 5/5] PS3: Update ps3_defconfig)

2008-05-06 Thread Dan Munckton
Hi

On Tue, 2008-05-06 at 10:14 +0200, Marvin wrote:
> p.s. I installed fc9 last week and Xorg crashes when PCI is not
> enabled. just 
> in case someone has the same problem.

The Ubuntu PS3 team is also working on an a couple of bugs relating to
lack of PCI info. I don't know if these are the same issues you're
facing. We're tracking them here at [0] and [2].

We had an initial crash was simple to fix [1]. Now we need to get X to
automatically load the fbdev driver instead of vesa [2].

Cheers

Dan

[0] https://bugs.launchpad.net/ubuntu-ps3-port/+bug/217647
[1] http://launchpadlibrarian.net/13569440/closedir.patch
[2] https://bugs.launchpad.net/ubuntu-ps3-port/+bug/219424

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


Re: [patch 5/5] PS3: Update ps3_defconfig

2008-05-06 Thread Michael Ellerman
On Tue, 2008-05-06 at 10:14 +0200, Marvin wrote:
> Hi Geoff,
> 
> On Monday 05 May 2008 21:00:47 you wrote:
> > Marvin wrote:
> > > what about adding these defaults:
> > >   - CONFIG_SCHED_SMT
> > >   - CONFIG_HUGETLBFS (needed by ibm cell sdk)
> 
> I'm using these for years now ;-)
> 
> > > not sure about:
> > >   - CONFIG_SPU_FS_64K_LS
> 
> I also have this option enabled. I think you can forget about it, as it seems 
> to improve performance only in some corner cases. I'm not an expert, so maybe 
> asking at cbe-oss-dev would be a better place. 

Assuming it works on PS3 (the HV lets us use 64k pages I take it?) I
think it should be enabled.

cheers

-- 
Michael Ellerman
OzLabs, IBM Australia Development Lab

wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)

We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person


signature.asc
Description: This is a digitally signed message part
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Re: [PATCH 4/4] [POWERPC] Xilinx: Framebuffer: Use dcr infrastructure.

2008-05-06 Thread Segher Boessenkool

Current standard practice is not to represent the DCR bus as node with
subnodes for the DCR-controlled devices.  That's because the DCR bus
tends to run in addition to other on-chip busses, and some things have
to go on another on-chip bus to make sense, but still have DCR control
registers (for example the internal bus bridges on 4xx).


Yeah.


Arguably for DCR-only devices we should instead have a node
representing the DCR bus and just put the devices under it with the
DCR number encoded in reg in the normal way.


Right.


But then its
inconsistent with the devices that need the other DCR representation.


OTOH, it _is_ consistent with all other (non-DCR) devices that way.

What you could do right now is to give such DCR-only devices both
normal "reg" etc., and the "dcr-reg" etc. properties, containing
both the same info.  If you do that, your device tree will be
correct (because you got all the standard stuff right), and the
kernel will like it as well (because it looks for the "dcr-reg"
stuff).

Then maybe later, if/when the kernel supports the standard addressing
for DCR as well, you could drop the "dcr-reg" things from your DTS.
Or you could just keep it.

David, will this work, do you think?


Segher and I did toss around some ideas for generalizing the DCR
representation to a way of representing that any node has some
presence on a bus other than its "primary" parent (e.g. other-bus-reg
= <&dcr-bus 0x0d0 0x010 &strange-i2c-control-bus 0xabc>).  Then
DCR-only devices would use normal "reg", devices that sit on another
bus would sit on that bus and use this representation to show their
DCR control registers.  Maybe one day.


One day perhaps, yes :-)

It sounds cleaner to split such a prop into separate props per bus.
Maybe I said the opposite before, heh :-)


Segher

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


Re: ALSA vs. non coherent DMA

2008-05-06 Thread Takashi Iwai
Hi Ben,

thanks for signaling this long-standing issue again.

At Tue, 06 May 2008 10:08:28 +1000,
Benjamin Herrenschmidt wrote:
> 
> Hi Takashi !
> 
> I'm bringing up an old thread as I'm just discovering that the problem
> still hasn't been fixed.
> 
> There seem to be a few issues with ALSA current usage of mmap vs. non
> cache coherent architecture, such as embedded PowerPC's.

Yep.  And on MIPS, obviously.

> I can see at least two with a quick look to pcm-native.c, one I don't
> understand and one I think I do:
> 
>  - The control/status mapping. Can you elaborate a bit on what this is
> actually doing and why it shouldn't be done on "non coherent"
> architectures ?

This is a mmap of the data record to be shared in realtime with apps.
The app updates its data pointer (appl_ptr) on the mmapped buffer
while the driver updates the data (e.g. DMA position, called hwptr) on
the fly on the mmapped record.  Due to its real-time nature, it has to
be coherent -- at least, it was a problem on ARM.

> Currently this -is- done on all powerpc's, whether they
> are coherent or not and I want to understand what the underlying issue
> is.

It's actually buggy.  Should check more precisely.

>  - The mmap of DMA pages. Here, the problem appears two fold:
> 
>   * Use of virt_to_page() on virtual addresses returned by
> dma_alloc_coherent().
> 
>   * No using the appropriate page protection for a DMA coherent mapping
> to userspace.
> 
> It seems like you have solved that in part with implementing a generic
> dma_mmap_coherent() in the past that for some reason you never merged
> upstream (I can track that to about 2 years ago). Is there a reason ?

IIRC, dma_mmap_coherent() cannot be implemented properly on some
architectures.  This is no big problem for ALSA as long as it returns
an error or make it out via ifdef.  But, the fact that this API cannot
be done for all archs discourage arch maintainers, and the idea faded
out again.

> I think we need to at least apply a band-aid today as it's becoming a
> nasty issue for several non-coherent powerpc platforms. It could be in
> the form of implementing dma_mmap_coherent() and changing Alsa to use it
> with the appropriate ifdef, or just adding an ifdef CONFIG_PPC with the
> right code in there for now until a better solution is found.

Agreed.

> It should be trivial though. Getting the PFN from the DMA address is
> easy if we have the dma handle and the virtual address, though that -is-
> definitely platform specific. I can implement a function for that if you
> need.

That'll be great.  dma_mmap_coherent() and friends would be then
really helpful to solve this issue.

> As for the pgprot, we can come up with something like
> pgprot_mmap_dma(). Either that or I can fold it all in a powerpc wide
> implementation of a dma_mmap_coherent() like we envisioned initially.

In principle, pgprot_*() isn't actually needed in the driver side at
all.  We use pgprot_noncached() in one part, and it's for hacky way to
mmap the ioremapped pages.  It's not available on all architectures,
and I'm not sure whether it works on all PPC models although it's
enabled right now: in include/sound/pcm.h,

/* mmap for io-memory area */
#if defined(CONFIG_X86) || defined(CONFIG_PPC) || defined(CONFIG_ALPHA)
#define SNDRV_PCM_INFO_MMAP_IOMEM   SNDRV_PCM_INFO_MMAP
int snd_pcm_lib_mmap_iomem(struct snd_pcm_substream *substream, struct 
vm_area_struct *area);
#else
#define SNDRV_PCM_INFO_MMAP_IOMEM   0
#define snd_pcm_lib_mmap_iomem  NULL
#endif

Highly likely we need to fix this, too.  In the easiest way, disable
this except for X86...

> Let me know what approach is preferred here and I'll come up with
> patches ASAP. As far as I'm concerned, this is a bug and thus must be
> fixed now for .26 and possibly backported to stable even if we can come
> up with a non invasive solution). I'm annoyed because it represents a
> trivial amount of code, this problem should have been fixed a long time
> ago.

As a pragmatic solution, as you mentioned in the above, we can disable
or change the problematic code with ifdefs.  At best, use
dma_mmap_coherent() if it's available.  If not, and if the arch is
known to have not-simply-mappable DMA pages (like MIPS), we can simply
disable the mmap feature.

Once after we have dma_mmap_*() generally, we can clean up codes.


thanks,

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


Re: [PATCH] Sam440ep support

2008-05-06 Thread Takashi Iwai
At Tue, 06 May 2008 20:12:27 +1000,
Benjamin Herrenschmidt wrote:
> 
> 
> On Tue, 2008-05-06 at 11:16 +0200, Gerhard Pircher wrote:
> > I can't answer this question. *ducked* :-) Takashi?
> > 
> > FYI: I posted the results of the test with Takashi's dma_mmap_coherent
> > patch here:
> > http://ozlabs.org/pipermail/linuxppc-dev/2006-June/024078.html
> > 
> > On the other side it looks like this problem does not only affect
> > ALSA.
> > As far as I can tell also some V4L(2) drivers have a problem with
> > mmaping
> > non coherent DMA allocations, but I'm not sure (it's a long time since
> > I
> > did some tests with video cards on my AmigaOne).
> > 
> > Naturally I can do some tests, if you or Takashi come up with a new
> > patch.
> 
> Time that we sort that stuff out once for all..
> 
> sg allocations are usually lists of page, so virt_to_page shouldn't be a
> problem in the first place, though we still need some way to get the
> right prot attributes.

The problem is that ALSA SG buffer is composed from pages allocated
via dma_alloc_coherent(), and the pages are retrieved via virt_to_page
for DMA pages, as found in sound/core/sgbuf.c.

I didn't care about SG-buffer cases in my initial patch, and it's a
bit messy.  The current code requires page lists becasue it calls
vmap() to get a virtually linear buffer.


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


Re: [PATCH] Sam440ep support

2008-05-06 Thread Benjamin Herrenschmidt

On Tue, 2008-05-06 at 13:14 +0200, Takashi Iwai wrote:
> > sg allocations are usually lists of page, so virt_to_page shouldn't
> be a
> > problem in the first place, though we still need some way to get the
> > right prot attributes.
> 
> The problem is that ALSA SG buffer is composed from pages allocated
> via dma_alloc_coherent(), and the pages are retrieved via virt_to_page
> for DMA pages, as found in sound/core/sgbuf.c.
> 
> I didn't care about SG-buffer cases in my initial patch, and it's a
> bit messy.  The current code requires page lists becasue it calls
> vmap() to get a virtually linear buffer.

Hrm... the problem is that you aren't supposed to make up sglists with
the result of dma_alloc_coherent... It might be a limitation of our core
DMA API, but that's we have to deal with today..

If you're going to make up sglists and call vmap, you should allocate
pages with normal GFP. If that is a problem vs. DMA'bility of those
pages, then ... we have a problem :-)

I don't think we can easily update the DMA API at this stage. What we
could do is provide a way to retrieve the struct page array from the
result of dma_alloc_coherent...

Ben.


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


Re: [PATCH] Sam440ep support

2008-05-06 Thread Benjamin Herrenschmidt

> Hrm... the problem is that you aren't supposed to make up sglists with
> the result of dma_alloc_coherent... It might be a limitation of our core
> DMA API, but that's we have to deal with today..
> 
> If you're going to make up sglists and call vmap, you should allocate
> pages with normal GFP. If that is a problem vs. DMA'bility of those
> pages, then ... we have a problem :-)
> 
> I don't think we can easily update the DMA API at this stage. What we
> could do is provide a way to retrieve the struct page array from the
> result of dma_alloc_coherent...

Another option is to allocate the pages with gfp, and then dma_map_sg
the result... However, if we do that, we do need to add a way to vmap
with the right protection in order to get a coherent (ie. non cacheable)
mapping. I'm not even sure all archs can do that

Ben.


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


Re: [PATCH 4/4] booting-without-of for Freescale MSI

2008-05-06 Thread Segher Boessenkool

+- compatible : should be "fsl,MPIC-MSI" for 85xx/86xx cpu,
+  and "fsl,IPIC-MSI" for 83xx cpu.


Please use a more specific name, "fsl,8599-msi" or similar?



Thanks for your input. I think the name "fsl,MPIC-MSI" and
"fsl,IPIC-MSI"
is somethind specific.


This is the third MSI-on-MPIC I've seen, and I doubt it will be the
last.  It is likely FSL will make some different one in the future,
as well.

Please don't use generic names for specific devices.


Segher

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


Re: [PATCH] Sam440ep support

2008-05-06 Thread Takashi Iwai
At Tue, 06 May 2008 21:25:53 +1000,
Benjamin Herrenschmidt wrote:
> 
> 
> On Tue, 2008-05-06 at 13:14 +0200, Takashi Iwai wrote:
> > > sg allocations are usually lists of page, so virt_to_page shouldn't
> > be a
> > > problem in the first place, though we still need some way to get the
> > > right prot attributes.
> > 
> > The problem is that ALSA SG buffer is composed from pages allocated
> > via dma_alloc_coherent(), and the pages are retrieved via virt_to_page
> > for DMA pages, as found in sound/core/sgbuf.c.
> > 
> > I didn't care about SG-buffer cases in my initial patch, and it's a
> > bit messy.  The current code requires page lists becasue it calls
> > vmap() to get a virtually linear buffer.
> 
> Hrm... the problem is that you aren't supposed to make up sglists with
> the result of dma_alloc_coherent... It might be a limitation of our core
> DMA API, but that's we have to deal with today..
> 
> If you're going to make up sglists and call vmap, you should allocate
> pages with normal GFP. If that is a problem vs. DMA'bility of those
> pages, then ... we have a problem :-)
> 
> I don't think we can easily update the DMA API at this stage. What we
> could do is provide a way to retrieve the struct page array from the
> result of dma_alloc_coherent...

In most cases, it can be obtained via pfn_to_page(), I suppose.  But,
it's definitely arch-specific thingy, and a generic solution would be
really appreciated.

Alternatively, we can change the ALSA PCM core code that accesses the
virtual linear buffer and handles SG-buffers as they are.  Maybe it'll
give a bit more useful clean-up in the whole memory-management codes
in ALSA in the end.


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


Re: [PATCH] Sam440ep support

2008-05-06 Thread Benjamin Herrenschmidt

On Tue, 2008-05-06 at 13:31 +0200, Takashi Iwai wrote:
> > I don't think we can easily update the DMA API at this stage. What
> we
> > could do is provide a way to retrieve the struct page array from the
> > result of dma_alloc_coherent...
> 
> In most cases, it can be obtained via pfn_to_page(), I suppose.  But,
> it's definitely arch-specific thingy, and a generic solution would be
> really appreciated.

You can't get a pfn out of the result of dma_alloc_coherent on
non-coherent powerpc at least. It's a virtual mapping created from the
underlying pages set to be non-cacheable. virt_to_* will do no good.

> Alternatively, we can change the ALSA PCM core code that accesses the
> virtual linear buffer and handles SG-buffers as they are.  Maybe it'll
> give a bit more useful clean-up in the whole memory-management codes
> in ALSA in the end.

I need to get my head around what the exact usage in Alsa is, and it's a
bit too late for me to thing right now :-)

Ben.


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


Re: [PATCH] add Phytec pcm030 board support

2008-05-06 Thread Jon Smirl
On 5/6/08, Sascha Hauer <[EMAIL PROTECTED]> wrote:
> On Mon, May 05, 2008 at 01:22:40PM -0400, Jon Smirl wrote:
>  > On 5/5/08, Grant Likely <[EMAIL PROTECTED]> wrote:
>  > > On Mon, May 5, 2008 at 11:01 AM, Jon Smirl <[EMAIL PROTECTED]> wrote:
>  > >  > Did this get fixed somehow? I used to need this to boot a pcm030.
>  > >
>  > >
>  > > I'm sorry; I'm at a lost as to context.  Are you asking for this patch
>  > >  to be applied?  Or are you asking if this has been addressed in
>  > >  another way?
>  >
>  > Sascha said the pcm030 was working with the simple dts. I always
>  > needed that patch to get a pcm030 to boot. Sasha's company wrote the
>  > patch. I'm just wondering how it got handled, do we still need the
>  > patch or did he come up with some other solution.
>
>
> Yes, it is working with the simple dts except for the flash support. For
>  this we need the Flash description in the oftree.
>
>
>  > >  >
>  > >  >  diff --git a/fs/jffs2/scan.c b/fs/jffs2/scan.c
>  > >  >  index 272872d..c982adc 100644
>  > >  >  --- a/fs/jffs2/scan.c
>  > >  >  +++ b/fs/jffs2/scan.c
>  > >  >  @@ -16,6 +16,7 @@
>  > >  >   #include 
>  > >  >   #include 
>  > >  >   #include 
>  > >  >  +#include 
>  > >  >   #include "nodelist.h"
>  > >  >   #include "summary.h"
>  > >  >   #include "debug.h"
>  > >  >  @@ -505,7 +506,7 @@ static int jffs2_scan_eraseblock (struct
>  > >  >  jffs2_sb_info *c, struct jffs2_eraseblo
>  > >  > sumptr = kmalloc(sumlen, 
> GFP_KERNEL);
>  > >  > if (!sumptr)
>  > >  > return -ENOMEM;
>  > >  >  -   memcpy(sumptr + sumlen -
>  > >  >  buf_len, buf + buf_size - buf_len, buf_len);
>  > >  >  +   memcpy_fromio(sumptr + sumlen
>  > >  >  - buf_len, buf + buf_size - buf_len, buf_len);
>  > >  > }
>  > >  > if (buf_len < sumlen) {
>  > >  > /* Need to read more so that
>  > >  >  the entire summary node is present */
>  > >  >  @@ -1035,7 +1036,7 @@ static int jffs2_scan_dirent_node(struct
>  > >  >  jffs2_sb_info *c, struct jffs2_eraseblo
>  > >  > if (!fd) {
>  > >  > return -ENOMEM;
>  > >  > }
>  > >  >  -   memcpy(&fd->name, rd->name, checkedlen);
>  > >  >  +   memcpy_fromio(&fd->name, rd->name, checkedlen);
>
>
> This patch is needed because memcpy uses unaligned accesses whereas
>  memcpy_fromio only uses aligned accesses on the io side. See this
>  thread: http://ozlabs.org/pipermail/linuxppc-embedded/2006-April/022544.html

Can you submit it for inclusion? That's the last thing needed to boot
a pcm030 on a standard kernel, right?

-- 
Jon Smirl
[EMAIL PROTECTED]
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] Add support for Analogue & Micro ASP837E board

2008-05-06 Thread Kumar Gala


@@ -0,0 +1,247 @@
+/*
+ * Analogue & Micro ASP8347 Device Tree Source
+ *
+ * Copyright 2008 Codehermit
+ *
+ * This program is free software; you can redistribute  it and/or  
modify it
+ * under  the terms of  the GNU General  Public License as  
published by the
+ * Free Software Foundation;  either version 2 of the  License, or  
(at your

+ * option) any later version.
+ */
+
+/dts-v1/;
+
+/ {
+   model = "ASP8347E";
+   compatible = "ASP8347E";


"analogue-and-micro, ASP8347E";



+   #address-cells = <1>;
+   #size-cells = <1>;
+
+   aliases {
+   ethernet0 = &enet0;
+   ethernet1 = &enet1;
+   serial0 = &serial0;
+   serial1 = &serial1;
+   };
+
+   cpus {
+   #address-cells = <1>;
+   #size-cells = <0>;
+
+   PowerPC,[EMAIL PROTECTED] {
+   device_type = "cpu";
+   reg = <0x0>;
+   d-cache-line-size = <32>;
+   i-cache-line-size = <32>;
+   d-cache-size = <32768>;
+   i-cache-size = <32768>;
+   timebase-frequency = <0>; // from bootloader
+   bus-frequency = <0>;  // from bootloader
+   clock-frequency = <0>;// from bootloader
+   };
+   };
+
+   memory {
+   device_type = "memory";
+   reg = <0x 0x800>; // 128MB at 0


is memory really fixed on this board or does the bootloader set this  
if, dynamic make it <0 0>




+   };
+
+   [EMAIL PROTECTED] {
+   #address-cells = <2>;
+   #size-cells = <1>;
+   compatible = "fsl,mpc8347e-localbus",
+"fsl,pq2pro-localbus",
+"simple-bus";
+   reg = <0xff005000 0x1000>;
+   interrupts = <77 0x8>;
+   interrupt-parent = <&ipic>;
+
+   ranges = <
+   0 0 0xf000 0x0200
+   >;
+
+   [EMAIL PROTECTED],0 {
+   compatible = "cfi-flash";
+   reg = <0 0 0x0200>;
+   bank-width = <2>;
+   device-width = <2>;
+   };
+   };
+
+   [EMAIL PROTECTED] {
+   #address-cells = <1>;
+   #size-cells = <1>;
+   device_type = "soc";
+   ranges = <0x0 0xff00 0xff10>;


this is wrong, size should be like 0x10



+   reg = <0xff00 0x0200>;
+   bus-frequency = <0>;
+
+   [EMAIL PROTECTED] {
+   device_type = "watchdog";
+   compatible = "mpc83xx_wdt";
+   reg = <0x200 0x100>;
+   };
+
+   [EMAIL PROTECTED] {
+   #address-cells = <1>;
+   #size-cells = <0>;
+   cell-index = <0>;
+   compatible = "fsl-i2c";
+   reg = <0x3000 0x100>;
+   interrupts = <14 0x8>;
+   interrupt-parent = <&ipic>;
+   dfsrr;
+
+   [EMAIL PROTECTED] {
+   compatible = "dallas,ds1374";
+   reg = <0x68>;
+   };
+   };
+
+   [EMAIL PROTECTED] {
+   #address-cells = <1>;
+   #size-cells = <0>;
+   cell-index = <1>;
+   compatible = "fsl-i2c";
+   reg = <0x3100 0x100>;
+   interrupts = <15 0x8>;
+   interrupt-parent = <&ipic>;
+   dfsrr;
+   };
+
+   [EMAIL PROTECTED] {
+   cell-index = <0>;
+   compatible = "fsl,spi";
+   reg = <0x7000 0x1000>;
+   interrupts = <16 0x8>;
+   interrupt-parent = <&ipic>;
+   mode = "cpu";
+   };
+
+   /* phy type (ULPI or SERIAL) are only types supported for MPH */
+   /* port = 0 or 1 */
+   [EMAIL PROTECTED] {
+   compatible = "fsl-usb2-mph";
+   reg = <0x22000 0x1000>;
+   #address-cells = <1>;
+   #size-cells = <0>;
+   interrupt-parent = <&ipic>;
+   interrupts = <39 0x8>;
+   phy_type = "ulpi";
+   port1;
+   };
+   /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */
+   [EMAIL PROTECTED] {
+   compatible = "fsl-usb2-dr";
+   reg = <0x23000 0x1000>;
+   #add

Re: [i2c] [PATCH6/7] i2c: adds support for i2c bus on Freescale CPM1/CPM2 controllers

2008-05-06 Thread Wolfram Sang

Hi Jochen,

I just had a debug session with a MPC8260 + eeprom and got some
questions:

> This driver uses the port of 2.4 code from Vitaly Bordug
> <[EMAIL PROTECTED]> and the actual algorithm used by the i2c
> driver of the DBox code on cvs.tuxboc.org from Felix Domke
> ([EMAIL PROTECTED]) and Gillem ([EMAIL PROTECTED]) converted to an
> of_platform_driver. Tested on CPM1 (MPC823 on dbox2 hardware) and
> CPM2 (MPC8272).
> 
> Signed-off-by: Jochen Friedrich <[EMAIL PROTECTED]>
> ---
>  drivers/i2c/busses/Kconfig   |   10 +
>  drivers/i2c/busses/Makefile  |1 +
>  drivers/i2c/busses/i2c-cpm.c |  728 
> ++
>  3 files changed, 739 insertions(+), 0 deletions(-)
>  create mode 100644 drivers/i2c/busses/i2c-cpm.c
> 
> diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
> index 5fa9c3c..5c4f270 100644
> --- a/drivers/i2c/busses/Kconfig
> +++ b/drivers/i2c/busses/Kconfig
> @@ -114,6 +114,16 @@ config I2C_BLACKFIN_TWI_CLK_KHZ
>   help
> The unit of the TWI clock is kHz.
>  
> +config I2C_CPM
> + tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
> + depends on (CPM1 || CPM2) && PPC_OF
> + help
> +   This supports the use of the I2C interface on Freescale
> +   processors with CPM1 or CPM2.
> +
> +   This driver can also be built as a module.  If so, the module
> +   will be called i2c-cpm.
> +
>  config I2C_DAVINCI
>   tristate "DaVinci I2C driver"
>   depends on ARCH_DAVINCI
> diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile
> index ea7068f..1291e2b 100644
> --- a/drivers/i2c/busses/Makefile
> +++ b/drivers/i2c/busses/Makefile
> @@ -11,6 +11,7 @@ obj-$(CONFIG_I2C_AMD8111)   += i2c-amd8111.o
>  obj-$(CONFIG_I2C_AT91)   += i2c-at91.o
>  obj-$(CONFIG_I2C_AU1550) += i2c-au1550.o
>  obj-$(CONFIG_I2C_BLACKFIN_TWI)   += i2c-bfin-twi.o
> +obj-$(CONFIG_I2C_CPM)+= i2c-cpm.o
>  obj-$(CONFIG_I2C_DAVINCI)+= i2c-davinci.o
>  obj-$(CONFIG_I2C_ELEKTOR)+= i2c-elektor.o
>  obj-$(CONFIG_I2C_GPIO)   += i2c-gpio.o
> diff --git a/drivers/i2c/busses/i2c-cpm.c b/drivers/i2c/busses/i2c-cpm.c
> new file mode 100644
> index 000..e6e8317
> --- /dev/null
> +++ b/drivers/i2c/busses/i2c-cpm.c
> @@ -0,0 +1,728 @@
> +/*
> + * Freescale CPM1/CPM2 I2C interface.
> + * Copyright (c) 1999 Dan Malek ([EMAIL PROTECTED]).
> + *
> + * moved into proper i2c interface;
> + * Brad Parker ([EMAIL PROTECTED])
> + *
> + * (C) 2007 Montavista Software, Inc.
> + * Vitaly Bordug <[EMAIL PROTECTED]>
> + *
> + * Parts from dbox2_i2c.c (cvs.tuxbox.org)
> + * (C) 2000-2001 Felix Domke ([EMAIL PROTECTED]), Gillem ([EMAIL PROTECTED])
> + *
> + * Converted to of_platform_device. Renamed to i2c-cpm.c.
> + * (C) 2007,2008 Jochen Friedrich <[EMAIL PROTECTED]>
> + *
> + *  This program is free software; you can redistribute it and/or modify
> + *  it under the terms of the GNU General Public License as published by
> + *  the Free Software Foundation; either version 2 of the License, or
> + *  (at your option) any later version.
> + *
> + *  This program is distributed in the hope that it will be useful,
> + *  but WITHOUT ANY WARRANTY; without even the implied warranty of
> + *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + *  GNU General Public License for more details.
> + *
> + *  You should have received a copy of the GNU General Public License
> + *  along with this program; if not, write to the Free Software
> + *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
> + */
> +
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +
> +/* Try to define this if you have an older CPU (earlier than rev D4) */
> +/* However, better use a GPIO based bitbang driver in this case :/   */
> +#undef   I2C_CHIP_ERRATA
> +
> +#define CPM_MAX_READ513
> +#define CPM_MAXBD   4
> +
> +#define CPM_CR_INIT_TRX  (0x00)
> +#define CPM_CR_CLOSE_RX_BD   (0x07)
> +
> +#define I2C_EB   (0x10) /* Big endian mode */
> +#define I2C_EB_CPM2  (0x30) /* Big endian mode, memory snoop */
> +
> +#define DPRAM_BASE   ((u8 __iomem __force *)cpm_muram_addr(0))
> +
> +/* I2C parameter RAM. */
> +struct i2c_ram {
> + ushort  rbase;  /* Rx Buffer descriptor base address */
> + ushort  tbase;  /* Tx Buffer descriptor base address */
> + u_char  rfcr;   /* Rx function code */
> + u_char  tfcr;   /* Tx function code */
> + ushort  mrblr;  /* Max receive buffer length */
> + uintrstate; /* Internal */
> + uintrdp;/* Internal */
> + ushort  rbptr;  /* Rx Buffer descriptor pointer */
> + ushort  rbc;/* Internal */
> + uintrxtmp;  /* Internal */
> +

Re: [Fwd: fix for drivers/serial/mpc52xx_uart.c]

2008-05-06 Thread Grant Likely
On Tue, May 6, 2008 at 12:43 AM, Sylvain Munaut <[EMAIL PROTECTED]> wrote:
> Patch, obviously correct, sent to me personally instead of the list.
>
> Sylvain
>
> Here is a fix for the unterminated mpc52xx_uart_of_match array when 
> CONFIG_PPC_MPC512x is not defined. Should be quite self explonary, but if not 
> feel free to bug me about it.
>
>  Patch applies against 2.6.25 and 2.6.25.1 at least.

Already fixed in mainline; it needs to be back ported to 2.6.25.  I'll
poke GregKH

Cheers,
g.

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] [POWERPC] 4xx: Fix problem with new TLB storage attibute fields on 440x6 core

2008-05-06 Thread Josh Boyer
On Mon,  5 May 2008 08:53:19 +0200
Stefan Roese <[EMAIL PROTECTED]> wrote:

> The new 440x6 core used on AMCC 460EX/GT introduces new storage attibure
> fields to the TLB2 word. Those are:
> 
> Bit  11   12   13   14   15
>  WL1  IL1I IL1D IL2I IL2D
> 
> With these bits the cache (L1 and L2) can be configured in a more flexible
> way, instruction- and data-cache independently now. The "old" I and W bits
> are still available and setting these old bits will automically set these
> new bits too (for backward compatibilty).
> 
> The current code does not clear these fields resulting in disabling the cache
> by chance. This patch now makes sure that these new bits are cleared when
> the TLB2 word is written.
> 
> Signed-off-by: Stefan Roese <[EMAIL PROTECTED]>

Finally catching back up with email.  This looks like .26 material,
correct?

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


Re: [i2c] [PATCH6/7] i2c: adds support for i2c bus on Freescale CPM1/CPM2 controllers

2008-05-06 Thread Jochen Friedrich
Hi Wolfram,

>> +/* Begin transmission */
>> +setbits8(&i2c_reg->i2com, 0x80);
> Hardcoded value. (I also wonder if 0x81 might be more suitable, as it
> keeps the "be-a-master"-bit set. Still, both values work with my setup.)

>> +#ifdef I2C_CHIP_ERRATA
>> +/*
>> + * Chip errata, clear enable. This is not needed on rev D4 CPUs.
>> + * Disabling I2C too early may cause too short stop condition
>> + */
>> +udelay(4);
>> +clrbits8(&i2c_reg->i2mod, 1);
> I was unable to find the corresponding errata document, still I wonder
> if it is a 0 which should have been written? The text says "clear" and
> according to the reference manual, this means the bit should be 0.

setbits8() and clrbits8() use a bitmask as second argument.

setbits8(&i2c_reg->i2com, 0x80) will set bit 7 on the i2com register but 
leave bit 0 untouched. Likewise, clrbits8(&i2c_reg->i2mod, 1) will clear bit 0.

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


Re: [RESEND][PATCH 1/2][POWERPC] PIKA Warp: Update platform code tosupportRev B boards

2008-05-06 Thread Sean MacLennan
Opps, there is a bug in this patch. The file pika.h is not included. I
have attached it below, but a simpler solution might be to just delete
it from this file. It is not required to build the kernel.

The file currently contains the exported dtm functions. These functions
are only used by the telephony driver, which is not in the mainline
kernel.

Cheers,
   Sean

Signed-off-by: Sean MacLennan <[EMAIL PROTECTED]>

diff --git a/include/linux/pika.h b/include/linux/pika.h
new file mode 100644
index 000..83d51df
--- /dev/null
+++ b/include/linux/pika.h
@@ -0,0 +1,18 @@
+/*
+ * PIKA exported functions
+ *
+ * Copyright (c) 2008 PIKA Technologies
+ *   Sean MacLennan <[EMAIL PROTECTED]>
+ */
+
+#ifndef _LINUX_PIKA_H
+#define _LINUX_PIKA_H
+
+#ifdef __KERNEL__
+
+int pika_dtm_register_shutdown(void (*func)(void *arg), void *arg);
+int pika_dtm_unregister_shutdown(void (*func)(void *arg), void *arg);
+
+#endif
+
+#endif
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: MPC5200b MMC over SPI into PSC6

2008-05-06 Thread Grant Likely
On Mon, May 5, 2008 at 12:12 PM, Fabio Tosetto <[EMAIL PROTECTED]> wrote:
> Hello, I have an embedded system with an on-board processor powerpc MPC5200B
>  and Linux kernel 2.6.22,
>  I must turn over to MMC SPI on the PSC6.
>
>  First, I
>  have enabled PSC6:
>
>  in ../arch/ppc/platforms/lite5200.c added PSC6 in SPI mode

You're using arch/ppc which is depreciated.  You should move to using
arch/powerpc (set ARCH=powerpc when compiling).  Devices are then
enabled in the device tree source file
arch/powerpc/boot/dts/lite5200b.dts.

Many things have changed with MPC5200 support in the last year, you
should also use the latest kernel release (2.6.25.2 when it is
released.  If you use 2.6.25.1, then there is a trivial bug in the psc
serial port driver that you'll need to fix.  I'll include the link to
the patch below)

Cheers,
g.

http://ozlabs.org/pipermail/linuxppc-dev/2008-April/055495.html

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [Cbe-oss-dev] Xorg crash when PCI not enabled

2008-05-06 Thread Marvin

Hi Dan,

On Tuesday 06 May 2008 11:44:12 Dan Munckton wrote:
> Hi
>
> On Tue, 2008-05-06 at 10:14 +0200, Marvin wrote:
> > p.s. I installed fc9 last week and Xorg crashes when PCI is not
> > enabled. just
> > in case someone has the same problem.
>
> The Ubuntu PS3 team is also working on an a couple of bugs relating to
> lack of PCI info. I don't know if these are the same issues you're
> facing. We're tracking them here at [0] and [2].
>
> We had an initial crash was simple to fix [1]. Now we need to get X to
> automatically load the fbdev driver instead of vesa [2].

Fedora uses a newer Xorg (1.5.0 RC1) then Ubuntu. It seems that the 
detection/scanning code was changed. For me, it crashes right behind "using 
VT number 7", where a file in /sys/bus/pci is accessed (which of course does 
not exist), so its not related to the other mentioned bugs. I'm hesitating to 
file a fedora bug report, because the default kernel works. It's more a Xorg 
bug to assume everyone has PCI ...

Greetings

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


Re: [PATCH 1/3] [NET] uli526x: initialize the hardware prior to requesting interrupts

2008-05-06 Thread Jeff Garzik

Anton Vorontsov wrote:

The firmware on MPC8610HPCD boards enables ULI ethernet and leaves it
in some funky state before booting Linux. For drivers, it's always good
idea to (re)initialize the hardware prior to requesting interrupts.

This patch fixes the following oops:

Oops: Kernel access of bad area, sig: 11 [#1]
MPC86xx HPCD
NIP: c0172820 LR: c017287c CTR: 
[...]
NIP [c0172820] allocate_rx_buffer+0x2c/0xb0
LR [c017287c] allocate_rx_buffer+0x88/0xb0
Call Trace:
[df82bdc0] [c017287c] allocate_rx_buffer+0x88/0xb0 (unreliable)
[df82bde0] [c0173000] uli526x_interrupt+0xe4/0x49c
[df82be20] [c0045418] request_irq+0xf0/0x114
[df82be50] [c01737b0] uli526x_open+0x48/0x160
[df82be70] [c0201184] dev_open+0xb0/0xe8
[df82be80] [c0200104] dev_change_flags+0x90/0x1bc
[df82bea0] [c035fab0] ip_auto_config+0x214/0xef4
[df82bf60] [c03421c8] kernel_init+0xc4/0x2ac
[df82bff0] [c0010834] kernel_thread+0x44/0x60
Instruction dump:
4e800020 9421ffe0 7c0802a6 bfa10014 7c7e1b78 90010024 80030060 83e30054
2b80002f 419d0078 3fa0c039 4858 <907f0010> 80630088 2f83 419e0014

Signed-off-by: Anton Vorontsov <[EMAIL PROTECTED]>
---
 drivers/net/tulip/uli526x.c |8 
 1 files changed, 4 insertions(+), 4 deletions(-)


applied 1-2


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


Re: [PATCH] Delete unused fec_8xx net driver

2008-05-06 Thread Jeff Garzik

Becky Bruce wrote:

This driver has been superseded by fs_enet and is no longer in use.

Signed-off-by: Becky Bruce <[EMAIL PROTECTED]>


I cannot make an informed judgement on this.

ACK, and pass through platform tree, if all platform peeps are happy.


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


Re: [PATCH] Sam440ep support

2008-05-06 Thread Giuseppe Coviello
I've prepared another path to add the support for the sam440ep;
shortly I've merged arch/powerpc/boot/sam440ep.c in
arch/powerpc/boot/cuboot-sam440ep.c; I've inserted the code to make
the rtc works directly in arch/powerpc/platforms/44x/sam440ep.c (so
there isn't any arch/powerpc/sysdev/sam440ep.c anymore), and I've
cutted away the nasty hack (dma-mapping.h and memmalloc.c) to make the
sound works.

 arch/powerpc/boot/Makefile  |3 +-
 arch/powerpc/boot/cuboot-sam440ep.c |   49 ++
 arch/powerpc/boot/dts/sam440ep.dts  |  292 +++
 arch/powerpc/configs/44x/sam440ep_defconfig | 1192 +++
 arch/powerpc/platforms/44x/Kconfig  |9 +
 arch/powerpc/platforms/44x/Makefile |1 +
 arch/powerpc/platforms/44x/sam440ep.c   |   80 ++
 7 files changed, 1625 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 7822d25..e79f397 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -66,7 +66,7 @@ src-plat := of.c cuboot-52xx.c cuboot-824x.c
cuboot-83xx.c cuboot-85xx.c holly.c
fixed-head.S ep88xc.c ep405.c \
cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \
cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c simpleboot.c 
\
-   virtex405-head.S
+   virtex405-head.S cuboot-sam440ep.c
 src-boot := $(src-wlib) $(src-plat) empty.c

 src-boot := $(addprefix $(obj)/, $(src-boot))
@@ -213,6 +213,7 @@ image-$(CONFIG_WALNUT)  += 
treeImage.walnut
 # Board ports in arch/powerpc/platform/44x/Kconfig
 image-$(CONFIG_EBONY)  += treeImage.ebony cuImage.ebony
 image-$(CONFIG_BAMBOO) += treeImage.bamboo cuImage.bamboo
+image-$(CONFIG_SAM440EP)   += cuImage.sam440ep
 image-$(CONFIG_SEQUOIA)+= cuImage.sequoia
 image-$(CONFIG_RAINIER)+= cuImage.rainier
 image-$(CONFIG_TAISHAN)+= cuImage.taishan
diff --git a/arch/powerpc/boot/cuboot-sam440ep.c
b/arch/powerpc/boot/cuboot-sam440ep.c
new file mode 100644
index 000..7aa61a3
--- /dev/null
+++ b/arch/powerpc/boot/cuboot-sam440ep.c
@@ -0,0 +1,49 @@
+/*
+ * Old U-boot compatibility for Sam440ep based off bamboo.c code
+ * original copyrights below
+ *
+ * Author: Josh Boyer <[EMAIL PROTECTED]>
+ *
+ * Copyright 2007 IBM Corporation
+ *
+ * Based on cuboot-ebony.c
+ *
+ * Modified from cuboot-bamboo.c for sam440ep:
+ * Copyright 2008 Giuseppe Coviello <[EMAIL PROTECTED]>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 as published
+ * by the Free Software Foundation.
+ */
+
+#include "ops.h"
+#include "stdio.h"
+#include "44x.h"
+#include "4xx.h"
+#include "cuboot.h"
+
+#define TARGET_4xx
+#define TARGET_44x
+#include "ppcboot.h"
+
+static bd_t bd;
+
+static void sam440ep_fixups(void)
+{
+   unsigned long sysclk = ;
+
+   ibm440ep_fixup_clocks(sysclk, 11059200, 2500);
+   ibm4xx_sdram_fixup_memsize();
+   ibm4xx_quiesce_eth((u32 *)0xef600e00, (u32 *)0xef600f00);
+   dt_fixup_mac_addresses(&bd.bi_enetaddr, &bd.bi_enet1addr);
+}
+
+void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
+   unsigned long r6, unsigned long r7)
+{
+   CUBOOT_INIT();
+   platform_ops.fixups = sam440ep_fixups;
+   platform_ops.exit = ibm44x_dbcr_reset;
+   fdt_init(_dtb_start);
+   serial_console_init();
+}
diff --git a/arch/powerpc/boot/dts/sam440ep.dts
b/arch/powerpc/boot/dts/sam440ep.dts
new file mode 100644
index 000..764cab0
--- /dev/null
+++ b/arch/powerpc/boot/dts/sam440ep.dts
@@ -0,0 +1,292 @@
+/*
+ * Device Tree Source for ACube Sam440ep  based off bamboo.dts code
+ * original copyrights below
+ *
+ * Copyright (c) 2006, 2007 IBM Corp.
+ * Josh Boyer <[EMAIL PROTECTED]>
+ *
+ * Modified from bamboo.dts for sam440ep:
+ * Copyright 2008 Giuseppe Coviello <[EMAIL PROTECTED]>
+ *
+ * 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 = "acube,sam440ep";
+   compatible = "acube,sam440ep";
+   dcr-parent = <&/cpus/[EMAIL PROTECTED]>;
+
+   aliases {
+   ethernet0 = &EMAC0;
+   ethernet1 = &EMAC1;
+   serial0 = &UART0;
+   serial1 = &UART1;
+   serial2 = &UART2;
+   serial3 = &UART3;
+   };
+
+   cpus {
+   #address-cells = <1>;
+   #size-cells = <0>;
+
+   [EMAIL PROTECTED] {
+   device_type = "cpu";
+   model = "PowerPC,440EP";
+   reg = <0>;
+   clock

Re: [PATCH] [POWERPC] 4xx: Fix problem with new TLB storage attibute fields on 440x6 core

2008-05-06 Thread Stefan Roese
On Tuesday 06 May 2008, Josh Boyer wrote:
> > The new 440x6 core used on AMCC 460EX/GT introduces new storage attibure
> > fields to the TLB2 word. Those are:
> >
> > Bit  11   12   13   14   15
> >  WL1  IL1I IL1D IL2I IL2D
> >
> > With these bits the cache (L1 and L2) can be configured in a more
> > flexible way, instruction- and data-cache independently now. The "old" I
> > and W bits are still available and setting these old bits will
> > automically set these new bits too (for backward compatibilty).
> >
> > The current code does not clear these fields resulting in disabling the
> > cache by chance. This patch now makes sure that these new bits are
> > cleared when the TLB2 word is written.
> >
> > Signed-off-by: Stefan Roese <[EMAIL PROTECTED]>
>
> Finally catching back up with email.  This looks like .26 material,
> correct?

Definitely, yes.

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


Re: [i2c] [PATCH6/7] i2c: adds support for i2c bus on Freescale CPM1/CPM2 controllers

2008-05-06 Thread Wolfram Sang
On Tue, May 06, 2008 at 05:19:39PM +0200, Jochen Friedrich wrote:
> setbits8() and clrbits8() use a bitmask as second argument.
Ouch! Guess my mind wanted to read in_8 and out_8 for some reason...
Sorry and thanks for clarifying!

   Wolfram

-- 
  Dipl.-Ing. Wolfram Sang | http://www.pengutronix.de
 Pengutronix - Linux Solutions for Science and Industry


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

RE: [PATCH 2/4] [POWERPC] Xilinx: Virtex: Enable dcr for MMIO andNATIVE

2008-05-06 Thread Stephen Neuendorffer

Yes, but this is a symptom of a separate problem, which is that it is
sometimes valuable to generate an optimized kernel configuration for a
particular FPGA system.  First order, I'm more concerned about getting a
kernel which is generic and can work with (more or less) any device
tree.

Steve

> -Original Message-
> From: Benjamin Herrenschmidt [mailto:[EMAIL PROTECTED]
> Sent: Monday, May 05, 2008 5:12 PM
> To: Stephen Neuendorffer
> Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED];
linuxppc-dev@ozlabs.org
> Subject: Re: [PATCH 2/4] [POWERPC] Xilinx: Virtex: Enable dcr for MMIO
andNATIVE
> 
> 
> On Mon, 2008-05-05 at 10:56 -0700, Stephen Neuendorffer wrote:
> > FPGA designs may have need of both MMIO-based and NATIVE-based dcr
> > interfaces.
> 
> You say _may_ ... wouldn't it be better if it was thus left to a given
> virtex based platform to enable DCR_MMIO if it uses it and leave only
> NATIVE by default ?
> 
> > Signed-off-by: Stephen Neuendorffer
<[EMAIL PROTECTED]>
> > ---
> >  arch/powerpc/platforms/40x/Kconfig |2 ++
> >  1 files changed, 2 insertions(+), 0 deletions(-)
> >
> > diff --git a/arch/powerpc/platforms/40x/Kconfig
b/arch/powerpc/platforms/40x/Kconfig
> > index a9260e2..b8e06df 100644
> > --- a/arch/powerpc/platforms/40x/Kconfig
> > +++ b/arch/powerpc/platforms/40x/Kconfig
> > @@ -123,6 +123,8 @@ config 405GPR
> >
> >  config XILINX_VIRTEX
> > bool
> > +   select PPC_DCR_MMIO
> > +   select PPC_DCR_NATIVE
> >
> >  config XILINX_VIRTEX_II_PRO
> > bool
> 


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


RE: [PATCH 1/4] [v4][POWERPC] refactor dcr code

2008-05-06 Thread Stephen Neuendorffer

I'll fix it.

> -Original Message-
> From: Benjamin Herrenschmidt [mailto:[EMAIL PROTECTED]
> Sent: Monday, May 05, 2008 9:02 PM
> To: Stephen Rothwell
> Cc: Stephen Neuendorffer; [EMAIL PROTECTED];
[EMAIL PROTECTED]; linuxppc-
> [EMAIL PROTECTED]
> Subject: Re: [PATCH 1/4] [v4][POWERPC] refactor dcr code
> 
> 
> On Tue, 2008-05-06 at 13:40 +1000, Stephen Rothwell wrote:
> > Since find_dcr_parent has done a of_node_get on its return value,
you
> > leak a reference to dp here i.e. you need an of_node_put(dp) before
> > you return.
> 
> He inherited that bug from other dcr.c functions I wrote, my fault.
> 
> Stephen (N. not R.), would you mind fixing them while at it or do you
> want me to cook up a patch ?
> 
> Cheers,
> Ben.
> 
> 


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


Re: [PATCH 1/4] [v4][POWERPC] refactor dcr code

2008-05-06 Thread Josh Boyer
On Tue, 6 May 2008 10:34:36 -0700
"Stephen Neuendorffer" <[EMAIL PROTECTED]> wrote:

> 
> I'll fix it.

Great.  Otherwise the patch looks pretty good in my review.  I'll queue
it up for 2.6.27.

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


RE: [PATCH 4/4] [POWERPC] Xilinx: Framebuffer: Use dcrinfrastructure.

2008-05-06 Thread Stephen Neuendorffer


> -Original Message-
> From: David Gibson [mailto:[EMAIL PROTECTED]
> Sent: Monday, May 05, 2008 11:15 PM
> To: Grant Likely
> Cc: Stephen Neuendorffer; linuxppc-dev@ozlabs.org
> Subject: Re: [PATCH 4/4] [POWERPC] Xilinx: Framebuffer: Use
dcrinfrastructure.
> 
> On Mon, May 05, 2008 at 10:55:53PM -0600, Grant Likely wrote:
> > On Mon, May 5, 2008 at 11:56 AM, Stephen Neuendorffer
> > <[EMAIL PROTECTED]> wrote:
> > > This device contains a dcr interface.  Previously, the dcr
interface
> > >  was assumed to be used in mmio mode, and the register space of
the dcr
> > >  interface was precomputed and stuffed in the device tree.  This
patch
> > >  makes use of the new dcr infrastructure to represent the dcr
interface
> > >  as any other dcr interface in the device tree.  This enables the
dcr
> > >  interface to be connected directly to a native dcr interface in a
> > >  clean way.
> > >
> > >  In particular, the device tree expected looks like:
> > >
> > > dcr_v29_0: [EMAIL PROTECTED] {
> > > #address-cells = <1>;
> > > #size-cells = <1>;
> > > compatible =
"xlnx,dcr-v29-1.00.a";
> > > VGA_FrameBuffer: [EMAIL PROTECTED] {
> > > compatible =
"xlnx,plb-tft-cntlr-ref-1.00.a";
> > > dcr-parent =
<&opb2dcr_bridge_0>;
> > > dcr-reg = < 80 2 >;
> > > xlnx,default-tft-base-addr
= <7f>;
> > > xlnx,dps-init = <1>;
> > > xlnx,on-init = <1>;
> > >
xlnx,pixclk-is-busclk-divby4 = <1>;
> > > } ;
> > > } ;
> > >
> > > opb2dcr_bridge_0: [EMAIL PROTECTED]
{
> > > compatible =
"xlnx,opb2dcr-bridge-1.00.b";
> > > dcr-access-method = "mmio";
> > > dcr-controller ;
> > > dcr-mmio-range = < 4070 1000
>;
> > > dcr-mmio-stride = <4>;
> > > reg = < 4070 1000 >;
> > > xlnx,family = "virtex2p";
> > > } ;
> >
> > Hmmm, something doesn't quite feel right about this.  The node
> > describing the tft device is a child of the [EMAIL PROTECTED] node which is 
> > the
> > dcr bus.  However, dcr bindings use dcr-bus and dcr-reg instead of
> > parent-child relationship to specify how to access the dcr
registers.
> > So, in this example; if the device is described by [EMAIL PROTECTED], and 
> > the
dcr
> > bus is described by [EMAIL PROTECTED], then what does [EMAIL PROTECTED]
> > describe?  (I do understand what they really describe in EDK terms;
> > but I'm looking at it through device tree glasses).
> >
> > I don't think the presence of a [EMAIL PROTECTED] node is a problem, but in 
> > this
> > case #size/address-cells doesn't have any meaning (the child doesn't
> > have a reg property) and it looks like it should be a child of the
> > opb2dcr-bridge node (otherwise, what is it attached to?).
> 
> Yes, indeed.  If [EMAIL PROTECTED] is representing the DCR bus / interface it
> should really have the dcr-access-method property and have all the
> dcr-parent handles point at it.

Hmm, I tend to agree.  Certainly the address-cells and size-cells can
go.  Part of the nastiness is that I'm trying to maintain a modicum of
backward compatibility at the moment in the device tree generator.  This
structure allow the [EMAIL PROTECTED] node to have ranges; and the tft node to 
have
a properly translated reg = <> property for the existing driver which
only understands mmio.  I don't think it really works for the opb2dcr
bridge to be a bridge and a dcr-controller at the same time. :)  This
structure is also very similar to what is generated if the
dcr-controller is native from the processor (there's just no bridge).

> Current standard practice is not to represent the DCR bus as node with
> subnodes for the DCR-controlled devices.  That's because the DCR bus
> tends to run in addition to other on-chip busses, and some things have
> to go on another on-chip bus to make sense, but still have DCR control
> registers (for example the internal bus bridges on 4xx).
> 
> Arguably for DCR-only devices we should instead have a node
> representing the DCR bus and just put the devices under it with the
> DCR number encoded in reg in the normal way.  But then its
> inconsistent with the devices that need the other DCR representation.

Yup, it's exactly this problem I'm trying to fix in the case of the tft
driver.

> Segher and I did toss around some ideas for generalizing the DCR
> representation to a way of representing that any node has some
> p

RE: [PATCH] Xilinx: hwicap: cleanup polling timeout.

2008-05-06 Thread Stephen Neuendorffer
Not really... In this case 'faster' means 'faster ICAP core' not 'faster
processor':
This is really something that is bounded by the number of cycles.

Steve

> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of
Grant Likely
> Sent: Monday, May 05, 2008 1:01 PM
> To: Stephen Neuendorffer
> Cc: linuxppc-dev@ozlabs.org
> Subject: Re: [PATCH] Xilinx: hwicap: cleanup polling timeout.
> 
> On Mon, May 5, 2008 at 12:20 PM, Stephen Neuendorffer
> <[EMAIL PROTECTED]> wrote:
> > In order to avoid polling forever if an error occurs, this driver
> >  includes a timeout counter.  However, in fast systems, this counter
> >  wasn't high enough.  This patch fixes the bug and also makes the
> >  buffer-based and fifo-based drivers return the same error condition
on
> >  a timeout (-EIO).
> 
> Would it be better to base the timeout on real time instead of a hard
> iteration count?
> 
> Cheers,
> g.
> 
> >
> >  Signed-off-by: Stephen Neuendorffer
<[EMAIL PROTECTED]>
> >  ---
> >   drivers/char/xilinx_hwicap/buffer_icap.c   |   10 --
> >   drivers/char/xilinx_hwicap/fifo_icap.c |9 +
> >   drivers/char/xilinx_hwicap/xilinx_hwicap.h |3 ---
> >   3 files changed, 17 insertions(+), 5 deletions(-)
> >
> >  diff --git a/drivers/char/xilinx_hwicap/buffer_icap.c
b/drivers/char/xilinx_hwicap/buffer_icap.c
> >  index aa7f796..0993883 100644
> >  --- a/drivers/char/xilinx_hwicap/buffer_icap.c
> >  +++ b/drivers/char/xilinx_hwicap/buffer_icap.c
> >  @@ -35,6 +35,12 @@
> >
> >   #include "buffer_icap.h"
> >
> >  +/* Number of times to poll the done register.  This has to be
large
> >  +   enough to allow an entire configuration to complete. If an
entire
> >  +   page (4kb) is configured at once, that could take up to 4k
cycles
> >  +   with a byte-wide icap interface. */
> >  +#define XHI_MAX_RETRIES 5000
> >  +
> >   /* Indicates how many bytes will fit in a buffer. (1 BRAM) */
> >   #define XHI_MAX_BUFFER_BYTES2048
> >   #define XHI_MAX_BUFFER_INTS (XHI_MAX_BUFFER_BYTES >> 2)
> >  @@ -208,7 +214,7 @@ static int buffer_icap_device_read(struct
hwicap_drvdata *drvdata,
> > while (buffer_icap_busy(base_address)) {
> > retries++;
> > if (retries > XHI_MAX_RETRIES)
> >  -   return -EBUSY;
> >  +   return -EIO;
> > }
> > return 0;
> >
> >  @@ -242,7 +248,7 @@ static int buffer_icap_device_write(struct
hwicap_drvdata *drvdata,
> > while (buffer_icap_busy(base_address)) {
> > retries++;
> > if (retries > XHI_MAX_RETRIES)
> >  -   return -EBUSY;
> >  +   return -EIO;
> > }
> > return 0;
> >
> >  diff --git a/drivers/char/xilinx_hwicap/fifo_icap.c
b/drivers/char/xilinx_hwicap/fifo_icap.c
> >  index 776b505..d1cd928 100644
> >  --- a/drivers/char/xilinx_hwicap/fifo_icap.c
> >  +++ b/drivers/char/xilinx_hwicap/fifo_icap.c
> >  @@ -35,6 +35,15 @@
> >
> >   #include "fifo_icap.h"
> >
> >  +/* Number of times to poll the done register.  This has to be
large
> >  + * enough to allow an entire configuration to complete.  If an
entire
> >  + * page (4kb) is configured at once, that could take up to 4k
cycles
> >  + * with a byte-wide icap interface.  In most cases, this driver is
> >  + * used with a much smaller fifo, but this should be sufficient in
the
> >  + * worst case.
> >  + */
> >  +#define XHI_MAX_RETRIES 5000
> >  +
> >   /* Register offsets for the XHwIcap device. */
> >   #define XHI_GIER_OFFSET0x1C  /* Device Global Interrupt
Enable Reg */
> >   #define XHI_IPISR_OFFSET 0x20  /* Interrupt Status Register */
> >  diff --git a/drivers/char/xilinx_hwicap/xilinx_hwicap.h
> b/drivers/char/xilinx_hwicap/xilinx_hwicap.h
> >  index 1f9c8b0..fd4be31 100644
> >  --- a/drivers/char/xilinx_hwicap/xilinx_hwicap.h
> >  +++ b/drivers/char/xilinx_hwicap/xilinx_hwicap.h
> >  @@ -89,9 +89,6 @@ struct hwicap_driver_config {
> > void (*reset)(struct hwicap_drvdata *drvdata);
> >   };
> >
> >  -/* Number of times to poll the done regsiter */
> >  -#define XHI_MAX_RETRIES 10
> >  -
> >   / Constant Definitions */
> >
> >   #define XHI_PAD_FRAMES  0x1
> >  --
> >  1.5.3.4-dirty
> >
> >
> >
> >
> 
> 
> 
> --
> Grant Likely, B.Sc., P.Eng.
> Secret Lab Technologies Ltd.


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


[PATCH 1/4] [v5][POWERPC] refactor dcr code

2008-05-06 Thread Stephen Neuendorffer
Previously, dcr support was configured at compile time to either using
MMIO or native dcr instructions.  Although this works for most
platforms, it fails on FPGA platforms:

1) Systems may include more than one dcr bus.
2) Systems may be native dcr capable and still use memory mapped dcr interface.

This patch provides runtime support based on the device trees for the
case where CONFIG_PPC_DCR_MMIO and CONFIG_PPC_DCR_NATIVE are both
selected.  Previously, this was a poorly defined configuration, which
happened to provide NATIVE support.  The runtime selection is made
based on the dcr controller having a 'dcr-access-method' attribute
in the device tree.  If only one of the above options is selected,
then the code uses #defines to select only the used code in order to
avoid introducing overhead in existing usage.

Signed-off-by: Stephen Neuendorffer <[EMAIL PROTECTED]>

--

[v4]
Converted flags to be DCR_HOST_*
Added WARN_ON in case someone forgets to call MAP_OK()
Fixed dealing with the dcr-access-method correctly, which was still
off in the wrong patch.
[v5]
Fixed leaked reference to the device tree.
---
 arch/powerpc/sysdev/dcr.c |  154 +
 include/asm-powerpc/dcr-generic.h |   49 
 include/asm-powerpc/dcr-mmio.h|   20 +++--
 include/asm-powerpc/dcr-native.h  |   16 +++--
 include/asm-powerpc/dcr.h |   39 +-
 5 files changed, 231 insertions(+), 47 deletions(-)
 create mode 100644 include/asm-powerpc/dcr-generic.h

diff --git a/arch/powerpc/sysdev/dcr.c b/arch/powerpc/sysdev/dcr.c
index 437e48d..5f39a79 100644
--- a/arch/powerpc/sysdev/dcr.c
+++ b/arch/powerpc/sysdev/dcr.c
@@ -23,6 +23,105 @@
 #include 
 #include 
 
+static struct device_node *find_dcr_parent(struct device_node *node)
+{
+   struct device_node *par, *tmp;
+   const u32 *p;
+
+   for (par = of_node_get(node); par;) {
+   if (of_get_property(par, "dcr-controller", NULL))
+   break;
+   p = of_get_property(par, "dcr-parent", NULL);
+   tmp = par;
+   if (p == NULL)
+   par = of_get_parent(par);
+   else
+   par = of_find_node_by_phandle(*p);
+   of_node_put(tmp);
+   }
+   return par;
+}
+
+#if defined(CONFIG_PPC_DCR_NATIVE) && defined(CONFIG_PPC_DCR_MMIO)
+
+bool dcr_map_ok_generic(dcr_host_t host)
+{
+   if (host.type == DCR_HOST_NATIVE)
+   return dcr_map_ok_native(host.host.native);
+   else if (host.type == DCR_HOST_MMIO)
+   return dcr_map_ok_mmio(host.host.mmio);
+   else
+   return 0;
+}
+EXPORT_SYMBOL_GPL(dcr_map_ok_generic);
+
+dcr_host_t dcr_map_generic(struct device_node *dev,
+  unsigned int dcr_n,
+  unsigned int dcr_c)
+{
+   dcr_host_t host;
+   struct device_node *dp;
+   const char *prop;
+
+   host.type = DCR_HOST_INVALID;
+
+   dp = find_dcr_parent(dev);
+   if (dp == NULL)
+   return host;
+
+   prop = of_get_property(dp, "dcr-access-method", NULL);
+
+   pr_debug("dcr_map_generic(dcr-access-method = %s)\n", prop);
+
+   if (!strcmp(prop, "native")) {
+   host.type = DCR_HOST_NATIVE;
+   host.host.native = dcr_map_native(dev, dcr_n, dcr_c);
+   } else if (!strcmp(prop, "mmio")) {
+   host.type = DCR_HOST_MMIO;
+   host.host.mmio = dcr_map_mmio(dev, dcr_n, dcr_c);
+   }
+
+   of_node_put(dp);
+   return host;
+}
+EXPORT_SYMBOL_GPL(dcr_map_generic);
+
+void dcr_unmap_generic(dcr_host_t host, unsigned int dcr_c)
+{
+   if (host.type == DCR_HOST_NATIVE)
+   dcr_unmap_native(host.host.native, dcr_c);
+   else if (host.type == DCR_HOST_MMIO)
+   dcr_unmap_mmio(host.host.mmio, dcr_c);
+   else /* host.type == DCR_HOST_INVALID */
+   WARN_ON(true);
+}
+EXPORT_SYMBOL_GPL(dcr_unmap_generic);
+
+u32 dcr_read_generic(dcr_host_t host, unsigned int dcr_n)
+{
+   if (host.type == DCR_HOST_NATIVE)
+   return dcr_read_native(host.host.native, dcr_n);
+   else if (host.type == DCR_HOST_MMIO)
+   return dcr_read_mmio(host.host.mmio, dcr_n);
+   else /* host.type == DCR_HOST_INVALID */
+   WARN_ON(true);
+   return 0;
+}
+EXPORT_SYMBOL_GPL(dcr_read_generic);
+
+void dcr_write_generic(dcr_host_t host, unsigned int dcr_n, u32 value)
+{
+   if (host.type == DCR_HOST_NATIVE)
+   dcr_write_native(host.host.native, dcr_n, value);
+   else if (host.type == DCR_HOST_MMIO)
+   dcr_write_mmio(host.host.mmio, dcr_n, value);
+   else /* host.type == DCR_HOST_INVALID */
+   WARN_ON(true);
+}
+EXPORT_SYMBOL_GPL(dcr_write_generic);
+
+#endif /* defined(CONFIG_PPC_DCR_NATIVE) && defined(CONFIG_PPC_DCR_MMIO) */
+
 unsigned int dcr_resource_start(struct device_node *np, unsigned 

Re: [PATCH] [POWERPC] Fix of_i2c include for module compilation

2008-05-06 Thread Jochen Friedrich
Hi Paul,

>> -#ifdef CONFIG_OF_I2C
>> +#if defined(CONFIG_OF_I2C) || defined(CONFIG_OF_I2C_MODULE)
>>  
>>  void of_register_i2c_devices(struct i2c_adapter *adap,
>>   struct device_node *adap_node);
> 
> Why do we have that ifdef there at all?  There's only that one
> external declaration within it, so the #ifdef and #endif could just be
> removed.  If the ifdef hadn't been there in the first place we
> wouldn't have had this problem.

You're right. I mainly copied from of_gpio.h without too much thinking :(.
I'll resend.

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


[PATCHv2 2.6.26-rc1] [POWERPC] Fix of_i2c include for module compilation

2008-05-06 Thread Jochen Friedrich
Remove #ifdef CONFIG_OF_I2C as this breaks module compilation.
Drivers using this header should depend on OF_I2C anyways, so
there's no need to make this conditional

Signed-off-by: Jochen Friedrich <[EMAIL PROTECTED]>
---
 include/linux/of_i2c.h |4 
 1 files changed, 0 insertions(+), 4 deletions(-)

diff --git a/include/linux/of_i2c.h b/include/linux/of_i2c.h
index 2e5a967..bd2a870 100644
--- a/include/linux/of_i2c.h
+++ b/include/linux/of_i2c.h
@@ -14,11 +14,7 @@
 
 #include 
 
-#ifdef CONFIG_OF_I2C
-
 void of_register_i2c_devices(struct i2c_adapter *adap,
 struct device_node *adap_node);
 
-#endif /* CONFIG_OF_I2C */
-
 #endif /* __LINUX_OF_I2C_H */
-- 
1.5.5.1

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


[RFC] gianfar: low gigabit throughput

2008-05-06 Thread Anton Vorontsov
Hi all,

Down here few question regarding networking throughput, I would
appreciate any thoughts or ideas.

On the MPC8315E-RDB board (CPU at 400MHz, CSB at 133 MHz) I'm observing
relatively low TCP throughput using gianfar driver...

The maximum value I've seen with the current kernels is 142 Mb/s of TCP
and 354 Mb/s of UDP (NAPI and interrupts coalescing enabled):

  [EMAIL PROTECTED]:~# netperf -l 10 -H 10.0.1.1 -t TCP_STREAM -- -m 32768 -s 
157344 -S 157344
  TCP STREAM TEST to 10.0.1.1
  #Cpu utilization 0.10
  Recv   SendSend
  Socket Socket  Message  Elapsed
  Size   SizeSize Time Throughput
  bytes  bytes   bytessecs.10^6bits/sec

  206848 212992  3276810.00 142.40

  [EMAIL PROTECTED]:~# netperf -l 10 -H 10.0.1.1 -t UDP_STREAM -- -m 32768 -s 
157344 -S 157344
  UDP UNIDIRECTIONAL SEND TEST to 10.0.1.1
  #Cpu utilization 100.00
  Socket  Message  Elapsed  Messages
  SizeSize Time Okay Errors   Throughput
  bytes   bytessecs#  #   10^6bits/sec

  212992   32768   10.00   13539  0 354.84
  206848   10.00   13539354.84


Is this normal?

netperf running in loopback gives me 329 Mb/s of TCP throughput:

  [EMAIL PROTECTED]:~# netperf -l 10 -H 127.0.0.1 -t TCP_STREAM -- -m 32768 -s 
157344 -S 157344
  TCP STREAM TEST to 127.0.0.1
  #Cpu utilization 100.00
  #Cpu utilization 100.00
  Recv   SendSend
  Socket Socket  Message  Elapsed
  Size   SizeSize Time Throughput
  bytes  bytes   bytessecs.10^6bits/sec

  212992 212992  3276810.00 329.60


May I consider this as a something that is close to the Linux'
theoretical maximum for this setup? Or this isn't reliable test?


I can compare with teh MPC8377E-RDB (very similar board - exactly the same
ethernet phy, the same drivers are used, i.e. everything is the same from
the ethernet stand point), but running at 666 MHz, CSB at 333MHz:

 |CPU MHz|BUS MHz|UDP Mb/s|TCP Mb/s|
  --
  MPC8377|666|333| 646| 264|
  MPC8315|400|133| 354| 142|
  --
  RATIO  |1.6|2.5| 1.8| 1.8|

It seems that things are really dependant on the CPU/CSB speed.

I've tried to tune gianfar driver in various ways... and it gave
some positive results with this patch:

diff --git a/drivers/net/gianfar.h b/drivers/net/gianfar.h
index fd487be..b5943f9 100644
--- a/drivers/net/gianfar.h
+++ b/drivers/net/gianfar.h
@@ -123,8 +123,8 @@ extern const char gfar_driver_version[];
 #define GFAR_10_TIME25600
 
 #define DEFAULT_TX_COALESCE 1
-#define DEFAULT_TXCOUNT16
-#define DEFAULT_TXTIME 21
+#define DEFAULT_TXCOUNT80
+#define DEFAULT_TXTIME 105
 
 #define DEFAULT_RXTIME 21


Basically this raises the tx interrupts coalescing threshold (raising
it more didn't help, as well as didn't help raising rx thresholds).
Now:

[EMAIL PROTECTED]:~# netperf -l 3 -H 10.0.1.1 -t TCP_STREAM -- -m 32768 -s 
157344 -S 157344
TCP STREAM TEST to 10.0.1.1
#Cpu utilization 100.00
Recv   SendSend
Socket Socket  Message  Elapsed
Size   SizeSize Time Throughput
bytes  bytes   bytessecs.10^6bits/sec

206848 212992  327683.00  163.04


That is +21 Mb/s (14% up). Not fantastic, but good anyway.

As expected, the latency increased too:

Before the patch:

--- 10.0.1.1 ping statistics ---
20 packets transmitted, 20 received, 0% packet loss, time 18997ms
rtt min/avg/max/mdev = 0.108/0.124/0.173/0.022 ms

After:

--- 10.0.1.1 ping statistics ---
22 packets transmitted, 22 received, 0% packet loss, time 20997ms
rtt min/avg/max/mdev = 0.158/0.167/0.182/0.004 ms


34% up... heh. Should we sacrifice the latency in favour of throughput?
Is 34% latency growth bad thing? What is worse, lose 21 Mb/s or 34% of
latency? ;-)


Thanks in advance,

p.s. Btw, the patch above helps even better on the on the -rt kernels,
since on the -rt kernels the throughput is near 100 Mb/s, with the
patch the throughput is close to 140 Mb/s.

-- 
Anton Vorontsov
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] [POWERPC] 4xx: Fix problem with new TLB storage attibute fields on 440x6 core

2008-05-06 Thread Josh Boyer
On Tue, 6 May 2008 18:41:44 +0200
Stefan Roese <[EMAIL PROTECTED]> wrote:

> On Tuesday 06 May 2008, Josh Boyer wrote:
> > > The new 440x6 core used on AMCC 460EX/GT introduces new storage attibure
> > > fields to the TLB2 word. Those are:
> > >
> > > Bit  11   12   13   14   15
> > >  WL1  IL1I IL1D IL2I IL2D
> > >
> > > With these bits the cache (L1 and L2) can be configured in a more
> > > flexible way, instruction- and data-cache independently now. The "old" I
> > > and W bits are still available and setting these old bits will
> > > automically set these new bits too (for backward compatibilty).
> > >
> > > The current code does not clear these fields resulting in disabling the
> > > cache by chance. This patch now makes sure that these new bits are
> > > cleared when the TLB2 word is written.
> > >
> > > Signed-off-by: Stefan Roese <[EMAIL PROTECTED]>
> >
> > Finally catching back up with email.  This looks like .26 material,
> > correct?
> 
> Definitely, yes.

Figured.  I have it queued up.

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


Please pull 'for-2.6.26' branch of 4xx tree

2008-05-06 Thread Josh Boyer
Hi Paul,

Please pull from:

 master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx.git for-2.6.26

to pick up a small number of fixes for 4xx.  One corrects the PCI
addresses for Sequoia boards, another fixes TLB issues with newer 440x6
cores.  Stefan's pci-e endpoint driver is also included here as it is
a fairly contained change with Ben's Ack.  It should have been included
in my last pull request, but I missed it and have been out.

thx,
josh

Christian Ehrhardt (1):
  [POWERPC] 4xx: Fix PCI mem in sequoia DTS

Stefan Roese (2):
  [POWERPC] 4xx: Fix problem with new TLB storage attibute fields on 440x6 c
  [POWERPC] 4xx: Add endpoint support to 4xx PCIe driver

 arch/powerpc/boot/dts/sequoia.dts   |9 ++-
 arch/powerpc/kernel/head_44x.S  |9 ++-
 arch/powerpc/sysdev/ppc4xx_pci.c|  180 +--
 include/asm-powerpc/pgtable-ppc32.h |7 ++
 4 files changed, 153 insertions(+), 52 deletions(-)
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


arch/ppc is broken

2008-05-06 Thread Josh Boyer
Every arch/ppc defconfig I built today failed.  Someone broke it.
Those interested in fixing it might want to see why.  I suspect the

 ppc/powerpc: use kbuild.h instead of defining macros in asm-offsets.c

is responsible, but I have no evidence of that.

josh

/home/jwboyer/src/linux-2.6/arch/ppc/kernel/ppc_ksyms.c:152: error: 
'__flush_icache_range' undeclared here (not in a function)
/home/jwboyer/src/linux-2.6/arch/ppc/kernel/ppc_ksyms.c:152: warning: type 
defaults to 'int' in declaration of '__flush_icache_range'
/home/jwboyer/src/linux-2.6/arch/ppc/kernel/ppc_ksyms.c:153: error: 
'flush_dcache_range' undeclared here (not in a function)
/home/jwboyer/src/linux-2.6/arch/ppc/kernel/ppc_ksyms.c:153: warning: type 
defaults to 'int' in declaration of 'flush_dcache_range'
/home/jwboyer/src/linux-2.6/arch/ppc/kernel/ppc_ksyms.c:154: error: 
'flush_icache_user_range' undeclared here (not in a function)
/home/jwboyer/src/linux-2.6/arch/ppc/kernel/ppc_ksyms.c:154: warning: type 
defaults to 'int' in declaration of 'flush_icache_user_range'
/home/jwboyer/src/linux-2.6/arch/ppc/kernel/ppc_ksyms.c:155: error: 
'flush_dcache_page' undeclared here (not in a function)
/home/jwboyer/src/linux-2.6/arch/ppc/kernel/ppc_ksyms.c:155: warning: type 
defaults to 'int' in declaration of 'flush_dcache_page'
make[2]: *** [arch/ppc/kernel/ppc_ksyms.o] Error 1
/home/jwboyer/src/linux-2.6/arch/powerpc/kernel/prom_init.c:130: error: 
expected specifier-qualifier-list before 'ihandle'
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [RFC] gianfar: low gigabit throughput

2008-05-06 Thread Rick Jones

Anton Vorontsov wrote:

Hi all,

Down here few question regarding networking throughput, I would
appreciate any thoughts or ideas.

On the MPC8315E-RDB board (CPU at 400MHz, CSB at 133 MHz) I'm observing
relatively low TCP throughput using gianfar driver...


What is the "target" of the test - is it another of those boards, or 
something else?




The maximum value I've seen with the current kernels is 142 Mb/s of TCP
and 354 Mb/s of UDP (NAPI and interrupts coalescing enabled):

  [EMAIL PROTECTED]:~# netperf -l 10 -H 10.0.1.1 -t TCP_STREAM -- -m 32768 -s 
157344 -S 157344
  TCP STREAM TEST to 10.0.1.1
  #Cpu utilization 0.10
  Recv   SendSend
  Socket Socket  Message  Elapsed
  Size   SizeSize Time Throughput
  bytes  bytes   bytessecs.10^6bits/sec

  206848 212992  3276810.00 142.40

  [EMAIL PROTECTED]:~# netperf -l 10 -H 10.0.1.1 -t UDP_STREAM -- -m 32768 -s 
157344 -S 157344
  UDP UNIDIRECTIONAL SEND TEST to 10.0.1.1
  #Cpu utilization 100.00
  Socket  Message  Elapsed  Messages
  SizeSize Time Okay Errors   Throughput
  bytes   bytessecs#  #   10^6bits/sec

  212992   32768   10.00   13539  0 354.84
  206848   10.00   13539354.84



I have _got_ to make CPU utilization enabled by default one of these 
days :)  At least for mechanisms which don't require calibration.



Is this normal?


Does gianfar do TSO?  If not, what happens when you tell UDP_STREAM to 
send 1472 byte messages to bypass IP fragmentation?


While stock netperf won't report what the socket buffer size becomes 
when you allow autotuning to rear its head, you can take the top of 
trunk and enable the "omni" tests (./configure --enable-omni) and those 
versions of *_STREAM etc can report what the socket buffer size was at 
the beginning and at the end of the test. You can let the stack autotune 
and see if anything changes there.  You can do the same with stock 
netperf, just it will only report the initial socket buffer sizes...



netperf running in loopback gives me 329 Mb/s of TCP throughput:

  [EMAIL PROTECTED]:~# netperf -l 10 -H 127.0.0.1 -t TCP_STREAM -- -m 32768 -s 
157344 -S 157344
  TCP STREAM TEST to 127.0.0.1
  #Cpu utilization 100.00
  #Cpu utilization 100.00
  Recv   SendSend
  Socket Socket  Message  Elapsed
  Size   SizeSize Time Throughput
  bytes  bytes   bytessecs.10^6bits/sec

  212992 212992  3276810.00 329.60


May I consider this as a something that is close to the Linux'
theoretical maximum for this setup? Or this isn't reliable test?


I'm always leery of using a loopback number.  It excercises both send 
and receive at the same time, but without the driver.  Also, lo tends to 
have a much larger MTU than a "standard" NIC and if that NIC doesn't to 
TSO and LRO that can be a big difference in the number of times up and 
down the stack per KB transferred.



I can compare with teh MPC8377E-RDB (very similar board - exactly the same
ethernet phy, the same drivers are used, i.e. everything is the same from
the ethernet stand point), but running at 666 MHz, CSB at 333MHz:

 |CPU MHz|BUS MHz|UDP Mb/s|TCP Mb/s|
  --
  MPC8377|666|333| 646| 264|
  MPC8315|400|133| 354| 142|
  --
  RATIO  |1.6|2.5| 1.8| 1.8|

It seems that things are really dependant on the CPU/CSB speed.


What is the nature of the DMA stream between the two tests?  I find it 
interesting that the TCP Mb/s went up by more than the CPU MHz and 
wonder how much the Bus MHz came into play there - perhaps there were 
more DMA's to setup or across a broader memory footprint for TCP than 
for UDP.




I've tried to tune gianfar driver in various ways... and it gave
some positive results with this patch:

diff --git a/drivers/net/gianfar.h b/drivers/net/gianfar.h
index fd487be..b5943f9 100644
--- a/drivers/net/gianfar.h
+++ b/drivers/net/gianfar.h
@@ -123,8 +123,8 @@ extern const char gfar_driver_version[];
 #define GFAR_10_TIME25600
 
 #define DEFAULT_TX_COALESCE 1

-#define DEFAULT_TXCOUNT16
-#define DEFAULT_TXTIME 21
+#define DEFAULT_TXCOUNT80
+#define DEFAULT_TXTIME 105
 
 #define DEFAULT_RXTIME	21


No ethtool coalescing tuning support for gianfar?-)


Basically this raises the tx interrupts coalescing threshold (raising
it more didn't help, as well as didn't help raising rx thresholds).
Now:

[EMAIL PROTECTED]:~# netperf -l 3 -H 10.0.1.1 -t TCP_STREAM -- -m 32768 -s 
157344 -S 157344
TCP STREAM TEST to 10.0.1.1
#Cpu utilization 100.00
Recv   SendSend
Socket Socket  Message  Elapsed
Size   SizeSize Time Throughput
bytes  bytes   bytessecs.10^6bits/sec

206848 212992  327683.00  163.04


That is +21 Mb/s (14% up). Not fantastic, but good anyway.

As expected, the latency increased too:

Before the patch:

--- 10.0.1.1 ping stat

Re: [RFC] gianfar: low gigabit throughput

2008-05-06 Thread Andy Fleming


I've tried to tune gianfar driver in various ways... and it gave
some positive results with this patch:
diff --git a/drivers/net/gianfar.h b/drivers/net/gianfar.h
index fd487be..b5943f9 100644
--- a/drivers/net/gianfar.h
+++ b/drivers/net/gianfar.h
@@ -123,8 +123,8 @@ extern const char gfar_driver_version[];
#define GFAR_10_TIME25600
 #define DEFAULT_TX_COALESCE 1
-#define DEFAULT_TXCOUNT16
-#define DEFAULT_TXTIME 21
+#define DEFAULT_TXCOUNT80
+#define DEFAULT_TXTIME 105
 #define DEFAULT_RXTIME 21


No ethtool coalescing tuning support for gianfar?-)


Yeah, there's coalescing tuning in gianfar.

Anton, those numbers aren't too surprising on a 400 MHz machine, I  
think.  But I'd be happy to see any analysis on performance  
bottlenecks in the driver.  And patches to fix those bottlenecks are  
even better!  :)


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


Strange build error in boot/wrapper script

2008-05-06 Thread Gerhard Pircher
Hi,

I get a rather strange error here with kernel v2.6.26-rc1 and gcc version
4.1.2 20061115 (prerelease) (Debian 4.1.1-21) (cross compile version).
This is the output of the build process:

> $ make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- zImage
>   CHK include/linux/version.h
>   CHK include/linux/utsrelease.h
>   CALLscripts/checksyscalls.sh
>   CHK include/linux/compile.h
>   CALLarch/powerpc/kernel/systbl_chk.sh
>   CALLarch/powerpc/kernel/prom_init_check.sh
>   WRAParch/powerpc/boot/uImage
> Image Name:   Linux-2.6.26-rc1
> Created:  Tue May  6 22:43:54 2008
> Image Type:   PowerPC Linux Kernel Image (gzip compressed)
> Data Size:1780300 Bytes = 1738.57 kB = 1.70 MB
> Load Address: 0x
> Entry Point:  0x
> arch/powerpc/boot/dtc -O dtb -o arch/powerpc/boot/amigaone.dtb -b 0  
> /home/geri/AmigaOne/Linux/linux-2.6.26/arch/powerpc/boot/dts/amigaone.dts
> DTC: dts->dtb  on file 
> "/home/geri/AmigaOne/Linux/linux-2.6.26/arch/powerpc/boot/dts/amigaone.dts"
>   WRAParch/powerpc/boot/cuImage.amigaone
> powerpc-linux-gnu-objcopy: Warning: could not locate './vmlinux.strip'. 
> reason: The value is too big for the defined data type (translated to English)
> Image Name:   Linux-2.6.26-rc1
> Created:  Tue May  6 22:43:54 2008
> Image Type:   PowerPC Linux Kernel Image (gzip compressed)
> Data Size:21675 Bytes = 21.17 kB = 0.02 MB
> Load Address: 0x0040
> Entry Point:  0x00400444
> rm arch/powerpc/boot/amigaone.dtb

As you can see, the wrapper script generates an incomplete cuImage. The
vmlinux.strip file is there, but I wonder why it is so big:

> -rw-r--r--  3225085348 2008-05-06 21:58 vmlinux.strip

Any ideas what is going wrong here? Broken compiler?

Thanks!

regards,

Gerhard

-- 
249 Spiele für nur 1 Preis. Die GMX Spieleflatrate schon ab 9,90 Euro.
Neu: Asterix bei den Olympischen Spielen: http://flat.games.gmx.de
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


ifconfig MPC8313

2008-05-06 Thread Ronald Madrid
Hello all,

I am working on porting linux 2.6.25 with a custom MPC8313 based board, but am 
having a little bit of trouble with the ethernet, more specifically ifconfig.

after typing "ifconfig eth0 10.196.31.84" I receive the following error
ifconfig: SIOCSIFFLAGS: Cannot assign requested address

after entering a MAC address via "ifconfig eth0 hw ether"  I receive this error.
e0024520:01 not found
eth0: Could not attach to PHY
ifconfig: SIOCSIFFLAGS: No such device

which I have traced to bus_find_device, but I'm not sure what to make of this.

I'm not sure where I'm going wrong here, and I'm sure that it's something that 
I'm forgetting to do/include.

Sorry if this isn't enough information, but I don't know enough to know what 
other information would be needed.


Ron

_
Get Free (PRODUCT) RED™  Emoticons, Winks and Display Pics.
http://joinred.spaces.live.com?ocid=TXT_HMTG_prodredemoticons_052008___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Re: ifconfig MPC8313

2008-05-06 Thread Scott Wood

Ronald Madrid wrote:

Hello all,

I am working on porting linux 2.6.25 with a custom MPC8313 based board, 
but am having a little bit of trouble with the ethernet, more 
specifically ifconfig.


after typing "ifconfig eth0 10.196.31.84" I receive the following error
ifconfig: SIOCSIFFLAGS: Cannot assign requested address

after entering a MAC address via "ifconfig eth0 hw ether"  I receive 
this error.

e0024520:01 not found
eth0: Could not attach to PHY
ifconfig: SIOCSIFFLAGS: No such device


It can't find the PHY for eth0.  What does your device tree look like, 
and what is the relevant PHY address?


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


RE: ifconfig MPC8313

2008-05-06 Thread Ronald Madrid
I'm guessing by device tree you mean the .dts file?  I'm using a modified 
version of the mpc8313erdb.dts with minor changes (to the local bus only).  
Here is a copy of it./* * MPC8313E RDB Device Tree Source * * Copyright 2005, 
2006, 2007 Freescale Semiconductor Inc. * * This program is free software; you 
can redistribute  it and/or modify it * under  the terms of  the GNU General  
Public License as published by the * Free Software Foundation;  either version 
2 of the  License, or (at your * option) any later version. *//dts-v1/;/ {
model = "MPC8313ERDB";compatible = "MPC8313ERDB", "MPC831xRDB", 
"MPC83xxRDB";#address-cells = <1>;#size-cells = <1>;aliases {   
 ethernet0 = &enet0;ethernet1 = &enet1;serial0 = &serial0;  
  serial1 = &serial1;pci0 = &pci0;};cpus {
#address-cells = <1>;#size-cells = <0>;PowerPC,[EMAIL 
PROTECTED] {device_type = "cpu";reg = <0x0>;
d-cache-line-size = <32>;i-cache-line-size = <32>;
d-cache-size = <16384>;i-cache-size = <16384>;
timebase-frequency = <0>;// from bootloaderbus-frequency = <0>; 
   // from bootloaderclock-frequency = <0>;// from 
bootloader};};memory {device_type = "memory";
reg = <0x 0x0800>;// 128MB at 0};[EMAIL PROTECTED] {
#address-cells = <2>;#size-cells = <1>;compatible = 
"fsl,mpc8313-elbc", "fsl,elbc", "simple-bus";reg = <0xe0005000 0x1000>; 
   interrupts = <77 0x8>;interrupt-parent = <&ipic>;// CS0 
and CS1 are swapped when// booting from nand, but the// 
addresses are the same.//ranges = <0x0 0x0 0xfe00 0x0080//  
0x1 0x0 0xe280 0x8000//  0x2 0x0 0xf000 
0x0002//  0x3 0x0 0xfa00 0x8000>;ranges = 
<0x0 0x0 0xe280 0x8000>;//[EMAIL PROTECTED],0 {//
#address-cells = <1>;//#size-cells = <1>;//compatible = 
"cfi-flash";//reg = <0x0 0x0 0x80>;//bank-width = 
<2>;//device-width = <1>;//};//[EMAIL PROTECTED],0 
{[EMAIL PROTECTED],0 {#address-cells = <1>;
#size-cells = <1>;compatible = "fsl,mpc8313-fcm-nand",  
   "fsl,elbc-fcm-nand";//reg = <0x1 0x0 0x2000>;
reg = <0x0 0x0 0x2000>;[EMAIL PROTECTED] {reg = 
<0x0 0x10>;read-only;};[EMAIL 
PROTECTED] {reg = <0x10 0x30>;};
[EMAIL PROTECTED] {reg = <0x40 0x1c0>;};
};};[EMAIL PROTECTED] {#address-cells = <1>;
#size-cells = <1>;device_type = "soc";compatible = 
"simple-bus";ranges = <0x0 0xe000 0x0010>;reg = 
<0xe000 0x0200>;bus-frequency = <0>;[EMAIL PROTECTED] { 
   device_type = "watchdog";compatible = "mpc83xx_wdt"; 
   reg = <0x200 0x100>;};[EMAIL PROTECTED] {
#address-cells = <1>;#size-cells = <0>;cell-index = 
<0>;compatible = "fsl-i2c";reg = <0x3000 0x100>;
interrupts = <14 0x8>;interrupt-parent = <&ipic>;
dfsrr;[EMAIL PROTECTED] {compatible = 
"dallas,ds1339";reg = <0x68>;};};
[EMAIL PROTECTED] {#address-cells = <1>;#size-cells = 
<0>;cell-index = <1>;compatible = "fsl-i2c";
reg = <0x3100 0x100>;interrupts = <15 0x8>;
interrupt-parent = <&ipic>;dfsrr;};[EMAIL 
PROTECTED] {cell-index = <0>;compatible = "fsl,spi";
reg = <0x7000 0x1000>;interrupts = <16 0x8>;
interrupt-parent = <&ipic>;mode = "cpu";};/* phy 
type (ULPI, UTMI, UTMI_WIDE, SERIAL) */[EMAIL PROTECTED] {
compatible = "fsl-usb2-dr";reg = <0x23000 0x1000>;
#address-cells = <1>;#size-cells = <0>;interrupt-parent 
= <&ipic>;interrupts = <38 0x8>;phy_type = "utmi_wide"; 
   };[EMAIL PROTECTED] {#address-cells = <1>;   
 #size-cells = <0>;compatible = "fsl,gianfar-mdio";reg 
= <0x24520 0x20>;phy1: [EMAIL PROTECTED] {
interrupt-parent = <&ipic>;interrupts = <19 0x8>;   
 reg = <0x1>;device_type = "ethernet-phy";};
phy4: [EMAIL PROTECTED] {

Re: ifconfig MPC8313

2008-05-06 Thread Scott Wood

Ronald Madrid wrote:
I'm guessing by device tree you mean the .dts file?  I'm using a 
modified version of the mpc8313erdb.dts with minor changes (to the local 
bus only).  Here is a copy of it.


OK, according to that device tree, eth0 is associated with PHY address 
1.  Is that correct on your board?


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


Re: arch/ppc is broken

2008-05-06 Thread Segher Boessenkool

Every arch/ppc defconfig I built today failed.  Someone broke it.


On a related note, arch/ppc defconfig doesn't even configure anymore;
common_defconfig was removed, but it is still the default.  What config
should we use as default now?

Josh, I'll look into the build failure now.


Segher

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


RE: ifconfig MPC8313

2008-05-06 Thread Ronald Madrid
I don't know, where would I find that out?

Sorry, I'm still kind of new to this.

Ron

> Date: Tue, 6 May 2008 16:35:38 -0500
> From: [EMAIL PROTECTED]
> To: [EMAIL PROTECTED]
> CC: linuxppc-dev@ozlabs.org
> Subject: Re: ifconfig MPC8313
> 
> Ronald Madrid wrote:
> > I'm guessing by device tree you mean the .dts file?  I'm using a 
> > modified version of the mpc8313erdb.dts with minor changes (to the local 
> > bus only).  Here is a copy of it.
> 
> OK, according to that device tree, eth0 is associated with PHY address 
> 1.  Is that correct on your board?
> 
> -Scott

_
Stay in touch when you're away with Windows Live Messenger.
http://www.windowslive.com/messenger/overview.html?ocid=TXT_TAGLM_WL_Refresh_messenger_052008___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Re: ifconfig MPC8313

2008-05-06 Thread Scott Wood

Ronald Madrid wrote:

I don't know, where would I find that out?

Sorry, I'm still kind of new to this.


In the documentation/schematics/designer's-head of your custom board.

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


Re: arch/ppc is broken

2008-05-06 Thread Josh Boyer
On Tue, 6 May 2008 23:39:34 +0200
Segher Boessenkool <[EMAIL PROTECTED]> wrote:

> > Every arch/ppc defconfig I built today failed.  Someone broke it.
> 
> On a related note, arch/ppc defconfig doesn't even configure anymore;
> common_defconfig was removed, but it is still the default.  What config
> should we use as default now?

I'd be willing to guess that the answer is "nothing".  You're welcome
to use ebony_defconfig but that's just as much unmaintained as the rest
of arch/ppc and only builds when someone doesn't break it.

> Josh, I'll look into the build failure now.

Masochist ;)

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


RE: ifconfig MPC8313

2008-05-06 Thread Ronald Madrid
I believe that it is zero.  Is that valid?

Ron

> Date: Tue, 6 May 2008 16:43:57 -0500
> From: [EMAIL PROTECTED]
> To: [EMAIL PROTECTED]
> CC: linuxppc-dev@ozlabs.org
> Subject: Re: ifconfig MPC8313
> 
> Ronald Madrid wrote:
> > I don't know, where would I find that out?
> > 
> > Sorry, I'm still kind of new to this.
> 
> In the documentation/schematics/designer's-head of your custom board.
> 
> -Scott

_
With Windows Live for mobile, your contacts travel with you.
http://www.windowslive.com/mobile/overview.html?ocid=TXT_TAGLM_WL_Refresh_mobile_052008___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Re: ifconfig MPC8313

2008-05-06 Thread Scott Wood

Ronald Madrid wrote:

I believe that it is zero.  Is that valid?


FWIH, it's not recommended, as it's interpreted as a broadcast address 
in some cases.  However, if that's the way the board is, then go ahead 
and put a zero in the phy node's reg property.


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


Re: arch/ppc is broken

2008-05-06 Thread Segher Boessenkool

On a related note, arch/ppc defconfig doesn't even configure anymore;
common_defconfig was removed, but it is still the default.  What 
config

should we use as default now?


I'd be willing to guess that the answer is "nothing".


Plain "defconfig" should use _something_.  Something that still exists,
even.


You're welcome to use ebony_defconfig


Yeah, that's what I use again now.


but that's just as much unmaintained as the rest
of arch/ppc and only builds when someone doesn't break it.


That's more often than "never even starts to build" ;-)


Josh, I'll look into the build failure now.


Masochist ;)


Sadist.


Segher

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


RE: ifconfig MPC8313

2008-05-06 Thread Ronald Madrid
Thank you, that seems to have worked.  I can now ping and whatnot.  One 
question though.  I used the linux v2.6.20 that came with the BSP for the 
MPC8313ERDB and the ethernet worked.  Was there a bug earlier that would have 
allowed this default .dts to work with my phy address of '0'?  I was rather 
baffled with this problem as the two dts files seemed to be more or less 
functionally identical (2.6.20 from BSP vs. 2.6.25)

Ron

> Date: Tue, 6 May 2008 17:04:21 -0500
> From: [EMAIL PROTECTED]
> To: [EMAIL PROTECTED]
> CC: linuxppc-dev@ozlabs.org
> Subject: Re: ifconfig MPC8313
> 
> Ronald Madrid wrote:
> > I believe that it is zero.  Is that valid?
> 
> FWIH, it's not recommended, as it's interpreted as a broadcast address 
> in some cases.  However, if that's the way the board is, then go ahead 
> and put a zero in the phy node's reg property.
> 
> -Scott

_
Make Windows Vista more reliable and secure with Windows Vista Service Pack 1.
http://www.windowsvista.com/SP1?WT.mc_id=hotmailvistasp1banner___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Re: ARCH=ppc -> ARCH=powerpc : help needed for dts file

2008-05-06 Thread Andy Fleming

Now back to the first an bigger problem :
currently, I have an "old" U-boot and I have written myself a dts  
file.


Problem is : ethernet does not work, but that's not a mac-address  
problem,

but something else that I do not understand yet.  The symptom is I get

ip route add default via 192.168.85.33 dev eth0
RTNETLINK answers: Network is unreachable

I surmise this is because my eth0 does not become up, and I surmise
again this is because there is no driver selected to drive the phy.

In my arch/ppc setup this was automagically handled by [EMAIL PROTECTED]:1  
IIRC


Is there something I can put in my dts file to activate a driver for  
my phy ?


Best regards


This slipped under my radar, and I'm only just now finding it again.   
Have your issues been resolved?  If not, could you send a bit more of  
the boot log?  There should be a little more if the PHY was not  
found.  If you were operating with a fixed PHY setup before, then the  
generic PHY driver (which will automatically bind to your PHY) should  
suffice unless your MDIO bus is broken.


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


[PATCH 2/3] ppc: Include in kernel/ppc_ksyms.c

2008-05-06 Thread Segher Boessenkool
It needs it:

arch/ppc/kernel/ppc_ksyms.c:152: error: '__flush_icache_range'
undeclared here (not in a function)

and a few more like that.

Signed-off-by: Segher Boessenkool <[EMAIL PROTECTED]>
---
 arch/ppc/kernel/ppc_ksyms.c |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/ppc/kernel/ppc_ksyms.c b/arch/ppc/kernel/ppc_ksyms.c
index 16ac11c..602c268 100644
--- a/arch/ppc/kernel/ppc_ksyms.c
+++ b/arch/ppc/kernel/ppc_ksyms.c
@@ -24,6 +24,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
-- 
1.5.5.23.g2a5f.dirty

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


[PATCH 3/3] powerpc: Don't run prom_init_check for arch/ppc builds

2008-05-06 Thread Segher Boessenkool
arch/ppc doesn't have prom_init.o (anymore).

Signed-off-by: Segher Boessenkool <[EMAIL PROTECTED]>
---
 arch/powerpc/kernel/Makefile |6 ++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
index d14cebf..2346d27 100644
--- a/arch/powerpc/kernel/Makefile
+++ b/arch/powerpc/kernel/Makefile
@@ -105,6 +105,9 @@ PHONY += systbl_chk
 systbl_chk: $(src)/systbl_chk.sh $(obj)/systbl_chk.i
$(call cmd,systbl_chk)
 
+
+ifeq ($(CONFIG_PPC_MERGE),y)
+
 $(obj)/built-in.o: prom_init_check
 
 quiet_cmd_prom_init_check = CALL$<
@@ -114,4 +117,7 @@ PHONY += prom_init_check
 prom_init_check: $(src)/prom_init_check.sh $(obj)/prom_init.o
$(call cmd,prom_init_check)
 
+endif
+
+
 clean-files := vmlinux.lds
-- 
1.5.5.23.g2a5f.dirty

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


[PATCH 1/3] ppc: Use ebony_defconfig for defconfig

2008-05-06 Thread Segher Boessenkool
We used to use common_defconfig, but it was removed some time ago.

Signed-off-by: Segher Boessenkool <[EMAIL PROTECTED]>
---
 arch/ppc/Makefile |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/ppc/Makefile b/arch/ppc/Makefile
index 8df7f0e..2352d13 100644
--- a/arch/ppc/Makefile
+++ b/arch/ppc/Makefile
@@ -43,7 +43,7 @@ KBUILD_AFLAGS += $(cpu-as-y)
 KBUILD_CFLAGS += $(cpu-as-y)
 
 # Default to the common case.
-KBUILD_DEFCONFIG := common_defconfig
+KBUILD_DEFCONFIG := ebony_defconfig
 
 head-y := arch/ppc/kernel/head.o
 head-$(CONFIG_8xx) := arch/ppc/kernel/head_8xx.o
-- 
1.5.5.23.g2a5f.dirty

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


Fix arch/ppc builds

2008-05-06 Thread Segher Boessenkool

These three trivial patches make arch/ppc build again.


Segher

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


Re: [PATCH] Add support for Analogue & Micro ASP837E board

2008-05-06 Thread Bryan O'Donoghue
On Tue, 6 May 2008 08:37:16 -0500
Kumar Gala <[EMAIL PROTECTED]> wrote:

/;
> > +
> > +/ {
> > +   model = "ASP8347E";
> > +   compatible = "ASP8347E";
> 
> "analogue-and-micro, ASP8347E";

Fair enough.

> > +   memory {
> > +   device_type = "memory";
> > +   reg = <0x 0x800>;   // 128MB at 0
> 
> is memory really fixed on this board or does the bootloader set this  
> if, dynamic make it <0 0>

It's fixed as far as I know.


> > +   [EMAIL PROTECTED] {
> > +   #address-cells = <1>;
> > +   #size-cells = <1>;
> > +   device_type = "soc";
> > +   ranges = <0x0 0xff00 0xff10>;
> 
> this is wrong, size should be like 0x10

Agreed - typo !

> > +   enet0: [EMAIL PROTECTED] {
> > +   cell-index = <0>;
> > +   device_type = "network";
> > +   model = "TSEC";
> > +   compatible = "gianfar";
> > +   reg = <0x24000 0x1000>;
> > +   local-mac-address = [ 00 08 e5 11 32 33 ];
> > +   interrupts = <32 0x8 33 0x8 34 0x8>;
> > +   interrupt-parent = <&ipic>;
> > +   phy-handle = <&phy0>;
> > +   linux,network-index = <0>;
> 
> you shouldn't need this anymore. we should be using the aliases.


Aliases sound good to me. Don't know too much about how this should be defined
in a dts though, do you have an example I could use as a base for reference ?

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


[PATCH 1/2] [POWERPC] Fix bogus paca->_current initialization

2008-05-06 Thread Benjamin Herrenschmidt
When doing lockdep, I had two patches to initialize paca->_current
early. One bogus, and one correct. Unfortunately both got merged
as the bad one ended up being part of the main lockdep patch by
mistake. This causes memory corruption at boot. This patch removes
the offending code.

Signed-off-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]>
---

 arch/powerpc/kernel/head_64.S |4 
 1 file changed, 4 deletions(-)

--- linux-work.orig/arch/powerpc/kernel/head_64.S   2008-05-07 
09:54:17.0 +1000
+++ linux-work/arch/powerpc/kernel/head_64.S2008-05-07 09:54:23.0 
+1000
@@ -1517,10 +1517,6 @@ _INIT_STATIC(start_here_multiplatform)
addir2,r2,0x4000
add r2,r2,r26
 
-   /* Set initial ptr to current */
-   LOAD_REG_IMMEDIATE(r4, init_task)
-   std r4,PACACURRENT(r13)
-
/* Do very early kernel initializations, including initial hash table,
 * stab and slb setup before we turn on relocation. */
 
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


[PATCH 2/2] [POWERPC] Document when printk is useable

2008-05-06 Thread Benjamin Herrenschmidt
When debugging early boot problems, it's common to sprinkle printk's
all over the place. However, on powerpc 64 bits, this can lead to
memory corruption if done too early due to the PACA pointer and
lockdep core not being initialized.

This adds some comments to early_setup() that document when it is
safe to do so in order to save time to whoever has to debug that
stuff next.

Signed-off-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]>
---

 arch/powerpc/kernel/setup_64.c |4 
 1 file changed, 4 insertions(+)

--- linux-work.orig/arch/powerpc/kernel/setup_64.c  2008-05-07 
09:54:52.0 +1000
+++ linux-work/arch/powerpc/kernel/setup_64.c   2008-05-07 09:56:31.0 
+1000
@@ -170,6 +170,8 @@ void __init setup_paca(int cpu)
 
 void __init early_setup(unsigned long dt_ptr)
 {
+   /*  printk is _NOT_ safe to use here ! --- */
+
/* Fill in any unititialised pacas */
initialise_pacas();
 
@@ -185,6 +187,8 @@ void __init early_setup(unsigned long dt
/* Initialize lockdep early or else spinlocks will blow */
lockdep_init();
 
+   /*  printk is now safe to use --- */
+
DBG(" -> early_setup(), dt_ptr: 0x%lx\n", dt_ptr);
 
/*
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


[PATCH] [POWERPC] Initialize lockdep earlier

2008-05-06 Thread Benjamin Herrenschmidt
This moves lockdep_init() to before udbg_early_init() as the later
can call things that acquire spinlocks etc... This also makes printk
safer to use earlier.

Signed-off-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]>
---

 arch/powerpc/kernel/setup_64.c |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

--- linux-work.orig/arch/powerpc/kernel/setup_64.c  2008-05-07 
10:23:35.0 +1000
+++ linux-work/arch/powerpc/kernel/setup_64.c   2008-05-07 10:23:45.0 
+1000
@@ -181,14 +181,14 @@ void __init early_setup(unsigned long dt
/* Assume we're on cpu 0 for now. Don't write to the paca yet! */
setup_paca(0);
 
-   /* Enable early debugging if any specified (see udbg.h) */
-   udbg_early_init();
-
/* Initialize lockdep early or else spinlocks will blow */
lockdep_init();
 
/*  printk is now safe to use --- */
 
+   /* Enable early debugging if any specified (see udbg.h) */
+   udbg_early_init();
+
DBG(" -> early_setup(), dt_ptr: 0x%lx\n", dt_ptr);
 
/*
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


jffs2 on imx21ads board

2008-05-06 Thread Nethra

hi all, 

I m using imx21ads board, Bootloader is Redboot. 
linux is linux-2.6.22 version. Board with Jffs2 root filesystem as root is
not working. 
But Ramdisk booting is working...so i tried to mount jffs2 root file system
after 
booting board with ramdisk using mount command. It boots up with some error
message as given below. 

With df command it shows 100%... 


mx27# cat /proc/mtd 
dev:size   erasesize  name 
mtd0: 0004 0001 "Bootloader" 
mtd1: 0020 0004 "nor.Kernel1" 
mtd2: 0020 0004 "nor.kernel2" 
mtd3: 00d0 0004 "nor.rootfs1" 
mtd4: 00d0 0004 "nor.rootfs2" 
mtd5: 0004 0004 "Parameter" 
mtd6: 3000 0001 "FIS directory" 
mtd7: 1000 0001 "Redboot config" 
mx27# cd /dev/ 
/dev/input/  /dev/net//dev/pts//dev/shm/ 
mx27# mount -t jffs2 /dev/mtdblock3 /mnt 
<6>MTDSB: dev_name "/dev/mtdblock3" 
[   27.82] MTDSB: path_lookup() returned 0, inode c3c50100 
[   27.82] MTDSB: New superblock for device 3 ("nor.rootfs1") 
mx27# [   30.24] Erase at 0x00b8 failed immediately: -EROFS. Is the
sector locked? 
[   30.24] Erase at 0x00b4 failed immediately: -EROFS. Is the sector
locked? 
[   30.25] Erase at 0x00b0 failed immediately: -EROFS. Is the sector
locked? 
[   30.26] Erase at 0x00ac failed immediately: -EROFS. Is the sector
locked? 
[   30.27] Erase at 0x00a8 failed immediately: -EROFS. Is the sector
locked? 
[   30.27] Erase at 0x00a4 failed immediately: -EROFS. Is the sector
locked? 
[   30.28] Erase at 0x00a0 failed immediately: -EROFS. Is the sector
locked? 
[   30.29] Erase at 0x009c failed immediately: -EROFS. Is the sector
locked? 
[   30.30] Erase at 0x0098 failed immediately: -EROFS. Is the sector
locked? 
[   30.30] Erase at 0x0094 failed immediately: -EROFS. Is the sector
locked? 
[   30.31] Erase at 0x0090 failed immediately: -EROFS. Is the sector
locked? 
[   30.32] Erase at 0x008c failed immediately: -EROFS. Is the sector
locked? 
[   30.33] Erase at 0x0088 failed immediately: -EROFS. Is the sector
locked? 
[   30.34] Erase at 0x0084 failed immediately: -EROFS. Is the sector
locked? 
[   30.34] Erase at 0x0080 failed immediately: -EROFS. Is the sector
locked? 
[   30.35] Erase at 0x007c failed immediately: -EROFS. Is the sector
locked? 
[   30.36] Erase at 0x0078 failed immediately: -EROFS. Is the sector
locked? 
[   30.37] Erase at 0x0074 failed immediately: -EROFS. Is the sector
locked? 
[   30.37] Erase at 0x0070 failed immediately: -EROFS. Is the sector
locked? 
[   30.38] Erase at 0x006c failed immediately: -EROFS. Is the sector
locked? 
[   30.39] Erase at 0x0068 failed immediately: -EROFS. Is the sector
locked? 
[   30.40] Erase at 0x0064 failed immediately: -EROFS. Is the sector
locked? 
[   30.41] Erase at 0x0060 failed immediately: -EROFS. Is the sector
locked? 
[   30.41] Erase at 0x005c failed immediately: -EROFS. Is the sector
locked? 
[   30.42] Erase at 0x0058 failed immediately: -EROFS. Is the sector
locked? 
[   30.43] Erase at 0x0054 failed immediately: -EROFS. Is the sector
locked? 
[   30.44] Erase at 0x0050 failed immediately: -EROFS. Is the sector
locked? 
[   30.44] Erase at 0x004c failed immediately: -EROFS. Is the sector
locked? 
mx27# 
mx27# 
mx27# df 
Filesystem   1k-blocks  Used Available Use% Mounted on 
/dev/ram0 7280  4963  1948  72% / 
df: /mnt/rwfs: No such file or directory 
rwfs   512   232   280  45% /tmp 
rwfs   512   232   280  45% /etc 
rwfs   512   232   280  45% /var 
shm  31560 0 31560   0% /dev/shm 
/dev/mtdblock3   13312 13312 0 100% /mnt 
mx27# 
mx27# 

waiting for inputs 

tnks, 
Nethra
-- 
View this message in context: 
http://www.nabble.com/jffs2-on-imx21ads-board-tp17093824p17093824.html
Sent from the linuxppc-dev mailing list archive at Nabble.com.

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


Re: jffs2 on imx21ads board

2008-05-06 Thread Wolfgang Denk
In message <[EMAIL PROTECTED]> you wrote:
> 
> I m using imx21ads board, Bootloader is Redboot. 
> linux is linux-2.6.22 version. Board with Jffs2 root filesystem as root is
> not working. 

Argh.. You really are ignoring all good advice, aren't you?

After you have been told that this posting wa soff topic on the U-Boot
list and your hsould ask on the ARM mailing list instead, you now post
it again on a PowerPC list?

What makes you think i.MX21 related topics would fit here?

You are off topic again!

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: [EMAIL PROTECTED]
Human beings were created by water to transport it uphill.
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev