LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* Re: [Bugme-new] [Bug 8778] New: Ocotea board: kernel reports access of bad area during boot with DEBUG_SLAB=y
From: Eugene Surovegin @ 2007-07-18  8:34 UTC (permalink / raw)
  To: Andrew Morton
  Cc: bart.vanassche, netdev, bugme-daemon@kernel-bugs.osdl.org,
	linuxppc-embedded
In-Reply-To: <20070718005253.942f0464.akpm@linux-foundation.org>

On Wed, Jul 18, 2007 at 12:52:53AM -0700, Andrew Morton wrote:
> On Wed, 18 Jul 2007 00:07:50 -0700 (PDT) bugme-daemon@bugzilla.kernel.org wrote:
> 
> > http://bugzilla.kernel.org/show_bug.cgi?id=8778
> > 
> >            Summary: Ocotea board: kernel reports access of bad area during
> >                     boot with DEBUG_SLAB=y

Slab debugging is probably the culprit here. I had similar problem 
couple of years ago, not sure something has changed since then, 
haven't checked.

When slab debugging was enabled it made memory allocations non L1 
cache line aligned. This is very bad for DMA on non-coherent cache 
arches (PPC440 is one of those archs).

I have a hack for EMAC which tries to "workaround" this problem:
	http://kernel.ebshome.net/emac_slab_debug.diff
which might help.

-- 
Eugene

^ permalink raw reply

* Re: WDT with 82xx
From: Laurent Pinchart @ 2007-07-18  8:33 UTC (permalink / raw)
  To: linuxppc-embedded, matvejchikov
In-Reply-To: <8496f91a0707160415i251aa027x6ef3899b92a5fccc@mail.gmail.com>

On Monday 16 July 2007 13:15, Matvejchikov Ilya wrote:
> Hi all!
>
> Does anybody use watchdog timer with mpc82xx?

I do.

=2D-=20
Laurent Pinchart
CSE Semaphore Belgium

Chauss=E9e de Bruxelles, 732A
B-1410 Waterloo
Belgium

T +32 (2) 387 42 59
=46 +32 (2) 387 42 75

^ permalink raw reply

* Re: [PATCH 07/61] bootwrapper: Set timebase_period_ns from dt_fixup_cpu_clocks.
From: Stephen Rothwell @ 2007-07-18  8:17 UTC (permalink / raw)
  To: Scott Wood; +Cc: linuxppc-dev
In-Reply-To: <20070718013304.GF15238@ld0162-tx32.am.freescale.net>

[-- Attachment #1: Type: text/plain, Size: 353 bytes --]

On Tue, 17 Jul 2007 20:33:04 -0500 Scott Wood <scottwood@freescale.com> wrote:
>
  void dt_fixup_cpu_clocks(u32 cpu, u32 tb, u32 bus)
>  {
> +	extern unsigned long timebase_period_ns;

Why isn't this declared in a header file somewhere?

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply

* Re: [Bugme-new] [Bug 8778] New: Ocotea board: kernel reports access of bad area during boot with DEBUG_SLAB=y
From: Andrew Morton @ 2007-07-18  7:52 UTC (permalink / raw)
  To: netdev, Eugene Surovegin, linuxppc-embedded
  Cc: bart.vanassche, bugme-daemon@kernel-bugs.osdl.org
In-Reply-To: <bug-8778-10286@http.bugzilla.kernel.org/>

On Wed, 18 Jul 2007 00:07:50 -0700 (PDT) bugme-daemon@bugzilla.kernel.org wrote:

> http://bugzilla.kernel.org/show_bug.cgi?id=8778
> 
>            Summary: Ocotea board: kernel reports access of bad area during
>                     boot with DEBUG_SLAB=y
>            Product: Platform Specific/Hardware
>            Version: 2.5
>      KernelVersion: 2.6.22
>           Platform: All
>         OS/Version: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: normal
>           Priority: P1
>          Component: PPC-32
>         AssignedTo: platform_ppc-32@kernel-bugs.osdl.org
>         ReportedBy: bart.vanassche@gmail.com
> 
> 
> Most recent kernel where this bug did not occur: not known - was probably
> already an issue in 2.6.10
> Distribution: not relevant for this issue.
> Hardware Environment: AMCC Ocotea board
> Software Environment: not relevant for this issue.
> Problem Description: see title.
> 
> Steps to reproduce:
> 1. Compile the 2.6.22 kernel with the attached .config
> 2. Boot an Ocotea  board with this kernel.
> 3. Observe the output that appears on the serial console.
> 
> U-Boot 1.1.1 (Nov 10 2005 - 16:29:34)
> 
> IBM PowerPC 440 GUNKNOWN (PVR=51b21892)
> Board: IBM 440GX Evaluation Board
>         VCO: 1066 MHz
>         CPU: 533 MHz
>         PLB: 152 MHz
>         OPB: 76 MHz
>         EPB: 76 MHz
> I2C:   ready
> DRAM:  I2c read: failed 4
> I2c read: failed 4
> 256 MB
> FLASH:  5 MB
> PCI:   Bus Dev VenId DevId Class Int
> In:    serial
> Out:   serial
> Err:   serial
> KGDB:  kgdb ready
> ready
> Net:   ppc_440x_eth0
> BEDBUG:ready
> => boot
> Waiting for PHY auto negotiation to complete.. done
> ENET Speed is 100 Mbps - FULL duplex connection
> Using ppc_440x_eth0 device
> TFTP from server 172.30.36.154; our IP address is 172.30.39.77
> Filename 'ocotea-vanassb'.
> Load address: 0x1000000
> Loading: T #################################################################
>          #################################################################
>          #################################################################
>          #################################################################
>          #################
> done
> Bytes transferred = 1415440 (159910 hex)
> Automatic boot of image at addr 0x01000000 ...
> ## Booting image at 01000000 ...
>    Image Name:   Linux-2.6.22
>    Created:      2007-07-18   6:53:56 UTC
>    Image Type:   PowerPC Linux Kernel Image (gzip compressed)
>    Data Size:    1415376 Bytes =  1.3 MB
>    Load Address: 00000000
>    Entry Point:  00000000
>    Verifying Checksum ... OK
>    Uncompressing Kernel Image ... OK
> Linux version 2.6.22 (vanassb@sabekorlnx05) (gcc version 3.4.3 (MontaVista
> 3.4.7
> IBM Ocotea port (MontaVista Software, Inc. <source@mvista.com>)
> Zone PFN ranges:
>   DMA             0 ->    65536
>   Normal      65536 ->    65536
> early_node_map[1] active PFN ranges
>     0:        0 ->    65536
> Built 1 zonelists.  Total pages: 65024
> Kernel command line: root=/dev/nfs
> nfsroot=172.30.36.154:/nfs-export/RFS_MVL4-00
> PID hash table entries: 1024 (order: 10, 4096 bytes)
> ------------------------
> | Locking API testsuite:
> ----------------------------------------------------------------------------
>                                  | spin |wlock |rlock |mutex | wsem | rsem |
>   --------------------------------------------------------------------------
>                      A-A deadlock:failed|failed|  ok  |failed|failed|failed|
>                  A-B-B-A deadlock:failed|failed|  ok  |failed|failed|failed|
>              A-B-B-C-C-A deadlock:failed|failed|  ok  |failed|failed|failed|
>              A-B-C-A-B-C deadlock:failed|failed|  ok  |failed|failed|failed|
>          A-B-B-C-C-D-D-A deadlock:failed|failed|  ok  |failed|failed|failed|
>          A-B-C-D-B-D-D-A deadlock:failed|failed|  ok  |failed|failed|failed|
>          A-B-C-D-B-C-D-A deadlock:failed|failed|  ok  |failed|failed|failed|
>                     double unlock:  ok  |  ok  |failed|  ok  |failed|failed|
>                   initialize held:failed|failed|failed|failed|failed|failed|
>                  bad unlock order:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
>   --------------------------------------------------------------------------
>               recursive read-lock:             |  ok  |             |failed|
>            recursive read-lock #2:             |  ok  |             |failed|
>             mixed read-write-lock:             |failed|             |failed|
>             mixed write-read-lock:             |failed|             |failed|
>   --------------------------------------------------------------------------
>      hard-irqs-on + irq-safe-A/12:failed|failed|  ok  |
>      soft-irqs-on + irq-safe-A/12:failed|failed|  ok  |
>      hard-irqs-on + irq-safe-A/21:failed|failed|  ok  |
>      soft-irqs-on + irq-safe-A/21:failed|failed|  ok  |
>        sirq-safe-A => hirqs-on/12:failed|failed|  ok  |
>        sirq-safe-A => hirqs-on/21:failed|failed|  ok  |
>          hard-safe-A + irqs-on/12:failed|failed|  ok  |
>          soft-safe-A + irqs-on/12:failed|failed|  ok  |
>          hard-safe-A + irqs-on/21:failed|failed|  ok  |
>          soft-safe-A + irqs-on/21:failed|failed|  ok  |
>     hard-safe-A + unsafe-B #1/123:failed|failed|  ok  |
>     soft-safe-A + unsafe-B #1/123:failed|failed|  ok  |
>     hard-safe-A + unsafe-B #1/132:failed|failed|  ok  |
>     soft-safe-A + unsafe-B #1/132:failed|failed|  ok  |
>     hard-safe-A + unsafe-B #1/213:failed|failed|  ok  |
>     soft-safe-A + unsafe-B #1/213:failed|failed|  ok  |
>     hard-safe-A + unsafe-B #1/231:failed|failed|  ok  |
>     soft-safe-A + unsafe-B #1/231:failed|failed|  ok  |
>     hard-safe-A + unsafe-B #1/312:failed|failed|  ok  |
>     soft-safe-A + unsafe-B #1/312:failed|failed|  ok  |
>     hard-safe-A + unsafe-B #1/321:failed|failed|  ok  |
>     soft-safe-A + unsafe-B #1/321:failed|failed|  ok  |
>     hard-safe-A + unsafe-B #2/123:failed|failed|  ok  |
>     soft-safe-A + unsafe-B #2/123:failed|failed|  ok  |
>     hard-safe-A + unsafe-B #2/132:failed|failed|  ok  |
>     soft-safe-A + unsafe-B #2/132:failed|failed|  ok  |
>     hard-safe-A + unsafe-B #2/213:failed|failed|  ok  |
>     soft-safe-A + unsafe-B #2/213:failed|failed|  ok  |
>     hard-safe-A + unsafe-B #2/231:failed|failed|  ok  |
>     soft-safe-A + unsafe-B #2/231:failed|failed|  ok  |
>     hard-safe-A + unsafe-B #2/312:failed|failed|  ok  |
>     soft-safe-A + unsafe-B #2/312:failed|failed|  ok  |
>     hard-safe-A + unsafe-B #2/321:failed|failed|  ok  |
>     soft-safe-A + unsafe-B #2/321:failed|failed|  ok  |
>       hard-irq lock-inversion/123:failed|failed|  ok  |
>       soft-irq lock-inversion/123:failed|failed|  ok  |
>       hard-irq lock-inversion/132:failed|failed|  ok  |
>       soft-irq lock-inversion/132:failed|failed|  ok  |
>       hard-irq lock-inversion/213:failed|failed|  ok  |
>       soft-irq lock-inversion/213:failed|failed|  ok  |
>       hard-irq lock-inversion/231:failed|failed|  ok  |
>       soft-irq lock-inversion/231:failed|failed|  ok  |
>       hard-irq lock-inversion/312:failed|failed|  ok  |
>       soft-irq lock-inversion/312:failed|failed|  ok  |
>       hard-irq lock-inversion/321:failed|failed|  ok  |
>       soft-irq lock-inversion/321:failed|failed|  ok  |
>       hard-irq read-recursion/123:  ok  |
>       soft-irq read-recursion/123:  ok  |
>       hard-irq read-recursion/132:  ok  |
>       soft-irq read-recursion/132:  ok  |
>       hard-irq read-recursion/213:  ok  |
>       soft-irq read-recursion/213:  ok  |
>       hard-irq read-recursion/231:  ok  |
>       soft-irq read-recursion/231:  ok  |
>       hard-irq read-recursion/312:  ok  |
>       soft-irq read-recursion/312:  ok  |
>       hard-irq read-recursion/321:  ok  |
>       soft-irq read-recursion/321:  ok  |
> --------------------------------------------------------
> 142 out of 218 testcases failed, as expected. |
> ----------------------------------------------------
> Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
> Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
> Memory: 256768k available (2088k kernel code, 816k data, 128k init, 0k highmem)
> Mount-cache hash table entries: 512
> NET: Registered protocol family 16
> PCI: Probing PCI hardware
> NET: Registered protocol family 2
> IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
> TCP established hash table entries: 8192 (order: 5, 163840 bytes)
> TCP bind hash table entries: 8192 (order: 5, 163840 bytes)
> TCP: Hash tables configured (established 8192 bind 8192)
> TCP reno registered
> Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
> io scheduler noop registered
> io scheduler deadline registered (default)
> Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing disabled
> serial8250: ttyS0 at MMIO 0x0 (irq = 0) is a 16550A
> serial8250: ttyS1 at MMIO 0x0 (irq = 1) is a 16550A
> RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
> loop: module loaded
> PPC 4xx OCP EMAC driver, version 3.54
> mal0: initialized, 4 TX channels, 4 RX channels
> zmii0: bridge in SMII mode
> eth0: emac0, MAC 00:04:ac:e3:28:8a
> eth0: found Generic MII PHY (0x01)
> eth1: emac1, MAC 00:00:00:00:00:00
> eth1: found Generic MII PHY (0x02)
> rgmii0: input 0 in RGMII mode
> eth2: emac2, MAC 00:00:00:00:00:00
> eth2: found CIS8201 Gigabit Ethernet PHY (0x10)
> rgmii0: input 1 in RGMII mode
> eth3: emac3, MAC 00:00:00:00:00:00
> eth3: found CIS8201 Gigabit Ethernet PHY (0x18)
> Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
> ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
> i2c /dev entries driver
> IBM IIC driver v2.1
> ibm-iic0: using standard (100 kHz) mode
> ibm-iic1: using standard (100 kHz) mode
> Netfilter messages via NETLINK v0.30.
> TCP cubic registered
> NET: Registered protocol family 1
> NET: Registered protocol family 17
> eth0: link is down
> IP-Config: Complete:
>       device=eth0, addr=172.30.39.77, mask=255.255.252.0, gw=172.30.39.254,
>      host=ocotea, domain=, nis-domain=(none),
>      bootserver=172.30.36.154, rootserver=172.30.36.154, rootpath=
> Looking up port of RPC 100003/3 on 172.30.36.154
> eth0: link is up, 100 FDX, pause enabled
> Looking up port of RPC 100005/3 on 172.30.36.154
> VFS: Mounted root (nfs filesystem) readonly.
> Freeing unused kernel memory: 128k init
> Oops: kernel access of bad area, sig: 11 [#1]
> PREEMPT
> NIP: c004be40 LR: c017d9d8 CTR: c01822fc
> REGS: c02b1af0 TRAP: 0300   Not tainted  (2.6.22)
> MSR: 00029000 <EE,ME>  CR: 28f22b24  XER: 20000000
> DAR: 99750000, DSISR: 00000000
> TASK = c0296830[0] 'swapper' THREAD: c02b0000
> GPR00: c017d9d8 c02b1ba0 c0296830 99750000 c026cb38 000000f8 3b92a76c c02d73ec
> GPR08: 0000000c 99750004 00000001 000006a8 00000781 5c8071f0 0fff1200 00000000
> GPR16: 00000001 00000001 c02ae020 c02d0000 080103cf 00000001 000003cf c02b1be8
> GPR24: c01f2c1c c02b1c30 000000f8 c07d3510 000000f8 c0786998 c0786998 99750000
> NIP [c004be40] put_page+0x18/0x170
> LR [c017d9d8] skb_release_data+0x70/0xb4
> Call Trace:
> [c02b1ba0] [000000f8] 0xf8 (unreliable)
> [c02b1bc0] [c017d9d8] skb_release_data+0x70/0xb4
> [c02b1bd0] [c017d730] kfree_skbmem+0x18/0xdc
> [c02b1be0] [c01b0d3c] tcp_read_sock+0x188/0x1d8
> [c02b1c20] [c01f3134] xs_tcp_data_ready+0x70/0x94
> [c02b1c50] [c01b960c] tcp_rcv_established+0x4b4/0x758
> [c02b1c80] [c01c1274] tcp_v4_do_rcv+0x15c/0x44c
> [c02b1cc0] [c01c1efc] tcp_v4_rcv+0x998/0xa58
> [c02b1d10] [c01a3d48] ip_local_deliver+0x1f8/0x320
> [c02b1d40] [c01a4450] ip_rcv+0x298/0x598
> [c02b1d70] [c0185828] netif_receive_skb+0x2d0/0x334
> [c02b1da0] [c01583e4] emac_poll_rx+0x140/0x724
> [c02b1df0] [c0155c50] mal_poll+0xa8/0x26c
> [c02b1e30] [c0185a88] net_rx_action+0x88/0x15c
> [c02b1e60] [c001facc] __do_softirq+0x78/0xd4
> [c02b1e90] [c0006d50] do_softirq+0x54/0x5c
> [c02b1ea0] [c001fb9c] irq_exit+0x60/0x80
> [c02b1eb0] [c0006cac] do_IRQ+0x68/0xb8
> [c02b1ec0] [c000201c] ret_from_except+0x0/0x18
> [c02b1f80] [c0009eb4] cpu_idle+0xe8/0xf8
> [c02b1fa0] [c0205278] rest_init+0x74/0x88
> [c02b1fc0] [c02b2724] start_kernel+0x250/0x2b4
> [c02b1ff0] [c00001e8] skpinv+0x190/0x1cc
> Instruction dump:
> 80010014 38210010 7c0803a6 4e800020 8163000c 4bffffb0 7c0802a6 9421ffe0
> bfa10014 39230004 90010024 7c7f1b78 <80030000> 700a4000 4082013c 7c004828
> Kernel panic - not syncing: Aiee, killing interrupt handler!
> Rebooting in 180 seconds..

hm, it's hard to tell if this is a net problem, a driver problem or
an NFS problem or what.

^ permalink raw reply

* Re: Start the consolidation of the OpenFrimware support routines
From: David Miller @ 2007-07-18  7:36 UTC (permalink / raw)
  To: sfr; +Cc: sparclinux, linuxppc-dev, paulus, wli
In-Reply-To: <20070718173024.50204a1a.sfr@canb.auug.org.au>

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Wed, 18 Jul 2007 17:30:24 +1000

> Hi Dave, Paul,
> 
> The latest version of the changes is available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/sfr/ofcons.git master
> 
> I will send patches to the lists if people want them.  The only changes
> from the previous version is to merge with Linus' current tree (there
> were various conflicts with PowerPC changes).  This has been built for
> Sparc and Sparc64 defconfigs but I have no Sparc hardware to boot on.  It
> has also been built for PowerPC allmodconfig and ppc64_defconfig - the
> latter has been booted on an iSeries box.
> 
> The intention here is that there should be no behavioural changes and
> minimal code changes (apart from movement of the code to common places).
> There are, however a couple of unavoidable changes:
> 	- some of the accessor functions now take a read lock on Sparc[64]
> where they didn't before.
> 	- the bus structures are initialised at runtime.
> 
> If people are happy with this, I will submit it directly to Linus.

No objections here.  If the read lock or bus initialization issue
causes problems, I'll fix it up after this gets merged in, don't worry
about it.

^ permalink raw reply

* Start the consolidation of the OpenFrimware support routines
From: Stephen Rothwell @ 2007-07-18  7:30 UTC (permalink / raw)
  To: ppc-dev, sparclinux; +Cc: paulus, David S. Miller, wli

[-- Attachment #1: Type: text/plain, Size: 3908 bytes --]

Hi Dave, Paul,

The latest version of the changes is available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/sfr/ofcons.git master

I will send patches to the lists if people want them.  The only changes
from the previous version is to merge with Linus' current tree (there
were various conflicts with PowerPC changes).  This has been built for
Sparc and Sparc64 defconfigs but I have no Sparc hardware to boot on.  It
has also been built for PowerPC allmodconfig and ppc64_defconfig - the
latter has been booted on an iSeries box.

The intention here is that there should be no behavioural changes and
minimal code changes (apart from movement of the code to common places).
There are, however a couple of unavoidable changes:
	- some of the accessor functions now take a read lock on Sparc[64]
where they didn't before.
	- the bus structures are initialised at runtime.

If people are happy with this, I will submit it directly to Linus.

Stephen Rothwell (12):
      Split out common parts of prom.h
      Start split out of common open firmware code
      Consolidate of_device_is_compatible
      Consolidate of_find_property
      Consolidate of_get_parent
      Consolidate of_get_next_child
      Consolidate of_find_node_by routines
      Begin to consolidate of_device.c
      Begin consolidation of of_device.h
      [SPARC/64] Rename some functions like PowerPC
      Create linux/of_platorm.h
      Create drivers/of/platform.c

 arch/powerpc/Kconfig              |    3 +
 arch/powerpc/kernel/of_device.c   |  122 +----------------
 arch/powerpc/kernel/of_platform.c |   82 +-----------
 arch/powerpc/kernel/prom.c        |  250 +---------------------------------
 arch/sparc/Kconfig                |    3 +
 arch/sparc/kernel/of_device.c     |  222 ++----------------------------
 arch/sparc/kernel/prom.c          |  173 +-----------------------
 arch/sparc/kernel/time.c          |    2 +-
 arch/sparc64/Kconfig              |    3 +
 arch/sparc64/kernel/auxio.c       |    2 +-
 arch/sparc64/kernel/of_device.c   |  238 +++-----------------------------
 arch/sparc64/kernel/power.c       |    2 +-
 arch/sparc64/kernel/prom.c        |  173 +-----------------------
 arch/sparc64/kernel/time.c        |    2 +-
 drivers/Kconfig                   |    2 +
 drivers/Makefile                  |    1 +
 drivers/of/Kconfig                |    3 +
 drivers/of/Makefile               |    2 +
 drivers/of/base.c                 |  275 +++++++++++++++++++++++++++++++++++++
 drivers/of/device.c               |  131 ++++++++++++++++++
 drivers/of/platform.c             |   96 +++++++++++++
 include/asm-powerpc/of_device.h   |   22 +---
 include/asm-powerpc/of_platform.h |   38 +-----
 include/asm-powerpc/prom.h        |   50 ++-----
 include/asm-sparc/of_device.h     |   49 +------
 include/asm-sparc/of_platform.h   |   32 +++++
 include/asm-sparc/prom.h          |   62 +++------
 include/asm-sparc64/of_device.h   |   50 +------
 include/asm-sparc64/of_platform.h |   33 +++++
 include/asm-sparc64/prom.h        |   62 +++------
 include/linux/of.h                |   61 ++++++++
 include/linux/of_device.h         |   26 ++++
 include/linux/of_platform.h       |   57 ++++++++
 33 files changed, 846 insertions(+), 1483 deletions(-)
 create mode 100644 drivers/of/Kconfig
 create mode 100644 drivers/of/Makefile
 create mode 100644 drivers/of/base.c
 create mode 100644 drivers/of/device.c
 create mode 100644 drivers/of/platform.c
 create mode 100644 include/asm-sparc/of_platform.h
 create mode 100644 include/asm-sparc64/of_platform.h
 create mode 100644 include/linux/of.h
 create mode 100644 include/linux/of_device.h
 create mode 100644 include/linux/of_platform.h

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply

* Re: [PATCH 1/2] Fix error checking in Vitesse IRQ config
From: pradeep singh @ 2007-07-18  7:00 UTC (permalink / raw)
  To: Andy Fleming; +Cc: netdev, linuxppc-dev
In-Reply-To: <11847405503115-git-send-email-afleming@freescale.com>

On 7/18/07, Andy Fleming <afleming@freescale.com> wrote:
> phy_read() returns a negative number if there's an error, but the
> error-checking code in the Vitesse driver's config_intr function
> triggers if phy_read() returns non-zero.  Correct that.
>
> Signed-off-by: Andy Fleming <afleming@freescale.com>
> ---
> I made a really stupid mistake in the 4 patches I sent out, earlier.  I
> thought those patches had been tested, but they hadn't been.  This one
> corrects a tiny error in the patch, and they have now been tested.  As before
> this change can be pulled from:
>
> http://opensource.freescale.com/pub/scm/linux-2.6-85xx.git netdev
>
> Really, REALLY sorry about that.  I have been given a paper bag of appropriate
> size and shape to fit over my head.
>
>  drivers/net/phy/vitesse.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/phy/vitesse.c b/drivers/net/phy/vitesse.c
> index 6a53856..8874497 100644
> --- a/drivers/net/phy/vitesse.c
> +++ b/drivers/net/phy/vitesse.c
> @@ -109,7 +109,7 @@ static int vsc824x_config_intr(struct phy_device *phydev)
>                  */
>                 err = phy_read(phydev, MII_VSC8244_ISTAT);
>
> -               if (err)
> +               if (err < 0)
>                         return err;

but would that mean, if phy_read returns > 0 it is a success?

thanks
>
>                 err = phy_write(phydev, MII_VSC8244_IMASK, 0);
> --
> 1.5.0.2.230.gfbe3d-dirty
>
> -
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>


-- 
Pradeep

^ permalink raw reply

* Re: [PATCH 01/61] Use strcasecmp() rather than strncasecmp() when determining device node compatibility.
From: Geert Uytterhoeven @ 2007-07-18  6:39 UTC (permalink / raw)
  To: Michael Ellerman; +Cc: linuxppc-dev
In-Reply-To: <1184723916.1486.10.camel@concordia.ozlabs.ibm.com>

[-- Attachment #1: Type: TEXT/PLAIN, Size: 858 bytes --]

On Wed, 18 Jul 2007, Michael Ellerman wrote:
> On Tue, 2007-07-17 at 20:31 -0500, Scott Wood wrote:
> > Re: [PATCH 01/61] ....
> 
> That's gotta be close to a record ..

Na, last 2 series from akpm where I was CCed on a few patches had /268 resp.
/234 ;-)

With kind regards,
 
Geert Uytterhoeven
Software Architect

Sony Network and Software Technology Center Europe
The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium
 
Phone:    +32 (0)2 700 8453	
Fax:      +32 (0)2 700 8622	
E-mail:   Geert.Uytterhoeven@sonycom.com	
Internet: http://www.sony-europe.com/
 	
Sony Network and Software Technology Center Europe	
A division of Sony Service Centre (Europe) N.V.	
Registered office: Technologielaan 7 · B-1840 Londerzeel · Belgium	
VAT BE 0413.825.160 · RPR Brussels	
Fortis Bank Zaventem · Swift GEBABEBB08A · IBAN BE39001382358619

^ permalink raw reply

* [PATCH 1/2] Fix error checking in Vitesse IRQ config
From: Andy Fleming @ 2007-07-18  6:35 UTC (permalink / raw)
  To: netdev, linuxppc-dev

phy_read() returns a negative number if there's an error, but the
error-checking code in the Vitesse driver's config_intr function
triggers if phy_read() returns non-zero.  Correct that.

Signed-off-by: Andy Fleming <afleming@freescale.com>
---
I made a really stupid mistake in the 4 patches I sent out, earlier.  I
thought those patches had been tested, but they hadn't been.  This one
corrects a tiny error in the patch, and they have now been tested.  As before
this change can be pulled from:

http://opensource.freescale.com/pub/scm/linux-2.6-85xx.git netdev

Really, REALLY sorry about that.  I have been given a paper bag of appropriate
size and shape to fit over my head.

 drivers/net/phy/vitesse.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/phy/vitesse.c b/drivers/net/phy/vitesse.c
index 6a53856..8874497 100644
--- a/drivers/net/phy/vitesse.c
+++ b/drivers/net/phy/vitesse.c
@@ -109,7 +109,7 @@ static int vsc824x_config_intr(struct phy_device *phydev)
 		 */
 		err = phy_read(phydev, MII_VSC8244_ISTAT);
 
-		if (err)
+		if (err < 0)
 			return err;
 
 		err = phy_write(phydev, MII_VSC8244_IMASK, 0);
-- 
1.5.0.2.230.gfbe3d-dirty

^ permalink raw reply related

* Re: [PATCH 01/61] Use strcasecmp() rather than strncasecmp() when determining device node compatibility.
From: Stephen Rothwell @ 2007-07-18  6:07 UTC (permalink / raw)
  To: Scott Wood; +Cc: linuxppc-dev
In-Reply-To: <20070718013137.GA15217@ld0162-tx32.am.freescale.net>

[-- Attachment #1: Type: text/plain, Size: 440 bytes --]

On Tue, 17 Jul 2007 20:31:37 -0500 Scott Wood <scottwood@freescale.com> wrote:
>
> The current code assumes "foo-bar" must always be compatible with a node
> compatible with "foo", which breaks device trees where this is not so.

This should (at least partly) wait for the OF consolidation patches
(coming shortly), please.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply

* Re: [PATCH v2] Allow exec on 32-bit from readable, non-exec pages, with a warning.
From: Kumar Gala @ 2007-07-18  6:02 UTC (permalink / raw)
  To: Segher Boessenkool; +Cc: linuxppc-dev@ozlabs.org, Jon Loeliger, Paul Mackerras
In-Reply-To: <AADEBC41-7CB4-4B72-89EC-5C71137E2A5B@kernel.crashing.org>


On Jul 17, 2007, at 10:30 PM, Segher Boessenkool wrote:

>>> A:  They haven't been posted yet.
>>>
>>> Q:  How do we know Segher has new patches?
>>
>> He sent it to me to test, and I told him it worked...
>
> And I sent it to the list hours later, over a week ago.

Can someone send a ozlabs linuxppc list link or patchworks to the  
"new" patch.

All I can find are patches from Scott w/Paul doesn't like, not  
Segher's "new" version.

- k

^ permalink raw reply

* Re: [PATCH 39/61] mpc885ads: Whitespace cleanup (space->tab)
From: Kumar Gala @ 2007-07-18  5:38 UTC (permalink / raw)
  To: Scott Wood; +Cc: linuxppc-dev
In-Reply-To: <20070718013551.GK15238@ld0162-tx32.am.freescale.net>


On Jul 17, 2007, at 8:35 PM, Scott Wood wrote:

> Signed-off-by: Scott Wood <scottwood@freescale.com>
> ---
>  arch/powerpc/platforms/8xx/m8xx_setup.c |   72 ++++++++++++++ 
> +---------------
>  1 files changed, 36 insertions(+), 36 deletions(-)

There is a white space cleanup patch in linus's tree that probably  
superseded this.

- k

^ permalink raw reply

* Re: [PATCH 32/61] mpc82xx: Move PQ2 restart and halt functions out of mpc8272-specific code.
From: Kumar Gala @ 2007-07-18  5:31 UTC (permalink / raw)
  To: Scott Wood; +Cc: linuxppc-dev
In-Reply-To: <20070718013541.GD15238@ld0162-tx32.am.freescale.net>


On Jul 17, 2007, at 8:35 PM, Scott Wood wrote:

> I renamed it from m82xx to pq2 because it won't work on the Integrated
> Host Processor line of 82xx chips (i.e. 8240, 8245, and such).
>
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> ---
>  arch/powerpc/platforms/82xx/Makefile     |    1 +
>  arch/powerpc/platforms/82xx/mpc8272ads.c |   27 ++----------------
>  arch/powerpc/platforms/82xx/pq2.c        |   44 +++++++++++++++++++ 
> +++++++++++
>  arch/powerpc/platforms/82xx/pq2.h        |    7 +++++
>  include/asm-ppc/immap_cpm2.h             |    2 +
>  5 files changed, 57 insertions(+), 24 deletions(-)
>  create mode 100644 arch/powerpc/platforms/82xx/pq2.c
>  create mode 100644 arch/powerpc/platforms/82xx/pq2.h
>
> diff --git a/arch/powerpc/platforms/82xx/Makefile b/arch/powerpc/ 
> platforms/82xx/Makefile
> index 881a3f6..6049640 100644
> --- a/arch/powerpc/platforms/82xx/Makefile
> +++ b/arch/powerpc/platforms/82xx/Makefile
> @@ -3,3 +3,4 @@
>  #
>  obj-$(CONFIG_PPC_82xx) += mpc82xx.o
>  obj-$(CONFIG_MPC8272ADS) += mpc8272ads.o
> +obj-$(CONFIG_CPM2) += pq2.o
> diff --git a/arch/powerpc/platforms/82xx/mpc8272ads.c b/arch/ 
> powerpc/platforms/82xx/mpc8272ads.c
> index fbf9c67..cd14a48 100644
> --- a/arch/powerpc/platforms/82xx/mpc8272ads.c
> +++ b/arch/powerpc/platforms/82xx/mpc8272ads.c
> @@ -2,7 +2,6 @@
>   * MPC8272ADS setup and early boot code plus other random bits.
>   *
>   * Author: Vitaly Bordug <vbordug@ru.mvista.com>
> - * m82xx_restart fix by Wade Farnsworth <wfarnsworth@mvista.com>
>   *
>   * Copyright (c) 2006 MontaVista Software, Inc.
>   *
> @@ -42,6 +41,7 @@
>  #include <asm/mpc8260.h>
>  #include <asm/irq.h>
>  #include <mm/mmu_decl.h>
> +#include <platforms/82xx/pq2.h>
>  #include <asm/prom.h>
>  #include <asm/cpm2.h>
>  #include <asm/udbg.h>
> @@ -603,27 +603,6 @@ static int __init mpc8272ads_probe(void)
>  	return of_flat_dt_is_compatible(root, "fsl,mpc8272ads");
>  }
>
> -#define RMR_CSRE 0x00000001
> -static void m82xx_restart(char *cmd)
> -{
> -	__volatile__ unsigned char dummy;
> -
> -	local_irq_disable();
> -	((cpm2_map_t *) cpm2_immr)->im_clkrst.car_rmr |= RMR_CSRE;
> -
> -	/* Clear the ME,EE,IR & DR bits in MSR to cause checkstop */
> -	mtmsr(mfmsr() & ~(MSR_ME | MSR_EE | MSR_IR | MSR_DR));
> -	dummy = ((cpm2_map_t *) cpm2_immr)->im_clkrst.res[0];
> -	printk("Restart failed\n");
> -	while (1) ;
> -}
> -
> -static void m82xx_halt(void)
> -{
> -	local_irq_disable();
> -	while (1) ;
> -}
> -
>  define_machine(mpc8272ads)
>  {
>  	.name = "Freescale MPC8272ADS",
> @@ -633,6 +612,6 @@ define_machine(mpc8272ads)
>  	.show_cpuinfo = m82xx_show_cpuinfo,
>  	.get_irq = cpm2_get_irq,
>  	.calibrate_decr = m82xx_calibrate_decr,
> -	.restart = m82xx_restart,
> -	.halt = m82xx_halt,
> +	.restart = pq2_restart,
> +	.halt = pq2_halt,
>  };
> diff --git a/arch/powerpc/platforms/82xx/pq2.c b/arch/powerpc/ 
> platforms/82xx/pq2.c
> new file mode 100644
> index 0000000..e58980d
> --- /dev/null
> +++ b/arch/powerpc/platforms/82xx/pq2.c
> @@ -0,0 +1,44 @@
> +/*
> + * Common PowerQUICC II code.
> + *
> + * Author: Scott Wood <scottwood@freescale.com>
> + * Copyright (c) 2007 Freescale Semiconductor
> + *
> + * Based on code by Vitaly Bordug <vbordug@ru.mvista.com>
> + * pq2_restart fix by Wade Farnsworth <wfarnsworth@mvista.com>
> + * Copyright (c) 2006 MontaVista Software, 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.
> + */
> +
> +#include <asm/cpm2.h>
> +#include <asm/io.h>
> +#include <asm/system.h>
> +
> +#include <platforms/82xx/pq2.h>
> +
> +#define RMR_CSRE 0x00000001
> +
> +void pq2_restart(char *cmd)
> +{
> +	local_irq_disable();
> +	cpm2_immr->im_clkrst.car_rmr |= RMR_CSRE;
> +
> +	/* Clear the ME,EE,IR & DR bits in MSR to cause checkstop */
> +	mtmsr(mfmsr() & ~(MSR_ME | MSR_EE | MSR_IR | MSR_DR));
> +	in_8(&cpm2_immr->im_clkrst.res[0]);
> +
> +	printk("Restart failed\n");
> +	while (1)
> +		;
> +}
> +
> +void pq2_halt(void)
> +{
> +	local_irq_disable();
> +	while (1)
> +		;
> +}

Kill pq2_halt, if this is all it does just dont set ppc_md.halt() and  
get the generic behavior which is the same.

> diff --git a/arch/powerpc/platforms/82xx/pq2.h b/arch/powerpc/ 
> platforms/82xx/pq2.h
> new file mode 100644
> index 0000000..3c9620f
> --- /dev/null
> +++ b/arch/powerpc/platforms/82xx/pq2.h
> @@ -0,0 +1,7 @@
> +#ifndef _PQ2_H
> +#define _PQ2_H
> +
> +void pq2_restart(char *cmd);
> +void pq2_halt(void);
> +
> +#endif
> diff --git a/include/asm-ppc/immap_cpm2.h b/include/asm-ppc/ 
> immap_cpm2.h
> index 3c23d9c..8795bcc 100644
> --- a/include/asm-ppc/immap_cpm2.h
> +++ b/include/asm-ppc/immap_cpm2.h
> @@ -10,6 +10,8 @@
>  #ifndef __IMMAP_CPM2__
>  #define __IMMAP_CPM2__
>
> +#include <linux/types.h>
> +

Why was this needed all of a sudden?

>  /* System configuration registers.
>  */
>  typedef	struct sys_82xx_conf {

- k

^ permalink raw reply

* Re: [PATCH 30/61] fsl_soc: Update the way get_brgfreq() finds things in the device tree.
From: Kumar Gala @ 2007-07-18  5:28 UTC (permalink / raw)
  To: Scott Wood; +Cc: linuxppc-dev
In-Reply-To: <20070718013538.GB15238@ld0162-tx32.am.freescale.net>


On Jul 17, 2007, at 8:35 PM, Scott Wood wrote:

> It now uses names that are less namespace polluting.
>
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> ---
>  arch/powerpc/boot/dts/mpc8272ads.dts |    5 ++---
>  arch/powerpc/boot/dts/mpc8560ads.dts |    5 ++---
>  arch/powerpc/boot/dts/mpc866ads.dts  |    5 ++---
>  arch/powerpc/boot/dts/mpc885ads.dts  |    5 ++---
>  arch/powerpc/sysdev/fsl_soc.c        |   10 +++++-----
>  5 files changed, 13 insertions(+), 17 deletions(-)
>
> diff --git a/arch/powerpc/boot/dts/mpc8272ads.dts b/arch/powerpc/ 
> boot/dts/mpc8272ads.dts
> index 4d09dca..16a77f4 100644
> --- a/arch/powerpc/boot/dts/mpc8272ads.dts
> +++ b/arch/powerpc/boot/dts/mpc8272ads.dts
> @@ -119,12 +119,11 @@
>  			#address-cells = <1>;
>  			#size-cells = <1>;
>  			#interrupt-cells = <2>;
> -			device_type = "cpm";
> -			model = "CPM2";
> +			compatible = "fsl,mpc8272-cpm", "fsl,cpm2", "fsl,cpm";

Does 'fsl,cpm' really mean anything useful?

>  			ranges = <00000000 00000000 20000>;
>  			reg = <0 20000>;
>  			command-proc = <119c0>;
> -			brg-frequency = <17D7840>;
> +			fsl,brg-frequency = <d#25000000>;

Leave brg-frequency, and make a note about it being deprecated.

>  			cpm_clk = <BEBC200>;
>
>  			scc@11a00 {


> diff --git a/arch/powerpc/sysdev/fsl_soc.c b/arch/powerpc/sysdev/ 
> fsl_soc.c
> index a837742..ff70d62 100644
> --- a/arch/powerpc/sysdev/fsl_soc.c
> +++ b/arch/powerpc/sysdev/fsl_soc.c
> @@ -84,16 +84,16 @@ u32 get_brgfreq(void)
>  	if (brgfreq != -1)
>  		return brgfreq;
>
> -	node = of_find_node_by_type(NULL, "cpm");
> +	node = of_find_compatible_node(NULL, NULL, "fsl,cpm");
>  	if (node) {
>  		unsigned int size;
> -		const unsigned int *prop = of_get_property(node,
> -					"brg-frequency", &size);
> +		const unsigned int *prop =
> +			of_get_property(node, "fsl,brg-frequency", &size);

We need to support both "brg-frequency" and "fsl,brg-frequency" for  
some period of time.

Also, take a look at QE it has a similar concept.

>
> -		if (prop)
> +		if (prop && size == 4)
>  			brgfreq = *prop;
>  		of_node_put(node);
> -	};
> +	}
>
>  	return brgfreq;
>  }
> -- 
> 1.5.0.3
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev

^ permalink raw reply

* Re: [PATCH 23/61] Rename mpc82xx_ads_show_cpuinfo to m82xx_show_cpuinfo.
From: Kumar Gala @ 2007-07-18  5:20 UTC (permalink / raw)
  To: Scott Wood; +Cc: linuxppc-dev
In-Reply-To: <20070718013528.GU15238@ld0162-tx32.am.freescale.net>


On Jul 17, 2007, at 8:35 PM, Scott Wood wrote:

> Vendor and machine are removed; any such information should go in
> ppc_md.name.
>
> Signed-off-by: Scott Wood <scottwood@freescale.com>

Do we really need a 82xx specific show_cpuinfo or can we just use the  
generic one?

I just get SVR, PLL, and memory size.  It seems like memory size is  
available elsewhere, PLL can be computed from clock freq & time base  
freq.

While SVR would be nice, but we kinda now it from the name.  Plus I'd  
rather we just maybe export that as a sysfs property or something.

- k

^ permalink raw reply

* Re: [PATCH 22/61] Rename mpc82xx_ads to mpc8272ads.
From: Kumar Gala @ 2007-07-18  5:09 UTC (permalink / raw)
  To: Scott Wood; +Cc: linuxppc-dev
In-Reply-To: <20070718013527.GT15238@ld0162-tx32.am.freescale.net>


On Jul 17, 2007, at 8:35 PM, Scott Wood wrote:

> Signed-off-by: Scott Wood <scottwood@freescale.com>
> ---
>  arch/powerpc/platforms/82xx/Kconfig       |    6 +-
>  arch/powerpc/platforms/82xx/Makefile      |    2 +-
>  arch/powerpc/platforms/82xx/mpc8272ads.c  |  640 ++++++++++++++++++ 
> +++++++++++

can we use mpc8272_ads.c to follow the naming we have elsewhere in  
other 8xxx land.

>  arch/powerpc/platforms/82xx/mpc82xx_ads.c |  640  
> -----------------------------
>  4 files changed, 644 insertions(+), 644 deletions(-)
>  create mode 100644 arch/powerpc/platforms/82xx/mpc8272ads.c
>  delete mode 100644 arch/powerpc/platforms/82xx/mpc82xx_ads.c
>
> diff --git a/arch/powerpc/platforms/82xx/Kconfig b/arch/powerpc/ 
> platforms/82xx/Kconfig
> index 89fde43..b4af8c2 100644
> --- a/arch/powerpc/platforms/82xx/Kconfig
> +++ b/arch/powerpc/platforms/82xx/Kconfig
> @@ -1,10 +1,10 @@
>  choice
>  	prompt "82xx Board Type"
>  	depends on PPC_82xx
> -	default MPC82xx_ADS
> +	default MPC8272ADS
>
> -config MPC82xx_ADS
> -	bool "Freescale MPC82xx ADS"
> +config MPC8272ADS
> +	bool "Freescale MPC8272ADS"
>  	select DEFAULT_UIMAGE
>  	select PQ2ADS
>  	select 8272

Similar comments about using underscore in Kconfig vars.

[snip].

- k

^ permalink raw reply

* Re: [PATCH 06/61] 8xx: Don't call non-existent Soft_emulate_8xx from SoftwareEmulation.
From: Kumar Gala @ 2007-07-18  5:05 UTC (permalink / raw)
  To: Scott Wood; +Cc: linuxppc-dev
In-Reply-To: <20070718013302.GE15238@ld0162-tx32.am.freescale.net>


On Jul 17, 2007, at 8:33 PM, Scott Wood wrote:

> On arch/ppc, Soft_emulate_8xx was used when full math emulation was
> turned off to emulate a minimal subset of floating point load/store
> instructions, to avoid needing a soft-float toolchain.  This function
> is called, but not present, on arch/powerpc, causing a build error
> if floating point emulation is turned off.
>
> As soft-float toolchains are now common, I'm deleting the call rather
> than moving Soft_emulate_8xx over to arch/powerpc.

We should move the Soft_emulate_8xx code over.  I see no reason to  
break a usage model that existed in arch/ppc.

- k

^ permalink raw reply

* compile error if CONFIG_BLOCK not enabled related to linux/ide.h include
From: Kumar Gala @ 2007-07-18  5:02 UTC (permalink / raw)
  To: bzolnier; +Cc: linuxppc-dev, linux-kernel, linux-ide

M:      bzolnier@gmail.com
L:      linux-ide@vger.kernel.org

We get the following compile error if CONFIG_BLOCK isn't enabled:

  CC      arch/powerpc/kernel/setup_32.o
In file included from arch/powerpc/kernel/setup_32.c:14:
include/linux/ide.h:558: error: expected specifier-qualifier-list before 'request_queue_t'
include/linux/ide.h:696: warning: 'struct request' declared inside parameter list
include/linux/ide.h:696: warning: its scope is only this definition or declaration, which is probably not what you want
include/linux/ide.h:820: warning: 'struct request' declared inside parameter list
include/linux/ide.h:853: error: field 'wrq' has incomplete type
include/linux/ide.h:1205: error: expected ')' before '*' token
make[1]: *** [arch/powerpc/kernel/setup_32.o] Error 1
make: *** [arch/powerpc/kernel] Error 2

What I'm trying to figure out is if include/linux/ide.h should be wrapped
in a #if defined(CONFIG_IDE) || defined(CONFIG_IDE_MODULE) or if there is
some other desired way to handle this.

This seems to stem from the fact that include/linux/blkdev.h is wrapped in
a CONFIG_BLOCK and thus request_queue_t isn't always defined.

- k

^ permalink raw reply

* Re: [PATCH 03/61] Only include linux/ide.h if CONFIG_BLOCK is defined.
From: Kumar Gala @ 2007-07-18  4:51 UTC (permalink / raw)
  To: Scott Wood; +Cc: linuxppc-dev
In-Reply-To: <20070718013258.GB15238@ld0162-tx32.am.freescale.net>


On Jul 17, 2007, at 8:32 PM, Scott Wood wrote:

> The IDE header file uses type definitions that are undefined if the
> CONFIG_BLOCK is deselected.  This causes a compilation failure in
> setup_32.c.

I'm not yet convinced the solution shouldn't be more generic than  
this.  I'm guessing the same issue exists on other platforms if you  
don't have CONFIG_BLOCK enabled.

- k

^ permalink raw reply

* Re: [PATCH 53/61] 82xx: Set NOT_COHERENT_CACHE on 8272 with PCI.
From: Kumar Gala @ 2007-07-18  4:30 UTC (permalink / raw)
  To: David Gibson; +Cc: linuxppc-dev
In-Reply-To: <20070718032857.GF18251@localhost.localdomain>


On Jul 17, 2007, at 10:28 PM, David Gibson wrote:

> On Tue, Jul 17, 2007 at 08:36:11PM -0500, Scott Wood wrote:
>> I've seen significant network corruption on a PCI network
>> card (e1000) with the mpc8272ads; the corruption went away
>> when I set CONFIG_NOT_COHERENT_CACHE.
>>
>> Signed-off-by: Scott Wood <scottwood@freescale.com>
>
> Hrm... I for one would be a lot more comfortable with this patch if
> you had a theoretical explanation for why it's necessary, in addition
> to the "seems to fix things".

I agree w/David.  Have you tried turning on the  
CPU_FTR_NEED_COHERENT?  Take a look at include/asm-powerpc/cputable.h  
and search for the reference to CONFIG_PPC_83xx.

Even if that solves the problem we need to figure out of there is an  
errata or what that causes this to work.

- k

^ permalink raw reply

* Re: [PATCH 01/61] Use strcasecmp() rather than strncasecmp() when determining device node compatibility.
From: Kumar Gala @ 2007-07-18  4:27 UTC (permalink / raw)
  To: Scott Wood; +Cc: linuxppc-dev
In-Reply-To: <20070718013137.GA15217@ld0162-tx32.am.freescale.net>

Can these patches be broken into logical clumps?

It seems like there are:

* bootwrapper
* misc cleanup
* 82xx
* 8xx
* fs_enet

Would be easier to review and obviously the fs_enet patches need to  
go via jeff and netdev.

- k

^ permalink raw reply

* Re: [PATCH 31/61] mpc8272ads: Check the board in the probe function.
From: David Gibson @ 2007-07-18  3:31 UTC (permalink / raw)
  To: Scott Wood; +Cc: linuxppc-dev
In-Reply-To: <20070718013539.GC15238@ld0162-tx32.am.freescale.net>

On Tue, Jul 17, 2007 at 08:35:39PM -0500, Scott Wood wrote:
> Signed-off-by: Scott Wood <scottwood@freescale.com>

Acked-by: David Gibson <david@gibson.dropbear.id.au>

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

^ permalink raw reply

* Re: [PATCH v2] Allow exec on 32-bit from readable, non-exec pages, with a warning.
From: Segher Boessenkool @ 2007-07-18  3:30 UTC (permalink / raw)
  To: Scott Wood; +Cc: linuxppc-dev@ozlabs.org, Jon Loeliger, Paul Mackerras
In-Reply-To: <469D487D.1020900@freescale.com>

>> A:  They haven't been posted yet.
>>
>> Q:  How do we know Segher has new patches?
>
> He sent it to me to test, and I told him it worked...

And I sent it to the list hours later, over a week ago.


Segher

^ permalink raw reply

* Re: [PATCH 17/61] bootwrapper: Add 8xx support.
From: David Gibson @ 2007-07-18  3:30 UTC (permalink / raw)
  To: Scott Wood; +Cc: linuxppc-dev
In-Reply-To: <20070718013318.GP15238@ld0162-tx32.am.freescale.net>

On Tue, Jul 17, 2007 at 08:33:18PM -0500, Scott Wood wrote:
[snip]
> diff --git a/arch/powerpc/boot/cuboot-8xx.c b/arch/powerpc/boot/cuboot-8xx.c
> new file mode 100644
> index 0000000..35476a0
> --- /dev/null
> +++ b/arch/powerpc/boot/cuboot-8xx.c
> @@ -0,0 +1,47 @@
> +/*
> + * Old U-boot compatibility for 8xx
> + *
> + * Author: Scott Wood <scottwood@freescale.com>
> + *
> + * Copyright (c) 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 version 2 as published
> + * by the Free Software Foundation.
> + */
> +
> +#include "ops.h"
> +#include "stdio.h"
> +#include "cuboot.h"
> +
> +#define TARGET_8xx
> +#define TARGET_HAS_ETH1
           ^^^^^^^^^^^^^^^
Is that really true for all 8xx boards?

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

^ permalink raw reply

* Re: [PATCH 53/61] 82xx: Set NOT_COHERENT_CACHE on 8272 with PCI.
From: David Gibson @ 2007-07-18  3:28 UTC (permalink / raw)
  To: Scott Wood; +Cc: linuxppc-dev
In-Reply-To: <20070718013611.GY15238@ld0162-tx32.am.freescale.net>

On Tue, Jul 17, 2007 at 08:36:11PM -0500, Scott Wood wrote:
> I've seen significant network corruption on a PCI network
> card (e1000) with the mpc8272ads; the corruption went away
> when I set CONFIG_NOT_COHERENT_CACHE.
> 
> Signed-off-by: Scott Wood <scottwood@freescale.com>

Hrm... I for one would be a lot more comfortable with this patch if
you had a theoretical explanation for why it's necessary, in addition
to the "seems to fix things".

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

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox