LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* Re: [rtc-linux] Re: [PATCH 7/7] powerpc/ps3: Add rtc-ps3
From: Alessandro Zummo @ 2009-03-10  9:39 UTC (permalink / raw)
  To: rtc-linux
  Cc: linux-m68k, linux-parisc, linux-kernel, Kyle McMartin,
	linuxppc-dev, Paul Mundt, Geert.Uytterhoeven, Dann Frazier
In-Reply-To: <alpine.LRH.2.00.0903101015470.24318@vixen.sonytel.be>

On Tue, 10 Mar 2009 10:21:14 +0100 (CET)
Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> wrote:

> Alessandro prefers not to have generic RTC drivers on top of some other
> abstraction, but wants platform/chip-specific drivers under drivers/rtc/
> instead. The goal is to convert all RTC drivers buried in platform code
> to separate RTC drivers.
> 
> (Alessandro, please correct me if I'm wrong)

 yes, that's my dream :)

-- 

 Best regards,

 Alessandro Zummo,
  Tower Technologies - Torino, Italy

  http://www.towertech.it

^ permalink raw reply

* Re: [PATCH 7/7] powerpc/ps3: Add rtc-ps3
From: Geert Uytterhoeven @ 2009-03-10  9:21 UTC (permalink / raw)
  To: Geoff Levand
  Cc: linux-m68k, Alessandro Zummo, rtc-linux, linux-parisc,
	linux-kernel, Kyle McMartin, linuxppc-dev, Paul Mundt,
	Dann Frazier
In-Reply-To: <49B5618E.9050501@am.sony.com>

On Mon, 9 Mar 2009, Geoff Levand wrote:
> On 03/09/2009 06:26 AM, Geert Uytterhoeven wrote:
> > Create a real RTC driver for PS3, and unhook the deprecated
> > ppc_md.[gs]et_rtc_time.
> 
> >  8 files changed, 132 insertions(+), 18 deletions(-)
> 
> Sorry, I hadn't been following the discussion closely, but
> could you explain why we are going from a generic framework
> where we hook in our platform specific part to a totally
> independent driver that has such an increase in code size.

Alessandro prefers not to have generic RTC drivers on top of some other
abstraction, but wants platform/chip-specific drivers under drivers/rtc/
instead. The goal is to convert all RTC drivers buried in platform code
to separate RTC drivers.

(Alessandro, please correct me if I'm wrong)

> Why couldn't you fix the generic part so that udev could
> load it automatically?

BTW, I also fixed the generic part, which is now called rtc-generic and
autoloaded (patch 4).

> I much prefer to have this code in the platform support
> code as it was.  It is much more effort (a pain) to maintain
> a separate driver were I have to cater to a subsystem's
> maintainer, and with this rtc it seems everyone who was
> using the generic PPC driver will need to do the same.

They can keep on using rtc-generic for now (patch 6).

If you do not want rtc-ps3, you can nak it, and keep on using rtc-generic :-)
But please consider before doing that...

With kind regards,

Geert Uytterhoeven
Software Architect

Sony Techsoft Centre 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/

A division of Sony Europe (Belgium) N.V.
VAT BE 0413.825.160 · RPR Brussels
Fortis · BIC GEBABEBB · IBAN BE41293037680010

^ permalink raw reply

* Re: 2.6.29-rc7-git2 : crash in kmem_list3_init()
From: Sachin P. Sant @ 2009-03-10  6:06 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Mel Gorman, cl
In-Reply-To: <49B5448B.6030205@in.ibm.com>

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

Sachin P. Sant wrote:
> sure if this is a new problem or a recurring one. Will try booting
> some older kernels on this box and will report the results.
I tried few older kernels till 2.6.28 and all of them had the
same problem.

I also tried using SLUB instead of SLAB. That also failed to
boot with following trace.

Unable to handle kernel paging request for data at address 0xc000000070001030
Faulting instruction address: 0xc00000000011c7e0
cpu 0x0: Vector: 300 (Data Access) at [c000000000ac39a0]
    pc: c00000000011c7e0: .new_slab+0x2b8/0x33c
    lr: c00000000011c7dc: .new_slab+0x2b4/0x33c
    sp: c000000000ac3c20
   msr: 8000000000009032
   dar: c000000070001030
 dsisr: 42000000
  current = 0xc0000000009ea4b0
  paca    = 0xc000000000b53480
    pid   = 0, comm = swapper
enter ? for help
[c000000000ac3cc0] c00000000011dc28 .kmem_cache_open+0x1a4/0x448
[c000000000ac3d90] c00000000011f5dc .create_kmalloc_cache+0x78/0x100
[c000000000ac3e40] c000000000948bec .kmem_cache_init+0x8c/0x1c8
[c000000000ac3ee0] c000000000920a5c .start_kernel+0x360/0x480
[c000000000ac3f90] c0000000000083d8 .start_here_common+0x1c/0x44

Complete dmesg log attached. Is there anything else i can try ?

Thanks
-Sachin

-- 

---------------------------------
Sachin Sant
IBM Linux Technology Center
India Systems and Technology Labs
Bangalore, India
---------------------------------


[-- Attachment #2: rc7-git2-slub-dmesg-log --]
[-- Type: text/plain, Size: 21429 bytes --]

boot: 
Please wait, loading kernel...
Allocated 01500000 bytes for kernel @ 01c00000
   Elf64 kernel loaded...
Loading ramdisk...
ramdisk loaded 004f0000 @ 05700000
OF stdout device is: /vdevice/vty@30000000
Hypertas detected, assuming LPAR !
command line: root=/dev/sda5 quiet sysrq=1 loglevel=8 mminit_loglevel=4 
memory layout at init:
  alloc_bottom : 0000000005bf0000
  alloc_top    : 0000000008000000
  alloc_top_hi : 0000000072000000
  rmo_top      : 0000000008000000
  ram_top      : 0000000072000000
Looking for displays
instantiating rtas at 0x00000000077c0000 ... done
boot cpu hw idx 0000000000000000
starting cpu hw idx 0000000000000002... done
starting cpu hw idx 0000000000000004... done
starting cpu hw idx 0000000000000006... done
starting cpu hw idx 0000000000000008... done
starting cpu hw idx 000000000000000a... done
starting cpu hw idx 000000000000000c... done
starting cpu hw idx 000000000000000e... done
starting cpu hw idx 0000000000000010... done
copying OF device tree ...
Building dt strings...
Building dt structure...
Device tree strings 0x0000000006000000 -> 0x00000000060011ed
Device tree struct  0x0000000006010000 -> 0x0000000006020000
Calling quiesce ...
returning from prom_init
Using pSeries machine description
Page orders: linear mapping = 12, virtual = 12, io = 12, vmemmap = 24
Found initrd at 0xc000000005700000:0xc000000005bf0000
console [udbg0] enabled
Partition configured for 18 cpus.
CPU maps initialized for 2 threads per core
 (thread shift is 1)
Starting Linux PPC64 #5 SMP Tue Mar 10 10:35:45 IST 2009
-----------------------------------------------------
ppc64_pft_size                = 0x19
physicalMemorySize            = 0x72000000
htab_hash_mask                = 0x3ffff
-----------------------------------------------------
Linux version 2.6.29-rc7-git2 (root@linux-4hy5) (gcc version 4.3.1 20080507 (prerelease) [gcc-4_3-branch revision 135036] (SUSE Linux) ) #5 SMP Tue Mar 10 10:35:45 IST 2009
[boot]0012 Setup Arch
mminit::memory_register Entering add_active_range(1, 0x0, 0x800) 0 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0x800, 0xa00) 1 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0xa00, 0xc00) 2 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0xc00, 0xe00) 2 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0xe00, 0x1000) 2 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0x1000, 0x1200) 2 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0x1200, 0x1400) 2 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0x1400, 0x1600) 2 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0x1600, 0x1800) 2 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0x1800, 0x1a00) 2 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0x1a00, 0x1c00) 2 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0x1c00, 0x1e00) 2 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0x1e00, 0x2000) 2 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0x2000, 0x2200) 2 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0x2200, 0x2400) 2 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0x2400, 0x2600) 2 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0x2600, 0x2800) 2 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0x2800, 0x2a00) 2 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0x2a00, 0x2c00) 2 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0x2c00, 0x2e00) 2 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0x2e00, 0x3000) 2 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0x3000, 0x3200) 2 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0x3200, 0x3400) 2 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0x3400, 0x3600) 2 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0x3600, 0x3800) 2 entries of 256 used
mminit::memory_register Entering add_active_range(0, 0x3800, 0x3a00) 2 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x3a00, 0x3c00) 2 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x3c00, 0x3e00) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x3e00, 0x4000) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x4000, 0x4200) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x4200, 0x4400) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x4400, 0x4600) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x4600, 0x4800) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x4800, 0x4a00) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x4a00, 0x4c00) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x4c00, 0x4e00) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x4e00, 0x5000) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x5000, 0x5200) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x5200, 0x5400) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x5400, 0x5600) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x5600, 0x5800) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x5800, 0x5a00) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x5a00, 0x5c00) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x5c00, 0x5e00) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x5e00, 0x6000) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x6000, 0x6200) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x6200, 0x6400) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x6400, 0x6600) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x6600, 0x6800) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x6800, 0x6a00) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x6a00, 0x6c00) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x6c00, 0x6e00) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x6e00, 0x7000) 3 entries of 256 used
mminit::memory_register Entering add_active_range(1, 0x7000, 0x7200) 3 entries of 256 used
Node 0 Memory: 0x8000000-0x3a000000
Node 1 Memory: 0x0-0x8000000 0x3a000000-0x72000000
PCI host bridge /pci@800000020000003  ranges:
  IO 0x000003fe00700000..0x000003fe007fffff -> 0x0000000000000000
 MEM 0x00000401c0000000..0x00000401ffffffff -> 0x00000000c0000000 
EEH: PCI Enhanced I/O Error Handling Enabled
PPC64 nvram contains 7168 bytes
Using shared processor idle loop
Zone PFN ranges:
  DMA      0x00000000 -> 0x00007200
  Normal   0x00007200 -> 0x00007200
Movable zone start PFN for each node
early_node_map[3] active PFN ranges
    1: 0x00000000 -> 0x00000800
    0: 0x00000800 -> 0x00003a00
    1: 0x00003a00 -> 0x00007200
mminit::pageflags_layout_widths Section 0 Node 4 Zone 2 Flags 22
mminit::pageflags_layout_shifts Section 20 Node 4 Zone 2
mminit::pageflags_layout_offsets Section 0 Node 60 Zone 58
mminit::pageflags_layout_zoneid Zone ID: 58 -> 64
mminit::pageflags_layout_usage location: 64 -> 58 unused 58 -> 22 flags 22 -> 0
On node 0 totalpages: 12800
  DMA zone: 18 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 12782 pages, LIFO batch:1
mminit::memmap_init Initialising map node 0 zone 0 pfns 2048 -> 14848
On node 1 totalpages: 16384
  DMA zone: 40 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 16344 pages, LIFO batch:1
mminit::memmap_init Initialising map node 1 zone 0 pfns 0 -> 29184
[boot]0015 Setup Done
mminit::zonelist general 0:DMA = 0:DMA 1:DMA 
mminit::zonelist thisnode 0:DMA = 0:DMA 
mminit::zonelist general 1:DMA = 1:DMA 0:DMA 
mminit::zonelist thisnode 1:DMA = 1:DMA 
Built 2 zonelists in Node order, mobility grouping on.  Total pages: 29126
Policy zone: DMA
Kernel command line: root=/dev/sda5 quiet sysrq=1 loglevel=8 mminit_loglevel=4 
[boot]0020 XICS Init
[boot]0021 XICS Done
pic: no ISA interrupt controller
PID hash table entries: 4096 (order: 12, 32768 bytes)
time_init: decrementer frequency = 207.050000 MHz
time_init: processor frequency   = 1656.400000 MHz
clocksource: timebase mult[1351aa5] shift[22] registered
clockevent: decrementer mult[3501] shift[16] cpu[0]
Console: colour dummy device 80x25
console handover: boot [udbg0] -> real [hvc0]
Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
... MAX_LOCKDEP_SUBCLASSES:  8
... MAX_LOCK_DEPTH:          48
... MAX_LOCKDEP_KEYS:        8191
... CLASSHASH_SIZE:          4096
... MAX_LOCKDEP_ENTRIES:     8192
... MAX_LOCKDEP_CHAINS:      16384
... CHAINHASH_SIZE:          8192
 memory used by lock dependency info: 3839 kB
 per task-struct memory footprint: 1920 bytes
Dentry cache hash table entries: 262144 (order: 5, 2097152 bytes)
Inode-cache hash table entries: 131072 (order: 4, 1048576 bytes)
freeing bootmem node 0
freeing bootmem node 1
Memory: 1812032k/1867776k available (9792k kernel code, 57920k reserved, 1216k data, 8025k bss, 448k init)
Unable to handle kernel paging request for data at address 0xc000000070001030
Faulting instruction address: 0xc00000000011c7e0
cpu 0x0: Vector: 300 (Data Access) at [c000000000ac39a0]
    pc: c00000000011c7e0: .new_slab+0x2b8/0x33c
    lr: c00000000011c7dc: .new_slab+0x2b4/0x33c
    sp: c000000000ac3c20
   msr: 8000000000009032
   dar: c000000070001030
 dsisr: 42000000
  current = 0xc0000000009ea4b0
  paca    = 0xc000000000b53480
    pid   = 0, comm = swapper
enter ? for help
[c000000000ac3cc0] c00000000011dc28 .kmem_cache_open+0x1a4/0x448
[c000000000ac3d90] c00000000011f5dc .create_kmalloc_cache+0x78/0x100
[c000000000ac3e40] c000000000948bec .kmem_cache_init+0x8c/0x1c8
[c000000000ac3ee0] c000000000920a5c .start_kernel+0x360/0x480
[c000000000ac3f90] c0000000000083d8 .start_here_common+0x1c/0x44
0:mon> ls .new_slab
.new_slab: c00000000011c528
0:mon> di c00000000011c528
c00000000011c528  7c0802a6      mflr    r0
c00000000011c52c  fb41ffd0      std     r26,-48(r1)
c00000000011c530  fba1ffe8      std     r29,-24(r1)
c00000000011c534  fbc1fff0      std     r30,-16(r1)
c00000000011c538  fb61ffd8      std     r27,-40(r1)
c00000000011c53c  fb81ffe0      std     r28,-32(r1)
c00000000011c540  fbe1fff8      std     r31,-8(r1)
c00000000011c544  f8010010      std     r0,16(r1)
c00000000011c548  ebc2b2a8      ld      r30,-19800(r2)
c00000000011c54c  38000000      li      r0,0
c00000000011c550  f821ff61      stdu    r1,-160(r1)
c00000000011c554  7c7a1b78      mr      r26,r3
c00000000011c558  6000ffe0      ori     r0,r0,65504
c00000000011c55c  7cbd2b78      mr      r29,r5
c00000000011c560  780083e4      rldicr  r0,r0,16,47
c00000000011c564  60000006      ori     r0,r0,6
0:mon> 
c00000000011c568  7c800038      and     r0,r4,r0
c00000000011c56c  0b000000      tdnei   r0,0
c00000000011c570  3c000007      lis     r0,7
c00000000011c574  812300a0      lwz     r9,160(r3)
c00000000011c578  2f85ffff      cmpwi   cr7,r5,-1
c00000000011c57c  eb630018      ld      r27,24(r3)
c00000000011c580  60001ef0      ori     r0,r0,7920
c00000000011c584  7c002038      and     r0,r0,r4
c00000000011c588  7b648022      rldicl  r4,r27,48,32
c00000000011c58c  7c004b78      or      r0,r0,r9
c00000000011c590  781c0020      clrldi  r28,r0,32
c00000000011c594  63801200      ori     r0,r28,4608
c00000000011c598  78030020      clrldi  r3,r0,32
c00000000011c59c  409e0018      bne     cr7,c00000000011c5b4    # .new_slab+0x8c/0x33c
c00000000011c5a0  2b840008      cmplwi  cr7,r4,8
c00000000011c5a4  419d0074      bgt     cr7,c00000000011c618    # .new_slab+0xf0/0x33c
0:mon> 
c00000000011c5a8  4bffa561      bl      c000000000116b08        # .alloc_pages_current+0x0/0x124
c00000000011c5ac  60000000      nop
c00000000011c5b0  4800005c      b       c00000000011c60c        # .new_slab+0xe4/0x33c
c00000000011c5b4  2b840008      cmplwi  cr7,r4,8
c00000000011c5b8  419d0060      bgt     cr7,c00000000011c618    # .new_slab+0xf0/0x33c
c00000000011c5bc  2f850000      cmpwi   cr7,r5,0
c00000000011c5c0  7ca92b78      mr      r9,r5
c00000000011c5c4  409c0014      bge     cr7,c00000000011c5d8    # .new_slab+0xb0/0x33c
c00000000011c5c8  a00d000a      lhz     r0,10(r13)
c00000000011c5cc  e93e82a8      ld      r9,-32088(r30)
c00000000011c5d0  78001764      rldicr  r0,r0,2,61
c00000000011c5d4  7d2902aa      lwax    r9,r9,r0
c00000000011c5d8  786a77e2      rldicl  r10,r3,46,63
c00000000011c5dc  e97e8178      ld      r11,-32392(r30)
c00000000011c5e0  79291f24      rldicr  r9,r9,3,60
c00000000011c5e4  38c00000      li      r6,0
0:mon> 
c00000000011c5e8  300affff      addic   r0,r10,-1
c00000000011c5ec  7c000110      subfe   r0,r0,r0
c00000000011c5f0  780acf26      rldicr  r10,r0,57,60
c00000000011c5f4  7cab482a      ldx     r5,r11,r9
c00000000011c5f8  794a3f24      rldicr  r10,r10,7,60
c00000000011c5fc  394a2308      addi    r10,r10,8968
c00000000011c600  7ca55214      add     r5,r5,r10
c00000000011c604  4bfce7e1      bl      c0000000000eade4        # .__alloc_pages_internal+0x0/0x528
c00000000011c608  60000000      nop
c00000000011c60c  2fa30000      cmpdi   cr7,r3,0
c00000000011c610  7c7f1b78      mr      r31,r3
c00000000011c614  40fe0090      bne+    cr7,c00000000011c6a4    # .new_slab+0x17c/0x33c
c00000000011c618  2f9dffff      cmpwi   cr7,r29,-1
c00000000011c61c  eb7a0098      ld      r27,152(r26)
c00000000011c620  7b648022      rldicl  r4,r27,48,32
c00000000011c624  409e001c      bne     cr7,c00000000011c640    # .new_slab+0x118/0x33c
0:mon> 
c00000000011c628  2b840008      cmplwi  cr7,r4,8
c00000000011c62c  419d0208      bgt     cr7,c00000000011c834    # .new_slab+0x30c/0x33c
c00000000011c630  7f83e378      mr      r3,r28
c00000000011c634  4bffa4d5      bl      c000000000116b08        # .alloc_pages_current+0x0/0x124
c00000000011c638  60000000      nop
c00000000011c63c  4800005c      b       c00000000011c698        # .new_slab+0x170/0x33c
c00000000011c640  2b840008      cmplwi  cr7,r4,8
c00000000011c644  419d01f0      bgt     cr7,c00000000011c834    # .new_slab+0x30c/0x33c
c00000000011c648  2f9d0000      cmpwi   cr7,r29,0
c00000000011c64c  409c0014      bge     cr7,c00000000011c660    # .new_slab+0x138/0x33c
c00000000011c650  a00d000a      lhz     r0,10(r13)
c00000000011c654  e93e82a8      ld      r9,-32088(r30)
c00000000011c658  78001764      rldicr  r0,r0,2,61
c00000000011c65c  7fa902aa      lwax    r29,r9,r0
c00000000011c660  7b8a77e2      rldicl  r10,r28,46,63
c00000000011c664  e97e8178      ld      r11,-32392(r30)
0:mon> 
c00000000011c668  7ba91f24      rldicr  r9,r29,3,60
c00000000011c66c  7f83e378      mr      r3,r28
c00000000011c670  38c00000      li      r6,0
c00000000011c674  300affff      addic   r0,r10,-1
c00000000011c678  7c000110      subfe   r0,r0,r0
c00000000011c67c  780acf26      rldicr  r10,r0,57,60
c00000000011c680  7cab482a      ldx     r5,r11,r9
c00000000011c684  794a3f24      rldicr  r10,r10,7,60
c00000000011c688  394a2308      addi    r10,r10,8968
c00000000011c68c  7ca55214      add     r5,r5,r10
c00000000011c690  4bfce755      bl      c0000000000eade4        # .__alloc_pages_internal+0x0/0x528
c00000000011c694  60000000      nop
c00000000011c698  2fa30000      cmpdi   cr7,r3,0
c00000000011c69c  7c7f1b78      mr      r31,r3
c00000000011c6a0  419e0198      beq     cr7,c00000000011c838    # .new_slab+0x310/0x33c
c00000000011c6a4  b37f000e      sth     r27,14(r31)
0:mon> 
c00000000011c6a8  e87f0000      ld      r3,0(r31)
c00000000011c6ac  7b698402      rldicl  r9,r27,48,16
c00000000011c6b0  38a00001      li      r5,1
c00000000011c6b4  e97e8178      ld      r11,-32392(r30)
c00000000011c6b8  7ca54830      slw     r5,r5,r9
c00000000011c6bc  78602720      rldicl  r0,r3,4,60
c00000000011c6c0  786337a0      rldicl  r3,r3,6,62
c00000000011c6c4  7ca507b4      extsw   r5,r5
c00000000011c6c8  78001f24      rldicr  r0,r0,3,60
c00000000011c6cc  1c630a80      mulli   r3,r3,2688
c00000000011c6d0  e89a0000      ld      r4,0(r26)
c00000000011c6d4  7c0b002a      ldx     r0,r11,r0
c00000000011c6d8  78847fe2      rldicl  r4,r4,47,63
c00000000011c6dc  7c601a14      add     r3,r0,r3
c00000000011c6e0  2084000d      subfic  r4,r4,13
c00000000011c6e4  4bfdd679      bl      c0000000000f9d5c        # .mod_zone_page_state+0x0/0x128
0:mon> 
c00000000011c6e8  60000000      nop
c00000000011c6ec  e93f0000      ld      r9,0(r31)
c00000000011c6f0  a01f000e      lhz     r0,14(r31)
c00000000011c6f4  79292720      rldicl  r9,r9,4,60
c00000000011c6f8  39290022      addi    r9,r9,34
c00000000011c6fc  79291f24      rldicr  r9,r9,3,60
c00000000011c700  7d3a4a14      add     r9,r26,r9
c00000000011c704  e9690008      ld      r11,8(r9)
c00000000011c708  2fab0000      cmpdi   cr7,r11,0
c00000000011c70c  419e0030      beq     cr7,c00000000011c73c    # .new_slab+0x214/0x33c
c00000000011c710  392b0050      addi    r9,r11,80
c00000000011c714  7d4048a8      ldarx   r10,0,r9
c00000000011c718  314a0001      addic   r10,r10,1
c00000000011c71c  7d4049ad      stdcx.  r10,0,r9
c00000000011c720  40c2fff4      bne-    c00000000011c714        # .new_slab+0x1ec/0x33c
c00000000011c724  392b0058      addi    r9,r11,88
0:mon> 
c00000000011c728  7c0007b4      extsw   r0,r0
c00000000011c72c  7d6048a8      ldarx   r11,0,r9
c00000000011c730  7d605a14      add     r11,r0,r11
c00000000011c734  7d6049ad      stdcx.  r11,0,r9
c00000000011c738  40c2fff4      bne-    c00000000011c72c        # .new_slab+0x204/0x33c
c00000000011c73c  e81f0000      ld      r0,0(r31)
c00000000011c740  fb5f0010      std     r26,16(r31)
c00000000011c744  3d200021      lis     r9,33
c00000000011c748  61290d00      ori     r9,r9,3328
c00000000011c74c  60000080      ori     r0,r0,128
c00000000011c750  f81f0000      std     r0,0(r31)
c00000000011c754  e81a0000      ld      r0,0(r26)
c00000000011c758  7d280039      and.    r8,r9,r0
c00000000011c75c  41820010      beq     c00000000011c76c        # .new_slab+0x244/0x33c
c00000000011c760  e81f0000      ld      r0,0(r31)
c00000000011c764  60000002      ori     r0,r0,2
0:mon> 
c00000000011c768  f81f0000      std     r0,0(r31)
c00000000011c76c  3c001000      lis     r0,4096
c00000000011c770  e95e8018      ld      r10,-32744(r30)
c00000000011c774  e97a0000      ld      r11,0(r26)
c00000000011c778  3920ffff      li      r9,-1
c00000000011c77c  780007c6      rldicr  r0,r0,32,31
c00000000011c780  79290044      rldicr  r9,r9,0,1
c00000000011c784  7c1f0214      add     r0,r31,r0
c00000000011c788  7968afe3      rldicl. r8,r11,53,63
c00000000011c78c  7c001e74      sradi   r0,r0,3
c00000000011c790  7c0051d2      mulld   r0,r0,r10
c00000000011c794  780083e4      rldicr  r0,r0,16,47
c00000000011c798  7f604a14      add     r27,r0,r9
c00000000011c79c  41e20030      beq+    c00000000011c7cc        # .new_slab+0x2a4/0x33c
c00000000011c7a0  e81f0000      ld      r0,0(r31)
c00000000011c7a4  39200000      li      r9,0
0:mon> 
c00000000011c7a8  780b9fe3      rldicl. r11,r0,51,63
c00000000011c7ac  41820008      beq     c00000000011c7b4        # .new_slab+0x28c/0x33c
c00000000011c7b0  e93f00ae      lwa     r9,172(r31)
c00000000011c7b4  3ca00001      lis     r5,1
c00000000011c7b8  7f63db78      mr      r3,r27
c00000000011c7bc  3880005a      li      r4,90
c00000000011c7c0  7ca54836      sld     r5,r5,r9
c00000000011c7c4  4bf1ce29      bl      c0000000000395ec        # .memset+0x0/0xfc
c00000000011c7c8  60000000      nop
c00000000011c7cc  7f7cdb78      mr      r28,r27
c00000000011c7d0  7f7ddb78      mr      r29,r27
c00000000011c7d4  4800001c      b       c00000000011c7f0        # .new_slab+0x2c8/0x33c
c00000000011c7d8  4bffe2e9      bl      c00000000011aac0        # .setup_object+0x0/0x9c
c00000000011c7dc  e81a0012      lwa     r0,16(r26)
c00000000011c7e0  7fbc012a      stdx    r29,r28,r0
c00000000011c7e4  7fbceb78      mr      r28,r29
0:mon> r
R00 = 0000000000000000   R16 = 0000000002561f58
R01 = c000000000ac3c20   R17 = 0000000000000000
R02 = c000000000abc0d8   R18 = c000000000961f58
R03 = c000000000b29480   R19 = 00000000019ffcb0
R04 = f000000000268000   R20 = 0000000000000070
R05 = c000000070001030   R21 = c000000000b294a0
R06 = 0000000000000001   R22 = 0000000000000000
R07 = 0000000000000001   R23 = 0000000000000000
R08 = 0000000000000000   R24 = 00000000000000d0
R09 = 0000000000000000   R25 = c000000000b29480
R10 = 2e8ba2e8ba2e8ba3   R26 = c000000000b29480
R11 = 0000000000000000   R27 = c000000070000000
R12 = 0000000048000024   R28 = c000000070001030
R13 = c000000000b53480   R29 = c0000000700010a0
R14 = c000000000962020   R30 = c000000000a22498
R15 = c000000000847668   R31 = f000000000268000
pc  = c00000000011c7e0 .new_slab+0x2b8/0x33c
lr  = c00000000011c7dc .new_slab+0x2b4/0x33c
msr = 8000000000009032   cr  = 28000022
ctr = 0000000000000000   xer = 000000000000000c   trap =  300
dar = c000000070001030   dsisr = 42000000
0:mon>



^ permalink raw reply

* powerpc 405ex emac1 problem connect to single Giga phy
From: zhong wang @ 2009-03-10  5:36 UTC (permalink / raw)
  To: linuxppc-dev


[-- Attachment #1.1: Type: text/plain, Size: 3088 bytes --]

Hello all:
  

We use the AMCC PowerPC 405ex through emac1 way RGMII with realtek RTL8211 Giga phy linked to, At present the PHY Address is: 00110
add delay  2ns for RGMII
CONFIG[8:5]:AUTO_Negotiation
1111=NWay,advertise ,all capabilities,prefer Slave
mode;1=RGMII mode
Clk on the hardware no problem, Mdio, mdc even on, but at Llinux / driver / net / ibm-newemac / core.c discovered phy address, phy ID at  .Config file has joined
NETDEVICE = Y
PHYLIB=Y
                                             REALTEK-PHY=Y
But will be compiled under the best Uimage to board, the feeling of the PHY the driver has not been mounted use. The following is a kernel information
  PPC 4xx OCP EMAC driver, version 3.54
MAL v2 /plb/mcmal, 2 TX channels, 2 RX channels
RGMII /plb/opb/emac-rgmii@ef600b00 initialized with MDIO support
/plb/opb/emac-rgmii@ef600b00: input 0 in RGMII mode
eth0: EMAC-0 /plb/opb/ethernet@ef600900, MAC 00:47:41:52:52:59
/plb/opb/emac-rgmii@ef600b00: input 1 in RGMII mode
/plb/opb/ethernet@ef600a00: find TRL 821X Giga PHY(0x4)
 
But also in Llinux / driver / net / ibm-newemac / phy.c also add the operation of RTL8211bg as follows:
#define RTL821x_PHYSR            0x11
#define RTL821x_PHYSR_DUPLEX    0x2000
#define RTL821x_PHYSR_SPEED       0xc000
#define RTL821x_INER        0x12
#define RTL821x_INER_INIT      0x6400
#define RTL821x_INSR        0x13
static int rtl821x_init(struct mii_phy *phy)
{
       phy_write(phy, RTL821x_INER, 0x6400); //enable interrupt
              return  0;
}
 
static struct mii_phy_ops rtl821x_phy_ops = {
       .init         = rtl821x_init,
       .setup_aneg    = genmii_setup_aneg,
       .setup_forced  = genmii_setup_forced,
       .poll_link = genmii_poll_link,
       .read_link       = genmii_read_link
};
 
static struct mii_phy_def rtl821x_phy_def = {
       .phy_id           = 0x001cc912,  // for rtl8211 single phy 
   // .phy_id         = 0x001cc960,   for 8366sr inside phy 4
       .phy_id_mask = 0x001fffff,
       .name             = "RTL 821X Giga Phy",
       .features  = PHY_GBIT_FEATURES,
       //.flags           = PHY_HAS_INTERRUPT,
       .ops        = &rtl821x_phy_ops
 
But will be compiled under the best Uimage to board, the feeling of the PHY the driver has not been mounted use. The following is a kernel information
     After IP with a good PC PING board, Return Request Time Out! Troublesome players you look at what questions are
 
      Connection diagram, see attachment
 
                                leowang
                                2009:03:10


      ___________________________________________________________ 
  好玩贺卡等你发,邮箱贺卡全新上线! 
http://card.mail.cn.yahoo.com/

[-- Attachment #1.2: Type: text/html, Size: 16011 bytes --]

[-- Attachment #2: Connection diagram.pdf --]
[-- Type: application/pdf, Size: 11298 bytes --]

^ permalink raw reply

* [PATCH] efp: Fix efp dependence
From: Liu Yu @ 2009-03-10  3:09 UTC (permalink / raw)
  To: linuxppc-dev, galak; +Cc: Liu Yu

There is no dependece between efp and math-emu.
But when disalbe math-emu, the efp code cannot be built.
This patch fixes it.

Signed-off-by: Liu Yu <yu.liu@freescale.com>
---
It would be nice to see this patch go along with 2.6.29

 arch/powerpc/Makefile          |    4 ++--
 arch/powerpc/math-emu/Makefile |    5 ++---
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 72d17f5..551fc58 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -147,8 +147,8 @@ core-y				+= arch/powerpc/kernel/ \
 				   arch/powerpc/mm/ \
 				   arch/powerpc/lib/ \
 				   arch/powerpc/sysdev/ \
-				   arch/powerpc/platforms/
-core-$(CONFIG_MATH_EMULATION)	+= arch/powerpc/math-emu/
+				   arch/powerpc/platforms/ \
+				   arch/powerpc/math-emu/
 core-$(CONFIG_XMON)		+= arch/powerpc/xmon/
 core-$(CONFIG_KVM) 		+= arch/powerpc/kvm/
 
diff --git a/arch/powerpc/math-emu/Makefile b/arch/powerpc/math-emu/Makefile
index f9e506a..0c16ab9 100644
--- a/arch/powerpc/math-emu/Makefile
+++ b/arch/powerpc/math-emu/Makefile
@@ -1,6 +1,4 @@
 
-obj-y				:= math.o fmr.o lfd.o stfd.o
-
 obj-$(CONFIG_MATH_EMULATION)	+= fabs.o fadd.o fadds.o fcmpo.o fcmpu.o \
 					fctiw.o fctiwz.o fdiv.o fdivs.o \
 					fmadd.o fmadds.o fmsub.o fmsubs.o \
@@ -9,7 +7,8 @@ obj-$(CONFIG_MATH_EMULATION)	+= fabs.o fadd.o fadds.o fcmpo.o fcmpu.o \
 					fres.o frsp.o frsqrte.o fsel.o lfs.o \
 					fsqrt.o	fsqrts.o fsub.o fsubs.o \
 					mcrfs.o mffs.o mtfsb0.o mtfsb1.o \
-					mtfsf.o mtfsfi.o stfiwx.o stfs.o
+					mtfsf.o mtfsfi.o stfiwx.o stfs.o \
+					math.o fmr.o lfd.o stfd.o
 
 obj-$(CONFIG_SPE)		+= math_efp.o
 
-- 
1.5.4

^ permalink raw reply related

* Re: GPIO and SPI on CPM2 (8260)?
From: Daniel Ng @ 2009-03-10  1:15 UTC (permalink / raw)
  To: Stepanov, Sergej, linuxppc-dev
In-Reply-To: <4206182445660643B9AEB8D4E55BBD0A02B57F6F18@HERMES2>

Hi Sergej,

On Fri, Mar 6, 2009 at 9:07 PM, Stepanov, Sergej <Sergej.Stepanov@ids.de> wrote:
> gpio - driver functions pretty well for a pin-setup, but uninitialized/unexported pins have undefined states

-did you achieve this using gpiolib.c? If not, then what files and
what kernel are you using? We are trying to get it working for 2.6.27.

> I found no spi-support for 8260-based boards with CPM2/1.

This is unfortunate. I guess this means SPI on these boards is not
used by many engineers...

> P.s. Have you seen cpm2-spi-support in u-boot?

No, sorry- not in u-boot.

^ permalink raw reply

* Re: Oops with 2.6.29-rc7 on POWER5
From: Benjamin Herrenschmidt @ 2009-03-10  0:36 UTC (permalink / raw)
  To: Josh Boyer; +Cc: linuxppc-dev, Alan Cox
In-Reply-To: <20090310000559.GD2256@yoda.jdub.homelinux.org>

On Mon, 2009-03-09 at 20:05 -0400, Josh Boyer wrote:
> [c00000000fffb830] [c0000000005fe504] .mutex_lock_nested+0x78/0x4b0
> (unreliable)
> [c00000000fffb950] [c00000000039d520] .echo_char_raw+0x40/0x98
> [c00000000fffb9f0] [c00000000039fd68] .n_tty_receive_buf+0xb48/0x1104
> [c00000000fffbbb0] [c0000000003a3a08] .flush_to_ldisc+0x160/0x244
> [c00000000fffbc80] [c0000000003a3b5c] .tty_flip_buffer_push+0x70/0x9c
> [c00000000fffbd10] [c0000000003b9e94] .hvsi_interrupt+0x464/0x590
> [c00000000fffbe50] [c000000000119168] .handle_IRQ_event+0x60/0xdc
> [c00000000fffbef0] [c00000000011baf0] .handle_fasteoi_irq+0x108/0x1a8
> 
Do that patch help ?

Alan, any comment about the races talked about in those comments ? Are
they still something I should worry about ?

hvc: Remove tty->low_latency on pseries backends

The hvcs and hvsi backends both set tty->low_latency to one, along
with more or less scary comments regarding bugs or races that would
happen if not doing so.

However, they also both call tty_flip_buffer_push() in conexts where
it's illegal to do so since some recent tty changes (or at least it
may have been illegal always but it nows blows) when low_latency is
set (ie, hard interrupt or with spinlock held and irqs disabled).

This removes the setting for now to get them back to working condition,
we'll have to address the races described in the comments separately
if they are still an issue (some of this might have been fixed already).

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---

Index: linux-work/drivers/char/hvcs.c
===================================================================
--- linux-work.orig/drivers/char/hvcs.c	2009-03-10 11:28:03.000000000 +1100
+++ linux-work/drivers/char/hvcs.c	2009-03-10 11:28:08.000000000 +1100
@@ -1139,15 +1139,6 @@ static int hvcs_open(struct tty_struct *
 	hvcsd->tty = tty;
 	tty->driver_data = hvcsd;
 
-	/*
-	 * Set this driver to low latency so that we actually have a chance at
-	 * catching a throttled TTY after we flip_buffer_push.  Otherwise the
-	 * flush_to_async may not execute until after the kernel_thread has
-	 * yielded and resumed the next flip_buffer_push resulting in data
-	 * loss.
-	 */
-	tty->low_latency = 1;
-
 	memset(&hvcsd->buffer[0], 0x00, HVCS_BUFF_LEN);
 
 	/*
Index: linux-work/drivers/char/hvsi.c
===================================================================
--- linux-work.orig/drivers/char/hvsi.c	2009-03-10 11:27:19.000000000 +1100
+++ linux-work/drivers/char/hvsi.c	2009-03-10 11:27:22.000000000 +1100
@@ -810,7 +810,6 @@ static int hvsi_open(struct tty_struct *
 	hp = &hvsi_ports[line];
 
 	tty->driver_data = hp;
-	tty->low_latency = 1; /* avoid throttle/tty_flip_buffer_push race */
 
 	mb();
 	if (hp->state == HVSI_FSP_DIED)

^ permalink raw reply

* Re: Please pull mpc52xx-next
From: Michael Neuling @ 2009-03-10  0:16 UTC (permalink / raw)
  To: Grant Likely; +Cc: linuxppc-dev
In-Reply-To: <fa686aa40903091714h529a8546s982156fac349c426@mail.gmail.com>

> > Grant,
> >
> > Can you grab this guy too?
> >
> > http://patchwork.ozlabs.org/patch/24082/
> 
> Oops, forgot to email you about this one.  I actually wrote another
> patch the eliminates the sysfs attributes entirely which also
> eliminates the problem.  It will be in my next pull request to Ben
> (any day now; just waiting for an ack on another patch).

OK, sounds good.

Mikey

^ permalink raw reply

* Re: Please pull mpc52xx-next
From: Grant Likely @ 2009-03-10  0:14 UTC (permalink / raw)
  To: Michael Neuling; +Cc: linuxppc-dev
In-Reply-To: <1001.1236642379@neuling.org>

Hey Mikey,

On Mon, Mar 9, 2009 at 5:46 PM, Michael Neuling <mikey@neuling.org> wrote:
> Grant,
>
> Can you grab this guy too?
>
> http://patchwork.ozlabs.org/patch/24082/

Oops, forgot to email you about this one.  I actually wrote another
patch the eliminates the sysfs attributes entirely which also
eliminates the problem.  It will be in my next pull request to Ben
(any day now; just waiting for an ack on another patch).

g.


-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

^ permalink raw reply

* Oops with 2.6.29-rc7 on POWER5
From: Josh Boyer @ 2009-03-10  0:05 UTC (permalink / raw)
  To: linuxppc-dev

I get the following oops on a ppc64 machine using a Fedora rawhide kernel,
which is very close to 2.6.29-rc7.

It's a POWER5, pSeries CHRP IBM,9123-710.

Haven't looked into it just quite yet, but I found it interesting and was
wondering if anyone had seen anything like this or could recreate.

josh

BUG: sleeping function called from invalid context at kernel/mutex.c:207
in_atomic(): 1, irqs_disabled(): 1, pid: 0, name: swapper
------------[ cut here ]------------
Badness at kernel/mutex.c:135
NIP: c0000000005fe54c LR: c0000000005fe530 CTR: 0000000000000001
REGS: c00000000fffb5b0 TRAP: 0700   Not tainted  (2.6.29-0.215.rc7.fc11.ppc64)
MSR: 8000000000021032 <ME,CE,IR,DR>  CR: 28000082  XER: 0000000f
TASK = c000000000f69e90[0] 'swapper' THREAD: c000000001010000 CPU: 0
GPR00: 0000000000000000 c00000000fffb830 c0000000010106b8 0000000000000001 
GPR04: c000000000f69e90 0000000000000070 0000000000000000 0000000000000002 
GPR08: 0000000000000000 c00000000179a3b8 c00000000104cb58 c000000001086a10 
GPR12: 000000000000003c c000000001058400 c00000006f09b4d0 c00000006f09b270 
GPR16: c00000006f09b408 c00000000fffba60 0000000000000001 c00000006f09b3c8 
GPR20: 0000000000000001 c00000006e570129 0000000000000000 c00000006f09b8c0 
GPR24: 0000000000000000 c00000000039d520 c00000006f09b248 c000000000f69e90 
GPR28: c00000006f09b8c0 c00000006f09b8c0 c000000000fa15c0 c00000000fffb830 
NIP [c0000000005fe54c] .mutex_lock_nested+0xc0/0x4b0
LR [c0000000005fe530] .mutex_lock_nested+0xa4/0x4b0
Call Trace:
[c00000000fffb830] [c0000000005fe504] .mutex_lock_nested+0x78/0x4b0 (unreliable)
[c00000000fffb950] [c00000000039d520] .echo_char_raw+0x40/0x98
[c00000000fffb9f0] [c00000000039fd68] .n_tty_receive_buf+0xb48/0x1104
[c00000000fffbbb0] [c0000000003a3a08] .flush_to_ldisc+0x160/0x244
[c00000000fffbc80] [c0000000003a3b5c] .tty_flip_buffer_push+0x70/0x9c
[c00000000fffbd10] [c0000000003b9e94] .hvsi_interrupt+0x464/0x590
[c00000000fffbe50] [c000000000119168] .handle_IRQ_event+0x60/0xdc
[c00000000fffbef0] [c00000000011baf0] .handle_fasteoi_irq+0x108/0x1a8
[c00000000fffbf90] [c00000000002f1c4] .call_handle_irq+0x1c/0x2c
[c000000001013970] [c00000000000e0ac] .do_IRQ+0x144/0x258
[c000000001013a30] [c000000000004d28] hardware_interrupt_entry+0x28/0x2c
--- Exception: 501 at .raw_local_irq_restore+0xa4/0xc0
    LR = .cpu_idle+0x13c/0x1e0
[c000000001013d20] [c000000000f9af28] mv88e6131_switch_driver+0x8d08/0x275f8 (unreliable)
[c000000001013dc0] [c000000000014d34] .cpu_idle+0x13c/0x1e0
[c000000001013e60] [c0000000006062b8] .rest_init+0x94/0xb0
[c000000001013ee0] [c00000000088bd08] .start_kernel+0x4a4/0x4c8
[c000000001013f90] [c000000000008408] .start_here_common+0x2c/0xa4
Instruction dump:
78290464 80090014 5409012f 41a20028 4bcb199d 60000000 2fa30000 419e0018 
e93e8008 80090000 2f800000 409e0008 <0fe00000> 38000000 8b8d01da 980d01da 

^ permalink raw reply

* Re: Does DRI/DRM still work on non-coherent DMA platforms?
From: Benjamin Herrenschmidt @ 2009-03-10  0:07 UTC (permalink / raw)
  To: Gerhard Pircher; +Cc: linuxppc-dev list
In-Reply-To: <20090309213034.192330@gmx.net>

On Mon, 2009-03-09 at 22:30 +0100, Gerhard Pircher wrote:
> Hi,
> 
> I heard rumors that DRI doesn't work on SAM440EP (onboard Radeon GPU)
> boards. I had DRI halfway working on my AmigaOne (Radeon 9250) with an
> early release candidate of the 2.6.25 kernel and IIRC this patch here
> (manually applied):
> http://kerneltrap.org/index.php?q=mailarchive/git-commits-head/2008/3/30/1301044
> 
> I just tested DRI again on my A1 (I don't have a SAM board) with
> v2.6.29-rc6 and the machine looks up while starting the X server.
> Curiously DRI seems to work, if I specify "udbg-immortal" on the
> kernel command line and enable DRM debugging.
> Did anyone try out DRI on a non-coherent DMA PPC platform and can
> confirm that it still works?

It should work... try using dri-next branch from airlied tree, I had
that working on a Canyonlands after DaveM and I fixed a whole bunch of
issues. Also make sure you use the latest X side driver too.

Cheers,
Ben.

^ permalink raw reply

* Re: Please pull mpc52xx-next
From: Michael Neuling @ 2009-03-09 23:46 UTC (permalink / raw)
  To: Grant Likely; +Cc: linuxppc-dev
In-Reply-To: <fa686aa40903061008u707b0988s32f04d757d3feb16@mail.gmail.com>

> Hey Ben,
> 
> Here are some more for -next.
> 
> The following changes since commit 652e8f8d579d61745094e36b4ff085026a332e73:
>   Benjamin Herrenschmidt (1):
>         Merge commit 'jwb/next' into next
> 
> are available in the git repository at:
> 
>   git://git.secretlab.ca/git/linux-2.6-mpc52xx next

Grant, 

Can you grab this guy too?

http://patchwork.ozlabs.org/patch/24082/

Mikey

> 
> Grant Likely (2):
>       powerpc/5200: Add 'simple-bus' to the of_platform probe list.
>       powerpc/4xx: update ml507 .dts file to release reference design
> 
> Grzegorz Bernacki (2):
>       powerpc/5200: Add digsy-mtc support to mpc5200_defconfig
>       powerpc/5200: On the digsy-mtc, configure PSC4 and PSC5 as UARTs
> 
>  arch/powerpc/boot/dts/digsy_mtc.dts          |   12 ++--
>  arch/powerpc/boot/dts/virtex440-ml507.dts    |  124 +++++++++++++++++++++++-
--
>  arch/powerpc/configs/mpc5200_defconfig       |   71 +++++++++++++--
>  arch/powerpc/platforms/52xx/mpc52xx_common.c |    3 +-
>  4 files changed, 184 insertions(+), 26 deletions(-)
> 
> 
> -- 
> 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
> 

^ permalink raw reply

* Does DRI/DRM still work on non-coherent DMA platforms?
From: Gerhard Pircher @ 2009-03-09 21:30 UTC (permalink / raw)
  To: linuxppc-dev list

Hi,

I heard rumors that DRI doesn't work on SAM440EP (onboard Radeon GPU)
boards. I had DRI halfway working on my AmigaOne (Radeon 9250) with an
early release candidate of the 2.6.25 kernel and IIRC this patch here
(manually applied):
http://kerneltrap.org/index.php?q=mailarchive/git-commits-head/2008/3/30/1301044

I just tested DRI again on my A1 (I don't have a SAM board) with
v2.6.29-rc6 and the machine looks up while starting the X server.
Curiously DRI seems to work, if I specify "udbg-immortal" on the
kernel command line and enable DRM debugging.
Did anyone try out DRI on a non-coherent DMA PPC platform and can
confirm that it still works?

best regards,

Gerhard

-- 
Psssst! Schon vom neuen GMX MultiMessenger gehört? Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger01

^ permalink raw reply

* Re: [PATCH] powerpc 4xx: DDR0_14[REDUC] decoded incorrectly
From: Mikhail Zolotaryov @ 2009-03-09 21:17 UTC (permalink / raw)
  To: Josh Boyer; +Cc: linuxppc-dev, linux-kernel
In-Reply-To: <20090309171243.GA26415@zod.rchland.ibm.com>


>> However, "1" is decoded as 64 bit (8 byte), "0" - as 32 bit (4 byte) bus  
>> by the kernel code. My understanding is this is not correct - patch  
>> attached.
>
> You are missing the Signed-off-by tag that is needed.
>
I'm sorry.

Signed-off-by: Mikhail Zolotaryov <lebon@lebon.org.ua>

> Aside from that, I'm curious if you found this just through inspection, or
> if you actually had a problem because of it.  Your fix seems correct, yet
> I've had no problems with my boards at all.
>

I'm actually working on custom PowerPC 440EPX board development here and 
have found the problem: without applying changes described, Linux 
detects memory size incorrectly and is unable to start. The rest of 
memory size computation process seems to be correct.

I have checked Sequoia evaluation board with U-Boot 2009.1 and confirm 
that original kernel code reported memory size correctly. So, for my 
understanding, if computation algorithm was wrong but result was correct 
- the problem is source data i.e. initial DDR configuration parameters 
loaded by U-Boot (please don't give a damn that memory size is always 
reported correctly by U-Boot - it's hard-coded constant there). I have 
checked Sequoia board schematics (DES0211_11_SCH_11.pdf, page 5, unit 
U1D) and noted that BankSel#1 is not connected, while bootloader memory 
configuration is (board/amcc/sequoia/sdram.c):
        mtsdram(DDR0_10, 0x00000300);
i.e. both Chip Selects used.

If I change this line to:
        mtsdram(DDR0_10, 0x00000100);
memory is accessible, patched kernel detects memory size correctly and 
kernel seems to be working well.

Please check my considerations, possibly it may be necessary to request 
additional information from board manufacturer.

^ permalink raw reply

* Re: [rtc-linux] Re: [PATCH 7/7] powerpc/ps3: Add rtc-ps3
From: Joe Perches @ 2009-03-09 19:18 UTC (permalink / raw)
  To: Geoff Levand
  Cc: linux-m68k, Alessandro Zummo, rtc-linux, linux-parisc,
	linux-kernel, Kyle McMartin, linuxppc-dev, Paul Mundt,
	Geert.Uytterhoeven, Andrew Morton, Linus Torvalds, Dann Frazier
In-Reply-To: <49B568D0.5000901@am.sony.com>

On Mon, 2009-03-09 at 12:06 -0700, Geoff Levand wrote:
> There was some work by Joe Perches to list the files a maintainer is
> responsible for into the MAINTAINERS file.  I think that would give
> you what you want, a way to automatically get the maintainer of a
> file.
> 
> Joe, could you let us know the status of that work?

I think it works fine, and is an acceptable
approach to finding a maintainer for either a
patch or a specific file.

The changes I've posted are probably not suitable
for merging by anyone other than Linus as
MAINTAINERS is the most heavily modified file
in the kernel tree.

I've submitted it several times after merging it
with the latest kernel without response from Linus.

I'd merge and submit it again if it could be accepted.

If someone would propose a mechanism that would
improve the possibility to get it merged, I'd
also appreciate that.

^ permalink raw reply

* Re: [rtc-linux] Re: [PATCH 7/7] powerpc/ps3: Add rtc-ps3
From: Geoff Levand @ 2009-03-09 19:06 UTC (permalink / raw)
  To: Alessandro Zummo, Joe Perches
  Cc: linux-m68k, rtc-linux, linux-parisc, linux-kernel, Kyle McMartin,
	linuxppc-dev, Paul Mundt, Geert.Uytterhoeven, Dann Frazier
In-Reply-To: <20090309194307.154f3e95@i1501.lan.towertech.it>

Hi,

On 03/09/2009 11:43 AM, Alessandro Zummo wrote:
> Geoff Levand <geoffrey.levand@am.sony.com> wrote:
>> On 03/09/2009 07:12 AM, Alessandro Zummo wrote:
>> > On Mon,  9 Mar 2009 14:26:23 +0100
>> > Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> wrote:
>> >> +
>> >> +MODULE_AUTHOR("Sony Corporation");
>> > 
>> >  real name, if possible and a contact address
>> >  here . Just in case I need someone to bother :)
>> 
>> Please look at the MAINTAINERS file, that will give
>> the contact for PS3.  It is much easier to maintain
>> a single place for the contact than many spread
>> throughout the kernel sources.
> 
>  Having it in MODULE_AUTHOR allow my scripts to automatically
>  send an email when appropriate.
> 
>  MAINTAINERS lists the files with an arbitrary
>  driver title so that the search must be made by an human and there's
>  no field that links a person to a specific .c .
> 
>  so every time I want to address someone I need to check MODULE_AUTHOR,
>  the git log and the MAINTAINERS file.

I see.  It seems what you want is MODULE_MAINTAINER, as author is
the author, who after some time, may not be the maintainer any more.

There was some work by Joe Perches to list the files a maintainer is
responsible for into the MAINTAINERS file.  I think that would give
you what you want, a way to automatically get the maintainer of a
file.

Joe, could you let us know the status of that work?

-Geoff

^ permalink raw reply

* Re: [PATCH 7/7] powerpc/ps3: Add rtc-ps3
From: Geoff Levand @ 2009-03-09 18:35 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: linux-m68k, Alessandro Zummo, rtc-linux, linux-parisc,
	linux-kernel, Kyle McMartin, linuxppc-dev, Paul Mundt,
	Dann Frazier
In-Reply-To: <1236605183-22718-8-git-send-email-Geert.Uytterhoeven@sonycom.com>

On 03/09/2009 06:26 AM, Geert Uytterhoeven wrote:
> Create a real RTC driver for PS3, and unhook the deprecated
> ppc_md.[gs]et_rtc_time.

>  8 files changed, 132 insertions(+), 18 deletions(-)

Sorry, I hadn't been following the discussion closely, but
could you explain why we are going from a generic framework
where we hook in our platform specific part to a totally
independent driver that has such an increase in code size.

Why couldn't you fix the generic part so that udev could
load it automatically?

I much prefer to have this code in the platform support
code as it was.  It is much more effort (a pain) to maintain
a separate driver were I have to cater to a subsystem's
maintainer, and with this rtc it seems everyone who was
using the generic PPC driver will need to do the same.

-Geoff

^ permalink raw reply

* Re: [rtc-linux] Re: [PATCH 7/7] powerpc/ps3: Add rtc-ps3
From: Alessandro Zummo @ 2009-03-09 18:43 UTC (permalink / raw)
  To: rtc-linux
  Cc: linux-m68k, linux-parisc, Dann, Kyle, linux-kernel, McMartin,
	linuxppc-dev, Paul Mundt, Geert.Uytterhoeven, Frazier
In-Reply-To: <49B55A21.2010801@am.sony.com>

On Mon, 9 Mar 2009 11:04:17 -0700
Geoff Levand <geoffrey.levand@am.sony.com> wrote:

> 
> Hi,
> 
> On 03/09/2009 07:12 AM, Alessandro Zummo wrote:
> > On Mon,  9 Mar 2009 14:26:23 +0100
> > Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> wrote:
> >> +
> >> +MODULE_AUTHOR("Sony Corporation");
> > 
> >  real name, if possible and a contact address
> >  here . Just in case I need someone to bother :)
> 
> Please look at the MAINTAINERS file, that will give
> the contact for PS3.  It is much easier to maintain
> a single place for the contact than many spread
> throughout the kernel sources.

 Having it in MODULE_AUTHOR allow my scripts to automatically
 send an email when appropriate.

 MAINTAINERS lists the files with an arbitrary
 driver title so that the search must be made by an human and there's
 no field that links a person to a specific .c .

 so every time I want to address someone I need to check MODULE_AUTHOR,
 the git log and the MAINTAINERS file.

-- 

 Best regards,

 Alessandro Zummo,
  Tower Technologies - Torino, Italy

  http://www.towertech.it

^ permalink raw reply

* Re: [rtc-linux] [PATCH 7/7] powerpc/ps3: Add rtc-ps3
From: Geoff Levand @ 2009-03-09 18:04 UTC (permalink / raw)
  To: Alessandro Zummo
  Cc: linux-m68k, rtc-linux, linux-parisc, linux-kernel, Kyle McMartin,
	linuxppc-dev, Paul Mundt, Geert.Uytterhoeven, Dann Frazier
In-Reply-To: <20090309151216.17f13862@i1501.lan.towertech.it>

Hi,

On 03/09/2009 07:12 AM, Alessandro Zummo wrote:
> On Mon,  9 Mar 2009 14:26:23 +0100
> Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> wrote:
>> +
>> +MODULE_AUTHOR("Sony Corporation");
> 
>  real name, if possible and a contact address
>  here . Just in case I need someone to bother :)

Please look at the MAINTAINERS file, that will give
the contact for PS3.  It is much easier to maintain
a single place for the contact than many spread
throughout the kernel sources.

-Geoff

^ permalink raw reply

* [PATCH] powerpc udbg: fix lost byte during console handover; change LFCR to CRLF
From: Andrew Klossner @ 2009-03-09 17:52 UTC (permalink / raw)
  To: linuxppc-dev

When the console is on a serial port to be driven by serial8250, a
character can be lost from the end of the first line in the two-line
sequence

	serial8250.0: ttyS0 at MMIO 0xe0004500 (irq = 42) is a 16550A
	console handover: boot [udbg0] -> real [ttyS0]

This happens because udbg_puts or udbg_write stuff the last byte of
the line into the Tx FIFO and return, whereupon the serial8250
initialization code immediately empties that FIFO.  The fix: udbg_puts
and udbg_write now wait for the Tx FIFO to clear before returning.
This delays the system by one additional serial frame time for each
line written by udbg, but the effect is not noticeable, a cumulative
17 milliseconds for 200 lines of early printk output at 115200 baud.

Also, the routines in udbg_16550.c now emit CRLF instead of LFCR.
Linux makes a point of emitting CRLF because, when serial output is
captured to a file, LFCR sequences can confuse text editors.  See
http://lkml.org/lkml/2006/2/4/50 for some history.

Signed-off-by: Andrew Klossner <andrew@cesa.opbu.xerox.com>
---
 arch/powerpc/include/asm/udbg.h  |    1 +
 arch/powerpc/kernel/udbg.c       |    7 ++++
 arch/powerpc/kernel/udbg_16550.c |   60 +++++++++++++++++++++++++++++++------
 3 files changed, 58 insertions(+), 10 deletions(-)

diff --git a/arch/powerpc/include/asm/udbg.h b/arch/powerpc/include/asm/udbg.h
index 6418cee..cd21e5e 100644
--- a/arch/powerpc/include/asm/udbg.h
+++ b/arch/powerpc/include/asm/udbg.h
@@ -15,6 +15,7 @@
 #include <linux/init.h>
 
 extern void (*udbg_putc)(char c);
+extern void (*udbg_flush)(void);
 extern int (*udbg_getc)(void);
 extern int (*udbg_getc_poll)(void);
 
diff --git a/arch/powerpc/kernel/udbg.c b/arch/powerpc/kernel/udbg.c
index 7d6c9bb..fc9af47 100644
--- a/arch/powerpc/kernel/udbg.c
+++ b/arch/powerpc/kernel/udbg.c
@@ -18,6 +18,7 @@
 #include <asm/udbg.h>
 
 void (*udbg_putc)(char c);
+void (*udbg_flush)(void);
 int (*udbg_getc)(void);
 int (*udbg_getc_poll)(void);
 
@@ -76,6 +77,9 @@ void udbg_puts(const char *s)
 			while ((c = *s++) != '\0')
 				udbg_putc(c);
 		}
+
+		if (udbg_flush)
+			udbg_flush();
 	}
 #if 0
 	else {
@@ -98,6 +102,9 @@ int udbg_write(const char *s, int n)
 		}
 	}
 
+	if (udbg_flush)
+		udbg_flush();
+
 	return n - remain;
 }
 
diff --git a/arch/powerpc/kernel/udbg_16550.c b/arch/powerpc/kernel/udbg_16550.c
index 7b7da8c..0362a89 100644
--- a/arch/powerpc/kernel/udbg_16550.c
+++ b/arch/powerpc/kernel/udbg_16550.c
@@ -48,14 +48,21 @@ struct NS16550 {
 
 static struct NS16550 __iomem *udbg_comport;
 
-static void udbg_550_putc(char c)
+static void udbg_550_flush(void)
 {
 	if (udbg_comport) {
 		while ((in_8(&udbg_comport->lsr) & LSR_THRE) == 0)
 			/* wait for idle */;
-		out_8(&udbg_comport->thr, c);
+	}
+}
+
+static void udbg_550_putc(char c)
+{
+	if (udbg_comport) {
 		if (c == '\n')
 			udbg_550_putc('\r');
+		udbg_550_flush();
+		out_8(&udbg_comport->thr, c);
 	}
 }
 
@@ -108,6 +115,7 @@ void udbg_init_uart(void __iomem *comport, unsigned int speed,
 		/* Clear & enable FIFOs */
 		out_8(&udbg_comport->fcr ,0x07);
 		udbg_putc = udbg_550_putc;
+		udbg_flush = udbg_550_flush;
 		udbg_getc = udbg_550_getc;
 		udbg_getc_poll = udbg_550_getc_poll;
 	}
@@ -149,14 +157,21 @@ unsigned int udbg_probe_uart_speed(void __iomem *comport, unsigned int clock)
 }
 
 #ifdef CONFIG_PPC_MAPLE
-void udbg_maple_real_putc(char c)
+void udbg_maple_real_flush(void)
 {
 	if (udbg_comport) {
 		while ((real_readb(&udbg_comport->lsr) & LSR_THRE) == 0)
 			/* wait for idle */;
-		real_writeb(c, &udbg_comport->thr); eieio();
+	}
+}
+
+void udbg_maple_real_putc(char c)
+{
+	if (udbg_comport) {
 		if (c == '\n')
 			udbg_maple_real_putc('\r');
+		udbg_maple_real_flush();
+		real_writeb(c, &udbg_comport->thr); eieio();
 	}
 }
 
@@ -165,20 +180,28 @@ void __init udbg_init_maple_realmode(void)
 	udbg_comport = (struct NS16550 __iomem *)0xf40003f8;
 
 	udbg_putc = udbg_maple_real_putc;
+	udbg_flush = udbg_maple_real_flush;
 	udbg_getc = NULL;
 	udbg_getc_poll = NULL;
 }
 #endif /* CONFIG_PPC_MAPLE */
 
 #ifdef CONFIG_PPC_PASEMI
-void udbg_pas_real_putc(char c)
+void udbg_pas_real_flush(void)
 {
 	if (udbg_comport) {
 		while ((real_205_readb(&udbg_comport->lsr) & LSR_THRE) == 0)
 			/* wait for idle */;
-		real_205_writeb(c, &udbg_comport->thr); eieio();
+	}
+}
+
+void udbg_pas_real_putc(char c)
+{
+	if (udbg_comport) {
 		if (c == '\n')
 			udbg_pas_real_putc('\r');
+		udbg_pas_real_flush();
+		real_205_writeb(c, &udbg_comport->thr); eieio();
 	}
 }
 
@@ -187,6 +210,7 @@ void udbg_init_pas_realmode(void)
 	udbg_comport = (struct NS16550 __iomem *)0xfcff03f8UL;
 
 	udbg_putc = udbg_pas_real_putc;
+	udbg_flush = udbg_pas_real_flush;
 	udbg_getc = NULL;
 	udbg_getc_poll = NULL;
 }
@@ -195,14 +219,21 @@ void udbg_init_pas_realmode(void)
 #ifdef CONFIG_PPC_EARLY_DEBUG_44x
 #include <platforms/44x/44x.h>
 
-static void udbg_44x_as1_putc(char c)
+static int udbg_44x_as1_flush(void)
 {
 	if (udbg_comport) {
 		while ((as1_readb(&udbg_comport->lsr) & LSR_THRE) == 0)
 			/* wait for idle */;
-		as1_writeb(c, &udbg_comport->thr); eieio();
+	}
+}
+
+static void udbg_44x_as1_putc(char c)
+{
+	if (udbg_comport) {
 		if (c == '\n')
 			udbg_44x_as1_putc('\r');
+		udbg_44x_as1_flush();
+		as1_writeb(c, &udbg_comport->thr); eieio();
 	}
 }
 
@@ -222,19 +253,27 @@ void __init udbg_init_44x_as1(void)
 		(struct NS16550 __iomem *)PPC44x_EARLY_DEBUG_VIRTADDR;
 
 	udbg_putc = udbg_44x_as1_putc;
+	udbg_flush = udbg_44x_as1_flush;
 	udbg_getc = udbg_44x_as1_getc;
 }
 #endif /* CONFIG_PPC_EARLY_DEBUG_44x */
 
 #ifdef CONFIG_PPC_EARLY_DEBUG_40x
-static void udbg_40x_real_putc(char c)
+static void udbg_40x_real_flush(void)
 {
 	if (udbg_comport) {
 		while ((real_readb(&udbg_comport->lsr) & LSR_THRE) == 0)
 			/* wait for idle */;
-		real_writeb(c, &udbg_comport->thr); eieio();
+	}
+}
+
+static void udbg_40x_real_putc(char c)
+{
+	if (udbg_comport) {
 		if (c == '\n')
 			udbg_40x_real_putc('\r');
+		udbg_40x_real_flush();
+		real_writeb(c, &udbg_comport->thr); eieio();
 	}
 }
 
@@ -254,6 +293,7 @@ void __init udbg_init_40x_realmode(void)
 		CONFIG_PPC_EARLY_DEBUG_40x_PHYSADDR;
 
 	udbg_putc = udbg_40x_real_putc;
+	udbg_flush = udbg_40x_real_flush;
 	udbg_getc = udbg_40x_real_getc;
 	udbg_getc_poll = NULL;
 }
-- 
1.6.1.3

^ permalink raw reply related

* Re: 2.6.29-rc7-git2 : crash in kmem_list3_init()
From: Mel Gorman @ 2009-03-09 17:46 UTC (permalink / raw)
  To: Sachin P. Sant; +Cc: linuxppc-dev, cl
In-Reply-To: <49B5448B.6030205@in.ibm.com>

On Mon, Mar 09, 2009 at 10:02:11PM +0530, Sachin P. Sant wrote:
> While trying to boot 2.6.29-rc7-git2 on a power5 box ran into
> following crash.
>
> Unable to handle kernel paging request for data at address 0xc000000070001008
> Faulting instruction address: 0xc000000000119070
> cpu 0x0: Vector: 300 (Data Access) at [c000000000ac3980]
>    pc: c000000000119070: .kmem_list3_init+0x68/0x8c
>    lr: c00000000011906c: .kmem_list3_init+0x64/0x8c
>    sp: c000000000ac3c00
>   msr: 8000000000009032
>   dar: c000000070001008
> dsisr: 42000000
>  current = 0xc0000000009ea610
>  paca    = 0xc000000000b43480
>    pid   = 0, comm = swapper
> enter ? for help
> [c000000000ac3c90] c00000000068b788 .setup_cpu_cache+0xf8/0x1e8
> [c000000000ac3d20] c00000000011c8a0 .kmem_cache_create+0x43c/0x500
> [c000000000ac3e20] c000000000948c54 .kmem_cache_init+0x284/0x640
> [c000000000ac3ee0] c000000000920a5c .start_kernel+0x360/0x480
> [c000000000ac3f90] c0000000000083d8 .start_here_common+0x1c/0x44
>
> Attached here is the dmesg log with loglevel=8 mminit_loglevel=4
> as well as .config used.
>
> Tried to boot a kernel.org kernel on this box for first time so not
> sure if this is a new problem or a recurring one. Will try booting
> some older kernels on this box and will report the results.
>
> Node 0 Memory: 0x8000000-0x3a000000
> Node 1 Memory: 0x0-0x8000000 0x3a000000-0x72000000
> PCI host bridge /pci@800000020000003  ranges:
>   IO 0x000003fe00700000..0x000003fe007fffff -> 0x0000000000000000
>  MEM 0x00000401c0000000..0x00000401ffffffff -> 0x00000000c0000000 
> EEH: PCI Enhanced I/O Error Handling Enabled
> PPC64 nvram contains 7168 bytes
> Using shared processor idle loop
> Zone PFN ranges:
>   DMA      0x00000000 -> 0x00007200
>   Normal   0x00007200 -> 0x00007200
> Movable zone start PFN for each node
> early_node_map[3] active PFN ranges
>     1: 0x00000000 -> 0x00000800
>     0: 0x00000800 -> 0x00003a00
>     1: 0x00003a00 -> 0x00007200

What's interesting about this machine is that the nodes are interleaving. It's
possible someone is double initialising incorrectly.

> mminit::pageflags_layout_widths Section 0 Node 4 Zone 2 Flags 22
> mminit::pageflags_layout_shifts Section 20 Node 4 Zone 2
> mminit::pageflags_layout_offsets Section 0 Node 60 Zone 58
> mminit::pageflags_layout_zoneid Zone ID: 58 -> 64
> mminit::pageflags_layout_usage location: 64 -> 58 unused 58 -> 22 flags 22 -> 0
> On node 0 totalpages: 12800
>   DMA zone: 18 pages used for memmap
>   DMA zone: 0 pages reserved
>   DMA zone: 12782 pages, LIFO batch:1
> mminit::memmap_init Initialising map node 0 zone 0 pfns 2048 -> 14848
> On node 1 totalpages: 16384
>   DMA zone: 40 pages used for memmap
>   DMA zone: 0 pages reserved
>   DMA zone: 16344 pages, LIFO batch:1
> mminit::memmap_init Initialising map node 1 zone 0 pfns 0 -> 29184

See, the core initialising at least goes over both nodes when
initialising node 1. The page mappings should be ok because this
situation is checked for but it's possible the SLAB allocator is missing
something.

> [boot]0015 Setup Done
> mminit::zonelist general 0:DMA = 0:DMA 1:DMA 
> mminit::zonelist thisnode 0:DMA = 0:DMA 
> mminit::zonelist general 1:DMA = 1:DMA 0:DMA 
> mminit::zonelist thisnode 1:DMA = 1:DMA 
> Built 2 zonelists in Node order, mobility grouping on.  Total pages: 29126
> Policy zone: DMA
> Kernel command line: root=/dev/sda5 quiet sysrq=1 loglevel=8 mminit_loglevel=4 
> [boot]0020 XICS Init
> [boot]0021 XICS Done
> pic: no ISA interrupt controller
> PID hash table entries: 4096 (order: 12, 32768 bytes)
> time_init: decrementer frequency = 207.050000 MHz
> time_init: processor frequency   = 1656.400000 MHz
> clocksource: timebase mult[1351aa5] shift[22] registered
> clockevent: decrementer mult[3501] shift[16] cpu[0]
> Console: colour dummy device 80x25
> console handover: boot [udbg0] -> real [hvc0]
> Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
> ... MAX_LOCKDEP_SUBCLASSES:  8
> ... MAX_LOCK_DEPTH:          48
> ... MAX_LOCKDEP_KEYS:        8191
> ... CLASSHASH_SIZE:          4096
> ... MAX_LOCKDEP_ENTRIES:     8192
> ... MAX_LOCKDEP_CHAINS:      16384
> ... CHAINHASH_SIZE:          8192
>  memory used by lock dependency info: 3839 kB
>  per task-struct memory footprint: 1920 bytes
> Dentry cache hash table entries: 262144 (order: 5, 2097152 bytes)
> Inode-cache hash table entries: 131072 (order: 4, 1048576 bytes)
> freeing bootmem node 0
> freeing bootmem node 1
> Memory: 1812096k/1867776k available (9792k kernel code, 57856k reserved, 1216k data, 8025k bss, 448k init)
> Unable to handle kernel paging request for data at address 0xc000000070001008

What is meant to be stored at this address 0xc000000070001008? Because the
error occurs aftre freeing bootmem memory, I wonder with the interleaving
node if memory is getting inappropriately freed.

> Faulting instruction address: 0xc000000000119070
> cpu 0x0: Vector: 300 (Data Access) at [c000000000ac3980]
>     pc: c000000000119070: .kmem_list3_init+0x68/0x8c
>     lr: c00000000011906c: .kmem_list3_init+0x64/0x8c
>     sp: c000000000ac3c00
>    msr: 8000000000009032
>    dar: c000000070001008
>  dsisr: 42000000
>   current = 0xc0000000009ea610
>   paca    = 0xc000000000b43480
>     pid   = 0, comm = swapper
> enter ? for help
> [c000000000ac3c90] c00000000068b788 .setup_cpu_cache+0xf8/0x1e8
> [c000000000ac3d20] c00000000011c8a0 .kmem_cache_create+0x43c/0x500
> [c000000000ac3e20] c000000000948c54 .kmem_cache_init+0x284/0x640
> [c000000000ac3ee0] c000000000920a5c .start_kernel+0x360/0x480
> [c000000000ac3f90] c0000000000083d8 .start_here_common+0x1c/0x44
> 0:mon>
> 0:mon> ls .kmem_list3_init
> .kmem_list3_init: c000000000119008
> 0:mon> di c000000000119008
> c000000000119008  7c0802a6      mflr    r0
> c00000000011900c  fb81ffe0      std     r28,-32(r1)
> c000000000119010  fba1ffe8      std     r29,-24(r1)
> c000000000119014  fbc1fff0      std     r30,-16(r1)
> c000000000119018  ebc2b2a0      ld      r30,-19808(r2)
> c00000000011901c  7c7d1b78      mr      r29,r3
> c000000000119020  f8010010      std     r0,16(r1)
> c000000000119024  3b800000      li      r28,0
> c000000000119028  38030010      addi    r0,r3,16
> c00000000011902c  39230020      addi    r9,r3,32
> c000000000119030  f821ff71      stdu    r1,-144(r1)
> c000000000119034  f87d0000      std     r3,0(r29)
> c000000000119038  f8030018      std     r0,24(r3)
> c00000000011903c  e8be8000      ld      r5,-32768(r30)
> c000000000119040  f8030010      std     r0,16(r3)
> c000000000119044  f87d0008      std     r3,8(r29)
> 0:mon> 
> c000000000119048  fb830070      std     r28,112(r3)
> c00000000011904c  fb830078      std     r28,120(r3)
> c000000000119050  9383003c      stw     r28,60(r3)
> c000000000119054  f9230028      std     r9,40(r3)
> c000000000119058  f9230020      std     r9,32(r3)
> c00000000011905c  e89e8100      ld      r4,-32512(r30)
> c000000000119060  38630040      addi    r3,r3,64
> c000000000119064  38a50020      addi    r5,r5,32
> c000000000119068  482b7b3d      bl      c0000000003d0ba4        # .__spin_lock_init+0x0/0x84
> c00000000011906c  60000000      nop
> c000000000119070  939d0088      stw     r28,136(r29) 
> 
> ^^^^^^ fails here
> This probably corresponds to the following line from kmem_list3_init()
> 
> 	parent->free_objects = 0;
> 

If parent is NULL, it would have crashed before this but no worries
about that, it's NULL

> c000000000119074  fb9d0030      std     r28,48(r29)
> c000000000119078  38210090      addi    r1,r1,144
> c00000000011907c  e8010010      ld      r0,16(r1)
> c000000000119080  eb81ffe0      ld      r28,-32(r1)
> c000000000119084  eba1ffe8      ld      r29,-24(r1)
> 0:mon> r
> R00 = c00000000011906c   R16 = 0000000000000000
> R01 = c000000000ac3c00   R17 = c000000000ac3d98
> R02 = c000000000abb3e0   R18 = c000000000ac3d90
> R03 = 0000000000000001   R19 = 0000000000010000
> R04 = c000000000862718   R20 = 0000000000046000
> R05 = c0000000011b99a8   R21 = c000000000862a08
> R06 = 0000000000000000   R22 = 00000000000003f4
> R07 = c000000070000000   R23 = ffffffffffffff80
> R08 = c0000000009ea638   R24 = 0000000000001000
> R09 = ffffffffffffffff   R25 = 0000000000000000
> R10 = 0000000000000002   R26 = 0000000000000f80
> R11 = c0000000009ea638   R27 = 0000000000000080
> R12 = 0000000044022044   R28 = 0000000000000000
> R13 = c000000000b43480   R29 = c000000070000f80
> R14 = c000000000962338   R30 = c000000000a224a8
> R15 = c000000000845d68   R31 = c000000038004200
> pc  = c000000000119070 .kmem_list3_init+0x68/0x8c
> lr  = c00000000011906c .kmem_list3_init+0x64/0x8c
> msr = 8000000000009032   cr  = 44022042
> ctr = 0000000000000000   xer = 000000000000000c   trap =  300
> dar = c000000070001008   dsisr = 42000000
> 0:mon>
> 

^ permalink raw reply

* Re: [PATCH] ps3/block: Replace mtd/ps3vram by block/ps3vram
From: Geoff Levand @ 2009-03-09 17:51 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: Arnd Bergmann, Linus Torvalds, Linux Kernel Development,
	Jim Paris, Linux/PPC Development, linux-mtd, Jens Axboe,
	Geert Uytterhoeven, Vivien Chappelier, David Woodhouse,
	Cell Broadband Engine OSS Development
In-Reply-To: <alpine.LRH.2.00.0903061349010.16809@vixen.sonytel.be>

On 03/06/2009 04:54 AM, Geert Uytterhoeven wrote:
> Convert the PS3 Video RAM Storage Driver from an MTD driver to a plain block
> device driver.
> 
> The ps3vram driver exposes unused video RAM on the PS3 as a block device
> suitable for storage or swap.  Fast data transfer is achieved using a local
> cache in system RAM and DMA transfers via the GPU.
> 
> The new driver is ca. 50% faster for reading, and ca. 10% for writing.
> 
>  arch/powerpc/platforms/ps3/Kconfig |    7 +
>  drivers/block/Makefile             |    1 +
>  drivers/block/ps3vram.c            |  865 ++++++++++++++++++++++++++++++++++++
>  drivers/mtd/devices/Kconfig        |    7 -
>  drivers/mtd/devices/Makefile       |    1 -
>  drivers/mtd/devices/ps3vram.c      |  768 --------------------------------
>  6 files changed, 873 insertions(+), 776 deletions(-)
>  create mode 100644 drivers/block/ps3vram.c
>  delete mode 100644 drivers/mtd/devices/ps3vram.c

Looks good, certainly an improvement.

Acked-by: Geoff Levand <geoffrey.levand@am.sony.com>

^ permalink raw reply

* Re: [PATCH] powerpc 4xx: DDR0_14[REDUC] decoded incorrectly
From: Josh Boyer @ 2009-03-09 17:12 UTC (permalink / raw)
  To: Mikhail Zolotaryov; +Cc: linuxppc-dev, linux-kernel
In-Reply-To: <49B54210.5040709@lebon.org.ua>

On Mon, Mar 09, 2009 at 06:21:36PM +0200, Mikhail Zolotaryov wrote:
> Hi,
>
> according to the PPC440EPx Embedded Processor User Manual (rev 1.14)  
> DDR0_14[REDUC] bit has the following meaning:
>
> REDUC - Enable the half data path feature of the controller
> 0 = Standard operation using full 64/72-bit memory bus
> 1 = Memory data path width is 32/40 bits
>
> However, "1" is decoded as 64 bit (8 byte), "0" - as 32 bit (4 byte) bus  
> by the kernel code. My understanding is this is not correct - patch  
> attached.

You are missing the Signed-off-by tag that is needed.

Aside from that, I'm curious if you found this just through inspection, or
if you actually had a problem because of it.  Your fix seems correct, yet
I've had no problems with my boards at all.

josh

^ permalink raw reply

* Re: [PATCH] powerpc/86xx: Correct local bus registers in GE Fanuc SBC610 dts file
From: Kumar Gala @ 2009-03-09 16:56 UTC (permalink / raw)
  To: Martyn Welch; +Cc: linuxppc-dev
In-Reply-To: <20090227155310.7771.96519.stgit@ubuntu8041.localdomain>


On Feb 27, 2009, at 9:53 AM, Martyn Welch wrote:

> The registers for the local bus are incorrectly set to 0xf8005000  
> rather
> than there actual location of 0xfef05000.
>
> Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
> ---
>
> arch/powerpc/boot/dts/gef_sbc610.dts |    2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)

applied to next

- k

^ permalink raw reply

* Re: [PATCH resend 0/6] OpenFirmware support for the spi_mpc83xx driver
From: Kumar Gala @ 2009-03-09 16:53 UTC (permalink / raw)
  To: avorontsov
  Cc: David Brownell, linux-kernel, linuxppc-dev, spi-devel-general,
	Andrew Morton
In-Reply-To: <20090123194958.GA17355@oksana.dev.rtsoft.ru>


On Jan 23, 2009, at 1:49 PM, Anton Vorontsov wrote:

> On Tue, Jan 06, 2009 at 10:28:10PM -0600, Kumar Gala wrote:
>> On Dec 5, 2008, at 2:09 PM, Anton Vorontsov wrote:
>>> Hi all,
>>>
>>> The patch series are used to support SPI via the OF SPI subsystem
>>> (driver/of/of_spi.c). Now the driver is able to manage its own
>>> chip selects, and doesn't need any auxiliary support from the
>>> board files or fsl_soc constructors.
>>>
>>> The series also contains PowerPC portions of the MMC SPI support.
>>>
>>> Since the series touches spi and powerpc trees, I think it would
>>> be most convenient to pass it via one of these trees. The patches
>>> doesn't touch any SPI functionality, only some probe routines, so
>>> I believe powerpc.git is the best candidate...
>>>
>>> The other reason for powerpc tree is that the patches depends on
>>> other patches as found in paulus/powerpc.git + of_gpio_count()
>>> as found here:
>>> http://ozlabs.org/pipermail/linuxppc-dev/2008-December/065917.html
>>>
>>> David, if you're OK with the patches, may I ask you to sign off on
>>> the ones that touch drivers/spi so that we could pass it via Kumar's
>>> powerpc.git?
>>>
>>> The queue:
>>>
>>> [1/7] powerpc: Implement get_brgfreq() and get_baudrate() stubs
>>> [2/7] spi_mpc83xx: Fix sparse warnings
>>> [3/7] spi_mpc83xx: Rework chip selects handling
>>> [4/7] spi_mpc83xx: Add OF platform driver bindings
>>> [5/7] powerpc/fsl_soc: Isolate legacy fsl_spi support to mpc832x_rdb
>>> boards
>>> [6/7] powerpc: Add mmc-spi-slot bindings
>>> [7/7] powerpc/83xx: Add mmc-spi support via the device tree for
>>> MPC8323E-RDB
>>>
>>
>> David,
>>
>> Any status on these patches?
>
> Ping? No single comment on this patch set for ~2 months...
>
> Resending...
>
> Thanks,

David,

Anything going on here?  Should we send this via some other channel?

- k

^ 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