2.6.31-rc7 : kernel BUG at drivers/rtc/rtc-ps3.c:36!

2009-08-24 Thread Sachin Sant

While trying to boot 2.6.31-rc7 on a power6 machine came
across the following Bug. 


Starting udev: [ cut here ]
kernel BUG at drivers/rtc/rtc-ps3.c:36!
cpu 0x0: Vector: 700 (Program Check) at [c000f70f3570]
   pc: c059a020: .ps3_get_time+0x3c/0x84
   lr: c059a018: .ps3_get_time+0x34/0x84
   sp: c000f70f37f0
  msr: 80029032
 current = 0xc000f8d14ee0
 paca= 0xc12cc300
   pid   = 159, comm = hwclock
kernel BUG at drivers/rtc/rtc-ps3.c:36!
enter ? for help
[c000f70f3890] c0593918 .rtc_read_time+0xac/0xe8
[c000f70f3930] c0594508 .rtc_dev_ioctl+0x358/0x5a4
[c000f70f3a40] c01df868 .vfs_ioctl+0x70/0x10c
[c000f70f3af0] c01e00a0 .do_vfs_ioctl+0x6d8/0x748
[c000f70f3be0] c01e0198 .SyS_ioctl+0x88/0xd0
[c000f70f3ca0] c0221fc8 .do_ioctl32_pointer+0x3c/0x5c
[c000f70f3d40] c0226ef0 .compat_sys_ioctl+0x43c/0x4c4
[c000f70f3e30] c00085f0 syscall_exit+0x0/0x40
--- Exception: c01 (System Call) at 0fee33e8
SP (ffe0c7d0) is in userspace
0:mon 
0:mon di $.ps3_get_time

c0599fe4  7c0802a6  mflrr0
c0599fe8  f8010010  std r0,16(r1)
c0599fec  fb81ffe0  std r28,-32(r1)
c0599ff0  fba1ffe8  std r29,-24(r1)
c0599ff4  fbe1fff8  std r31,-8(r1)
c0599ff8  f821ff61  stdur1,-160(r1)
c0599ffc  7c3f0b78  mr  r31,r1
c059a000  7c9d2378  mr  r29,r4
c059a004  6000  nop
...
c059a00c  387f0070  addir3,r31,112
c059a010  389f0078  addir4,r31,120
c059a014  4baf1235  bl  c008b248#
._lv1_get_rtc+0x0/0x3c
c059a018  6000  nop
c059a01c  7c6307b4  extsw   r3,r3
c059a020  0b03  tdnei   r3,0
0:mon 
0:mon r

R00 = c059a018   R16 = 
R01 = c000f70f37f0   R17 = ffe0cb50
R02 = c1274d30   R18 = 
R03 = fffe   R19 = 1002
R04 = c000f70f3868   R20 = 
R05 = 0004   R21 = 00033790
R06 = c000f70f39d4   R22 = 4a923592
R07 =    R23 = 0001
R08 = 07c0   R24 = 40247009
R09 = c125d708   R25 = c0783208
R10 = c000f742cf80   R26 = ffea
R11 = c000f70f3868   R27 = c000f70f39b0
R12 = 4000   R28 = c000f742cd10
R13 = c12cc300   R29 = c000f70f39b0
R14 = 10019d40   R30 = c1213148
R15 = ffe0cc7b   R31 = c000f70f37f0
pc  = c059a020 .ps3_get_time+0x3c/0x84
lr  = c059a018 .ps3_get_time+0x34/0x84
msr = 80029032   cr  = 44222424
ctr = c0599fe4   xer = 0001   trap =  700
0:mon

Corresponding c code is :

static u64 read_rtc(void)
{

result = lv1_get_rtc(rtc_val, tb_val);
BUG_ON(result);

I had never tried enabling CONFIG_RTC_DRV_PS3 option before
so not sure if this is a new problem or an old one. 


Thanks
-Sachin


--

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

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


Re: 2.6.31-rc7 : kernel BUG at drivers/rtc/rtc-ps3.c:36!

2009-08-24 Thread Michael Ellerman
On Mon, 2009-08-24 at 12:31 +0530, Sachin Sant wrote:
 While trying to boot 2.6.31-rc7 on a power6 machine came
 across the following Bug. 
 
 Starting udev: [ cut here ]
 kernel BUG at drivers/rtc/rtc-ps3.c:36!
 cpu 0x0: Vector: 700 (Program Check) at [c000f70f3570]
 pc: c059a020: .ps3_get_time+0x3c/0x84
 lr: c059a018: .ps3_get_time+0x34/0x84
 sp: c000f70f37f0
msr: 80029032
   current = 0xc000f8d14ee0
   paca= 0xc12cc300
 pid   = 159, comm = hwclock
 kernel BUG at drivers/rtc/rtc-ps3.c:36!

 static u64 read_rtc(void)
 {
 
 result = lv1_get_rtc(rtc_val, tb_val);
 BUG_ON(result);
 
 I had never tried enabling CONFIG_RTC_DRV_PS3 option before
 so not sure if this is a new problem or an old one. 

Looks like an old one, or at least as long as the driver has existed.

The code needs to cope with being called on something other than a PS3.
Either the platform driver is only registered if the machine is a PS3,
or ps3_rtc_probe() actually does something to check it's on a PS3 before
registering the rtc_device.

cheers


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

Re: 2.6.31-rc7 : kernel BUG at drivers/rtc/rtc-ps3.c:36!

2009-08-24 Thread Geert Uytterhoeven
On Mon, 24 Aug 2009, Michael Ellerman wrote:
 On Mon, 2009-08-24 at 12:31 +0530, Sachin Sant wrote:
  While trying to boot 2.6.31-rc7 on a power6 machine came
  across the following Bug. 
  
  Starting udev: [ cut here ]
  kernel BUG at drivers/rtc/rtc-ps3.c:36!
  cpu 0x0: Vector: 700 (Program Check) at [c000f70f3570]
  pc: c059a020: .ps3_get_time+0x3c/0x84
  lr: c059a018: .ps3_get_time+0x34/0x84
  sp: c000f70f37f0
 msr: 80029032
current = 0xc000f8d14ee0
paca= 0xc12cc300
  pid   = 159, comm = hwclock
  kernel BUG at drivers/rtc/rtc-ps3.c:36!
 
  static u64 read_rtc(void)
  {
  
  result = lv1_get_rtc(rtc_val, tb_val);
  BUG_ON(result);
  
  I had never tried enabling CONFIG_RTC_DRV_PS3 option before
  so not sure if this is a new problem or an old one. 
 
 Looks like an old one, or at least as long as the driver has existed.
 
 The code needs to cope with being called on something other than a PS3.
 Either the platform driver is only registered if the machine is a PS3,
 or ps3_rtc_probe() actually does something to check it's on a PS3 before
 registering the rtc_device.

Bummer, how could we have missed that one?
Cooking a patch...

With kind regards,

Geert Uytterhoeven
Software Architect
Techsoft Centre

Technology and Software 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.uytterhoe...@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
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


[PATCH for 2.6.31] powerpc/ps3: Add missing check for PS3 to rtc-ps3 platform device registration

2009-08-24 Thread Geert Uytterhoeven
On non-PS3, we get:

| kernel BUG at drivers/rtc/rtc-ps3.c:36!

because the rtc-ps3 platform device is registered unconditionally in a kernel
with builtin support for PS3.

Reported-by: Sachin Sant sach...@in.ibm.com
Signed-off-by: Geert Uytterhoeven geert.uytterhoe...@sonycom.com
---
 arch/powerpc/platforms/ps3/time.c |4 
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/platforms/ps3/time.c 
b/arch/powerpc/platforms/ps3/time.c
index b178a1e..40b5cb4 100644
--- a/arch/powerpc/platforms/ps3/time.c
+++ b/arch/powerpc/platforms/ps3/time.c
@@ -21,6 +21,7 @@
 #include linux/kernel.h
 #include linux/platform_device.h
 
+#include asm/firmware.h
 #include asm/rtc.h
 #include asm/lv1call.h
 #include asm/ps3.h
@@ -84,6 +85,9 @@ static int __init ps3_rtc_init(void)
 {
struct platform_device *pdev;
 
+   if (!firmware_has_feature(FW_FEATURE_PS3_LV1))
+   return -ENODEV;
+
pdev = platform_device_register_simple(rtc-ps3, -1, NULL, 0);
if (IS_ERR(pdev))
return PTR_ERR(pdev);
-- 
1.6.2.4

With kind regards,

Geert Uytterhoeven
Software Architect
Techsoft Centre

Technology and Software 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.uytterhoe...@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
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [PATCH for 2.6.31] powerpc/ps3: Add missing check for PS3 to rtc-ps3 platform device registration

2009-08-24 Thread Sachin Sant

Geert Uytterhoeven wrote:

On non-PS3, we get:

| kernel BUG at drivers/rtc/rtc-ps3.c:36!

because the rtc-ps3 platform device is registered unconditionally in a kernel
with builtin support for PS3.

Reported-by: Sachin Sant sach...@in.ibm.com
Signed-off-by: Geert Uytterhoeven geert.uytterhoe...@sonycom.com
---
 arch/powerpc/platforms/ps3/time.c |4 
 1 files changed, 4 insertions(+), 0 deletions(-)

Thanks, boots fine now.

Tested-by : Sachin Sant sach...@in.ibm.com

Regards
-Sachin

--

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

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


Re: [PATCH for 2.6.31] powerpc/ps3: Add missing check for PS3 to rtc-ps3 platform device registration

2009-08-24 Thread Geert Uytterhoeven
On Mon, 24 Aug 2009, Sachin Sant wrote:
 Geert Uytterhoeven wrote:
  On non-PS3, we get:
 
  | kernel BUG at drivers/rtc/rtc-ps3.c:36!
 
  because the rtc-ps3 platform device is registered unconditionally in a
  kernel
  with builtin support for PS3.
 
  Reported-by: Sachin Sant sach...@in.ibm.com
  Signed-off-by: Geert Uytterhoeven geert.uytterhoe...@sonycom.com
  ---
   arch/powerpc/platforms/ps3/time.c |4 
   1 files changed, 4 insertions(+), 0 deletions(-)
 Thanks, boots fine now.
 
 Tested-by : Sachin Sant sach...@in.ibm.com

Thanks for testing! We want this for 2.6.30-stable, too.

With kind regards,

Geert Uytterhoeven
Software Architect
Techsoft Centre

Technology and Software 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.uytterhoe...@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
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Doubt about powerpc7447a

2009-08-24 Thread sumedh tirodkar
Is it possible to change operating speed of powerpc7447a processor?can
we configure it?
I m not asking if this can be done in linux. I m asking if the
hardware has some support for this.If yes,then how?

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


Re: [PATCH 1/5] powerpc/mm: Add MMU features for TLB reservation Paired MAS registers

2009-08-24 Thread Kumar Gala


On Aug 19, 2009, at 7:43 PM, Benjamin Herrenschmidt wrote:


On Wed, 2009-08-19 at 16:37 -0500, Kumar Gala wrote:

On Aug 19, 2009, at 2:25 AM, Benjamin Herrenschmidt wrote:



The whole thing only ever gets called if we had tlbsrx. so is there
any utility in making a part of conditional on tlbsrx?


I don't think so ... this is the second level TLB miss handler when
the first level takes a hit on the virtually linear page tables, I
has nothing to do with tlbsrx... however, it does offset the return
address back into the first level handler by -4 to account for
replaying the tlbsrx instruction which you probably don't want to do.


Duh.  Wasn't looking at the fall through.

But is there any reason to even have any of the 6 instructions in the  
'virt_page_table_tlb_miss_done' path if we don't have TLBSRX?


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


[PATCH] powerpc: Name xpn x fields in HW pte format

2009-08-24 Thread Becky Bruce
Previously, the 36-bit code was using these bits, but they had
never been named in the pte format definition.  This patch just
gives those fields their proper names and adds a comment that
they are only present on some processors.

There is no functional code change.

Signed-off-by: Becky Bruce bec...@kernel.crashing.org
---
 arch/powerpc/include/asm/mmu-hash32.h |   10 +++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/include/asm/mmu-hash32.h 
b/arch/powerpc/include/asm/mmu-hash32.h
index 382fc68..16f513e 100644
--- a/arch/powerpc/include/asm/mmu-hash32.h
+++ b/arch/powerpc/include/asm/mmu-hash32.h
@@ -55,21 +55,25 @@ struct ppc_bat {
 
 #ifndef __ASSEMBLY__
 
-/* Hardware Page Table Entry */
+/*
+ * Hardware Page Table Entry
+ * Note that the xpn and x bitfields are used only by processors that
+ * support extended addressing; otherwise, those bits are reserved.
+ */
 struct hash_pte {
unsigned long v:1;  /* Entry is valid */
unsigned long vsid:24;  /* Virtual segment identifier */
unsigned long h:1;  /* Hash algorithm indicator */
unsigned long api:6;/* Abbreviated page index */
unsigned long rpn:20;   /* Real (physical) page number */
-   unsigned long:3;/* Unused */
+   unsigned long xpn:3;/* Real page number bits 0-2, optional */
unsigned long r:1;  /* Referenced */
unsigned long c:1;  /* Changed */
unsigned long w:1;  /* Write-thru cache mode */
unsigned long i:1;  /* Cache inhibited */
unsigned long m:1;  /* Memory coherence */
unsigned long g:1;  /* Guarded */
-   unsigned long  :1;  /* Unused */
+   unsigned long x:1;  /* Real page number bit 3, optional */
unsigned long pp:2; /* Page protection */
 };
 
-- 
1.6.0.6

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


[PATCH] powerpc: Change archdata dma_data type to dma_addr_t

2009-08-24 Thread Becky Bruce
Previously, this was specified as a void *, but that's not
large enough on 32-bit systems with 36-bit physical
addressing support.  Change the type to dma_addr_t so it
will scale based on the size of a dma address.

Signed-off-by: Becky Bruce bec...@kernel.crashing.org
---
 arch/powerpc/include/asm/device.h|2 +-
 arch/powerpc/include/asm/dma-mapping.h   |2 +-
 arch/powerpc/kernel/dma-iommu.c  |   21 +
 arch/powerpc/kernel/dma.c|6 +++---
 arch/powerpc/kernel/pci-common.c |2 +-
 arch/powerpc/kernel/vio.c|3 ++-
 arch/powerpc/platforms/cell/beat_iommu.c |2 +-
 arch/powerpc/platforms/cell/iommu.c  |6 +++---
 arch/powerpc/platforms/iseries/iommu.c   |2 +-
 arch/powerpc/platforms/pasemi/iommu.c|2 +-
 arch/powerpc/platforms/pseries/iommu.c   |   11 +++
 arch/powerpc/sysdev/dart_iommu.c |2 +-
 12 files changed, 35 insertions(+), 26 deletions(-)

diff --git a/arch/powerpc/include/asm/device.h 
b/arch/powerpc/include/asm/device.h
index 67fcd7f..07818ae 100644
--- a/arch/powerpc/include/asm/device.h
+++ b/arch/powerpc/include/asm/device.h
@@ -15,7 +15,7 @@ struct dev_archdata {
 
/* DMA operations on that device */
struct dma_map_ops  *dma_ops;
-   void*dma_data;
+   dma_addr_t  dma_data;
 #ifdef CONFIG_SWIOTLB
dma_addr_t  max_direct_dma_addr;
 #endif
diff --git a/arch/powerpc/include/asm/dma-mapping.h 
b/arch/powerpc/include/asm/dma-mapping.h
index cb2ca41..cf65ebb 100644
--- a/arch/powerpc/include/asm/dma-mapping.h
+++ b/arch/powerpc/include/asm/dma-mapping.h
@@ -26,7 +26,7 @@ extern void *dma_direct_alloc_coherent(struct device *dev, 
size_t size,
 extern void dma_direct_free_coherent(struct device *dev, size_t size,
 void *vaddr, dma_addr_t dma_handle);
 
-extern unsigned long get_dma_direct_offset(struct device *dev);
+extern dma_addr_t get_dma_direct_offset(struct device *dev);
 
 #ifdef CONFIG_NOT_COHERENT_CACHE
 /*
diff --git a/arch/powerpc/kernel/dma-iommu.c b/arch/powerpc/kernel/dma-iommu.c
index 87ddb3f..13eef19 100644
--- a/arch/powerpc/kernel/dma-iommu.c
+++ b/arch/powerpc/kernel/dma-iommu.c
@@ -11,6 +11,11 @@
  * Generic iommu implementation
  */
 
+static inline struct iommu_table *get_iommu_table_base(struct device *dev)
+{
+   return (struct iommu_table *)dev-archdata.dma_data;
+}
+
 /* Allocates a contiguous real buffer and creates mappings over it.
  * Returns the virtual address of the buffer and sets dma_handle
  * to the dma address (mapping) of the first page.
@@ -18,7 +23,7 @@
 static void *dma_iommu_alloc_coherent(struct device *dev, size_t size,
  dma_addr_t *dma_handle, gfp_t flag)
 {
-   return iommu_alloc_coherent(dev, dev-archdata.dma_data, size,
+   return iommu_alloc_coherent(dev, get_iommu_table_base(dev), size,
dma_handle, device_to_mask(dev), flag,
dev_to_node(dev));
 }
@@ -26,7 +31,7 @@ static void *dma_iommu_alloc_coherent(struct device *dev, 
size_t size,
 static void dma_iommu_free_coherent(struct device *dev, size_t size,
void *vaddr, dma_addr_t dma_handle)
 {
-   iommu_free_coherent(dev-archdata.dma_data, size, vaddr, dma_handle);
+   iommu_free_coherent(get_iommu_table_base(dev), size, vaddr, dma_handle);
 }
 
 /* Creates TCEs for a user provided buffer.  The user buffer must be
@@ -39,8 +44,8 @@ static dma_addr_t dma_iommu_map_page(struct device *dev, 
struct page *page,
 enum dma_data_direction direction,
 struct dma_attrs *attrs)
 {
-   return iommu_map_page(dev, dev-archdata.dma_data, page, offset, size,
- device_to_mask(dev), direction, attrs);
+   return iommu_map_page(dev, get_iommu_table_base(dev), page, offset,
+ size, device_to_mask(dev), direction, attrs);
 }
 
 
@@ -48,7 +53,7 @@ static void dma_iommu_unmap_page(struct device *dev, 
dma_addr_t dma_handle,
 size_t size, enum dma_data_direction direction,
 struct dma_attrs *attrs)
 {
-   iommu_unmap_page(dev-archdata.dma_data, dma_handle, size, direction,
+   iommu_unmap_page(get_iommu_table_base(dev), dma_handle, size, direction,
 attrs);
 }
 
@@ -57,7 +62,7 @@ static int dma_iommu_map_sg(struct device *dev, struct 
scatterlist *sglist,
int nelems, enum dma_data_direction direction,
struct dma_attrs *attrs)
 {
-   return iommu_map_sg(dev, dev-archdata.dma_data, sglist, nelems,
+   return iommu_map_sg(dev, get_iommu_table_base(dev), sglist, nelems,
device_to_mask(dev), direction, 

Re: [PATCH for 2.6.31] powerpc/ps3: Add missing check for PS3 to rtc-ps3 platform device registration

2009-08-24 Thread Geoff Levand
On 08/24/2009 01:54 AM, Geert Uytterhoeven wrote:
 On non-PS3, we get:
 
 | kernel BUG at drivers/rtc/rtc-ps3.c:36!
 
 because the rtc-ps3 platform device is registered unconditionally in a kernel
 with builtin support for PS3.
 
 Reported-by: Sachin Sant sach...@in.ibm.com
 Signed-off-by: Geert Uytterhoeven geert.uytterhoe...@sonycom.com
 ---
  arch/powerpc/platforms/ps3/time.c |4 
  1 files changed, 4 insertions(+), 0 deletions(-)

Acked-by: Geoff Levand geoffrey.lev...@am.sony.com

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


Re: [PATCH] powerpc: Change archdata dma_data type to dma_addr_t

2009-08-24 Thread Christoph Hellwig
On Mon, Aug 24, 2009 at 11:17:14AM -0500, Becky Bruce wrote:
 Previously, this was specified as a void *, but that's not
 large enough on 32-bit systems with 36-bit physical
 addressing support.  Change the type to dma_addr_t so it
 will scale based on the size of a dma address.

This looks extreml ugly to me.  It seems like the typical use is to
store a pointer to a structure.  So what about making the direct
dma case follow that general scheme instead?

E.g. declare a

struct direct_dma_data {
dma_addr_t  direct_dma_offset;
};

and have one normal instace of it, and one per weird cell device.

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


gianfar.c: Unwanted VLAN tagging on TX frames

2009-08-24 Thread Torsten Fleischer
Hello everyone,

I have the Freescale's MPC8313erdb eval board and run the latest stable linux
kernel version (linux-2.6.30.5).

After creating a VLAN device (e.g. eth0.2) a VLAN tag is also inserted into 
frames that don't relate to a VLAN device. This is the case for frames that 
are directly sent through a standard ethernet interface (e.g. eth0).

When creating a VLAN device the gianfar driver enables the  hardware supported 
VLAN tagging on TX frames. This is done by setting the VLINS bit of the TCTRL 
register inside the function gianfar_vlan_rx_register().
The problem is that every outgoing frame will be tagged.  For frames from an 
interface like eth0 the VLN bit of the FCB isn't set. Therefore the eTSEC uses 
the content of the Default VLAN control word register (DFVLAN) to tag the 
frame. As long as this register will not be modified after a reset of the 
controller the outgoing frames will be tagged with VID = 0 (priority tagged 
frames). 

The following patch solves this problem.

diff -uprN linux-2.6.30.5_orig//drivers/net/gianfar.c 
linux-2.6.30.5/drivers/net/gianfar.c
--- linux-2.6.30.5_orig//drivers/net/gianfar.c  2009-08-16 23:19:38.0 
+0200
+++ linux-2.6.30.5/drivers/net/gianfar.c2009-08-22 10:38:28.0 
+0200
@@ -1309,6 +1309,7 @@ static int gfar_start_xmit(struct sk_buf
u32 bufaddr;
unsigned long flags;
unsigned int nr_frags, length;
+   u32 tempval;
 
base = priv-tx_bd_base;
 
@@ -1385,13 +1386,30 @@ static int gfar_start_xmit(struct sk_buf
gfar_tx_checksum(skb, fcb);
}
 
-   if (priv-vlgrp  vlan_tx_tag_present(skb)) {
-   if (unlikely(NULL == fcb)) {
-   fcb = gfar_add_fcb(skb);
-   lstatus |= BD_LFLAG(TXBD_TOE);
-   }
+   if (priv-vlgrp) {
+   if (vlan_tx_tag_present(skb)) {
+   if (unlikely(NULL == fcb)) {
+   fcb = gfar_add_fcb(skb);
+   lstatus |= BD_LFLAG(TXBD_TOE);
+   }
+
+   /* Enable VLAN tag insertion for frames from VLAN 
devices */
+   tempval = gfar_read(priv-regs-tctrl);
+   if ( !(tempval  TCTRL_VLINS) ) {
+   tempval |= TCTRL_VLINS;
+   gfar_write(priv-regs-tctrl, tempval);
+   }
 
-   gfar_tx_vlan(skb, fcb);
+   gfar_tx_vlan(skb, fcb);
+   }
+   else {
+   /* Disable VLAN tag insertion for frames that are not 
from a VLAN device */
+   tempval = gfar_read(priv-regs-tctrl);
+   if ( tempval  TCTRL_VLINS ) {
+   tempval = ~TCTRL_VLINS;
+   gfar_write(priv-regs-tctrl, tempval);
+   }
+   }
}
 
/* setup the TxBD length and buffer pointer for the first BD */
@@ -1484,23 +1502,11 @@ static void gfar_vlan_rx_register(struct
priv-vlgrp = grp;
 
if (grp) {
-   /* Enable VLAN tag insertion */
-   tempval = gfar_read(priv-regs-tctrl);
-   tempval |= TCTRL_VLINS;
-
-   gfar_write(priv-regs-tctrl, tempval);
-
/* Enable VLAN tag extraction */
tempval = gfar_read(priv-regs-rctrl);
-   tempval |= RCTRL_VLEX;
tempval |= (RCTRL_VLEX | RCTRL_PRSDEP_INIT);
gfar_write(priv-regs-rctrl, tempval);
} else {
-   /* Disable VLAN tag insertion */
-   tempval = gfar_read(priv-regs-tctrl);
-   tempval = ~TCTRL_VLINS;
-   gfar_write(priv-regs-tctrl, tempval);
-
/* Disable VLAN tag extraction */
tempval = gfar_read(priv-regs-rctrl);
tempval = ~RCTRL_VLEX;





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


Re: gianfar.c: Unwanted VLAN tagging on TX frames

2009-08-24 Thread Andy Fleming
On Mon, Aug 24, 2009 at 11:10 AM, Torsten Fleischer 
to-fleisc...@t-online.de wrote:

 Hello everyone,

 I have the Freescale's MPC8313erdb eval board and run the latest stable
 linux
 kernel version (linux-2.6.30.5).

 After creating a VLAN device (e.g. eth0.2) a VLAN tag is also inserted into
 frames that don't relate to a VLAN device. This is the case for frames that
 are directly sent through a standard ethernet interface (e.g. eth0).

 When creating a VLAN device the gianfar driver enables the  hardware
 supported
 VLAN tagging on TX frames. This is done by setting the VLINS bit of the
 TCTRL
 register inside the function gianfar_vlan_rx_register().
 The problem is that every outgoing frame will be tagged.  For frames from
 an
 interface like eth0 the VLN bit of the FCB isn't set. Therefore the eTSEC
 uses
 the content of the Default VLAN control word register (DFVLAN) to tag the
 frame. As long as this register will not be modified after a reset of the
 controller the outgoing frames will be tagged with VID = 0 (priority tagged
 frames).

 The following patch solves this problem.

 diff -uprN linux-2.6.30.5_orig//drivers/net/gianfar.c
 linux-2.6.30.5/drivers/net/gianfar.c
 --- linux-2.6.30.5_orig//drivers/net/gianfar.c  2009-08-16
 23:19:38.0 +0200
 +++ linux-2.6.30.5/drivers/net/gianfar.c2009-08-22
 10:38:28.0 +0200
 @@ -1309,6 +1309,7 @@ static int gfar_start_xmit(struct sk_buf
u32 bufaddr;
unsigned long flags;
unsigned int nr_frags, length;
 +   u32 tempval;

base = priv-tx_bd_base;

 @@ -1385,13 +1386,30 @@ static int gfar_start_xmit(struct sk_buf
gfar_tx_checksum(skb, fcb);
}

 -   if (priv-vlgrp  vlan_tx_tag_present(skb)) {
 -   if (unlikely(NULL == fcb)) {
 -   fcb = gfar_add_fcb(skb);
 -   lstatus |= BD_LFLAG(TXBD_TOE);
 -   }
 +   if (priv-vlgrp) {
 +   if (vlan_tx_tag_present(skb)) {
 +   if (unlikely(NULL == fcb)) {
 +   fcb = gfar_add_fcb(skb);
 +   lstatus |= BD_LFLAG(TXBD_TOE);
 +   }
 +
 +   /* Enable VLAN tag insertion for frames from VLAN
 devices */
 +   tempval = gfar_read(priv-regs-tctrl);
 +   if ( !(tempval  TCTRL_VLINS) ) {
 +   tempval |= TCTRL_VLINS;
 +   gfar_write(priv-regs-tctrl, tempval);
 +   }

 -   gfar_tx_vlan(skb, fcb);
 +   gfar_tx_vlan(skb, fcb);
 +   }
 +   else {
 +   /* Disable VLAN tag insertion for frames that are
 not from a VLAN device */
 +   tempval = gfar_read(priv-regs-tctrl);
 +   if ( tempval  TCTRL_VLINS ) {
 +   tempval = ~TCTRL_VLINS;
 +   gfar_write(priv-regs-tctrl, tempval);
 +   }
 +   }
}



Hmmmhow have you tested this?  This looks like it has a bad race
condition.  The TCTRL register applies to all packets, which means if you
send a packet with VLAN tags, followed by one without, or visa versa,
there's a reasonable chance that the second packet's VLAN tags (or lack
thereof) will take precedence.

Without speaking for the company, I suspect that this is just how the eTSEC
works with VLAN -- all, or nothing.

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

[patch] powerpc/ps3: Update ps3_defconfig

2009-08-24 Thread Geoff Levand
Signed-off-by: Geoff Levand geoffrey.lev...@am.sony.com
---
Hi Ben,

Please send upstream if it is not too late.

-Geoff

 arch/powerpc/configs/ps3_defconfig |  211 +
 1 file changed, 75 insertions(+), 136 deletions(-)

--- a/arch/powerpc/configs/ps3_defconfig
+++ b/arch/powerpc/configs/ps3_defconfig
@@ -1,13 +1,14 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.30-rc5
-# Fri May 15 10:37:00 2009
+# Linux kernel version: 2.6.31-rc7
+# Mon Aug 24 17:38:50 2009
 #
 CONFIG_PPC64=y
 
 #
 # Processor support
 #
+CONFIG_PPC_BOOK3S_64=y
 CONFIG_PPC_BOOK3S=y
 # CONFIG_POWER4_ONLY is not set
 CONFIG_POWER3=y
@@ -20,6 +21,7 @@ CONFIG_PPC_STD_MMU=y
 CONFIG_PPC_STD_MMU_64=y
 CONFIG_PPC_MM_SLICES=y
 CONFIG_VIRT_CPU_ACCOUNTING=y
+CONFIG_PPC_HAVE_PMU_SUPPORT=y
 CONFIG_SMP=y
 CONFIG_NR_CPUS=2
 CONFIG_64BIT=y
@@ -31,6 +33,7 @@ CONFIG_GENERIC_TIME=y
 CONFIG_GENERIC_TIME_VSYSCALL=y
 CONFIG_GENERIC_CLOCKEVENTS=y
 CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
 CONFIG_HAVE_SETUP_PER_CPU_AREA=y
 CONFIG_IRQ_PER_CPU=y
 CONFIG_STACKTRACE_SUPPORT=y
@@ -41,7 +44,6 @@ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
 CONFIG_ARCH_HAS_ILOG2_U32=y
 CONFIG_ARCH_HAS_ILOG2_U64=y
 CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
 CONFIG_GENERIC_FIND_NEXT_BIT=y
 CONFIG_ARCH_NO_VIRT_TO_BUS=y
 CONFIG_PPC=y
@@ -62,6 +64,7 @@ CONFIG_DTC=y
 # CONFIG_PPC_DCR_MMIO is not set
 CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
 CONFIG_DEFCONFIG_LIST=/lib/modules/$UNAME_RELEASE/.config
+CONFIG_CONSTRUCTORS=y
 
 #
 # General setup
@@ -113,7 +116,6 @@ CONFIG_SYSCTL_SYSCALL=y
 CONFIG_KALLSYMS=y
 CONFIG_KALLSYMS_ALL=y
 CONFIG_KALLSYMS_EXTRA_PASS=y
-# CONFIG_STRIP_ASM_SYMS is not set
 CONFIG_HOTPLUG=y
 CONFIG_PRINTK=y
 CONFIG_BUG=y
@@ -126,7 +128,14 @@ CONFIG_TIMERFD=y
 CONFIG_EVENTFD=y
 CONFIG_SHMEM=y
 CONFIG_AIO=y
+CONFIG_HAVE_PERF_COUNTERS=y
+
+#
+# Performance Counters
+#
+# CONFIG_PERF_COUNTERS is not set
 CONFIG_VM_EVENT_COUNTERS=y
+# CONFIG_STRIP_ASM_SYMS is not set
 # CONFIG_COMPAT_BRK is not set
 CONFIG_SLAB=y
 # CONFIG_SLUB is not set
@@ -145,6 +154,11 @@ CONFIG_HAVE_KRETPROBES=y
 CONFIG_HAVE_ARCH_TRACEHOOK=y
 CONFIG_HAVE_DMA_ATTRS=y
 CONFIG_USE_GENERIC_SMP_HELPERS=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
 # CONFIG_SLOW_WORK is not set
 # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
 CONFIG_SLABINFO=y
@@ -210,7 +224,7 @@ CONFIG_PPC_CELL=y
 #
 # Cell Broadband Engine options
 #
-CONFIG_SPU_FS=y
+CONFIG_SPU_FS=m
 CONFIG_SPU_FS_64K_LS=y
 # CONFIG_SPU_TRACE is not set
 CONFIG_SPU_BASE=y
@@ -255,6 +269,7 @@ CONFIG_BINFMT_MISC=y
 CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
 # CONFIG_IOMMU_VMERGE is not set
 CONFIG_IOMMU_HELPER=y
+# CONFIG_SWIOTLB is not set
 CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
 CONFIG_ARCH_HAS_WALK_MEMORY=y
 CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
@@ -285,9 +300,9 @@ CONFIG_MIGRATION=y
 CONFIG_PHYS_ADDR_T_64BIT=y
 CONFIG_ZONE_DMA_FLAG=1
 CONFIG_BOUNCE=y
-CONFIG_UNEVICTABLE_LRU=y
 CONFIG_HAVE_MLOCK=y
 CONFIG_HAVE_MLOCKED_PAGE_BIT=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
 CONFIG_ARCH_MEMORY_PROBE=y
 CONFIG_PPC_HAS_HASH_64K=y
 CONFIG_PPC_4K_PAGES=y
@@ -399,6 +414,7 @@ CONFIG_IPV6_NDISC_NODETYPE=y
 # CONFIG_ECONET is not set
 # CONFIG_WAN_ROUTER is not set
 # CONFIG_PHONET is not set
+# CONFIG_IEEE802154 is not set
 # CONFIG_NET_SCHED is not set
 # CONFIG_DCB is not set
 
@@ -433,11 +449,14 @@ CONFIG_BT_HCIBTUSB=m
 CONFIG_WIRELESS=y
 CONFIG_CFG80211=m
 # CONFIG_CFG80211_REG_DEBUG is not set
+# CONFIG_CFG80211_DEBUGFS is not set
 # CONFIG_WIRELESS_OLD_REGULATORY is not set
 CONFIG_WIRELESS_EXT=y
 # CONFIG_WIRELESS_EXT_SYSFS is not set
 # CONFIG_LIB80211 is not set
 CONFIG_MAC80211=m
+CONFIG_MAC80211_DEFAULT_PS=y
+CONFIG_MAC80211_DEFAULT_PS_VALUE=1
 
 #
 # Rate control algorithm selection
@@ -447,7 +466,6 @@ CONFIG_MAC80211_RC_PID=y
 CONFIG_MAC80211_RC_DEFAULT_PID=y
 # CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
 CONFIG_MAC80211_RC_DEFAULT=pid
-# CONFIG_MAC80211_MESH is not set
 # CONFIG_MAC80211_LEDS is not set
 # CONFIG_MAC80211_DEBUGFS is not set
 # CONFIG_MAC80211_DEBUG_MENU is not set
@@ -472,77 +490,7 @@ CONFIG_EXTRA_FIRMWARE=
 # CONFIG_DEBUG_DEVRES is not set
 # CONFIG_SYS_HYPERVISOR is not set
 # CONFIG_CONNECTOR is not set
-CONFIG_MTD=y
-CONFIG_MTD_DEBUG=y
-CONFIG_MTD_DEBUG_VERBOSE=0
-# CONFIG_MTD_CONCAT is not set
-# CONFIG_MTD_PARTITIONS is not set
-# CONFIG_MTD_TESTS is not set
-
-#
-# User Modules And Translation Layers
-#
-# CONFIG_MTD_CHAR is not set
-CONFIG_MTD_BLKDEVS=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-# CONFIG_INFTL is not set
-# CONFIG_RFD_FTL is not set
-# CONFIG_SSFDC is not set
-# CONFIG_MTD_OOPS is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# 

Re: [PATCH 1/5] powerpc/mm: Add MMU features for TLB reservation Paired MAS registers

2009-08-24 Thread Benjamin Herrenschmidt
On Mon, 2009-08-24 at 11:12 -0500, Kumar Gala wrote:
 Duh.  Wasn't looking at the fall through.
 
 But is there any reason to even have any of the 6 instructions in
 the  
 'virt_page_table_tlb_miss_done' path if we don't have TLBSRX?
 
No, that's what I said in my initial email :-) You can probably
alternate out that whole thing.

Cheers,
Ben.


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


[PATCH v2] powerpc/mm: Add MMU features for TLB reservation Paired MAS registers

2009-08-24 Thread Kumar Gala
Support for TLB reservation (or TLB Write Conditional) and Paired MAS
registers are optional for a processor implementation so we handle
them via MMU feature sections.

We currently only used paired MAS registers to access the full RPN + perm
bits that are kept in MAS7||MAS3.  We assume that if an implementation has
hardware page table at this time it also implements in TLB reservations.

Signed-off-by: Kumar Gala ga...@kernel.crashing.org
---

* Add a MMU feature around virt_page_table_tlb_miss_done based on
  MMU_FTR_USE_TLBRSRV

 arch/powerpc/include/asm/mmu.h |9 +
 arch/powerpc/mm/tlb_low_64e.S  |   38 +-
 2 files changed, 46 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/include/asm/mmu.h b/arch/powerpc/include/asm/mmu.h
index 2fcfefc..7ffbb65 100644
--- a/arch/powerpc/include/asm/mmu.h
+++ b/arch/powerpc/include/asm/mmu.h
@@ -58,6 +58,15 @@
  */
 #define MMU_FTR_TLBIE_206  ASM_CONST(0x0040)
 
+/* Enable use of TLB reservation.  Processor should support tlbsrx.
+ * instruction and MAS0[WQ].
+ */
+#define MMU_FTR_USE_TLBRSRVASM_CONST(0x0080)
+
+/* Use paired MAS registers (MAS7||MAS3, etc.)
+ */
+#define MMU_FTR_USE_PAIRED_MAS ASM_CONST(0x0100)
+
 #ifndef __ASSEMBLY__
 #include asm/cputable.h
 
diff --git a/arch/powerpc/mm/tlb_low_64e.S b/arch/powerpc/mm/tlb_low_64e.S
index 10d524d..2d01444 100644
--- a/arch/powerpc/mm/tlb_low_64e.S
+++ b/arch/powerpc/mm/tlb_low_64e.S
@@ -189,12 +189,16 @@ normal_tlb_miss:
clrrdi  r14,r14,3
or  r10,r15,r14
 
+BEGIN_MMU_FTR_SECTION
/* Set the TLB reservation and seach for existing entry. Then load
 * the entry.
 */
PPC_TLBSRX_DOT(0,r16)
ld  r14,0(r10)
beq normal_tlb_miss_done
+MMU_FTR_SECTION_ELSE
+   ld  r14,0(r10)
+ALT_MMU_FTR_SECTION_END_IFSET(MMU_FTR_USE_TLBRSRV)
 
 finish_normal_tlb_miss:
/* Check if required permissions are met */
@@ -241,7 +245,14 @@ finish_normal_tlb_miss:
bne 1f
li  r11,MAS3_SW|MAS3_UW
andcr15,r15,r11
-1: mtspr   SPRN_MAS7_MAS3,r15
+1:
+BEGIN_MMU_FTR_SECTION
+   srdir16,r15,32
+   mtspr   SPRN_MAS3,r15
+   mtspr   SPRN_MAS7,r16
+MMU_FTR_SECTION_ELSE
+   mtspr   SPRN_MAS7_MAS3,r15
+ALT_MMU_FTR_SECTION_END_IFCLR(MMU_FTR_USE_PAIRED_MAS)
 
tlbwe
 
@@ -311,11 +322,13 @@ virt_page_table_tlb_miss:
rlwinm  r10,r10,0,16,1  /* Clear TID */
mtspr   SPRN_MAS1,r10
 1:
+BEGIN_MMU_FTR_SECTION
/* Search if we already have a TLB entry for that virtual address, and
 * if we do, bail out.
 */
PPC_TLBSRX_DOT(0,r16)
beq virt_page_table_tlb_miss_done
+END_MMU_FTR_SECTION_IFSET(MMU_FTR_USE_TLBRSRV)
 
/* Now, we need to walk the page tables. First check if we are in
 * range.
@@ -367,10 +380,18 @@ virt_page_table_tlb_miss:
 */
clrldi  r11,r15,4   /* remove region ID from RPN */
ori r10,r11,1   /* Or-in SR */
+
+BEGIN_MMU_FTR_SECTION
+   srdir16,r10,32
+   mtspr   SPRN_MAS3,r10
+   mtspr   SPRN_MAS7,r16
+MMU_FTR_SECTION_ELSE
mtspr   SPRN_MAS7_MAS3,r10
+ALT_MMU_FTR_SECTION_END_IFCLR(MMU_FTR_USE_PAIRED_MAS)
 
tlbwe
 
+BEGIN_MMU_FTR_SECTION
 virt_page_table_tlb_miss_done:
 
/* We have overriden MAS2:EPN but currently our primary TLB miss
@@ -394,6 +415,7 @@ virt_page_table_tlb_miss_done:
addir10,r11,-4
std r10,PACA_EXTLB+EX_TLB_SIZE+EX_TLB_SRR0(r13)
 1:
+END_MMU_FTR_SECTION_IFSET(MMU_FTR_USE_TLBRSRV)
/* Return to caller, normal case */
TLB_MISS_STATS_X(MMSTAT_TLB_MISS_PT_OK);
TLB_MISS_EPILOG_SUCCESS
@@ -618,7 +640,14 @@ htw_tlb_miss:
 #else
ori r10,r15,(BOOK3E_PAGESZ_4K  MAS3_SPSIZE_SHIFT)
 #endif
+
+BEGIN_MMU_FTR_SECTION
+   srdir16,r10,32
+   mtspr   SPRN_MAS3,r10
+   mtspr   SPRN_MAS7,r16
+MMU_FTR_SECTION_ELSE
mtspr   SPRN_MAS7_MAS3,r10
+ALT_MMU_FTR_SECTION_END_IFCLR(MMU_FTR_USE_PAIRED_MAS)
 
tlbwe
 
@@ -700,7 +729,14 @@ tlb_load_linear:
clrrdi  r10,r16,30  /* 1G page index */
clrldi  r10,r10,4   /* clear region bits */
ori r10,r10,MAS3_SR|MAS3_SW|MAS3_SX
+
+BEGIN_MMU_FTR_SECTION
+   srdir16,r10,32
+   mtspr   SPRN_MAS3,r10
+   mtspr   SPRN_MAS7,r16
+MMU_FTR_SECTION_ELSE
mtspr   SPRN_MAS7_MAS3,r10
+ALT_MMU_FTR_SECTION_END_IFCLR(MMU_FTR_USE_PAIRED_MAS)
 
tlbwe
 
-- 
1.6.0.6

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


Re: change to of MTD partition parsing

2009-08-24 Thread Kumar Gala

Ben,

We need a better solution to the problem.  What does the device tree  
on SLOF look like?


- k

On Aug 12, 2009, at 10:07 AM, Benjamin Krill wrote:


Hi Kumar,

slof has a further node inside the flash node which is not a partition
entry. The old code just used all children and since the further node
isn't a partition not all needed properties are there.

cheers
ben


* Kumar Gala | 2009-08-12 09:46:10 [-0500]:


Ben,

The following commit breaks the previous definition of flash  
partitions according to
Documentation/powerpc/dts-bindings/mtd-physmap.txt.  Using the  
'name' field is bad practice.  What was going

on w/the SLOF case?

- k


commit 4b08e149c0e02e97ec49c2a31d14a0d3a02f8074
Author: Benjamin Krill b...@codiert.org
Date:   Fri Jan 23 17:18:05 2009 +0100

  [MTD] ofpart: Check name property to determine partition nodes.

  SLOF has a further node which could not be evaluated
  by the current routine. The current routine returns
  because the node hasn't the required reg property. As
  fix this patch adds a check to determine the partition
  child nodes. If the node is not a partition the number
  of total partitions will be decreased and loop continues
  with the next nodes.

  Signed-off-by: Benjamin Krill b...@codiert.org
  Signed-off-by: David Woodhouse david.woodho...@intel.com



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


Re: [patch] powerpc/ps3: Update ps3_defconfig

2009-08-24 Thread Michael Neuling
 Signed-off-by: Geoff Levand geoffrey.lev...@am.sony.com
 ---
 Hi Ben,
 
 Please send upstream if it is not too late.

Is the current one broken?  Maybe a commit message would be nice :-P

Mikey

 
 -Geoff
 
  arch/powerpc/configs/ps3_defconfig |  211 +-
---
  1 file changed, 75 insertions(+), 136 deletions(-)
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev